Just commit all of family home before editing 'cause i just accidentally overwrote gaeastohuaosneuh
This commit is contained in:
parent
18bba535b4
commit
84de7930cb
64 changed files with 15325 additions and 0 deletions
web/themes/custom/geofresco
.gitignore.nvmrcLICENSE.txtREADME.mdcompile
config
install
optional
block.block.family_home_account_menu.ymlblock.block.family_home_branding.ymlblock.block.family_home_content.ymlblock.block.family_home_help.ymlblock.block.family_home_local_tasks.ymlblock.block.family_home_main_menu.ymlblock.block.family_home_messages.ymlblock.block.family_home_page_title.yml
schema
dist/css
family_home.themefavicon-code.txtfavicon.icofonts
GUST e-foundry License.txtREADME.mdtexgyrepagella-bold-webfont.eottexgyrepagella-bold-webfont.svgtexgyrepagella-bold-webfont.ttftexgyrepagella-bold-webfont.wofftexgyrepagella-bolditalic-webfont.eottexgyrepagella-bolditalic-webfont.svgtexgyrepagella-bolditalic-webfont.ttftexgyrepagella-bolditalic-webfont.wofftexgyrepagella-italic-webfont.eottexgyrepagella-italic-webfont.svgtexgyrepagella-italic-webfont.ttftexgyrepagella-italic-webfont.wofftexgyrepagella-regular-webfont.eottexgyrepagella-regular-webfont.svgtexgyrepagella-regular-webfont.ttftexgyrepagella-regular-webfont.woff
geofresco.info.ymlgulp-tasks
gulpfile.jsimages
package.jsonsrc
14
web/themes/custom/geofresco/.gitignore
vendored
Normal file
14
web/themes/custom/geofresco/.gitignore
vendored
Normal file
|
@ -0,0 +1,14 @@
|
|||
# Ignore the node modules folder (created by 'npm install').
|
||||
node_modules
|
||||
|
||||
# We absolutely don't want to have the .sass-cache in git.
|
||||
.sass-cache
|
||||
|
||||
# Ignore any errors thrown by npm.
|
||||
npm-debug.log
|
||||
|
||||
# Ignore any map files. These don't need to be committed.
|
||||
*.map
|
||||
|
||||
# Ignore the package lock file.
|
||||
package-lock.json
|
1
web/themes/custom/geofresco/.nvmrc
Normal file
1
web/themes/custom/geofresco/.nvmrc
Normal file
|
@ -0,0 +1 @@
|
|||
v8.4.0
|
339
web/themes/custom/geofresco/LICENSE.txt
Normal file
339
web/themes/custom/geofresco/LICENSE.txt
Normal file
|
@ -0,0 +1,339 @@
|
|||
GNU GENERAL PUBLIC LICENSE
|
||||
Version 2, June 1991
|
||||
|
||||
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
Everyone is permitted to copy and distribute verbatim copies
|
||||
of this license document, but changing it is not allowed.
|
||||
|
||||
Preamble
|
||||
|
||||
The licenses for most software are designed to take away your
|
||||
freedom to share and change it. By contrast, the GNU General Public
|
||||
License is intended to guarantee your freedom to share and change free
|
||||
software--to make sure the software is free for all its users. This
|
||||
General Public License applies to most of the Free Software
|
||||
Foundation's software and to any other program whose authors commit to
|
||||
using it. (Some other Free Software Foundation software is covered by
|
||||
the GNU Lesser General Public License instead.) You can apply it to
|
||||
your programs, too.
|
||||
|
||||
When we speak of free software, we are referring to freedom, not
|
||||
price. Our General Public Licenses are designed to make sure that you
|
||||
have the freedom to distribute copies of free software (and charge for
|
||||
this service if you wish), that you receive source code or can get it
|
||||
if you want it, that you can change the software or use pieces of it
|
||||
in new free programs; and that you know you can do these things.
|
||||
|
||||
To protect your rights, we need to make restrictions that forbid
|
||||
anyone to deny you these rights or to ask you to surrender the rights.
|
||||
These restrictions translate to certain responsibilities for you if you
|
||||
distribute copies of the software, or if you modify it.
|
||||
|
||||
For example, if you distribute copies of such a program, whether
|
||||
gratis or for a fee, you must give the recipients all the rights that
|
||||
you have. You must make sure that they, too, receive or can get the
|
||||
source code. And you must show them these terms so they know their
|
||||
rights.
|
||||
|
||||
We protect your rights with two steps: (1) copyright the software, and
|
||||
(2) offer you this license which gives you legal permission to copy,
|
||||
distribute and/or modify the software.
|
||||
|
||||
Also, for each author's protection and ours, we want to make certain
|
||||
that everyone understands that there is no warranty for this free
|
||||
software. If the software is modified by someone else and passed on, we
|
||||
want its recipients to know that what they have is not the original, so
|
||||
that any problems introduced by others will not reflect on the original
|
||||
authors' reputations.
|
||||
|
||||
Finally, any free program is threatened constantly by software
|
||||
patents. We wish to avoid the danger that redistributors of a free
|
||||
program will individually obtain patent licenses, in effect making the
|
||||
program proprietary. To prevent this, we have made it clear that any
|
||||
patent must be licensed for everyone's free use or not licensed at all.
|
||||
|
||||
The precise terms and conditions for copying, distribution and
|
||||
modification follow.
|
||||
|
||||
GNU GENERAL PUBLIC LICENSE
|
||||
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
||||
|
||||
0. This License applies to any program or other work which contains
|
||||
a notice placed by the copyright holder saying it may be distributed
|
||||
under the terms of this General Public License. The "Program", below,
|
||||
refers to any such program or work, and a "work based on the Program"
|
||||
means either the Program or any derivative work under copyright law:
|
||||
that is to say, a work containing the Program or a portion of it,
|
||||
either verbatim or with modifications and/or translated into another
|
||||
language. (Hereinafter, translation is included without limitation in
|
||||
the term "modification".) Each licensee is addressed as "you".
|
||||
|
||||
Activities other than copying, distribution and modification are not
|
||||
covered by this License; they are outside its scope. The act of
|
||||
running the Program is not restricted, and the output from the Program
|
||||
is covered only if its contents constitute a work based on the
|
||||
Program (independent of having been made by running the Program).
|
||||
Whether that is true depends on what the Program does.
|
||||
|
||||
1. You may copy and distribute verbatim copies of the Program's
|
||||
source code as you receive it, in any medium, provided that you
|
||||
conspicuously and appropriately publish on each copy an appropriate
|
||||
copyright notice and disclaimer of warranty; keep intact all the
|
||||
notices that refer to this License and to the absence of any warranty;
|
||||
and give any other recipients of the Program a copy of this License
|
||||
along with the Program.
|
||||
|
||||
You may charge a fee for the physical act of transferring a copy, and
|
||||
you may at your option offer warranty protection in exchange for a fee.
|
||||
|
||||
2. You may modify your copy or copies of the Program or any portion
|
||||
of it, thus forming a work based on the Program, and copy and
|
||||
distribute such modifications or work under the terms of Section 1
|
||||
above, provided that you also meet all of these conditions:
|
||||
|
||||
a) You must cause the modified files to carry prominent notices
|
||||
stating that you changed the files and the date of any change.
|
||||
|
||||
b) You must cause any work that you distribute or publish, that in
|
||||
whole or in part contains or is derived from the Program or any
|
||||
part thereof, to be licensed as a whole at no charge to all third
|
||||
parties under the terms of this License.
|
||||
|
||||
c) If the modified program normally reads commands interactively
|
||||
when run, you must cause it, when started running for such
|
||||
interactive use in the most ordinary way, to print or display an
|
||||
announcement including an appropriate copyright notice and a
|
||||
notice that there is no warranty (or else, saying that you provide
|
||||
a warranty) and that users may redistribute the program under
|
||||
these conditions, and telling the user how to view a copy of this
|
||||
License. (Exception: if the Program itself is interactive but
|
||||
does not normally print such an announcement, your work based on
|
||||
the Program is not required to print an announcement.)
|
||||
|
||||
These requirements apply to the modified work as a whole. If
|
||||
identifiable sections of that work are not derived from the Program,
|
||||
and can be reasonably considered independent and separate works in
|
||||
themselves, then this License, and its terms, do not apply to those
|
||||
sections when you distribute them as separate works. But when you
|
||||
distribute the same sections as part of a whole which is a work based
|
||||
on the Program, the distribution of the whole must be on the terms of
|
||||
this License, whose permissions for other licensees extend to the
|
||||
entire whole, and thus to each and every part regardless of who wrote it.
|
||||
|
||||
Thus, it is not the intent of this section to claim rights or contest
|
||||
your rights to work written entirely by you; rather, the intent is to
|
||||
exercise the right to control the distribution of derivative or
|
||||
collective works based on the Program.
|
||||
|
||||
In addition, mere aggregation of another work not based on the Program
|
||||
with the Program (or with a work based on the Program) on a volume of
|
||||
a storage or distribution medium does not bring the other work under
|
||||
the scope of this License.
|
||||
|
||||
3. You may copy and distribute the Program (or a work based on it,
|
||||
under Section 2) in object code or executable form under the terms of
|
||||
Sections 1 and 2 above provided that you also do one of the following:
|
||||
|
||||
a) Accompany it with the complete corresponding machine-readable
|
||||
source code, which must be distributed under the terms of Sections
|
||||
1 and 2 above on a medium customarily used for software interchange; or,
|
||||
|
||||
b) Accompany it with a written offer, valid for at least three
|
||||
years, to give any third party, for a charge no more than your
|
||||
cost of physically performing source distribution, a complete
|
||||
machine-readable copy of the corresponding source code, to be
|
||||
distributed under the terms of Sections 1 and 2 above on a medium
|
||||
customarily used for software interchange; or,
|
||||
|
||||
c) Accompany it with the information you received as to the offer
|
||||
to distribute corresponding source code. (This alternative is
|
||||
allowed only for noncommercial distribution and only if you
|
||||
received the program in object code or executable form with such
|
||||
an offer, in accord with Subsection b above.)
|
||||
|
||||
The source code for a work means the preferred form of the work for
|
||||
making modifications to it. For an executable work, complete source
|
||||
code means all the source code for all modules it contains, plus any
|
||||
associated interface definition files, plus the scripts used to
|
||||
control compilation and installation of the executable. However, as a
|
||||
special exception, the source code distributed need not include
|
||||
anything that is normally distributed (in either source or binary
|
||||
form) with the major components (compiler, kernel, and so on) of the
|
||||
operating system on which the executable runs, unless that component
|
||||
itself accompanies the executable.
|
||||
|
||||
If distribution of executable or object code is made by offering
|
||||
access to copy from a designated place, then offering equivalent
|
||||
access to copy the source code from the same place counts as
|
||||
distribution of the source code, even though third parties are not
|
||||
compelled to copy the source along with the object code.
|
||||
|
||||
4. You may not copy, modify, sublicense, or distribute the Program
|
||||
except as expressly provided under this License. Any attempt
|
||||
otherwise to copy, modify, sublicense or distribute the Program is
|
||||
void, and will automatically terminate your rights under this License.
|
||||
However, parties who have received copies, or rights, from you under
|
||||
this License will not have their licenses terminated so long as such
|
||||
parties remain in full compliance.
|
||||
|
||||
5. You are not required to accept this License, since you have not
|
||||
signed it. However, nothing else grants you permission to modify or
|
||||
distribute the Program or its derivative works. These actions are
|
||||
prohibited by law if you do not accept this License. Therefore, by
|
||||
modifying or distributing the Program (or any work based on the
|
||||
Program), you indicate your acceptance of this License to do so, and
|
||||
all its terms and conditions for copying, distributing or modifying
|
||||
the Program or works based on it.
|
||||
|
||||
6. Each time you redistribute the Program (or any work based on the
|
||||
Program), the recipient automatically receives a license from the
|
||||
original licensor to copy, distribute or modify the Program subject to
|
||||
these terms and conditions. You may not impose any further
|
||||
restrictions on the recipients' exercise of the rights granted herein.
|
||||
You are not responsible for enforcing compliance by third parties to
|
||||
this License.
|
||||
|
||||
7. If, as a consequence of a court judgment or allegation of patent
|
||||
infringement or for any other reason (not limited to patent issues),
|
||||
conditions are imposed on you (whether by court order, agreement or
|
||||
otherwise) that contradict the conditions of this License, they do not
|
||||
excuse you from the conditions of this License. If you cannot
|
||||
distribute so as to satisfy simultaneously your obligations under this
|
||||
License and any other pertinent obligations, then as a consequence you
|
||||
may not distribute the Program at all. For example, if a patent
|
||||
license would not permit royalty-free redistribution of the Program by
|
||||
all those who receive copies directly or indirectly through you, then
|
||||
the only way you could satisfy both it and this License would be to
|
||||
refrain entirely from distribution of the Program.
|
||||
|
||||
If any portion of this section is held invalid or unenforceable under
|
||||
any particular circumstance, the balance of the section is intended to
|
||||
apply and the section as a whole is intended to apply in other
|
||||
circumstances.
|
||||
|
||||
It is not the purpose of this section to induce you to infringe any
|
||||
patents or other property right claims or to contest validity of any
|
||||
such claims; this section has the sole purpose of protecting the
|
||||
integrity of the free software distribution system, which is
|
||||
implemented by public license practices. Many people have made
|
||||
generous contributions to the wide range of software distributed
|
||||
through that system in reliance on consistent application of that
|
||||
system; it is up to the author/donor to decide if he or she is willing
|
||||
to distribute software through any other system and a licensee cannot
|
||||
impose that choice.
|
||||
|
||||
This section is intended to make thoroughly clear what is believed to
|
||||
be a consequence of the rest of this License.
|
||||
|
||||
8. If the distribution and/or use of the Program is restricted in
|
||||
certain countries either by patents or by copyrighted interfaces, the
|
||||
original copyright holder who places the Program under this License
|
||||
may add an explicit geographical distribution limitation excluding
|
||||
those countries, so that distribution is permitted only in or among
|
||||
countries not thus excluded. In such case, this License incorporates
|
||||
the limitation as if written in the body of this License.
|
||||
|
||||
9. The Free Software Foundation may publish revised and/or new versions
|
||||
of the General Public License from time to time. Such new versions will
|
||||
be similar in spirit to the present version, but may differ in detail to
|
||||
address new problems or concerns.
|
||||
|
||||
Each version is given a distinguishing version number. If the Program
|
||||
specifies a version number of this License which applies to it and "any
|
||||
later version", you have the option of following the terms and conditions
|
||||
either of that version or of any later version published by the Free
|
||||
Software Foundation. If the Program does not specify a version number of
|
||||
this License, you may choose any version ever published by the Free Software
|
||||
Foundation.
|
||||
|
||||
10. If you wish to incorporate parts of the Program into other free
|
||||
programs whose distribution conditions are different, write to the author
|
||||
to ask for permission. For software which is copyrighted by the Free
|
||||
Software Foundation, write to the Free Software Foundation; we sometimes
|
||||
make exceptions for this. Our decision will be guided by the two goals
|
||||
of preserving the free status of all derivatives of our free software and
|
||||
of promoting the sharing and reuse of software generally.
|
||||
|
||||
NO WARRANTY
|
||||
|
||||
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
||||
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
||||
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
||||
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
||||
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
||||
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
||||
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
||||
REPAIR OR CORRECTION.
|
||||
|
||||
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
||||
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
||||
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
||||
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
||||
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
||||
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
||||
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
||||
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES.
|
||||
|
||||
END OF TERMS AND CONDITIONS
|
||||
|
||||
How to Apply These Terms to Your New Programs
|
||||
|
||||
If you develop a new program, and you want it to be of the greatest
|
||||
possible use to the public, the best way to achieve this is to make it
|
||||
free software which everyone can redistribute and change under these terms.
|
||||
|
||||
To do so, attach the following notices to the program. It is safest
|
||||
to attach them to the start of each source file to most effectively
|
||||
convey the exclusion of warranty; and each file should have at least
|
||||
the "copyright" line and a pointer to where the full notice is found.
|
||||
|
||||
<one line to give the program's name and a brief idea of what it does.>
|
||||
Copyright (C) <year> <name of author>
|
||||
|
||||
This program is free software; you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation; either version 2 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License along
|
||||
with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
|
||||
Also add information on how to contact you by electronic and paper mail.
|
||||
|
||||
If the program is interactive, make it output a short notice like this
|
||||
when it starts in an interactive mode:
|
||||
|
||||
Gnomovision version 69, Copyright (C) year name of author
|
||||
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
|
||||
This is free software, and you are welcome to redistribute it
|
||||
under certain conditions; type `show c' for details.
|
||||
|
||||
The hypothetical commands `show w' and `show c' should show the appropriate
|
||||
parts of the General Public License. Of course, the commands you use may
|
||||
be called something other than `show w' and `show c'; they could even be
|
||||
mouse-clicks or menu items--whatever suits your program.
|
||||
|
||||
You should also get your employer (if you work as a programmer) or your
|
||||
school, if any, to sign a "copyright disclaimer" for the program, if
|
||||
necessary. Here is a sample; alter the names:
|
||||
|
||||
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
|
||||
`Gnomovision' (which makes passes at compilers) written by James Hacker.
|
||||
|
||||
<signature of Ty Coon>, 1 April 1989
|
||||
Ty Coon, President of Vice
|
||||
|
||||
This General Public License does not permit incorporating your program into
|
||||
proprietary programs. If your program is a subroutine library, you may
|
||||
consider it more useful to permit linking proprietary applications with the
|
||||
library. If this is what you want to do, use the GNU Lesser General
|
||||
Public License instead of this License.
|
71
web/themes/custom/geofresco/README.md
Normal file
71
web/themes/custom/geofresco/README.md
Normal file
|
@ -0,0 +1,71 @@
|
|||
# Family & Home Theme
|
||||
Family & Home is a subtheme of Octavia, which is a subtheme
|
||||
of base theme Bulma for Drupal.
|
||||
It has Bulma CSS framework, Sass, and Font Awesome built in.
|
||||
|
||||
## Getting Started
|
||||
|
||||
### Browser Support
|
||||
Autoprefixer & Babel is set to support:
|
||||
|
||||
* IE >= 9
|
||||
* Last 3 versions of modern browsers.
|
||||
|
||||
These can be updated at any time within the `package.json`.
|
||||
|
||||
### Run the following commands from the theme directory
|
||||
If you haven't yet, install nvm:
|
||||
https://github.com/creationix/nvm
|
||||
|
||||
#### Use the right version of node with:
|
||||
`nvm use`
|
||||
|
||||
_This command will look at your `.nvmrc` file and use the version node.js specified in it. This ensures all developers use the same version of node for consistency._
|
||||
|
||||
#### If that version of node isn't installed, install it with:
|
||||
`nvm install`
|
||||
|
||||
#### Install npm dependencies with
|
||||
`npm install`
|
||||
|
||||
_This command looks at `package.json` and installs all the npm dependencies specified in it. Some of the dependencies include gulp, autoprefixer, gulp-sass and others._
|
||||
|
||||
#### Gulp tasks
|
||||
|
||||
Provided by default are seven npm scripts that point to Gulp tasks. We run gulp through npm scripts so the build tools can change without the user ever knowing.
|
||||
|
||||
1. Run the default build task (gulp in this instance) and everything in it.
|
||||
This is the equivalent to running `gulp` on the command line with Gulp installed globally.
|
||||
```
|
||||
npm run build
|
||||
```
|
||||
|
||||
2. Compile Sass and JS.
|
||||
```
|
||||
npm run compile
|
||||
```
|
||||
|
||||
3. Watch files and run tasks when they change.
|
||||
```
|
||||
npm run watch
|
||||
```
|
||||
|
||||
4. Compress png and svg assets.
|
||||
```
|
||||
npm run compress
|
||||
```
|
||||
|
||||
5. Build the KSS Style guide.
|
||||
```
|
||||
npm run styleguide
|
||||
```
|
||||
|
||||
6. Lint Sass and JS files.
|
||||
```
|
||||
npm run lint
|
||||
```
|
||||
|
||||
7. Delete compiled Sass, JS and style guide files from the /dist directory.
|
||||
```
|
||||
npm run clean
|
||||
```
|
1
web/themes/custom/geofresco/compile
Symbolic link
1
web/themes/custom/geofresco/compile
Symbolic link
|
@ -0,0 +1 @@
|
|||
./node_modules/gulp/bin/gulp.js
|
|
@ -0,0 +1,44 @@
|
|||
general:
|
||||
block: 0
|
||||
icon: 1
|
||||
icon_type: 1
|
||||
menu: main
|
||||
button:
|
||||
colorize: 1
|
||||
size: '0'
|
||||
outlined: 0
|
||||
inverted: 0
|
||||
elements:
|
||||
labels_inline: 0
|
||||
input_size: '0'
|
||||
labels_rounded: 0
|
||||
labels_color: '0'
|
||||
labels_size: '0'
|
||||
breadcrumb:
|
||||
position: '0'
|
||||
size: '0'
|
||||
separator: '0'
|
||||
tabs:
|
||||
position: '0'
|
||||
size: '0'
|
||||
style: is-boxed
|
||||
fullwidth: 0
|
||||
table:
|
||||
bordered: 0
|
||||
striped: 0
|
||||
narrow: 0
|
||||
cdn:
|
||||
bulma:
|
||||
version: 0.5.3
|
||||
bulmaswatch:
|
||||
version: 0.5.1
|
||||
theme: default
|
||||
features:
|
||||
node_user_picture: true
|
||||
comment_user_picture: true
|
||||
comment_user_verification: true
|
||||
favicon: true
|
||||
logo:
|
||||
use_default: true
|
||||
favicon:
|
||||
use_default: true
|
|
@ -0,0 +1,23 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- system.menu.account
|
||||
module:
|
||||
- system
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_account_menu
|
||||
theme: family_home
|
||||
region: footer
|
||||
weight: 0
|
||||
provider: null
|
||||
plugin: 'system_menu_block:account'
|
||||
settings:
|
||||
id: 'system_menu_block:account'
|
||||
label: 'User account menu'
|
||||
provider: system
|
||||
label_display: '0'
|
||||
level: 1
|
||||
depth: 1
|
||||
visibility: { }
|
|
@ -0,0 +1,22 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- system
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_branding
|
||||
theme: family_home
|
||||
region: navbar_branding
|
||||
weight: 0
|
||||
provider: null
|
||||
plugin: system_branding_block
|
||||
settings:
|
||||
id: system_branding_block
|
||||
label: 'Site branding'
|
||||
provider: system
|
||||
label_display: '0'
|
||||
use_site_logo: true
|
||||
use_site_name: true
|
||||
use_site_slogan: true
|
||||
visibility: { }
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- system
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_content
|
||||
theme: family_home
|
||||
region: content
|
||||
weight: 0
|
||||
provider: null
|
||||
plugin: system_main_block
|
||||
settings:
|
||||
id: system_main_block
|
||||
label: 'Main page content'
|
||||
provider: system
|
||||
label_display: '0'
|
||||
visibility: { }
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- help
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_help
|
||||
theme: family_home
|
||||
region: help
|
||||
weight: -30
|
||||
provider: null
|
||||
plugin: help_block
|
||||
settings:
|
||||
id: help_block
|
||||
label: Help
|
||||
provider: help
|
||||
label_display: '0'
|
||||
visibility: { }
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_local_tasks
|
||||
theme: family_home
|
||||
region: header_tabs
|
||||
weight: -40
|
||||
provider: null
|
||||
plugin: local_tasks_block
|
||||
settings:
|
||||
id: local_tasks_block
|
||||
label: Tabs
|
||||
provider: core
|
||||
label_display: '0'
|
||||
primary: true
|
||||
secondary: true
|
||||
visibility: { }
|
|
@ -0,0 +1,23 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
config:
|
||||
- system.menu.main
|
||||
module:
|
||||
- system
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_main_menu
|
||||
theme: family_home
|
||||
region: primary_menu
|
||||
weight: 1
|
||||
provider: null
|
||||
plugin: 'system_menu_block:main'
|
||||
settings:
|
||||
id: 'system_menu_block:main'
|
||||
label: 'Main navigation'
|
||||
provider: system
|
||||
label_display: '0'
|
||||
level: 1
|
||||
depth: 2
|
||||
visibility: { }
|
|
@ -0,0 +1,19 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
module:
|
||||
- system
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_messages
|
||||
theme: family_home
|
||||
region: help
|
||||
weight: 0
|
||||
provider: null
|
||||
plugin: system_messages_block
|
||||
settings:
|
||||
id: system_messages_block
|
||||
label: 'Status messages'
|
||||
provider: system
|
||||
label_display: '0'
|
||||
visibility: { }
|
|
@ -0,0 +1,17 @@
|
|||
langcode: en
|
||||
status: true
|
||||
dependencies:
|
||||
theme:
|
||||
- family_home
|
||||
id: family_home_page_title
|
||||
theme: family_home
|
||||
region: header
|
||||
weight: 0
|
||||
provider: null
|
||||
plugin: page_title_block
|
||||
settings:
|
||||
id: page_title_block
|
||||
label: 'Page title'
|
||||
provider: core
|
||||
label_display: '0'
|
||||
visibility: { }
|
|
@ -0,0 +1,5 @@
|
|||
# Schema for the configuration files of the Bulma theme.
|
||||
|
||||
family_home.settings:
|
||||
type: theme_settings
|
||||
label: 'Bulma settings'
|
8132
web/themes/custom/geofresco/dist/css/global.css
vendored
Normal file
8132
web/themes/custom/geofresco/dist/css/global.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
5
web/themes/custom/geofresco/dist/css/overrides.css
vendored
Normal file
5
web/themes/custom/geofresco/dist/css/overrides.css
vendored
Normal file
|
@ -0,0 +1,5 @@
|
|||
.navbar > .container > .navbar-brand {
|
||||
margin-left: inherit; }
|
||||
|
||||
.section {
|
||||
padding-top: 1.5rem; }
|
33
web/themes/custom/geofresco/family_home.theme
Normal file
33
web/themes/custom/geofresco/family_home.theme
Normal file
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Implements hook_preprocess_HOOK() for page templates.
|
||||
*
|
||||
* Provide the elements of the branding block in the page.
|
||||
*/
|
||||
function family_home_preprocess_page(&$variables) {
|
||||
$block_manager = \Drupal::service('plugin.manager.block');
|
||||
$branding = $block_manager->createInstance('system_branding_block', [])->build();
|
||||
$variables['site_logo'] = $branding['site_logo']['#uri'];
|
||||
$variables['site_slogan'] = $branding['site_slogan'];
|
||||
$variables['site_name'] = $branding['site_name'];
|
||||
}
|
||||
|
||||
|
||||
// Below workaround to prevent upscaling of responsive images taken from
|
||||
// https://drupal.stackexchange.com/questions/254109/how-to-add-a-width-attribute-to-a-responsive-image-with-srcset
|
||||
// see https://www.drupal.org/project/drupal/issues/2999960
|
||||
|
||||
/**
|
||||
* Implements hook_preprocess_responsive_image_formatter().
|
||||
*
|
||||
* In order to do an incredibly ugly hack to prevent responsive images from
|
||||
* upscaling themselves.
|
||||
*/
|
||||
function family_home_preprocess_responsive_image_formatter(array &$variables) {
|
||||
$width = $variables['item']->width;
|
||||
if ($width > 1199) {
|
||||
return;
|
||||
}
|
||||
$variables['responsive_image']['#attributes']['style'] = 'width: ' . $width . 'px';
|
||||
}
|
7
web/themes/custom/geofresco/favicon-code.txt
Normal file
7
web/themes/custom/geofresco/favicon-code.txt
Normal file
|
@ -0,0 +1,7 @@
|
|||
<link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
|
||||
<link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />
|
||||
|
||||
|
||||
|
||||
###
|
||||
Via http://www.favicomatic.com/
|
BIN
web/themes/custom/geofresco/favicon.ico
Normal file
BIN
web/themes/custom/geofresco/favicon.ico
Normal file
Binary file not shown.
After Width: 16px | Height: 16px | Size: 894 B |
29
web/themes/custom/geofresco/fonts/GUST e-foundry License.txt
Normal file
29
web/themes/custom/geofresco/fonts/GUST e-foundry License.txt
Normal file
|
@ -0,0 +1,29 @@
|
|||
This is a preliminary version (2006-09-30), barring acceptance from
|
||||
the LaTeX Project Team and other feedback, of the GUST Font License.
|
||||
(GUST is the Polish TeX Users Group, http://www.gust.org.pl)
|
||||
|
||||
For the most recent version of this license see
|
||||
http://www.gust.org.pl/fonts/licenses/GUST-FONT-LICENSE.txt
|
||||
or
|
||||
http://tug.org/fonts/licenses/GUST-FONT-LICENSE.txt
|
||||
|
||||
This work may be distributed and/or modified under the conditions
|
||||
of the LaTeX Project Public License, either version 1.3c of this
|
||||
license or (at your option) any later version.
|
||||
|
||||
Please also observe the following clause:
|
||||
1) it is requested, but not legally required, that derived works be
|
||||
distributed only after changing the names of the fonts comprising this
|
||||
work and given in an accompanying "manifest", and that the
|
||||
files comprising the Work, as listed in the manifest, also be given
|
||||
new names. Any exceptions to this request are also given in the
|
||||
manifest.
|
||||
|
||||
We recommend the manifest be given in a separate file named
|
||||
MANIFEST-<fontid>.txt, where <fontid> is some unique identification
|
||||
of the font family. If a separate "readme" file accompanies the Work,
|
||||
we recommend a name of the form README-<fontid>.txt.
|
||||
|
||||
The latest version of the LaTeX Project Public License is in
|
||||
http://www.latex-project.org/lppl.txt and version 1.3c or later
|
||||
is part of all distributions of LaTeX version 2006/05/20 or later.
|
21
web/themes/custom/geofresco/fonts/README.md
Normal file
21
web/themes/custom/geofresco/fonts/README.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
# Fonts
|
||||
|
||||
See `family_home/src/global/_fonts.scss`
|
||||
|
||||
TODO consider citing *only* woff especially if there's a risk some browser might load more than one, or one less preferred than woff.
|
||||
|
||||
Agaric is including these custom fonts in the same way as we are for MassDesignGroup.org
|
||||
|
||||
It's working well on a site that cares about performance (aided by Cloudflare)
|
||||
but we will repeat Todd Linkner's note:
|
||||
|
||||
> You may want to use Google Fontloader or another method
|
||||
> to improve performance and mitigate FOUT.
|
||||
|
||||
## Font sources
|
||||
|
||||
### Tex Gyre Pagella
|
||||
|
||||
https://www.fontsquirrel.com/fonts/TeX-Gyre-Pagella
|
||||
|
||||
[GUST e-foundry License.txt](GUST e-foundry License.txt)
|
Binary file not shown.
1446
web/themes/custom/geofresco/fonts/texgyrepagella-bold-webfont.svg
Normal file
1446
web/themes/custom/geofresco/fonts/texgyrepagella-bold-webfont.svg
Normal file
File diff suppressed because it is too large
Load diff
After (image error) Size: 127 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load diff
After (image error) Size: 127 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
1462
web/themes/custom/geofresco/fonts/texgyrepagella-italic-webfont.svg
Normal file
1462
web/themes/custom/geofresco/fonts/texgyrepagella-italic-webfont.svg
Normal file
File diff suppressed because it is too large
Load diff
After (image error) Size: 133 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
1505
web/themes/custom/geofresco/fonts/texgyrepagella-regular-webfont.svg
Normal file
1505
web/themes/custom/geofresco/fonts/texgyrepagella-regular-webfont.svg
Normal file
File diff suppressed because it is too large
Load diff
After (image error) Size: 127 KiB |
Binary file not shown.
Binary file not shown.
6
web/themes/custom/geofresco/geofresco.info.yml
Normal file
6
web/themes/custom/geofresco/geofresco.info.yml
Normal file
|
@ -0,0 +1,6 @@
|
|||
global:
|
||||
dependencies:
|
||||
- octavia/global
|
||||
css:
|
||||
theme:
|
||||
dist/css/overrides.css: {}
|
33
web/themes/custom/geofresco/gulp-tasks/clean.js
Normal file
33
web/themes/custom/geofresco/gulp-tasks/clean.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var del = require('del');
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Clean style guide files.
|
||||
styleguide: function() {
|
||||
// You can use multiple globbing patterns as you would with `gulp.src`
|
||||
return del([
|
||||
'./dist/style-guide/*'
|
||||
], {force: true});
|
||||
},
|
||||
|
||||
// Clean CSS files.
|
||||
css: function() {
|
||||
return del([
|
||||
'./dist/css/*'
|
||||
], {force: true});
|
||||
},
|
||||
|
||||
// Clean JS files.
|
||||
js: function() {
|
||||
return del([
|
||||
'./dist/js/*'
|
||||
], {force: true});
|
||||
}
|
||||
};
|
70
web/themes/custom/geofresco/gulp-tasks/compile.js
Normal file
70
web/themes/custom/geofresco/gulp-tasks/compile.js
Normal file
|
@ -0,0 +1,70 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include gulp
|
||||
//=======================================================
|
||||
var gulp = require('gulp');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var sass = require('gulp-sass');
|
||||
var prefix = require('gulp-autoprefixer');
|
||||
var sourcemaps = require('gulp-sourcemaps');
|
||||
var sync = require('browser-sync');
|
||||
var babel = require('gulp-babel');
|
||||
var rename = require('gulp-rename');
|
||||
|
||||
// Small error handler helper function.
|
||||
function handleError(err) {
|
||||
console.log(err.toString());
|
||||
this.emit('end');
|
||||
}
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Compile Sass.
|
||||
sass: function() {
|
||||
return gulp.src('./src/{global,layout,components}/**/*.scss')
|
||||
.pipe(
|
||||
sass({ outputStyle: 'nested' })
|
||||
.on('error', handleError)
|
||||
)
|
||||
.pipe(prefix({
|
||||
cascade: false
|
||||
}))
|
||||
.pipe(rename(function (path) {
|
||||
path.dirname = '';
|
||||
return path;
|
||||
}))
|
||||
.pipe(gulp.dest('./dist/css'))
|
||||
.pipe(sync.stream({match: '**/*.css'}));
|
||||
},
|
||||
|
||||
// Compile JavaScript.
|
||||
js: function() {
|
||||
return gulp.src([
|
||||
'./src/{global,layout,components}/**/*.es6.js'
|
||||
], { base: './' })
|
||||
.pipe(sourcemaps.init())
|
||||
.pipe(
|
||||
babel()
|
||||
.on('error', handleError)
|
||||
)
|
||||
.pipe(rename(function (path) {
|
||||
// Currently not using ES6 modules so for now
|
||||
// es6 files are compiled into individual JS files.
|
||||
// Eventually this can use ES6 Modules and compile
|
||||
// all files within a component directory into a single
|
||||
// foo.bundle.js file. In that case the bundle name should
|
||||
// reflect the components directory name.
|
||||
path.dirname = '';
|
||||
path.basename = path.basename.replace(/\.es6/, '');
|
||||
return path;
|
||||
}))
|
||||
.pipe(sourcemaps.write('./'))
|
||||
.pipe(gulp.dest('./dist/js'));
|
||||
}
|
||||
};
|
35
web/themes/custom/geofresco/gulp-tasks/compress.js
Normal file
35
web/themes/custom/geofresco/gulp-tasks/compress.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include gulp
|
||||
//=======================================================
|
||||
var gulp = require('gulp');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var rename = require('gulp-rename');
|
||||
var imagemin = require('gulp-imagemin');
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Compress svg/png/jpg files.
|
||||
assets: function() {
|
||||
return gulp.src([
|
||||
'./src/{global,layout,components}/**/*{.png,.jpg,.svg}'
|
||||
])
|
||||
.pipe(imagemin({
|
||||
progressive: true,
|
||||
svgoPlugins: [{
|
||||
removeViewBox: false
|
||||
}]
|
||||
}))
|
||||
.pipe(rename(function (path) {
|
||||
path.dirname = '';
|
||||
return path;
|
||||
}))
|
||||
.pipe(gulp.dest('./dist/assets'));
|
||||
}
|
||||
};
|
42
web/themes/custom/geofresco/gulp-tasks/concat.js
Normal file
42
web/themes/custom/geofresco/gulp-tasks/concat.js
Normal file
|
@ -0,0 +1,42 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include gulp
|
||||
//=======================================================
|
||||
var gulp = require('gulp');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var concat = require('gulp-concat');
|
||||
var order = require('gulp-order');
|
||||
var sync = require('browser-sync');
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Concat all CSS into a master bundle.
|
||||
css: function() {
|
||||
return gulp.src([
|
||||
'./dist/css/*.css'
|
||||
])
|
||||
// Reorder the files so global is first.
|
||||
// If you need to get fancier with the order here's an example:
|
||||
// .pipe(order([
|
||||
// 'dist/css/global.css',
|
||||
// 'src/components/**/*.css',
|
||||
// 'dist/css/btn.css',
|
||||
// 'dist/css/form-item.css',
|
||||
// 'dist/css/form-float-label.css',
|
||||
// 'dist/css/*.css'
|
||||
// ], { base: './' }))
|
||||
.pipe(order([
|
||||
'dist/css/global.css',
|
||||
'dist/css/*.css'
|
||||
], { base: './' }))
|
||||
.pipe(concat('all.css'))
|
||||
.pipe(gulp.dest('./dist/all'))
|
||||
.pipe(sync.stream());
|
||||
}
|
||||
};
|
36
web/themes/custom/geofresco/gulp-tasks/lint.js
Normal file
36
web/themes/custom/geofresco/gulp-tasks/lint.js
Normal file
|
@ -0,0 +1,36 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include gulp
|
||||
//=======================================================
|
||||
var gulp = require('gulp');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var sassLint = require('gulp-sass-lint');
|
||||
var eslint = require('gulp-eslint');
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Lint Sass based on .sass-lint.yml config.
|
||||
sass: function() {
|
||||
return gulp.src([
|
||||
'./src/{global,layout,components}/**/*.scss',
|
||||
])
|
||||
.pipe(sassLint())
|
||||
.pipe(sassLint.format());
|
||||
},
|
||||
|
||||
// Lint JavaScript based on .eslintrc config.
|
||||
js: function() {
|
||||
return gulp.src([
|
||||
'./src/{global,layout,components}/**/*.js',
|
||||
'!./src/components/**/vendors/*'
|
||||
])
|
||||
.pipe(eslint())
|
||||
.pipe(eslint.format());
|
||||
}
|
||||
};
|
33
web/themes/custom/geofresco/gulp-tasks/move.js
Normal file
33
web/themes/custom/geofresco/gulp-tasks/move.js
Normal file
|
@ -0,0 +1,33 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
// If some JS components aren't es6 we want to simply move them
|
||||
// into the dist folder. This allows us to clean the dist/js
|
||||
// folder on build.
|
||||
|
||||
//=======================================================
|
||||
// Include gulp
|
||||
//=======================================================
|
||||
var gulp = require('gulp');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var rename = require('gulp-rename');
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Moves JavaScript.
|
||||
js: function() {
|
||||
return gulp.src([
|
||||
'./src/{global,layout,components}/**/*.js',
|
||||
'!./src/{global,layout,components}/**/*.es6.js'
|
||||
], { base: './' })
|
||||
.pipe(rename(function (path) {
|
||||
path.dirname = '';
|
||||
return path;
|
||||
}))
|
||||
.pipe(gulp.dest('./dist/js'));
|
||||
}
|
||||
};
|
48
web/themes/custom/geofresco/gulp-tasks/styleguide.js
Normal file
48
web/themes/custom/geofresco/gulp-tasks/styleguide.js
Normal file
|
@ -0,0 +1,48 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include kss
|
||||
//=======================================================
|
||||
var kss = require('kss');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var path = require('path');
|
||||
|
||||
// Export our tasks.
|
||||
module.exports = {
|
||||
|
||||
// Generate the style guide using the top level
|
||||
// directory name passed in as a parameter.
|
||||
generate: function(dirname) {
|
||||
|
||||
return kss({
|
||||
source: [
|
||||
dirname + '/src/global',
|
||||
dirname + '/src/components',
|
||||
dirname + '/src/layout'
|
||||
],
|
||||
destination: dirname + '/dist/style-guide',
|
||||
builder: dirname + '/src/style-guide/builder',
|
||||
namespace: 'octavia:' + dirname + '/src/components/',
|
||||
'extend-drupal8': true,
|
||||
// The css and js paths are URLs, like '/misc/jquery.js'.
|
||||
// The following paths are relative to the generated style guide.
|
||||
// The all.css file is for the style guide ONLY so you don't have to
|
||||
// keep adding the file here everytime you add a new component.
|
||||
// Drupal libraries should be leveraged for adding CSS per component.
|
||||
css: [
|
||||
path.relative(
|
||||
dirname + '/style-guide/',
|
||||
dirname + '/all/all.css'
|
||||
)
|
||||
],
|
||||
js: [
|
||||
],
|
||||
homepage: 'style-guide.md',
|
||||
title: 'Style Guide'
|
||||
});
|
||||
}
|
||||
};
|
176
web/themes/custom/geofresco/gulpfile.js
Normal file
176
web/themes/custom/geofresco/gulpfile.js
Normal file
|
@ -0,0 +1,176 @@
|
|||
/*eslint strict: ["error", "global"]*/
|
||||
'use strict';
|
||||
|
||||
//=======================================================
|
||||
// Include gulp
|
||||
//=======================================================
|
||||
var gulp = require('gulp');
|
||||
|
||||
//=======================================================
|
||||
// Include Our Plugins
|
||||
//=======================================================
|
||||
var sync = require('browser-sync');
|
||||
var runSequence = require('run-sequence');
|
||||
|
||||
//=======================================================
|
||||
// Include Our tasks.
|
||||
//
|
||||
// Each task is broken apart to it's own node module.
|
||||
// Check out the ./gulp-tasks directory for more.
|
||||
//=======================================================
|
||||
var taskCompile = require('./gulp-tasks/compile.js');
|
||||
var taskMove = require('./gulp-tasks/move.js');
|
||||
var taskLint = require('./gulp-tasks/lint.js');
|
||||
var taskCompress = require('./gulp-tasks/compress.js');
|
||||
var taskClean = require('./gulp-tasks/clean.js');
|
||||
|
||||
var taskStyleGuide = require('./gulp-tasks/styleguide.js');
|
||||
var taskConcat = require('./gulp-tasks/concat.js');
|
||||
|
||||
//=======================================================
|
||||
// Compile Our Sass and JS
|
||||
// We also move some files if they don't need
|
||||
// to be compiled.
|
||||
//=======================================================
|
||||
gulp.task('compile', ['compile:sass', 'compile:js', 'move:js']);
|
||||
|
||||
// Compile Sass
|
||||
gulp.task('compile:sass', function() {
|
||||
return taskCompile.sass();
|
||||
});
|
||||
|
||||
// Compile JavaScript ES2015 to ES5.
|
||||
gulp.task('compile:js', function() {
|
||||
return taskCompile.js();
|
||||
});
|
||||
|
||||
// If some JS components aren't es6 we want to simply move them
|
||||
// into the dist folder. This allows us to clean the dist/js
|
||||
// folder on build.
|
||||
gulp.task('move:js', function() {
|
||||
return taskMove.js();
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
// Lint Sass and JavaScript
|
||||
//=======================================================
|
||||
gulp.task('lint', ['lint:sass', 'lint:js']);
|
||||
|
||||
// Lint Sass based on .sass-lint.yml config.
|
||||
gulp.task('lint:sass', function () {
|
||||
return taskLint.sass();
|
||||
});
|
||||
|
||||
// Lint JavaScript based on .eslintrc config.
|
||||
gulp.task('lint:js', function () {
|
||||
return taskLint.js();
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
// Compress Files
|
||||
//=======================================================
|
||||
gulp.task('compress', function() {
|
||||
return taskCompress.assets();
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
// Generate style guide
|
||||
//=======================================================
|
||||
gulp.task('styleguide', function() {
|
||||
return taskStyleGuide.generate(__dirname);
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
// Concat all CSS files into a master bundle.
|
||||
//=======================================================
|
||||
gulp.task('concat', function () {
|
||||
return taskConcat.css();
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
// Clean all directories.
|
||||
//=======================================================
|
||||
gulp.task('clean', ['clean:css', 'clean:js', 'clean:styleguide']);
|
||||
|
||||
// Clean style guide files.
|
||||
gulp.task('clean:styleguide', function () {
|
||||
return taskClean.styleguide();
|
||||
});
|
||||
|
||||
// Clean CSS files.
|
||||
gulp.task('clean:css', function () {
|
||||
return taskClean.css();
|
||||
});
|
||||
|
||||
// Clean JS files.
|
||||
gulp.task('clean:js', function () {
|
||||
return taskClean.js();
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
// Watch and recompile sass.
|
||||
//=======================================================
|
||||
|
||||
// Pull the sass watch task out so we can use run sequence.
|
||||
|
||||
gulp.task('watch:sass', function(callback) {
|
||||
runSequence(
|
||||
['lint:sass', 'compile:sass'],
|
||||
'concat',
|
||||
callback
|
||||
);
|
||||
});
|
||||
|
||||
// Main watch task.
|
||||
gulp.task('watch', function() {
|
||||
|
||||
// BrowserSync proxy setup
|
||||
// Uncomment this and swap proxy with your local env url.
|
||||
// NOTE: for this to work in Drupal, you must install and enable
|
||||
// https://www.drupal.org/project/link_css. This module should
|
||||
// NOT be committed to the repo OR enabled on production.
|
||||
//
|
||||
// This should work out of the box for work within the style guide.
|
||||
//
|
||||
// sync.init({
|
||||
// open: false,
|
||||
// proxy: 'http://test.mcdev'
|
||||
// });
|
||||
|
||||
// Watch all my sass files and compile sass if a file changes.
|
||||
gulp.watch(
|
||||
'./src/{global,layout,components}/**/*.scss',
|
||||
['watch:sass']
|
||||
);
|
||||
|
||||
// Watch all my JS files and compile if a file changes.
|
||||
gulp.watch([
|
||||
'./src/{global,layout,components}/**/*.js'
|
||||
], ['lint:js', 'compile:js']);
|
||||
|
||||
// Watch all my twig files and rebuild the style guide if a file changes.
|
||||
gulp.watch(
|
||||
'./src/{layout,components}/**/*.twig',
|
||||
['watch:styleguide']
|
||||
);
|
||||
|
||||
});
|
||||
|
||||
// Reload the browser if the style guide is updated.
|
||||
gulp.task('watch:styleguide', ['styleguide'], sync.reload);
|
||||
|
||||
//=======================================================
|
||||
// Default Task
|
||||
//
|
||||
// runSequence runs 'clean' first, and when that finishes
|
||||
// 'lint', 'compile', 'compress', 'styleguide' run
|
||||
// at the same time. 'concat' runs last.
|
||||
//=======================================================
|
||||
gulp.task('default', function(callback) {
|
||||
runSequence(
|
||||
'clean',
|
||||
['lint', 'compile', 'compress', 'styleguide'],
|
||||
'concat',
|
||||
callback
|
||||
);
|
||||
});
|
Binary file not shown.
After ![]() (image error) Size: 43 KiB |
BIN
web/themes/custom/geofresco/images/logo-GEO-narrow.png
Normal file
BIN
web/themes/custom/geofresco/images/logo-GEO-narrow.png
Normal file
Binary file not shown.
After ![]() (image error) Size: 14 KiB |
59
web/themes/custom/geofresco/package.json
Normal file
59
web/themes/custom/geofresco/package.json
Normal file
|
@ -0,0 +1,59 @@
|
|||
{
|
||||
"name": "family_home",
|
||||
"version": "1.0.0",
|
||||
"scripts": {
|
||||
"build": "gulp",
|
||||
"compile": "gulp compile",
|
||||
"watch": "gulp watch",
|
||||
"styleguide": "gulp styleguide",
|
||||
"compress": "gulp compress",
|
||||
"lint": "gulp lint",
|
||||
"clean": "gulp clean",
|
||||
"gulp": "gulp"
|
||||
},
|
||||
"babel": {
|
||||
"presets": [
|
||||
[
|
||||
"env",
|
||||
{
|
||||
"targets": {
|
||||
"browsers": [
|
||||
"IE >= 9",
|
||||
"last 3 versions"
|
||||
]
|
||||
}
|
||||
}
|
||||
]
|
||||
],
|
||||
"plugins": [
|
||||
"transform-remove-strict-mode"
|
||||
]
|
||||
},
|
||||
"browserslist": [
|
||||
"IE >= 9",
|
||||
"last 3 versions"
|
||||
],
|
||||
"devDependencies": {
|
||||
"babel-plugin-transform-remove-strict-mode": "0.0.2",
|
||||
"babel-preset-env": "^1.6.0",
|
||||
"browser-sync": "^2.18.12",
|
||||
"del": "^3.0.0",
|
||||
"gulp": "^3.9.1",
|
||||
"gulp-autoprefixer": "^4.0.0",
|
||||
"gulp-babel": "^6.1.2",
|
||||
"gulp-concat": "^2.6.1",
|
||||
"gulp-eslint": "^4.0.0",
|
||||
"gulp-imagemin": "^3.3.0",
|
||||
"gulp-order": "^1.1.1",
|
||||
"gulp-rename": "^1.2.2",
|
||||
"gulp-sass": "^3.1.0",
|
||||
"gulp-sass-lint": "^1.3.2",
|
||||
"gulp-sourcemaps": "^2.6.0",
|
||||
"kss": "^3.0.0-beta.18",
|
||||
"run-sequence": "^2.0.0"
|
||||
},
|
||||
"dependencies": {
|
||||
"bulma": "^0.6.2",
|
||||
"bulma-extensions": "^1.0.4"
|
||||
}
|
||||
}
|
Binary file not shown.
31
web/themes/custom/geofresco/src/global/_base.scss
Normal file
31
web/themes/custom/geofresco/src/global/_base.scss
Normal file
|
@ -0,0 +1,31 @@
|
|||
@charset "utf-8";
|
||||
|
||||
// Set our custom font for headers
|
||||
.title,
|
||||
.content h1,
|
||||
.content h2,
|
||||
.content h3,
|
||||
.content h4,
|
||||
.content h5,
|
||||
.content h6 {
|
||||
font-family: $family-serif;
|
||||
}
|
||||
|
||||
// Prevent images from being larger than their Drupal-set size
|
||||
.image.no-upscale img {
|
||||
width: intrinsic; /* Safari/WebKit uses a non-standard name */
|
||||
width: -moz-max-content; /* Firefox/Gecko */
|
||||
width: -webkit-max-content; /* Chrome */
|
||||
}
|
||||
|
||||
// Style the wordmark (logo)
|
||||
.navbar-item .wordmark {
|
||||
max-height: 3rem; // 4rem
|
||||
}
|
||||
|
||||
$navbar-item-img-max-height: 3rem;
|
||||
|
||||
.navbar-item .wordmark img {
|
||||
height: 100%;
|
||||
width: auto;
|
||||
}
|
15
web/themes/custom/geofresco/src/global/_components.scss
Normal file
15
web/themes/custom/geofresco/src/global/_components.scss
Normal file
|
@ -0,0 +1,15 @@
|
|||
@charset "UTF-8";
|
||||
// Extend or override Bulma's components,
|
||||
// ../../node_modules/bulma/sass/components
|
||||
|
||||
// Make menu items slightly less far apart so we never entirely lose
|
||||
// 'Community' on mid-size screens.
|
||||
// See https://gitlab.com/drutopia/octavia/issues/52
|
||||
.navbar-item, .navbar-link {
|
||||
padding-left: .75rem;
|
||||
padding-right: .75rem;
|
||||
@include from($widescreen) {
|
||||
padding-left: 1rem;
|
||||
padding-right: 1rem;
|
||||
}
|
||||
}
|
25
web/themes/custom/geofresco/src/global/_elements.scss
Normal file
25
web/themes/custom/geofresco/src/global/_elements.scss
Normal file
|
@ -0,0 +1,25 @@
|
|||
@charset "UTF-8";
|
||||
// Extend or override Bulma's elements ../../node_modules/bulma/sass/elements
|
||||
|
||||
// Style the slogan shown at the top of each page
|
||||
.slogan.title {
|
||||
color: $red;
|
||||
font-style: italic;
|
||||
font-weight: normal;
|
||||
display: inline-block;
|
||||
margin-top: 0.8rem; // 1.2rem
|
||||
margin-left: 0.6rem; // 0.8rem
|
||||
}
|
||||
|
||||
.hero.is-primary .family-home-branding__front {
|
||||
padding: .5rem .75rem;
|
||||
background-color: white;
|
||||
.column {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
}
|
||||
.slogan.title {
|
||||
margin-top: 0;
|
||||
color: $red;
|
||||
}
|
||||
}
|
46
web/themes/custom/geofresco/src/global/_fonts.scss
Normal file
46
web/themes/custom/geofresco/src/global/_fonts.scss
Normal file
|
@ -0,0 +1,46 @@
|
|||
$family-serif: "Pagella", "Palatino", "Bookman", "Bookman Old Style", "Garamond", "Georgia", "Times", "Times New Roman", serif !default
|
||||
|
||||
@font-face {
|
||||
font-family: 'Pagella';
|
||||
src: url('../../fonts/texgyrepagella-regular-webfont.eot');
|
||||
src: url('../../fonts/texgyrepagella-regular-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('../../fonts/texgyrepagella-regular-webfont.woff') format('woff'),
|
||||
url('../../fonts/texgyrepagella-regular-webfont.ttf') format('truetype'),
|
||||
url('../../fonts/texgyrepagella-regular-webfont.svg#tex_gyre_pagellaregular') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Pagella';
|
||||
src: url('../../fonts/texgyrepagella-bold-webfont.eot');
|
||||
src: url('../../fonts/texgyrepagella-bold-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('../../fonts/texgyrepagella-bold-webfont.woff') format('woff'),
|
||||
url('../../fonts/texgyrepagella-bold-webfont.ttf') format('truetype'),
|
||||
url('../../fonts/texgyrepagella-bold-webfont.svg#tex_gyre_pagellabold') format('svg');
|
||||
font-weight: 700;
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Pagella';
|
||||
src: url('../../fonts/texgyrepagella-italic-webfont.eot');
|
||||
src: url('../../fonts/texgyrepagella-italic-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('../../fonts/texgyrepagella-italic-webfont.woff') format('woff'),
|
||||
url('../../fonts/texgyrepagella-italic-webfont.ttf') format('truetype'),
|
||||
url('../../fonts/texgyrepagella-italic-webfont.svg#tex_gyre_pagellaitalic') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Pagella';
|
||||
src: url('../../fonts/texgyrepagella-bolditalic-webfont.eot');
|
||||
src: url('../../fonts/texgyrepagella-bolditalic-webfont.eot?#iefix') format('embedded-opentype'),
|
||||
url('../../fonts/texgyrepagella-bolditalic-webfont.woff') format('woff'),
|
||||
url('../../fonts/texgyrepagella-bolditalic-webfont.ttf') format('truetype'),
|
||||
url('../../fonts/texgyrepagella-bolditalic-webfont.svg#tex_gyre_pagellabold_italic') format('svg'
|
||||
);
|
||||
font-weight: 700;
|
||||
font-style: italic;
|
||||
}
|
3
web/themes/custom/geofresco/src/global/_grid.scss
Normal file
3
web/themes/custom/geofresco/src/global/_grid.scss
Normal file
|
@ -0,0 +1,3 @@
|
|||
@charset "UTF-8";
|
||||
// Extend or override Bulma's grid ../../node_modules/bulma/sass/grid
|
||||
|
6
web/themes/custom/geofresco/src/global/_layout.scss
Normal file
6
web/themes/custom/geofresco/src/global/_layout.scss
Normal file
|
@ -0,0 +1,6 @@
|
|||
@charset "UTF-8";
|
||||
// Extend or override Bulma's layouts ../../node_modules/bulma/sass/layout
|
||||
|
||||
.hero-body {
|
||||
padding: 2rem 1.5rem;
|
||||
}
|
28
web/themes/custom/geofresco/src/global/global.scss
Normal file
28
web/themes/custom/geofresco/src/global/global.scss
Normal file
|
@ -0,0 +1,28 @@
|
|||
// Bring in Bulma allowing us to extend and override it.
|
||||
|
||||
// Set brand colors.
|
||||
$blue: #4391E0;
|
||||
$red: #a70c20;
|
||||
|
||||
// Update Bulma's global variables.
|
||||
$primary: $blue;
|
||||
|
||||
// Import each part of Bulma separately so we can layer in our styles.
|
||||
// Extend or override Bulam's base styles in this themes base.scss etc.
|
||||
@import "../../node_modules/bulma/sass/utilities/_all";
|
||||
@import "fonts";
|
||||
@import "../../node_modules/bulma/sass/base/_all";
|
||||
@import "base";
|
||||
@import "../../node_modules/bulma/sass/elements/_all";
|
||||
@import "elements";
|
||||
@import "../../node_modules/bulma/sass/components/_all";
|
||||
@import "components";
|
||||
@import "../../node_modules/bulma/sass/grid/_all";
|
||||
@import "grid";
|
||||
@import "../../node_modules/bulma/sass/layout/_all";
|
||||
@import "layout";
|
||||
|
||||
// You can add final styles below or import another Sass or SCSS stylesheet here
|
||||
// and it will have access to Bulma variables and mixins.
|
||||
|
||||
@import '../../node_modules/bulma-extensions/bulma-timeline/dist/bulma-timeline';
|
7
web/themes/custom/geofresco/src/global/overrides.scss
Normal file
7
web/themes/custom/geofresco/src/global/overrides.scss
Normal file
|
@ -0,0 +1,7 @@
|
|||
.navbar > .container > .navbar-brand {
|
||||
margin-left: inherit;
|
||||
}
|
||||
|
||||
.section {
|
||||
padding-top: 1.5rem;
|
||||
}
|
|
@ -0,0 +1,27 @@
|
|||
{% extends "block.html.twig" %}
|
||||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a branding block.
|
||||
*
|
||||
* Each branding element variable (logo, name, slogan) is only available if
|
||||
* enabled in the block configuration.
|
||||
*
|
||||
* Available variables:
|
||||
* - site_logo: Logo for site as defined in Appearance or theme settings.
|
||||
* - site_name: Name for site as defined in Site information settings.
|
||||
* - site_slogan: Slogan for site as defined in Site information settings.
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
{% block content %}
|
||||
{% if site_logo %}
|
||||
<figure class="wordmark image is-pulled-left">
|
||||
<a href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">
|
||||
<img src="{{ site_logo }}" alt="{{ site_name }}" />
|
||||
</a>
|
||||
</figure>
|
||||
{% endif %}
|
||||
<a class="title is-5 slogan" href="{{ path('<front>') }}" title="{{ 'Home'|t }}" rel="home">{{ site_slogan }}</a>
|
||||
{% endblock content %}
|
|
@ -0,0 +1,46 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation for a facets item list.
|
||||
*
|
||||
* Available variables:
|
||||
* - items: A list of items. Each item contains:
|
||||
* - attributes: HTML attributes to be applied to each list item.
|
||||
* - value: The content of the list element.
|
||||
* - title: The title of the list.
|
||||
* - list_type: The tag for list element ("ul" or "ol").
|
||||
* - wrapper_attributes: HTML attributes to be applied to the list wrapper.
|
||||
* - attributes: HTML attributes to be applied to the list.
|
||||
* - empty: A message to display when there are no items. Allowed value is a
|
||||
* string or render array.
|
||||
* - context: A list of contextual data associated with the list. May contain:
|
||||
* - list_style: The ID of the widget plugin this facet uses.
|
||||
* - facet: The facet for this result item.
|
||||
* - id: the machine name for the facet.
|
||||
* - label: The facet label.
|
||||
*
|
||||
* @see facets_preprocess_facets_item_list()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<div class="facets-widget- {{- facet.widget.type -}} ">
|
||||
{% if facet.widget.type %}
|
||||
{%- set attributes = attributes.addClass('item-list__' ~ facet.widget.type) %}
|
||||
{% endif %}
|
||||
{% if items or empty %}
|
||||
{%- if title is not empty -%}
|
||||
<h2 class="subtitle is-4 is-uppercase">{{ title }}</h2>
|
||||
{%- endif -%}
|
||||
|
||||
{%- if items -%}
|
||||
<{{ list_type }}{{ attributes }}>
|
||||
{%- for item in items -%}
|
||||
<li{{ item.attributes }}>{{ item.value }}</li>
|
||||
{%- endfor -%}
|
||||
</{{ list_type }}>
|
||||
{%- else -%}
|
||||
{{- empty -}}
|
||||
{%- endif -%}
|
||||
{%- endif %}
|
||||
</div>
|
|
@ -0,0 +1,17 @@
|
|||
{#
|
||||
/**
|
||||
* @file
|
||||
* Default theme implementation of an image.
|
||||
*
|
||||
* Available variables:
|
||||
* - attributes: HTML attributes for the img tag.
|
||||
* - style_name: (optional) The name of the image style applied.
|
||||
*
|
||||
* @see template_preprocess_image()
|
||||
*
|
||||
* @ingroup themeable
|
||||
*/
|
||||
#}
|
||||
<figure class="image no-upscale">
|
||||
<img{{ attributes }} />
|
||||
</figure>
|
|
@ -0,0 +1,7 @@
|
|||
{% extends "@stable/content/page-title.html.twig" %}
|
||||
{#
|
||||
/**
|
||||
* Make page titles larger by adding a class (where size 1 is the largest).
|
||||
*/
|
||||
#}
|
||||
{% set title_attributes = title_attributes.addClass("is-size-2") %}
|
|
@ -0,0 +1,50 @@
|
|||
{% extends "@bulma/system/page.html.twig" %}
|
||||
{#
|
||||
Limit the main content column to a max of 10 units at widescreen and above.
|
||||
@see system/page.html.twig in the Bulma theme.
|
||||
#}
|
||||
{%
|
||||
set page = page|merge({
|
||||
'content_attributes': create_attribute().addClass([
|
||||
'main-content',
|
||||
'column',
|
||||
'is-10-widescreen',
|
||||
]),
|
||||
})
|
||||
%}
|
||||
|
||||
{% if is_front %}
|
||||
{%
|
||||
set page = page|merge({
|
||||
'navbar_branding': '',
|
||||
})
|
||||
%}
|
||||
{% endif %}
|
||||
|
||||
{% block header_and_search %}
|
||||
{# Header hero region + search #}
|
||||
<div class="container">
|
||||
<div class="columns is-marginless is-vcentered">
|
||||
<div class="column">
|
||||
{% if not is_front %}
|
||||
{{ page.header }}
|
||||
{% endif %}
|
||||
{% if is_front and site_logo %}
|
||||
<div class="columns is-desktop is-vcentered family-home-branding__front">
|
||||
<div class="column is-two-fifths-desktop">
|
||||
<figure class="wordmark image">
|
||||
<img src="{{ site_logo }}" alt="{{ site_name }}" />
|
||||
</figure>
|
||||
</div>
|
||||
<div class="column">
|
||||
<span class="title is-size-5 is-size-4-tablet is-size-3-widescreen slogan">{{ site_slogan }}</span>
|
||||
</div>
|
||||
</div>
|
||||
{% endif %}
|
||||
</div>
|
||||
<div class="column is-narrow pull-right">
|
||||
{{ page.header_search }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock header_and_search %}
|
Loading…
Add table
Reference in a new issue