Version 1.0.2

This commit is contained in:
pmoreno.rodriguez 2022-11-08 21:42:43 +01:00
parent ef62ebd5eb
commit b5621e7728
46 changed files with 622 additions and 186 deletions

View file

@ -1,28 +1,28 @@
# v1.0.2 # v1.0.2
## 10/31/2022 ## 11/09/2022
1. [](#fixed) 1. [](#bugfix)
* Changed header.class to header.layout in several blueprints
* Fixed code in sidebar_navigation.html.twig and topmenu.html.twig * Fixed code in sidebar_navigation.html.twig and topmenu.html.twig
* Fixed code to choose columns number in portfolio and features templates. * Fixed code to choose columns number in portfolio and features templates.
2. [](#improved) 2. [](#improved)
* Updated header.class to header.layout in several blueprints
* Updated CSS and SCSS assets * Updated CSS and SCSS assets
* Updated languages.yaml * Updated languages.yaml
* Improved several templates to include subtitle and primary image. * Improved several templates to include subtitle and primary image.
3. [](#new) 3. [](#new)
* Added centered alignment for images in portfolio template. * Added centered alignment for images in portfolio template.
* Added option in theme to choose the miniposts category name. * Added option in theme to choose the miniposts category name.
* New logo twig template
# v1.0.1 # v1.0.1
## 02/05/2022 ## 02/05/2022
1. [](#bugfix) 1. [](#bugfix)
* Updated CSS Styles to show FontAwesome 5 * Updated CSS Styles to show FontAwesome 5
# v1.0.0 # v1.0.0
## 05/12/2021 ## 05/12/2021
1. [](#new) 1. [](#new)
* Drop down menu functionality * Drop down menu functionality
* Fixed autoescaping in all twig templates * Fixed autoescaping in all twig templates
* Added slidedown functionality for sidebar menu with JQuery * Added slidedown functionality for sidebar menu with JQuery

View file

@ -39,8 +39,6 @@ Redesigned from scratch (version 2021)
- Features Modular view template - Features Modular view template
- Banner Modular view template - Banner Modular view template
- Contact Modular view template - Contact Modular view template
- Portfolio view template
# Installation # Installation

View file

@ -0,0 +1,50 @@
enabled: true
production-mode: false
favicon:
user/themes/future2021/images/logo/Grav_logo.png:
name: Grav_logo.png
type: image/png
size: 15355
path: user/themes/future2021/images/logo/Grav_logo.png
blog_page: /blog
slogan: 'AYUDA DE GRAV EN ESPAÑOL'
custom_logo: { }
custom_logo_mobile:
user/themes/future2021/images/logo/Grav_logo.png:
name: Grav_logo.png
type: image/png
size: 15355
path: user/themes/future2021/images/logo/Grav_logo.png
footer:
title: ABOUT
description: 'Mauris neque quam, fermentum ut nisl vitae, convallis maximus nisl. Sed mattis nunc id lorem euismod amet placerat. Vivamus porttitor magna enim, ac accumsan tortor cursus at phasellus sed ultricies.'
copyright_text: 'DESIGN: <a href="https://html5up.net/" target="_blank">HTML5 UP</a>. IMAGES: <a href="http://wallpaperswide.com/" target="_blank">WALLPAPESWIDE</a>.'
button_url: about
button_text: 'Show more'
social:
-
name: Twitter
url: 'https://www.twitter.com'
icon: 'fa fa-twitter'
-
name: Facebook
url: 'https://www.facebook.com'
icon: 'fa fa-facebook'
-
name: Instagram
url: 'https://www.instagram.com'
icon: 'fa fa-instagram'
miniposts: true
miniposts_number: 3
latestposts: true
miniposts_category: minipost
displaycustommenus:
enabled: false
dropdown:
enabled: true
custommenu:
-
text: Grav
icon: arrow-circle-right
url: 'https://getgrav.org'
target: _blank

View file

@ -25,5 +25,6 @@ features:
buttonurl_target: '1' buttonurl_target: '1'
media_order: 'Elements14-c1.svg,Elements14-b1.svg,Elements14-a1.svg' media_order: 'Elements14-c1.svg,Elements14-b1.svg,Elements14-a1.svg'
class: standard class: standard
layout: standard
--- ---

View file

@ -5,6 +5,5 @@ primaryImage: WhitePocket_EN-US11956274200_1920x1200.jpg
taxonomy: taxonomy:
tag: tag:
- tag3 - tag3
routable: false
--- ---

View file

@ -1,5 +1,4 @@
--- ---
title: 'Sobre Grav' title: 'Sobre Grav'
routable: false
--- ---

View file

@ -10,5 +10,6 @@ content:
pagination: true pagination: true
url_taxonomy_filters: true url_taxonomy_filters: true
sidebar: true sidebar: true
show_breadcrumbs: false
--- ---

View file

@ -42,7 +42,7 @@ images:
description: 'Description 6' description: 'Description 6'
thumb: thumb_magic_butterfly-wallpaper-1920x1080.jpg thumb: thumb_magic_butterfly-wallpaper-1920x1080.jpg
published: true published: true
class: standard layout: standard
--- ---
## Some pictures for your portfolio ## [center]Some pictures for your portfolio[/center]

View file

@ -1,7 +1,5 @@
--- ---
title: 'Contacta con nosotros' title: 'Contacta con nosotros'
routable: false
cache_enable: false
form: form:
name: contact-form name: contact-form
template: form-messages template: form-messages

View file

@ -1,5 +1,5 @@
--- ---
title: 'Privacy Policy' title: 'Política de Privacidad'
primaryImage: privacy-policy.jpg primaryImage: privacy-policy.jpg
media_order: privacy-policy.jpg media_order: privacy-policy.jpg
visible: false visible: false

View file

@ -1,14 +1,16 @@
/* Styles for Back to Top button */
#back-to-top { #back-to-top {
display: inline-block; display: inline-block;
font-family: 'FontAwesome'; font-family: 'Font Awesome 5 Free';
font-weight: 400; font-weight: 400;
font-style: normal; font-style: normal;
font-size: 2em; font-size: 1.5em;
line-height: 1.3em; line-height: 1.5em;
background-color: #ab1d35; background-color: #ab1d35;
color: #fff; color: #fff;
width: 50px; width: 1.5em;
height: 50px; height: 1.5em;
text-align: center; text-align: center;
border-radius: 4px; border-radius: 4px;
position: fixed; position: fixed;
@ -35,6 +37,7 @@
visibility: visible; visibility: visible;
} }
/* Styles for Langswitcher plugin */
#header .main ul li.langswitcher > a { #header .main ul li.langswitcher > a {
text-decoration: none; text-decoration: none;
@ -46,3 +49,36 @@
@media screen and (max-width: 736px) { @media screen and (max-width: 736px) {
#header .main ul li.langswitcher { #header .main ul li.langswitcher {
display: none; } } display: none; } }
/* Styles to show Font Awesome 5 Free in shortcode core notices */
.sc-notice > div:before {
position: absolute;
top: 2px;
color: #fff;
font-family: 'Font Awesome 5 Free';
content: '\f05a';
left: 10px;
}
/* Styles to support svg images in search results */
.search-row {
display: flex;
align-items: top;
}
.search-image img {
overflow:hidden;
width: 100px;
height: 100px;
object-fit: cover;
object-position: 0 100%;
}
@media only all and (max-width: 47.938em) {
.search-image img {display:none;}
}
.search-item {
margin-left: 30px;
margin-bottom: 50px;
}

226
assets/css/fontawesome-all.min.css vendored Normal file

File diff suppressed because one or more lines are too long

View file

@ -1,4 +1,4 @@
@import 'font-awesome.min.css'; @import 'fontawesome-all.min.css';
@import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Raleway:400,800,900"); @import url("https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Raleway:400,800,900");
/* /*
Future Imperfect by HTML5 UP Future Imperfect by HTML5 UP
@ -1570,7 +1570,7 @@ form.search:before {
text-rendering: auto; text-rendering: auto;
line-height: 1; line-height: 1;
text-transform: none !important; text-transform: none !important;
font-family: "FontAwesome"; font-family: "Font Awesome 5 Free";
font-weight: 900; font-weight: 900;
} }
form.search:before { form.search:before {
@ -1649,7 +1649,7 @@ textarea:focus {
text-rendering: auto; text-rendering: auto;
line-height: 1; line-height: 1;
text-transform: none !important; text-transform: none !important;
font-family: "FontAwesome"; font-family: "Font Awesome 5 Free";
font-weight: 900; font-weight: 900;
} }
.select-wrapper:before { .select-wrapper:before {
@ -1734,7 +1734,7 @@ input[type=radio] + label:before {
text-rendering: auto; text-rendering: auto;
line-height: 1; line-height: 1;
text-transform: none !important; text-transform: none !important;
font-family: "FontAwesome"; font-family: "Font Awesome 5 Free";
font-weight: 900; font-weight: 900;
} }
input[type=checkbox] + label:before, input[type=checkbox] + label:before,
@ -1804,7 +1804,7 @@ input[type=radio] + label:before {
text-rendering: auto; text-rendering: auto;
line-height: 1; line-height: 1;
text-transform: none !important; text-transform: none !important;
font-family: "FontAwesome"; font-family: "Font Awesome 5 Free";
font-weight: 400; font-weight: 400;
} }
.icon > .label { .icon > .label {
@ -1817,7 +1817,7 @@ input[type=radio] + label:before {
font-weight: 900; font-weight: 900;
} }
.icon.brands:before { .icon.brands:before {
font-family: "FontAwesome"; font-family: "Font Awesome 5 Brands";
} }
.icon.suffix:before { .icon.suffix:before {
float: right; float: right;
@ -2461,9 +2461,6 @@ table.alt tfoot {
} }
/* Portofolio */ /* Portofolio */
.portfolio_item {
padding: 0.5em;
}
.portfolio_item .image { .portfolio_item .image {
overflow: hidden; overflow: hidden;
width: 100%; width: 100%;
@ -2608,7 +2605,7 @@ table.alt tfoot {
letter-spacing: 0.15em; letter-spacing: 0.15em;
display: block; display: block;
border-bottom: none; border-bottom: none;
padding: 0.3rem 0.8rem; padding: 0 0.8rem;
height: inherit; height: inherit;
} }
#header .dropdown li ul { #header .dropdown li ul {
@ -2624,10 +2621,10 @@ table.alt tfoot {
} }
#header .dropdown li ul li a { #header .dropdown li ul li a {
font-family: "Raleway", Helvetica, sans-serif; font-family: "Raleway", Helvetica, sans-serif;
font-size: 0.7em; font-size: 0.8em;
font-weight: 400; font-weight: 400;
letter-spacing: 0.15em; letter-spacing: 0.15em;
text-transform: initial; text-transform: uppercase;
display: block; display: block;
border-bottom: none; border-bottom: none;
padding: 0.3rem 0.8rem; padding: 0.3rem 0.8rem;
@ -2656,7 +2653,7 @@ table.alt tfoot {
flex-wrap: nowrap; flex-wrap: nowrap;
min-width: 15em; min-width: 15em;
border: solid 1px rgba(160, 160, 160, 0.3); border: solid 1px rgba(160, 160, 160, 0.3);
background-color: #f4f4f4; background-color: #ffffff;
box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15) !important; box-shadow: 0 0.05rem 1rem rgba(0, 0, 0, 0.15) !important;
} }
@media screen and (max-width: 980px) { @media screen and (max-width: 980px) {
@ -2858,7 +2855,7 @@ body {
text-rendering: auto; text-rendering: auto;
line-height: 1; line-height: 1;
text-transform: none !important; text-transform: none !important;
font-family: "FontAwesome"; font-family: "Font Awesome 5 Free";
font-weight: 900; font-weight: 900;
} }
#header .main ul li > a:before { #header .main ul li > a:before {

File diff suppressed because one or more lines are too long

View file

@ -21,7 +21,7 @@
letter-spacing: 0.15em; letter-spacing: 0.15em;
@include vendor('display', 'block'); @include vendor('display', 'block');
border-bottom: none; border-bottom: none;
padding: 0.3rem 0.8rem; padding: 0 0.8rem;
height: inherit; height: inherit;
} }
@ -40,10 +40,10 @@
a { a {
font-family: _font(family-heading); font-family: _font(family-heading);
font-size: 0.7em; font-size: 0.8em;
font-weight: _font(weight); font-weight: _font(weight);
letter-spacing: 0.15em; letter-spacing: 0.15em;
text-transform: initial; text-transform: uppercase;
@include vendor('display', 'block'); @include vendor('display', 'block');
border-bottom: none; border-bottom: none;
padding: 0.3rem 0.8rem; padding: 0.3rem 0.8rem;
@ -81,7 +81,7 @@
@include vendor('flex-wrap', 'nowrap'); @include vendor('flex-wrap', 'nowrap');
min-width: 15em; min-width: 15em;
border: solid 1px rgba(160, 160, 160, 0.3); border: solid 1px rgba(160, 160, 160, 0.3);
background-color: _palette(bg-alt); background-color: _palette(bg);
box-shadow: 0 0.05rem 1rem _palette(border-dropdown) !important; box-shadow: 0 0.05rem 1rem _palette(border-dropdown) !important;
} }

View file

@ -27,7 +27,7 @@
&.brands { &.brands {
&:before { &:before {
font-family: 'FontAwesome'; font-family: 'Font Awesome 5 Brands';
} }
} }

View file

@ -3,7 +3,7 @@
.portfolio_item { .portfolio_item {
padding: 0.5em;
.image { .image {
overflow: hidden; overflow: hidden;

View file

@ -22,14 +22,14 @@
text-transform: none !important; text-transform: none !important;
@if ($category == brands) { @if ($category == brands) {
font-family: 'FontAwesome'; font-family: 'Font Awesome 5 Brands';
} }
@else if ($category == solid) { @else if ($category == solid) {
font-family: 'FontAwesome'; font-family: 'Font Awesome 5 Free';
font-weight: 900; font-weight: 900;
} }
@else { @else {
font-family: 'FontAwesome'; font-family: 'Font Awesome 5 Free';
font-weight: 400; font-weight: 400;
} }

View file

@ -4,7 +4,7 @@
@import 'libs/vendor'; @import 'libs/vendor';
@import 'libs/breakpoints'; @import 'libs/breakpoints';
@import 'libs/html-grid'; @import 'libs/html-grid';
@import 'font-awesome.min.css'; @import 'fontawesome-all.min.css';
@import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Raleway:400,800,900'); @import url('https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,700|Raleway:400,800,900');
/* /*

View file

@ -12,10 +12,15 @@ homepage: https://github.com/pmoreno-rodriguez/grav-theme-future2021
demo: http://future.juanvillen.es demo: http://future.juanvillen.es
keywords: future imperfect, html5up, theme, core, modern, fast, responsive, html5, css3 keywords: future imperfect, html5up, theme, core, modern, fast, responsive, html5, css3
bugs: https://github.com/pmoreno-rodriguez/grav-theme-future2021/issues bugs: https://github.com/pmoreno-rodriguez/grav-theme-future2021/issues
license: MIT license: CC-BY-3.0
dependencies: dependencies:
- { name: grav, version: '>=1.7.0' } - { name: grav, version: '>=1.6.0' }
- archives
- breadcrumbs
- pagination
- simplesearch
- taxonomylist
form: form:
validation: loose validation: loose
@ -33,6 +38,11 @@ form:
validate: validate:
type: bool type: bool
header_section:
type: section
title: FUTURE.ADMIN.THEME.HEADER_SECTION
underline: true
favicon: favicon:
type: file type: file
label: FUTURE.ADMIN.THEME.FAVICON label: FUTURE.ADMIN.THEME.FAVICON
@ -53,7 +63,7 @@ form:
markdown: true markdown: true
description: FUTURE.ADMIN.THEME.CUSTOM_LOGO_DESCRIPTION description: FUTURE.ADMIN.THEME.CUSTOM_LOGO_DESCRIPTION
accept: accept:
- image/png - image/*
custom_logo_mobile: custom_logo_mobile:
type: file type: file
@ -62,7 +72,7 @@ form:
destination: 'theme://images/logo' destination: 'theme://images/logo'
multiple: false multiple: false
accept: accept:
- image/png - image/*
slogan: slogan:
type: text type: text
@ -169,3 +179,49 @@ form:
.icon: .icon:
type: iconpicker type: iconpicker
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_ICON label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_ICON
custommenu_options:
type: fieldset
collapsible: true
collapsed: true
icon: bars
title: 'Custom Menu Items'
fields:
displaycustommenus.enabled:
type: toggle
label: 'Display Custom Menu Items'
help: 'Determines if any defined custom menu entries are displayed in the menubar.'
default: 0
highlight: 1
options:
'0': No
'1': Yes
validate:
type: bool
custommenu:
name: menu
type: list
label: 'Custom Menu Items'
fields:
.text:
type: text
label: Text
description: 'Text label for menu item.'
.icon:
type: text
label: Icon
description: 'Font Awesome icon for menu item.'
.url:
type: text
label: URL
description: 'URL for menu item.'
.target:
type: select
label: Target
default: _self
size: medium
options:
_blank: 'Open in a new window'
_parent: 'Open in the parent frame'
_top: 'Open in the full body of the window'
_self: 'Open in the same frame as clicked'

View file

@ -69,6 +69,17 @@ form:
asc: FUTURE.ADMIN.BLOG.BLOG_CONTENT_ITEMS_ORDER_DIR_ASC asc: FUTURE.ADMIN.BLOG.BLOG_CONTENT_ITEMS_ORDER_DIR_ASC
desc: FUTURE.ADMIN.BLOG.BLOG_CONTENT_ITEMS_ORDER_DIR_DESC desc: FUTURE.ADMIN.BLOG.BLOG_CONTENT_ITEMS_ORDER_DIR_DESC
header.show_breadcrumbs:
type: toggle
toggleable: true
label: Show Breadcrumbs
highlight: 1
options:
1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED
validate:
type: bool
header.content.pagination: header.content.pagination:
type: toggle type: toggle
label: FUTURE.ADMIN.BLOG.BLOG_CONTENT_ITEMS_PAGINATION label: FUTURE.ADMIN.BLOG.BLOG_CONTENT_ITEMS_PAGINATION

View file

@ -23,15 +23,10 @@ form:
type: text type: text
style: vertical style: vertical
label: FUTURE.ADMIN.ITEM.ITEM_SUBTITLE label: FUTURE.ADMIN.ITEM.ITEM_SUBTITLE
header.image:
type: column
fields:
header.primaryImage: header.primaryImage:
ordering@: header.subtitle
style: vertical
size: medium
type: pagemediaselect type: pagemediaselect
label: FUTURE.ADMIN.DEFAULT.PRIMARY_IMAGE label: FUTURE.ADMIN.DEFAULT.PRIMARY_IMAGE
preview_images: true preview_images: true
header.avatarImage:
ordering@: header.primaryImage
type: pagemediaselect
label: FUTURE.ADMIN.ITEM.ITEM_AVATAR
preview_images: true

View file

@ -54,3 +54,9 @@ form:
label: FUTURE.ADMIN.ITEM.ITEM_SUMMARY_DELIMITER label: FUTURE.ADMIN.ITEM.ITEM_SUMMARY_DELIMITER
classes: large classes: large
placeholder: === placeholder: ===
header.avatarImage:
type: pagemediaselect
toggleable: true
label: FUTURE.ADMIN.ITEM.ITEM_AVATAR
preview_images: true

View file

@ -5,13 +5,19 @@ form:
fields: fields:
tabs: tabs:
fields: fields:
content:
type: tab
fields:
header.options:
fields:
header.content:
fields:
header.primaryImage:
unset@: true
banner: banner:
type: tab type: tab
title: FUTURE.ADMIN.MODULAR.BANNER.BANNER_TAB title: FUTURE.ADMIN.MODULAR.BANNER.BANNER_TAB
fields: fields:
header.subtitle:
type: text
label: FUTURE.ADMIN.MODULAR.BANNER.BANNER_SUBTITLE
header.buttontext: header.buttontext:
type: text type: text
label: FUTURE.ADMIN.MODULAR.BANNER.BANNER_BUTTON_TEXT label: FUTURE.ADMIN.MODULAR.BANNER.BANNER_BUTTON_TEXT

View file

@ -1,23 +1,17 @@
extends@: default title: Portfolio
'@extends': default
form: form:
fields: fields:
tabs: tabs:
type: tabs
active: 1
fields: fields:
portfolio: portfolio:
type: tab type: tab
title: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_TAB title: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_TAB
fields: fields:
content_title: content_title:
type: spacer type: spacer
title: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_TITLE title: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_TITLE
header.layout: header.layout:
type: select type: select
label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_LAYOUT label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_LAYOUT
@ -26,7 +20,6 @@ form:
options: options:
medium: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_LAYOUT_TWOCOLS medium: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_LAYOUT_TWOCOLS
standard: FUTURE.ADMIN.PORTFOLIO.PORTOFOLIO_LAYOUT_THREECOLS standard: FUTURE.ADMIN.PORTFOLIO.PORTOFOLIO_LAYOUT_THREECOLS
header.images: header.images:
type: list type: list
style: vertical style: vertical
@ -34,27 +27,27 @@ form:
collapsed: true collapsed: true
fields: fields:
.image: .image:
type: pagemediaselect type: pagemediaselect
label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE
preview_images: true preview_images: true
accept: accept:
- .png - .png
- .jpg - .jpg
- .gif - .gif
- .svg - .svg
.title: .title:
type: text type: text
label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE_TITLE label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE_TITLE
.description: .description:
type: text type: text
label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE_DESCRIPTION label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE_DESCRIPTION
.thumb: .thumb:
type: filepicker type: filepicker
folder: 'self@' folder: 'self@'
label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE_THUMB label: FUTURE.ADMIN.PORTFOLIO.PORTFOLIO_IMAGE_THUMB
preview_images: true preview_images: true
accept: accept:
- .png - .png
- .jpg - .jpg
- .gif - .gif
- .svg - .svg

View file

@ -1,9 +1,22 @@
<?php <?php
namespace Grav\Theme; namespace Grav\Theme;
use Grav\Common\Grav;
use Grav\Common\Theme; use Grav\Common\Theme;
class Future2021 extends Theme class Future2021 extends Theme
{ {
public function onThemeInitialized()
{
}
// Add images to twig template paths to allow inclusion of SVG files
public function onTwigLoader()
{
$theme_paths = Grav::instance()['locator']->findResources('theme://images');
foreach($theme_paths as $images_path) {
$this->grav['twig']->addPath($images_path, 'images');
}
}
} }

View file

@ -1,5 +1,5 @@
enabled: true enabled: true
production-mode: true production-mode: false
favicon: favicon:
user/themes/future2021/images/logo/Grav_logo.png: user/themes/future2021/images/logo/Grav_logo.png:
name: Grav_logo.png name: Grav_logo.png
@ -36,3 +36,7 @@ social:
icon: 'fa fa-instagram' icon: 'fa fa-instagram'
miniposts: true miniposts: true
miniposts_number: 3 miniposts_number: 3
latestposts: true
miniposts_category: minipost
displaycustommenus:
enabled: true

1
images/grav-logo.svg Normal file
View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" viewBox="0 0 504 140" clip-rule="evenodd"><path d="M235.83 71.56h-7.98c-1.2 0-2.2 1-2.2 2.2V89.1l-.15.13c-4.7 3.96-10.64 6.14-16.72 6.14-14.36 0-26.04-11.68-26.04-26.04s11.68-26.04 26.04-26.04c5.58 0 10.92 1.76 15.44 5.1.87.66 2.1.57 2.86-.2l5.7-5.7c.44-.44.67-1.05.63-1.68-.02-.62-.32-1.2-.82-1.6-6.76-5.35-15.2-8.3-23.8-8.3-21.18 0-38.42 17.23-38.42 38.4 0 21.2 17.24 38.42 38.42 38.42 10.93 0 21.4-4.7 28.7-12.9.35-.4.55-.93.55-1.47v-19.6c0-1.22-.98-2.2-2.2-2.2M502.8 34.44c-.4-.6-1.1-.98-1.84-.98h-8.7c-.87 0-1.66.52-2 1.32l-24.5 56.84-24.9-56.85c-.36-.8-1.15-1.3-2.02-1.3h-8.72c-.74 0-1.44.36-1.84.98-.4.62-.48 1.4-.17 2.1l30.2 68.85c.34.8 1.13 1.32 2 1.32h11c.88 0 1.67-.53 2.02-1.33l29.66-68.87c.3-.68.22-1.47-.2-2.1"/><path d="M388.68 34.77c-.35-.8-1.14-1.32-2-1.32h-11c-.88 0-1.67.53-2.02 1.33L344 103.64c-.3.68-.22 1.47.18 2.08.4.62 1.1 1 1.84 1h8.7c.86 0 1.66-.53 2-1.33l24.5-56.86 24.9 56.86c.36.8 1.15 1.32 2.02 1.32h8.72c.74 0 1.44-.38 1.84-1 .4-.62.47-1.4.17-2.1l-30.2-68.85zM309.2 81.52l.47-.22c8.68-4.2 14.28-13.1 14.28-22.67 0-13.88-11.3-25.18-25.17-25.18H266.9c-1.2 0-2.2 1-2.2 2.2v68.86c0 1.23 1 2.22 2.2 2.22h8c1.2 0 2.2-1 2.2-2.2V45.8h21.68c7.05 0 12.8 5.75 12.8 12.8 0 5.9-4 11-9.73 12.42-1.04.26-2.07.4-3.07.4h-7.98c-.83 0-1.6.46-1.96 1.2-.38.73-.3 1.62.2 2.3l22.6 30.87c.42.58 1.08.92 1.78.92h9.9c.84 0 1.6-.47 1.97-1.2.37-.75.3-1.64-.2-2.3l-15.9-21.7zM107.2 80.97c-7.26-4.8-11.4-8.85-15.02-16.1-2.47 4.97-8.24 12.37-17.96 18.2-4.86 15.1-27.96 44-35.43 39.9-2.22-1.2-2.64-2.8-2.15-4.45.54-4.13 9.08-13.62 9.08-13.62s.18 2 2.92 6.18c-3.6-11.2 5.96-25.03 8.5-29.73 3.98-1.27 4.27-6.4 4.27-6.4.26-7.9-3.28-13.63-6.7-17.05 2.46 3 3.25 7.54 3.37 11.7v.02c0 .47 0 .93 0 1.4-.12 3.43-1.16 8.18-3.38 8.18v.03c-2.28-.1-5.1.4-7.63 1.18l-5.6 1.34s2.98-.13 4.6 1.25c-1.8 2.9-5.78 6.53-10.22 8.58-6.45 3-8.3-2.96-5.03-6.84.8-.94 1.62-1.74 2.38-2.4-.5-.5-.8-1.2-.88-2.06 0 0 0 0 0-.02-.46-1.97-.2-4.54 2.6-8.62.54-.86 1.2-1.75 2-2.65.02-.04.04-.07.07-.1.03-.04.07-.08.1-.12.02-.02.04-.04.06-.06.2-.23.42-.45.64-.67 3.34-3.4 8.6-6.96 16.9-10.15C64.4 43.68 67.94 41 67.94 41c1.07-1.1 2.94-2.45 3.63-2.8-5.05-8.77-6.07-21.15-4.75-24.5-.1.2-.2.38-.3.57.5-1.14.83-1.5 1.34-2.1 1.38-1.64 6.06-2.5 7.74.96.9 1.84 1.06 4.23 1.03 6.02-3.7-.2-7.06 4.04-7.06 4.04s3.07-1.46 6.88-1.5c0 0 1 .9 2.28 2.56-1.7 3.2-4.52 10.02-2.5 17.16.35 1.4.86 2.62 1.5 3.65.02.05.04.1.07.14.05.07.1.13.14.2 3.37 5.06 9.54 5.66 9.54 5.66-2.9-1.45-5.27-3.76-6.8-6.56-.82-1.5-1.3-2.77-1.6-3.77-1.64-6.3.77-10 2.14-12.47 3.17-4.9 8.95-7.9 15.15-7.18 8.72 1 14.97 8.86 13.98 17.57-.6 5.32-3.78 9.72-8.15 12.12 1.05 2.84-.07 6.28-.07 6.28 2.64 3.32 2.76 5.23 2.67 7-3.36-.55-6.62 1.7-6.62 1.7s6.48-1.53 10.24 1.82c2.44 2.64 4.08 5 5.05 6.77 1.4 2.5 7.86 2.68 7.12 7.2-.74 4.5-5.68 4.53-13.4-.57M69.56 0C31.15 0 0 31.15 0 69.57c0 38.42 31.15 69.57 69.57 69.57 38.42 0 69.57-31.15 69.57-69.57C139.14 31.15 108 0 69.57 0M73.8 51.7c.8-.82.8-2.14 0-2.95-.82-.82-2.14-.82-2.95 0-.82.8-.82 2.13 0 2.94.8.8 2.13.8 2.95 0M66.45 53.15c-.82.8-.82 2.13 0 2.95.8.8 2.13.8 2.94 0 .8-.82.8-2.14 0-2.95-.82-.8-2.14-.8-2.95 0"/><path d="M79.23 54.23c-1.27-1.27-3.34-1.27-4.6 0l-2.72 2.7c-1.27 1.3-1.27 3.35 0 4.63l3 2.97c1.26 1.28 3.32 1.28 4.6 0l2.7-2.7c1.28-1.28 1.28-3.35 0-4.62l-2.97-2.97zM95.76 41.44c-2.15-2.57 1.87-7.25 4.4-4.46 4.64 5.15-2.25 7.04-4.4 4.46m9.24 2.7c3.45-6.56-1.42-10.4-4.77-13.53-5.36-5.03-10.7-7.2-16.8-.23-6.1 6.98-2.24 15.07 3.35 19.06 5.58 4 14.78 1.25 18.22-5.3"/></svg>

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

@ -2,8 +2,10 @@ en:
FUTURE: FUTURE:
ADMIN: ADMIN:
THEME: THEME:
DROPDOWN_MENU: Dropdown menu
PRODUCTION_MODE: Production Mode PRODUCTION_MODE: Production Mode
PRODUCTION_MODE_HELP: When enabled, Future will render with minified CSS PRODUCTION_MODE_HELP: When enabled, Future will render with minified CSS
HEADER_SECTION: Header Section
FAVICON: Choose your own favicon FAVICON: Choose your own favicon
CUSTOM_LOGO: Custom Logo CUSTOM_LOGO: Custom Logo
CUSTOM_LOGO_DESCRIPTION: Will be used instead of default logo `theme://images/grav-logo.svg` CUSTOM_LOGO_DESCRIPTION: Will be used instead of default logo `theme://images/grav-logo.svg`
@ -131,6 +133,7 @@ es:
DROPDOWN_MENU: Menu Desplegable DROPDOWN_MENU: Menu Desplegable
PRODUCTION_MODE: Modo Producción PRODUCTION_MODE: Modo Producción
PRODUCTION_MODE_HELP: Si está activado, Future cargará con CSS minificado PRODUCTION_MODE_HELP: Si está activado, Future cargará con CSS minificado
HEADER_SECTION: Sección de encabezado
FAVICON: Elige tu propio favicon FAVICON: Elige tu propio favicon
CUSTOM_LOGO: Logo personalizado CUSTOM_LOGO: Logo personalizado
CUSTOM_LOGO_DESCRIPTION: Este logo se usará en lugar del log por defecto `theme://images/grav-logo.svg` CUSTOM_LOGO_DESCRIPTION: Este logo se usará en lugar del log por defecto `theme://images/grav-logo.svg`
@ -249,3 +252,4 @@ es:
FEATURED: Destacados FEATURED: Destacados
PRIVACY: Al usar este formulario estás de acuerdo con nuestra PRIVACY: Al usar este formulario estás de acuerdo con nuestra
FORM_SUMMARY: Aquí está el resumen de lo que nos escribió. FORM_SUMMARY: Aquí está el resumen de lo que nos escribió.

View file

@ -3,6 +3,16 @@
{% set collection = page.collection() %} {% set collection = page.collection() %}
{% set base_url = page.url %} {% set base_url = page.url %}
{% set feed_url = base_url %} {% set feed_url = base_url %}
{% if page.header.show_breadcrumbs is defined %}
{% set show_breadcrumbs = page.header.show_breadcrumbs %}
{% else %}
{% set show_breadcrumbs = true %}
{% endif %}
{% if page.header.show_pagination is defined %}
{% set show_pagination = page.header.show_pagination %}
{% else %}
{% set show_pagination = true %}
{% endif %}
{% if base_url == '/' %} {% if base_url == '/' %}
{% set base_url = '' %} {% set base_url = '' %}
@ -17,16 +27,16 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
{% if config.plugins.breadcrumbs.enabled %} {% if show_breadcrumbs and config.plugins.breadcrumbs.enabled %}
{% include 'partials/breadcrumbs.html.twig' %} {% include 'partials/breadcrumbs.html.twig' %}
{% endif %} {% endif %}
{% for child in collection %} {% for child in collection %}
{% include 'partials/blog_item.html.twig' with {'page':child, 'truncate':true} %} {% include 'partials/blog_item.html.twig' with {'page':child, 'truncate':true} %}
{% endfor %} {% endfor %}
{% if config.plugins.pagination.enabled and collection.params.pagination %} {% if show_pagination and config.plugins.pagination.enabled and collection.params.pagination %}
{% include 'partials/pagination.html.twig' with {'pagination':collection.params.pagination} %} {% include 'partials/pagination.html.twig' with {base_url: page.url, pagination: collection.params.pagination} %}
{% endif %} {% endif %}
{% endblock %} {% endblock %}

View file

@ -1,29 +1,31 @@
{% embed 'partials/base.html.twig' %} {% embed 'partials/base.html.twig' %}
{% set base_url = page.parent.url %} {% set base_url = page.parent.url %}
{% set feed_url = base_url %} {% set feed_url = base_url %}
{% set show_breadcrumbs = header_var('show_breadcrumbs', [page, blog]) %}
{% if base_url == '/' %} {% if base_url == '/' %}
{% set base_url = '' %} {% set base_url = '' %}
{% endif %}
{% if base_url == base_url_relative %}
{% set feed_url = base_url~'/'~page.parent.slug %}
{% endif %}
{% block menu %}
{% include 'partials/sidebar_right.html.twig' %}
{% endblock %}
{% block content %}
{% if config.plugins.breadcrumbs.enabled %}
{% include 'partials/breadcrumbs.html.twig' %}
{% endif %} {% endif %}
{% include 'partials/blog_item.html.twig' with {'truncate':false,'big_header':true} %} {% if base_url == base_url_relative %}
{% set feed_url = base_url~'/'~page.parent.slug %}
{% endif %}
<section id="footer" class="align-center"> {% block menu %}
{% include 'partials/footer.html.twig' %} {% include 'partials/sidebar_right.html.twig' %}
</section> {% endblock %}
{% endblock %}
{% block content %}
{% if show_breadcrumbs and config.plugins.breadcrumbs.enabled %}
{% include 'partials/breadcrumbs.html.twig' %}
{% endif %}
{% include 'partials/blog_item.html.twig' with {'truncate':false} %}
<section id="footer" class="align-center">
{% include 'partials/footer.html.twig' %}
</section>
{% endblock %}
{% endembed %} {% endembed %}

View file

@ -6,7 +6,7 @@
<li class="{{ current_page }}"> <li class="{{ current_page }}">
<a> <a>
{% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %} {% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %}
<span>{{ p.menu }}{% if p.routable == false %}&nbsp;<i class="fa fa-angle-down"></i>{% endif %}</span> <span>{{ p.menu }}{% if p.routable ?? false %}&nbsp;<i class="fa fa-angle-down"></i>{% endif %}</span>
</a> </a>
<ul> <ul>
{{ macros.nav_loop(p) }} {{ macros.nav_loop(p) }}

View file

@ -12,18 +12,15 @@
<header> <header>
<div class="title"> <div class="title">
<h2>{{ page.header.title }}</h2> <h2>{{ page.header.title }}</h2>
{% if page.header.subtitle %}
<p>{{ page.header.subtitle }}</p>
{% endif %}
</div> </div>
</header> </header>
{% if page.header.primaryImage %} {% if page.header.primaryImage %}
{{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }} {{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}
{% else %} {% else %}
{{ page.media.images|first.cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }} {{ page.media.images|first.cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}
{% endif %} {% endif %}
{{ page.content|raw}} {{ page.content|raw}}
{% for module in page.collection() %} {% for module in page.collection() %}
{{ module.content|raw }} {{ module.content|raw }}
{% endfor %} {% endfor %}

View file

@ -1,10 +1,14 @@
<section id="banner"> <section id="banner">
<div class="content"> <div class="content">
<header> <header>
<h1>{{ page.title}}</h1> <h2>{{ page.title}}</h2>
<p>{{page.header.subtitle}}</p> {% if page.header.subtitle %}
<p>{{ page.header.subtitle }}</p>
{% endif %}
</header> </header>
<p>{{page.content|raw}}</p>
{{page.content|raw}}
<ul class="actions"> <ul class="actions">
<li><a href="{{page.header.buttonurl}}" class="button">{{page.header.buttontext}}</a></li> <li><a href="{{page.header.buttonurl}}" class="button">{{page.header.buttontext}}</a></li>
</ul> </ul>

View file

@ -3,6 +3,9 @@
<section id="features"> <section id="features">
<header> <header>
<h2>{{ page.title }}</h2> <h2>{{ page.title }}</h2>
{% if page.header.subtitle %}
<p>{{ page.header.subtitle }}</p>
{% endif %}
</header> </header>
{{ content|raw }} {{ content|raw }}

View file

@ -1,7 +1,6 @@
{% set theme_config = attribute(config.themes, config.system.pages.theme) %} {% set theme_config = attribute(config.themes, config.system.pages.theme) %}
{% set compress = theme_var('production-mode') ? '.min.css' : '.css' %} {% set compress = theme_var('production-mode') ? '.min.css' : '.css' %}
{% set favicon = theme_config.favicon ? theme_config.favicon|first : { type:'image/png', path: url('theme://images/logo.png') } %} {% set favicon = theme_config.favicon ? theme_config.favicon|first : { type:'image/png', path: url('theme://images/favicon.png') } %}
{% set customlogo = theme_config.custom_logo ? theme_config.custom_logo|first : {type:'image/png', path: url('theme://images/logo.png') } %}
{% set new_base_url = base_url_absolute ~ theme_config.blog_page %} {% set new_base_url = base_url_absolute ~ theme_config.blog_page %}
<!DOCTYPE html> <!DOCTYPE html>
@ -19,7 +18,7 @@
{% block stylesheets %} {% block stylesheets %}
{% do assets.addCss('theme://assets/css/main'~compress) %} {% do assets.addCss('theme://assets/css/main'~compress) %}
{% do assets.addCss('theme://assets/css/font-awesome.min.css') %} {% do assets.addCss('theme://assets/css/fontawesome-all.min.css') %}
{% do assets.addCss('theme://assets/css/custom.css', 10) %} {% do assets.addCss('theme://assets/css/custom.css', 10) %}
{% if page.template() == 'portfolio' %} {% if page.template() == 'portfolio' %}
{% do assets.addCss('theme://assets/css/glightbox.min.css') %} {% do assets.addCss('theme://assets/css/glightbox.min.css') %}
@ -62,6 +61,8 @@
{% endblock %} {% endblock %}
<a id="back-to-top" href="#"><i class="fa fa-chevron-up"></i></a>
{% block bottom %} {% block bottom %}
{{ assets.js('bottom')|raw }} {{ assets.js('bottom')|raw }}
{% if page.template() == 'portfolio' %} {% if page.template() == 'portfolio' %}
@ -77,7 +78,6 @@
{% endif %} {% endif %}
{% endblock %} {% endblock %}
</div> </div>
<a id="back-to-top" href="#"><i class="fa fa-chevron-up"></i></a>
</body> </body>
</html> </html>
<!-- <!--

View file

@ -0,0 +1,9 @@
{% set logo = theme_var(mobile ? 'custom_logo_mobile' : 'custom_logo') %}
<a href="{{ home_url }}" class="logo">
{% if logo %}
{% set logo_file = (logo|first).name %}
<img src="{{ url('theme://images/logo/' ~ logo_file) }}" alt="{{ site.title }}" />
{% else %}
{% include('@images/grav-logo.svg') %}
{% endif %}
</a>

View file

@ -2,5 +2,17 @@
<ul> <ul>
{{ macros.nav_loop(pages) }} {{ macros.nav_loop(pages) }}
</ul>
{% if theme_var('displaycustommenus.enabled') %}
{% for mitem in theme_var('custommenu') %}
<li>
<a href="{{ mitem.url }}" target="{{ mitem.target }}">
{% if mitem.icon %}
<i class="fa fa-{{ mitem.icon }}"></i>
{% endif %}
<span>{{ mitem.text }}</span>
</a>
</li>
{% endfor %}
{% endif %}
</ul>

View file

@ -1,7 +1,7 @@
<section id="sidebar"> <section id="sidebar">
<!-- Intro --> <!-- Intro -->
<section id="intro"> <section id="intro">
<a href="{{home_url}}" class="logo">{% if customlogo %}<img src="{{ url( customlogo.path ) }}" alt="{{site.title}}" /></a>{% else %}<a href="{{home_url}}" class="">{{site.title}}</a>{% endif %} {% include 'partials/logo.html.twig' %}
<header> <header>
<h2>{{ site.title|e('html') }}</h2> <h2>{{ site.title|e('html') }}</h2>
<p>{{theme_config.slogan|raw}}</a></p> <p>{{theme_config.slogan|raw}}</a></p>

View file

@ -1,35 +1,40 @@
{% block menu_navigation %} {% block menu_navigation %}
{% macro loop(page) %} {% macro loop(page) %}
{% for p in page.children.visible %} {% for p in page.children.visible %}
{% set current_page = (p.active or p.activeChild) ? 'active' : '' %} {% set current_page = (p.active or p.activeChild) ? 'active' : '' %}
{% if p.children.visible.count > 0 %}
<li class="{{ current_page }}"> <li class="{{ current_page }}">
{% if p.routable == false and p.children.count > 0%}
<a class="dropdown-btn"> <a class="dropdown-btn">
{% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %} {% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %}
<i class="fa fa-caret-down"></i> <span>{{ p.menu }}{% if p.routable ?? false %}&nbsp;<i class="fa fa-caret-down"></i>{% endif %}</span>
<span>{{ p.menu }}</span>
</a> </a>
<ul class="subitem_hide"> <ul class="subitem_hide">
{{ _self.loop(p) }} {{ _self.loop(p) }}
</ul> </ul>
{% else %} </li>
{% else %}
<li class="{{ current_page }}">
<a href="{{ p.url }}"> <a href="{{ p.url }}">
{% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %} {% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %}
<span>{{ p.menu }}</span> <span>{{ p.menu }}</span>
</a> </a>
{% endif %}
</li> </li>
{% endif %}
{% endfor %} {% endfor %}
{% endmacro %} {% endmacro %}
<ul class="menulink"> <ul class="menulink">
{{ _self.loop(pages) }} {{ _self.loop(pages) }}
{% for mitem in site.menu %} {% if theme_var('displaycustommenus.enabled') %}
<li> {% for mitem in theme_var('menu') %}
<a href="{{ mitem.url }}"> <li>
{% if mitem.icon %}<i class="fa fa-{{ mitem.icon }}"></i>{% endif %} <a href="{{ mitem.url }}" target="{{ mitem.target }}">
{{ mitem.text }} {% if mitem.icon %}
</a> <i class="fa fa-{{ mitem.icon }}"></i>
</li> {% endif %}
{% endfor %} <span>{{ mitem.text }}</span>
</a>
</li>
{% endfor %}
{% endif %}
</ul> </ul>
{% endblock %} {% endblock %}

View file

@ -1,10 +1,10 @@
<section class="search-row"> <section class="search-row">
{% set banner = page.media.images|first %} {% set banner = page.media[page.header.primaryImage].loading('lazy').html(page.title,page.title)|raw ?: page.media.images|first %}
{% if banner %} {% if banner %}
<div class="search-image"> <div class="search-image">
<a href="{{ page.url }}">{{ banner.cropZoom(100,100).html|raw }}</a> <a href="{{ page.url }}">{{ banner }}</a>
</div> </div>
{% endif %} {% endif %}
<div class="search-item"> <div class="search-item">