Merge pull request #25 from pikim/develop

Merge changes and fixes into develop
This commit is contained in:
pmoreno.rodriguez 2023-02-05 11:49:16 +01:00 committed by GitHub
commit 0bf933fd9f
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
40 changed files with 1240 additions and 967 deletions

View file

@ -16,7 +16,7 @@
position: fixed; position: fixed;
bottom: 30px; bottom: 30px;
right: 30px; right: 30px;
transition: background-color .3s, transition: background-color .3s,
opacity .5s, visibility .5s; opacity .5s, visibility .5s;
opacity: 0; opacity: 0;
visibility: hidden; visibility: hidden;
@ -66,19 +66,27 @@
.search-row { .search-row {
display: flex; display: flex;
align-items: top; align-items: top;
} }
.search-image img { .search-image img {
overflow:hidden; overflow:hidden;
width: 100px;
height: 100px;
object-fit: cover; object-fit: cover;
object-position: 0 100%; object-position: 0 100%;
} }
.search-image a {
border-bottom: none;
}
@media only all and (max-width: 47.938em) { @media only all and (max-width: 47.938em) {
.search-image img {display:none;} .search-image img {display:none;}
} }
.search-item { .search-item {
margin-left: 30px; margin-left: 30px;
margin-bottom: 50px; margin-bottom: 50px;
} border-bottom: solid 1px rgba(160, 160, 160, 0.3);
padding-bottom: 2em;
}
/* Styles modified from Breadcrumbs */
#breadcrumbs {
padding-inline-start: 0rem;
}

View file

@ -20,7 +20,7 @@ dependencies:
form: form:
validation: loose validation: loose
fields: fields:
production-mode: production-mode:
type: toggle type: toggle
label: FUTURE.ADMIN.THEME.PRODUCTION_MODE label: FUTURE.ADMIN.THEME.PRODUCTION_MODE
@ -34,189 +34,196 @@ form:
type: bool type: bool
header_section: header_section:
type: section type: fieldset
title: FUTURE.ADMIN.THEME.HEADER_SECTION collapsible: true
underline: true collapsed: true
icon: header
title: FUTURE.ADMIN.THEME.HEADER
fields:
favicon: favicon:
type: file type: file
label: FUTURE.ADMIN.THEME.FAVICON label: FUTURE.ADMIN.THEME.FAVICON
destination: 'theme@:/images' destination: 'theme@:/images'
multiple: false multiple: false
avoid_overwriting: false avoid_overwriting: false
random_name: false random_name: false
toggleable: true toggleable: true
filesize: 3 filesize: 3
accept: ['image/png', '.ico'] accept: ['image/png', '.ico']
custom_logo:
type: file
label: FUTURE.ADMIN.THEME.CUSTOM_LOGO
size: large
destination: 'theme://images/logo'
multiple: false
markdown: true
description: FUTURE.ADMIN.THEME.CUSTOM_LOGO_DESCRIPTION
accept:
- image/*
custom_logo_mobile: custom_logo:
type: file type: file
label: FUTURE.ADMIN.THEME.CUSTOM_LOGO_MOBILE label: FUTURE.ADMIN.THEME.CUSTOM_LOGO
size: large size: large
destination: 'theme://images/logo' destination: 'theme://images/logo'
multiple: false multiple: false
accept: markdown: true
- image/* description: FUTURE.ADMIN.THEME.CUSTOM_LOGO_DESCRIPTION
accept:
slogan: - image/*
type: text
label: FUTURE.ADMIN.THEME.SLOGAN custom_logo_mobile:
type: file
label: FUTURE.ADMIN.THEME.CUSTOM_LOGO_MOBILE
size: large
destination: 'theme://images/logo'
multiple: false
accept:
- image/*
slogan:
type: text
label: FUTURE.ADMIN.THEME.SLOGAN
blog_section: blog_section:
type: columns type: fieldset
collapsible: true
collapsed: true
icon: rss
title: FUTURE.ADMIN.THEME.BLOG_DEFAULTS
fields: fields:
blog_fields:
type: column
fields:
blog:
type: fieldset
collapsible: true
collapsed: true
icon: rss
title: FUTURE.ADMIN.THEME.BLOG_DEFAULTS
fields:
blog_page: blog_page:
type: text type: text
label: FUTURE.ADMIN.THEME.BLOG_PAGE label: FUTURE.ADMIN.THEME.BLOG_PAGE
help: FUTURE.ADMIN.THEME.BLOG_PAGE_DESCRIPTION help: FUTURE.ADMIN.THEME.BLOG_PAGE_HELP
size: medium size: medium
default: '/blog' default: '/blog'
miniposts: sidebar:
type: toggle type: toggle
label: FUTURE.ADMIN.THEME.MINIPOSTS label: FUTURE.ADMIN.THEME.SIDEBAR
highlight: 1 highlight: 1
default: 1 default: 1
options: options:
1: PLUGIN_ADMIN.ENABLED 1: PLUGIN_ADMIN.ENABLED
0: PLUGIN_ADMIN.DISABLED 0: PLUGIN_ADMIN.DISABLED
validate: validate:
type: bool type: bool
miniposts_category:
type: text
markdown: true
label: FUTURE.ADMIN.THEME.MINIPOSTS_CATEGORY
description: FUTURE.ADMIN.THEME.MINIPOSTS_CATEGORY_DESCRIPTION
size: medium
default: 'minipost'
miniposts_number: miniposts:
type: range type: toggle
label: FUTURE.ADMIN.THEME.MINIPOSTS_NUMBER label: FUTURE.ADMIN.THEME.MINIPOSTS
description: FUTURE.ADMIN.THEME.MINIPOSTS_NUMBER_DESCRIPTION highlight: 1
default: 3 default: 1
validate: options:
min: 1 1: PLUGIN_ADMIN.ENABLED
max: 5 0: PLUGIN_ADMIN.DISABLED
validate:
footer_section: type: bool
type: columns
fields: miniposts_category:
footer_fields: type: text
type: column markdown: true
fields: label: FUTURE.ADMIN.THEME.MINIPOSTS_CATEGORY
footer: description: FUTURE.ADMIN.THEME.MINIPOSTS_CATEGORY_DESCRIPTION
type: fieldset size: medium
collapsible: true default: 'minipost'
collapsed: true
icon: list-alt miniposts_number:
title: FUTURE.ADMIN.THEME.FOOTER type: range
fields: label: FUTURE.ADMIN.THEME.MINIPOSTS_NUMBER
footer.title: description: FUTURE.ADMIN.THEME.MINIPOSTS_NUMBER_DESCRIPTION
type: text default: 3
label: FUTURE.ADMIN.THEME.FOOTER_TITLE validate:
footer.description: min: 1
type: textarea
rows: 5
markdown: true
label: FUTURE.ADMIN.THEME.FOOTER_DESCRIPTION
footer.copyright_text:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_COPYRIGHT
footer.button_text:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_BUTTON_TEXT
footer.button_url:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_BUTTON_URL
social_icons:
type: fieldset
collapsible: true
collapsed: true
icon: share-alt
title: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICONS
fields:
social:
name: social
type: list
style: vertical
collapsed: false
max: 5 max: 5
fields:
.name: footer_section:
type: text type: fieldset
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_NAME collapsible: true
.url: collapsed: true
type: text icon: list-alt
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_URL title: FUTURE.ADMIN.THEME.FOOTER
.icon: fields:
type: iconpicker
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_ICON footer.title:
custommenu_options: type: text
label: FUTURE.ADMIN.THEME.FOOTER_TITLE
footer.description:
type: textarea
rows: 5
markdown: true
label: FUTURE.ADMIN.THEME.FOOTER_DESCRIPTION
footer.copyright_text:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_COPYRIGHT
footer.button_text:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_BUTTON_TEXT
footer.button_url:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_BUTTON_URL
social_icons_section:
type: fieldset
collapsible: true
collapsed: true
icon: share-alt
title: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICONS
fields:
social:
name: social
type: list
style: vertical
collapsed: false
max: 5
fields:
.name:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_NAME
.url:
type: text
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_URL
.icon:
type: iconpicker
label: FUTURE.ADMIN.THEME.FOOTER_SOCIALS_ICON_ICON
custommenu_options_section:
type: fieldset type: fieldset
collapsible: true collapsible: true
collapsed: true collapsed: true
icon: bars icon: bars
title: 'Custom Menu Items' title: FUTURE.ADMIN.THEME.CUSTOM_MENU_TITLE
fields: fields:
displaycustommenus.enabled:
custommenus.enabled:
type: toggle type: toggle
label: 'Display Custom Menu Items' label: FUTURE.ADMIN.THEME.CUSTOM_MENU_ENABLE
help: 'Determines if any defined custom menu entries are displayed in the menubar.' help: FUTURE.ADMIN.THEME.CUSTOM_MENU_ENABLE_HELP
default: 0 default: 0
highlight: 1 highlight: 1
options: options:
'0': No 0: PLUGIN_ADMIN.DISABLED
'1': Yes 1: PLUGIN_ADMIN.ENABLED
validate: validate:
type: bool type: bool
custommenu: custommenu:
name: menu name: menu
type: list type: list
label: 'Custom Menu Items' label: FUTURE.ADMIN.THEME.CUSTOM_MENU_TITLE
fields: fields:
.text: .text:
type: text type: text
label: Text label: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TEXT
description: 'Text label for menu item.' description: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TEXT_DESCRIPTION
.icon: .icon:
type: text type: text
label: Icon label: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_ICON
description: 'Font Awesome icon for menu item.' description: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_ICON_DESCRIPTION
.url: .url:
type: text type: text
label: URL label: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_URL
description: 'URL for menu item.' description: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_URL_DESCRIPTION
.target: .target:
type: select type: select
label: Target label: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TARGET
default: _self default: _self
size: medium size: medium
options: options:
_blank: 'Open in a new window' _blank: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TARGET_BLANK
_parent: 'Open in the parent frame' _parent: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TARGET_PARENT
_top: 'Open in the full body of the window' _self: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TARGET_SELF
_self: 'Open in the same frame as clicked' _top: FUTURE.ADMIN.THEME.CUSTOM_MENU_ITEM_TARGET_TOP

View file

@ -6,7 +6,7 @@ use Grav\Common\Theme;
class Future2021 extends Theme class Future2021 extends Theme
{ {
public function onThemeInitialized() public function onThemeInitialized()
{ {
} }

View file

@ -5,7 +5,7 @@ en:
DROPDOWN_MENU: Dropdown menu 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 HEADER: Header
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`
@ -13,8 +13,9 @@ en:
SLOGAN: Slogan SLOGAN: Slogan
BLOG_DEFAULTS: Blog Defaults BLOG_DEFAULTS: Blog Defaults
BLOG_PAGE: Blog Page BLOG_PAGE: Blog Page
BLOG_PAGE_DESCRIPTION: The route to the blog page when working with blog sidebar BLOG_PAGE_HELP: The route to the blog page when working with blog sidebar
MINIPOSTS: Enable Miniposts in Sidebar SIDEBAR: Show sidebar on blog page
MINIPOSTS: Show miniposts in sidebar
MINIPOSTS_NUMBER: Miniposts number to show MINIPOSTS_NUMBER: Miniposts number to show
MINIPOSTS_NUMBER_DESCRIPTION: Number of miniposts that will be showed in sidebar MINIPOSTS_NUMBER_DESCRIPTION: Number of miniposts that will be showed in sidebar
MINIPOSTS_CATEGORY: Miniposts category MINIPOSTS_CATEGORY: Miniposts category
@ -29,6 +30,20 @@ en:
FOOTER_SOCIALS_ICON_NAME: Social Name FOOTER_SOCIALS_ICON_NAME: Social Name
FOOTER_SOCIALS_ICON_URL: URL Link to Social FOOTER_SOCIALS_ICON_URL: URL Link to Social
FOOTER_SOCIALS_ICON_ICON: Icon to Social FOOTER_SOCIALS_ICON_ICON: Icon to Social
CUSTOM_MENU_TITLE: 'Custom Menu Items'
CUSTOM_MENU_ENABLE: 'Display Custom Menu Items'
CUSTOM_MENU_ENABLE_HELP: 'Determines if any defined custom menu entries are displayed in the menubar.'
CUSTOM_MENU_ITEM_TEXT: 'Text'
CUSTOM_MENU_ITEM_TEXT_DESCRIPTION: 'Text label for menu item.'
CUSTOM_MENU_ITEM_ICON: 'Icon'
CUSTOM_MENU_ITEM_ICON_DESCRIPTION: 'Font Awesome icon for menu item.'
CUSTOM_MENU_ITEM_URL: 'URL'
CUSTOM_MENU_ITEM_URL_DESCRIPTION: 'URL for menu item.'
CUSTOM_MENU_ITEM_TARGET: 'Target'
CUSTOM_MENU_ITEM_TARGET_BLANK: 'Open in a new window'
CUSTOM_MENU_ITEM_TARGET_PARENT: 'Open in the parent frame'
CUSTOM_MENU_ITEM_TARGET_SELF: 'Open in the same frame as clicked'
CUSTOM_MENU_ITEM_TARGET_TOP: 'Open in the full body of the window'
DEFAULT: DEFAULT:
PRIMARY_IMAGE: Primary image PRIMARY_IMAGE: Primary image
MODULAR: MODULAR:
@ -51,7 +66,6 @@ en:
FEATURES_BUTTON_TEXT: Button Text FEATURES_BUTTON_TEXT: Button Text
FEATURES_BUTTON_URL: Button URL FEATURES_BUTTON_URL: Button URL
FEATURES_BUTTON_URL_TARGET: Open URL in a new window FEATURES_BUTTON_URL_TARGET: Open URL in a new window
BLOG: BLOG:
BLOG_TAB: Blog Config BLOG_TAB: Blog Config
@ -92,8 +106,11 @@ en:
PORTFOLIO_IMAGE_TITLE: Title PORTFOLIO_IMAGE_TITLE: Title
PORTFOLIO_IMAGE_DESCRIPTION: Description PORTFOLIO_IMAGE_DESCRIPTION: Description
PORTFOLIO_IMAGE_THUMB: Thumbnails PORTFOLIO_IMAGE_THUMB: Thumbnails
BLOG: BLOG:
LISTING_TITLE_CATEGORY: 'Posts in Category: '
LISTING_TITLE_TAG: 'Posts with Tag: '
LISTING_TITLE_AUTHOR: 'Posts written by Author: '
ITEM: ITEM:
CONTINUE_READING: Continue reading... CONTINUE_READING: Continue reading...
NEXT_POST: Next Post NEXT_POST: Next Post
@ -120,12 +137,159 @@ en:
HEADLINE: Archives HEADLINE: Archives
SYNDICATE: SYNDICATE:
HEADLINE: Syndicate HEADLINE: Syndicate
LOGIN: Log in LOGIN: Log in
LATESTPOSTS: Latest posts LATESTPOSTS: Latest posts
FEATURED: Featured FEATURED: Featured
PRIVACY: By using this form you agree to our PRIVACY: By using this form you agree our terms
FORM_SUMMARY: Here is the summary of what you wrote to us FORM_SUMMARY: Here is the summary of what you wrote to us
de:
FUTURE:
ADMIN:
THEME:
DROPDOWN_MENU: Dropdown-Menü
PRODUCTION_MODE: Produktionsmodus
PRODUCTION_MODE_HELP: Wenn aktiviert, wird Future mit minimiertem CSS geladen
HEADER: Kopfzeile
FAVICON: Wählen Sie Ihr eigenes Favicon
CUSTOM_LOGO: Benutzerdefiniertes Logo
CUSTOM_LOGO_DESCRIPTION: Dieses Logo wird anstelle des Standardlogos `theme://images/grav-logo.svg` verwendet
CUSTOM_LOGO_MOBILE: Benutzerdefiniertes Logo für Mobilgeräte
SLOGAN: Motto
BLOG_DEFAULTS: Blog-Optionen
BLOG_PAGE: Blog-Seite
BLOG_PAGE_HELP: Der Pfad zur Blog-Seite wenn die Blog-Seitenleiste aktiv ist
SIDEBAR: Seitenleiste auf der Blog-Seite zeigen
MINIPOSTS: Miniposts in der Seitenleiste zeigen
MINIPOSTS_NUMBER: Anzahl der anzuzeigenden Miniposts
MINIPOSTS_NUMBER_DESCRIPTION: Anzahl der in der Seitenleiste anzuzeigenden Miniposts
MINIPOSTS_CATEGORY: Kategorie für Miniposts
MINIPOSTS_CATEGORY_DESCRIPTION: Legen Sie einen Namen für die Miniposts-Kategorie fest.<br />`Sie müssen diesen Namen in Optionen->Taxonomie->Kategorie einfügen`
FOOTER: Fusszeile
FOOTER_TITLE: Fusszeilentitel
FOOTER_DESCRIPTION: Fusszeilentext
FOOTER_COPYRIGHT: Copyright-Text
FOOTER_BUTTON_TEXT: Schaltflächentext
FOOTER_BUTTON_URL: Schaltflächen-URL
FOOTER_SOCIALS_ICONS: Symbole für soziale Medien
FOOTER_SOCIALS_ICON_NAME: Name des sozialen Netzwerks
FOOTER_SOCIALS_ICON_URL: URL-Link zum sozialen Netzwerk
FOOTER_SOCIALS_ICON_ICON: Symbol des sozialen Netzwerks
CUSTOM_MENU_TITLE: 'Benutzerdefinierte Menüpunkte'
CUSTOM_MENU_ENABLE: 'Benutzerdefinierte Menüpunkte aktivieren'
CUSTOM_MENU_ENABLE_HELP: 'Legt fest, ob definierte benutzerdefinierte Menüeinträge in der Menüleiste angezeigt werden.'
CUSTOM_MENU_ITEM_TEXT: 'Text'
CUSTOM_MENU_ITEM_TEXT_DESCRIPTION: 'Textbeschriftung für Menüpunkt.'
CUSTOM_MENU_ITEM_ICON: 'Symbol'
CUSTOM_MENU_ITEM_ICON_DESCRIPTION: 'FontAwesome-Symbol für Menüelement.'
CUSTOM_MENU_ITEM_URL: 'URL'
CUSTOM_MENU_ITEM_URL_DESCRIPTION: 'URL für Menüpunkt.'
CUSTOM_MENU_ITEM_TARGET: 'Ziel'
CUSTOM_MENU_ITEM_TARGET_BLANK: 'In neuem Fenster öffnen'
CUSTOM_MENU_ITEM_TARGET_PARENT: 'In übergeordnetem Frame öffnen'
CUSTOM_MENU_ITEM_TARGET_SELF: 'In selbem Frame öffnen'
CUSTOM_MENU_ITEM_TARGET_TOP: 'In vollem Fensterkörper öffnen'
DEFAULT:
PRIMARY_IMAGE: Hauptbild
MODULAR:
BANNER:
BANNER_TAB: Banner
BANNER_SUBTITLE: Bildbeschriftung
BANNER_BUTTON_TEXT: Schaltflächentext
BANNER_BUTTON_URL: Schaltflächen-URL
BANNER_IMAGE: Bild
BANNER_IMAGE_DESCRIPTION: Wählen Sie ein Bild aus
FEATURES:
FEATURES_TAB: Funktionen
FEATURES_LAYOUT: Layout
FEATURES_LAYOUT_TWOCOLS: Mittel = 2 / 1 Spalten
FEATURES_LAYOUT_THREECOLS: Standard = 3 / 2 / 1 Spalten
FEATURES_HEADER: Funktionen
FEATURES_IMAGE: Bild
FEATURES_TITLE: Titel
FEATURES_TEXT: Text
FEATURES_BUTTON_TEXT: Schaltflächentext
FEATURES_BUTTON_URL: Schaltflächen-URL
FEATURES_BUTTON_URL_TARGET: Öffnen Sie die URL in einem neuen Fenster
BLOG:
BLOG_TAB: Blog-Einstellungen
BLOG_CONTENT_TITLE: Content Definition
BLOG_CONTENT_ITEMS: Artikel
BLOG_CONTENT_ITEMS_LIMIT: Maximale Artikel-Anzahl
BLOG_CONTENT_ITEMS_ORDER_BY: Sortieren nach
BLOG_CONTENT_ITEMS_ORDER_BY_DATE: Datum
BLOG_CONTENT_ITEMS_ORDER_BY_TITLE: Titel
BLOG_CONTENT_ITEMS_ORDER_BY_FOLDER: Verzeichnis
BLOG_CONTENT_ITEMS_ORDER_BY_DEFAULT: Standard
BLOG_CONTENT_ITEMS_ORDER_DIR: Reihenfolge
BLOG_CONTENT_ITEMS_ORDER_DIR_ASC: Aufsteigend
BLOG_CONTENT_ITEMS_ORDER_DIR_DESC: Absteigend
BLOG_CONTENT_ITEMS_PAGINATION: Seitennummerierung
BLOG_CONTENT_ITEMS_URL_TAXONOMY_FILTERS: Taxonomie filtern nach URL
ITEM:
ITEM_TAB: Blog-Artikel
ITEM_OPTIONS: Optionen
ITEM_SUMMARY: Artikelzusammenfassung
ITEM_SUMMARY_ENABLED: Zusammenfassung aktivieren
ITEM_SUMMARY_FORMAT: Zusammenfassungsformat
ITEM_SUMMARY_FORMAT_SHORT: Verwenden Sie das erste Vorkommen des Trennzeichens oder der Größe
ITEM_SUMMARY_FORMAT_LONG: Zusammenfassungsbegrenzer wird ignoriert
ITEM_SUMMARY_SIZE: Größe
ITEM_SUMMARY_DELIMITER: Zusammenfassungsbegrenzer
ITEM_ORDER: Minipost-Reihenfolge
ITEM_SUBTITLE: Untertitel
ITEM_AVATAR: Avatar-Bild
PORTFOLIO:
PORTFOLIO_TAB: Portfolio
PORTFOLIO_TITLE: Portfolio-Bild
PORTFOLIO_LAYOUT: Layout
PORTFOLIO_LAYOUT_TWOCOLS: Mittel = 2 / 1 Spalten
PORTOFOLIO_LAYOUT_THREECOLS: Standard = 3 / 2 / 1 Spalten
PORTFOLIO_IMAGES: Bilder
PORTFOLIO_IMAGE: Bild
PORTFOLIO_IMAGE_TITLE: Titel
PORTFOLIO_IMAGE_DESCRIPTION: Beschreibung
PORTFOLIO_IMAGE_THUMB: Miniaturansicht
BLOG:
LISTING_TITLE_CATEGORY: 'Beiträge in der Kategorie: '
LISTING_TITLE_TAG: 'Beiträge mit Tag: '
LISTING_TITLE_AUTHOR: 'Beiträge des Autors: '
ITEM:
CONTINUE_READING: Weiterlesen...
NEXT_POST: Nächster Eintrag
PREV_POST: Vorheriger Eintrag
PAGINATION:
PREVIOUS: Vorherige
NEXT: Nächste
SIDEBAR:
SIMPLE_SEARCH:
HEADLINE: Suche
RELATED_POSTS:
HEADLINE: Verwandte Einträge
RANDOM_ARTICLE:
HEADLINE: Zufälliger Artikel
FEELING_LUCKY: Ich habe Glück!
SOME_TEXT_WIDGET:
HEADLINE: Ein Text-Widget
TAGS:
HEADLINE: Schlagworte
POPULAR_TAGS:
HEADLINE: beliebte Schlagworte
ARCHIVES:
HEADLINE: Letzte Einträge
SYNDICATE:
HEADLINE: Verteilen
LOGIN: Einloggen
LATESTPOSTS: Letzte Beiträge
FEATURED: Hervorgehoben
PRIVACY: Durch die Nutzung dieses Formulars stimmen Sie unseren Bedingungen zu
FORM_SUMMARY: Hier ist die Zusammenfassung dessen, was Sie uns geschrieben haben
es: es:
FUTURE: FUTURE:
ADMIN: ADMIN:
@ -133,7 +297,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 HEADER: 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`
@ -141,7 +305,7 @@ es:
SLOGAN: Slogan SLOGAN: Slogan
BLOG_DEFAULTS: Opciones de Blog BLOG_DEFAULTS: Opciones de Blog
BLOG_PAGE: Página de Blog BLOG_PAGE: Página de Blog
BLOG_PAGE_DESCRIPTION: Ruta de la página de Blog cuando funciona con el blog de barra lateral BLOG_PAGE_HELP: Ruta de la página de Blog cuando funciona con el blog de barra lateral
MINIPOSTS: Activar Miniposts en la barra lateral MINIPOSTS: Activar Miniposts en la barra lateral
MINIPOSTS_NUMBER: Número de miniposts a mostrar MINIPOSTS_NUMBER: Número de miniposts a mostrar
MINIPOSTS_NUMBER_DESCRIPTION: Número de miniposts que se mostrarán en la barra lateral MINIPOSTS_NUMBER_DESCRIPTION: Número de miniposts que se mostrarán en la barra lateral
@ -220,8 +384,10 @@ es:
PORTFOLIO_IMAGE_DESCRIPTION: Descripción PORTFOLIO_IMAGE_DESCRIPTION: Descripción
PORTFOLIO_IMAGE_THUMB: Miniatura PORTFOLIO_IMAGE_THUMB: Miniatura
BLOG: BLOG:
LISTING_TITLE_CATEGORY: 'Publicaciones en la categoría: '
LISTING_TITLE_TAG: 'Publicaciones con la etiqueta: '
LISTING_TITLE_AUTHOR: 'Publicaciones escritas por: '
ITEM: ITEM:
CONTINUE_READING: Continuar leyendo... CONTINUE_READING: Continuar leyendo...
NEXT_POST: Siguiente Entrada NEXT_POST: Siguiente Entrada
@ -229,6 +395,7 @@ es:
PAGINATION: PAGINATION:
PREVIOUS: Anterior PREVIOUS: Anterior
NEXT: Siguiente NEXT: Siguiente
SIDEBAR: SIDEBAR:
SIMPLE_SEARCH: SIMPLE_SEARCH:
HEADLINE: Buscar HEADLINE: Buscar
@ -247,9 +414,9 @@ es:
HEADLINE: Últimas entradas HEADLINE: Últimas entradas
SYNDICATE: SYNDICATE:
HEADLINE: Distribuir HEADLINE: Distribuir
LOGIN: Iniciar sesión LOGIN: Iniciar sesión
LATESTPOSTS: Últimos posts LATESTPOSTS: Últimos posts
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

@ -1,61 +1,82 @@
{% embed 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% 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 %} {% if page.header.show_breadcrumbs is defined %}
{% set show_breadcrumbs = page.header.show_breadcrumbs %} {% 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 uri.param('category') %}
{% set page_title = theme_config.listing_title.taxonomy.category | default('Posts in Category: ') ~ uri.param('category') %}
{% elseif uri.param('tag') %}
{% set page_title = theme_config.listing_title.taxonomy.tag | default('Posts with Tag: ') ~ uri.param('tag') %}
{% elseif uri.param('author') %}
{% set page_title = theme_config.listing_title.taxonomy.author | default('Posts from Author: ') ~ uri.param('author') %}
{% else %} {% else %}
{% set page_title = theme_config.listing_title.blog | default('') %} {% 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 %}
{% set image = page.media[page.header.primaryImage] ?: page.media.images|first %}
{% set title = page.title|raw %}
{# Set page title by taxonomy #}
{% if uri.param('category') %}
{% set listing_title = 'FUTURE.BLOG.LISTING_TITLE_CATEGORY'|t ~ uri.param('category') %}
{% elseif uri.param('tag') %}
{% set listing_title = 'FUTURE.BLOG.LISTING_TITLE_TAG'|t ~ uri.param('tag') %}
{% elseif uri.param('author') %}
{% set listing_title = 'FUTURE.BLOG.LISTING_TITLE_AUTHOR'|t ~ uri.param('author') %}
{% else %}
{% set listing_title = page.header.subtitle|raw %}
{% endif %} {% endif %}
{% 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.slug %}
{% endif %}
{% block menu %}
{% include 'partials/sidebar_right.html.twig' %}
{% endblock %}
{% block content %}
<header>
<div class="title">
<h2>{{ title }}</h2>
{% if listing_title %}
<p>{{ listing_title|raw }}</p>
{% endif %}
</div>
</header>
{% if image %}
{{ image.cropZoom(1038,437).loading('lazy').html(title, title, 'image featured')|raw }}
{% endif %}
{{ page.content|raw }}
{% if show_breadcrumbs and config.plugins.breadcrumbs.enabled %}
{% include 'partials/breadcrumbs.html.twig' %}
{% endif %} {% endif %}
{% if base_url == base_url_relative %} {% for child in collection %}
{% set feed_url = base_url~'/'~page.slug %} {% include 'partials/blog_item.html.twig' with {'page':child, 'truncate':true} %}
{% endif %} {% endfor %}
{% block menu %} {% if show_pagination and config.plugins.pagination.enabled and collection.params.pagination %}
{% include 'partials/sidebar_right.html.twig' %} {% include 'partials/pagination.html.twig' with {base_url: page.url, pagination: collection.params.pagination} %}
{% endblock %} {% endif %}
{% block content %}
{% if show_breadcrumbs and config.plugins.breadcrumbs.enabled %}
{% include 'partials/breadcrumbs.html.twig' %}
{% endif %}
<h2>
{{page_title}}
</h2>
{% for child in collection %}
{% include 'partials/blog_item.html.twig' with {'page':child, 'truncate':true} %}
{% endfor %}
{% if show_pagination and config.plugins.pagination.enabled and collection.params.pagination %} {% if theme_config.sidebar == false %}
{% include 'partials/pagination.html.twig' with {base_url: page.url, pagination: collection.params.pagination} %} <section id="footer" class="align-center">
{% endif %} {% include 'partials/footer.html.twig' %}
{% endblock %} </section>
{% endif %}
{% endblock %}
{% block sidebar %} {% block sidebar %}
{% if theme_config.sidebar == true %}
{% include 'partials/sidebar_left.html.twig' %} {% include 'partials/sidebar_left.html.twig' %}
{% endblock %} {% endif %}
{% endblock %}
{% endembed %}

View file

@ -1,5 +1,9 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set image = page.media[page.header.primaryImage] ?: page.media.images|first %}
{% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %}
{% block menu %} {% block menu %}
{% include 'partials/sidebar_right.html.twig' %} {% include 'partials/sidebar_right.html.twig' %}
{% endblock %} {% endblock %}
@ -8,27 +12,22 @@
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2>{{ page.header.title }}</h2> <h2>{{ title }}</h2>
{% if page.header.subtitle %} {% if subtitle %}
<p>{{ page.header.subtitle }}</p> <p>{{ subtitle }}</p>
{% endif %} {% endif %}
</div> </div>
</header>
{% if image %}
{{ image.cropZoom(1038,437).loading('lazy').html(title, title, 'image featured')|raw }}
{% endif %}
{{ page.content|raw }}
</header>
{% if page.header.primaryImage %}
{{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}
{% else %}
{{ page.media.images|first.cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}
{% endif %}
{{ page.content|raw}}
</article> </article>
<section id="footer" class="align-center"> <section id="footer" class="align-center">
{% block footer %} {% include 'partials/footer.html.twig' %}
{% include 'partials/footer.html.twig' %} </section>
{% endblock %}
</section>
{% endblock %} {% endblock %}

View file

@ -5,12 +5,12 @@
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2><span class="icon fa-exclamation-triangle"></span> Error {{ page.header.http_response_code }}</h2> <h2><span class="icon fa-exclamation-triangle"></span> Error {{ page.header.http_response_code }}</h2>
<p>{{ page.content|raw }}</p> <p>{{ page.content|raw }}</p>
</div> </div>
</header> </header>
</article> </article>
{% endblock %} {% endblock %}

View file

@ -2,12 +2,11 @@
{% block content %} {% block content %}
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2>{{ page.header.title }}</h2> <h2>{{ page.header.title }}</h2>
</div>
<div class="meta">
</div> </div>
</header> <div class="meta"></div>
</header>
{{ content|raw }} {{ content|raw }}
{% include "forms/form.html.twig" %} {% include "forms/form.html.twig" %}
</article> </article>

View file

@ -1,17 +1,22 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% block content %} {% block content %}
<article class="post"> <article class="post">
<div class="title"> <header>
<h2>{{ form.message }}</h2> <div class="title">
</div> <h2>{{ form.message }}</h2>
<div class="meta"> </div>
<time class="published" datetime="{{form.date|date("Y-m-d")}}">{{ form.date|date("M j, Y")}}</time> <div class="meta">
</div> {% if config.plugins["translate-date"].enabled %}
</header> <time class="published" datetime="{{ form.date|td(null, "Y-m-d") }}">{{ form.date|td(null, "M j, Y") }}</time>
<p>{{'FUTURE.FORM_SUMMARY'|t}}</p> {% else %}
<time class="published" datetime="{{ form.date|date("Y-m-d") }}">{{ form.date|date("M j, Y") }}</time>
{% endif %}
</div>
</header>
<p>{{'FUTURE.FORM_SUMMARY'|t}}</p>
{{ content|raw }} {{ content|raw }}
{% include "forms/data.html.twig" %} {% include "forms/data.html.twig" %}
</article> </article>
{% endblock %} {% endblock %}

View file

@ -1,51 +1,48 @@
{% macro render_field(form, fields, scope) %} {% macro render_field(form, fields, scope) %}
{% import _self as self %} {% import _self as self %}
{% for index, field in fields %} {% for index, field in fields %}
{% set input = attribute(field, "input@") %} {% set input = attribute(field, "input@") %}
{% if input is null or input == true %} {% if input is null or input == true %}
{% if form.value(scope ~ field.name) %}
{% block field %}
<div>
{% block field_name %}
<strong>{{ field.name|t|e }}</strong>:
{% endblock %}
{% if form.value(scope ~ field.name) %} {% block field_value %}
{% block field %} {% if field.type == 'checkboxes' %}
<div> <ul>
{% block field_name %} {% set use_keys = field.use is defined and field.use == 'keys' %}
<strong>{{ field.name|t|e }}</strong>: {% for key,value in form.value(scope ~ field.name) %}
{% set index = (use_keys ? key : value) %}
{% endblock %} <li>{{ field.options[index]|e }}</li>
{% endfor %}
{% block field_value %} </ul>
{% if field.type == 'checkboxes' %} {% elseif field.type == 'checkbox' %}
<ul> {{ (form.value(scope ~ field.name) == 1) ? "GRAV.YES"|t|e : "GRAV.NO"|t|e }}
{% set use_keys = field.use is defined and field.use == 'keys' %} {% elseif field.type == 'privacy' %}
{% for key,value in form.value(scope ~ field.name) %} {{ (form.value(scope ~ field.name) == 1) ? "Acepta la Política de Privacidad, Si"|t|e : "GRAV.NO"|t|e }}
{% set index = (use_keys ? key : value) %} {% elseif field.type == 'select' %}
<li>{{ field.options[index]|e }}</li> {{ field.options[form.value(scope ~ field.name)]|e }}
{% endfor %} {% else %}
</ul> {{ string(form.value(scope ~ field.name))|nl2br }}
{% elseif field.type == 'checkbox' %} {% endif %}
{{ (form.value(scope ~ field.name) == 1) ? "GRAV.YES"|t|e : "GRAV.NO"|t|e }} {% endblock %}
{% elseif field.type == 'privacy' %} </div>
{{ (form.value(scope ~ field.name) == 1) ? "Acepta la Política de Privacidad, Si"|t|e : "GRAV.NO"|t|e }} {% endblock %}
{% elseif field.type == 'select' %} {% endif %}
{{ field.options[form.value(scope ~ field.name)]|e }} {% else %}
{% else %} {% if field.fields %}
{{ string(form.value(scope ~ field.name))|nl2br }} {% set new_scope = field.nest_id ? scope ~ field.name ~ '.' : scope %}
{% endif %} {{ self.render_field(form, field.fields, new_scope) }}
{% endblock %} {% endif %}
</div> {% endif %}
{% endblock %} {% endfor %}
{% endif %}
{% else %}
{% if field.fields %}
{% set new_scope = field.nest_id ? scope ~ field.name ~ '.' : scope %}
{{ self.render_field(form, field.fields, new_scope) }}
{% endif %}
{% endif %}
{% endfor %}
{% endmacro %} {% endmacro %}
{% import _self as macro %} {% import _self as macro %}
{{ macro.render_field(form, form.fields, '') }} {{ macro.render_field(form, form.fields, '') }}

View file

@ -4,36 +4,35 @@
{% endblock %} {% endblock %}
{% block input %} {% block input %}
{% set id = field.id|default(field.name) ~ '-' ~ key %} {% set id = field.id|default(field.name) ~ '-' ~ key %}
<div class="{{ form_field_wrapper_classes ?: 'form-input-wrapper' }} {{ field.size }} {{ field.wrapper_classes }}">
<input
{# required attribute structures #}
name="{{ (scope ~ field.name)|fieldName }}"
value="{{ field.value ?? '1' }}"
type="checkbox"
{% if value == field.value ?? '1' %} checked="checked" {% endif %}
{# input attribute structures #} <div class="{{ form_field_wrapper_classes ?: 'form-input-wrapper' }} {{ field.size }} {{ field.wrapper_classes }}">
{% block input_attributes %} <input
id="{{ id|e }}" {# required attribute structures #}
{% if field.classes is defined %}class="{{ field.classes }}" {% endif %} name="{{ (scope ~ field.name)|fieldName }}"
{% if field.style is defined %}style="{{ field.style|e }}" {% endif %} value="{{ field.value ?? '1' }}"
{% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %} type="checkbox"
{% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %} {% if value == field.value ?? '1' %} checked="checked" {% endif %}
{% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{% if required %}required="required"{% endif %} {# input attribute structures #}
{% if field.tabindex %}tabindex="{{ field.tabindex }}"{% endif %} {% block input_attributes %}
{% endblock %} id="{{ id|e }}"
/> {% if field.classes is defined %}class="{{ field.classes }}" {% endif %}
<label style="display:inline;" for="{{ id|e }}"> {% if field.style is defined %}style="{{ field.style|e }}" {% endif %}
{% if field.markdown %} {% if field.disabled or isDisabledToggleable %}disabled="disabled"{% endif %}
{{ field.label|t|markdown(false) }} {% if field.autofocus in ['on', 'true', 1] %}autofocus="autofocus"{% endif %}
{% else %} {% if field.novalidate in ['on', 'true', 1] %}novalidate="novalidate"{% endif %}
{{'FUTURE.PRIVACY'|t}} <a href="{{base_url}}/privacy">{{field.label}}</a> {% if required %}required="required"{% endif %}
{% endif %} {% if field.tabindex %}tabindex="{{ field.tabindex }}"{% endif %}
{{ field.validate.required in ['on', 'true', 1] ? '<span class="required">*</span>' }} {% endblock %}
</label> />
</div> <label style="display:inline;" for="{{ id|e }}">
{% if field.markdown %}
{{ field.label|t|markdown(false) }}
{% else %}
{{'FUTURE.PRIVACY'|t}} <a href="{{base_url}}/privacy">{{field.label}}</a>
{% endif %}
{{ field.validate.required in ['on', 'true', 1] ? '<span class="required">*</span>' }}
</label>
</div>
{% endblock %} {% endblock %}

View file

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

View file

@ -1,24 +1,31 @@
{% macro nav_loop(page) %} {% macro nav_loop(page) %}
{% import _self as macros %} {% import _self as macros %}
{% 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 %} {% if p.children.visible.count > 0 %}
<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 %}
<span>{{ p.menu }}{% if p.routable ?? false %}&nbsp;<i class="fa fa-angle-down"></i>{% endif %}</span> <i class="fa fa-{{ p.header.icon }}"></i>
</a> {% endif %}
<ul> <span>{{ p.menu }}
{{ macros.nav_loop(p) }} {% if p.routable ?? false %}&nbsp;<i class="fa fa-angle-down"></i>
</ul> {% endif %}
</li> </span>
{% else %} </a>
<li class="{{ current_page }}"> <ul>
<a href="{{ p.url }}"> {{ macros.nav_loop(p) }}
{% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %} </ul>
<span>{{ p.menu }}</span> </li>
</a> {% else %}
</li> <li class="{{ current_page }}">
{% endif %} <a href="{{ p.url }}">
{% endfor %} {% if p.header.icon %}
{% endmacro %} <i class="fa fa-{{ p.header.icon }}"></i>
{% endif %}
<span>{{ p.menu }}</span>
</a>
</li>
{% endif %}
{% endfor %}
{% endmacro %}

View file

@ -1,34 +1,45 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set show_onpage_menu = header.onpage_menu == true or header.onpage_menu is null %} {% set image = page.media[page.header.primaryImage] ?: page.media.images|first %}
{% macro pageLinkName(text) %}{{ text|lower|replace({' ':'_'}) }}{% endmacro %} {% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %}
{# Commented code for future improvements in modular menu #}
{# {% set show_onpage_menu = header.onpage_menu == true or header.onpage_menu is null %}
{% macro pageLinkName(text) %}
{{ text|lower|replace({' ':'_'}) }}
{% endmacro %} #}
{% block menu %} {% block menu %}
{% include 'partials/sidebar_right.html.twig' %} {% include 'partials/sidebar_right.html.twig' %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2>{{ page.header.title }}</h2> <h2>{{ title }}</h2>
</div> {% if subtitle %}
</header> <p>{{ subtitle }}</p>
{% endif %}
</div>
</header>
{% if page.header.primaryImage %} {% if image %}
{{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }} {{ image.cropZoom(1038,437).loading('lazy').html(title, title, 'image featured')|raw }}
{% else %} {% endif %}
{{ page.media.images|first.cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}
{% 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 %}
</article> </article>
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% include 'partials/sidebar_left.html.twig' %} {% if theme_config.sidebar == true %}
{% include 'partials/sidebar_left.html.twig' %}
{% endif %}
{% endblock %} {% endblock %}

View file

@ -1,25 +1,25 @@
<section id="banner"> {% set image = page.media[page.header.image] ?: page.media.images|first %}
<div class="content"> {% set title = page.title|raw %}
<header> {% set subtitle = page.header.subtitle|raw %}
<h2>{{ page.title}}</h2>
{% if page.header.subtitle %}
<p>{{ page.header.subtitle }}</p>
{% endif %}
</header>
{{page.content|raw}} <section id="banner">
<div class="content">
<ul class="actions"> <header>
<li><a href="{{page.header.buttonurl}}" class="button">{{page.header.buttontext}}</a></li> <h2>{{ title}}</h2>
</ul> {% if subtitle %}
</div> <p>{{ subtitle }}</p>
{% if page.header.image %} {% endif %}
<span class="image object fit"> </header>
{{page.media[page.header.image].loading('lazy').html('',page.title)|raw}}
</span> {{page.content|raw}}
{% else %}
<span class="image object fit"> <ul class="actions">
{{page.media[page.header.primaryImage].loading('lazy').html('',page.title)|raw}} <li><a href="{{page.header.buttonurl}}" class="button">{{page.header.buttontext}}</a></li>
</span> </ul>
{% endif %} </div>
{% if image %}
<span class="image object fit">
{{image.loading('lazy').html(title,title)|raw}}
</span>
{% endif %}
</section> </section>

View file

@ -1,5 +1,5 @@
<section id="contact"> <section id="contact">
<p>{{ page.content|raw }}</p> <p>{{ page.content|raw }}</p>
{% include "forms/form.html.twig" with { form: forms('contact-form')} %} {% include "forms/form.html.twig" with { form: forms('contact-form')} %}
</section> </section>
<br> <br>

View file

@ -1,30 +1,45 @@
{% set image = page.media[page.header.primaryImage] ?: page.media.images|first %}
{% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %}
{% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %} {% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %}
<section id="features"> <section id="features">
<header> <header>
<h2>{{ page.title }}</h2> <h2>{{ title }}</h2>
{% if page.header.subtitle %} {% if subtitle %}
<p>{{ page.header.subtitle }}</p> <p>{{ subtitle }}</p>
{% endif %} {% endif %}
</header> </header>
{{ content|raw }}
{% if image %}
{{ image.cropZoom(1038,437).loading('lazy').html(title, title, 'image featured')|raw }}
{% endif %}
<div class="row gtr-uniform"> {{ page.content|raw }}
<div class="row gtr-uniform">
{% for feature in page.header.features %} {% for feature in page.header.features %}
<div class="{{columns}}">
<div class="{{columns}}">
<article class="box"> <article class="box">
{% if feature.image %}<span class="image fit"><img src="{{page.media[feature.image].url}}" alt="{{feature.title}}" /></span>{% endif %} {% if feature.image %}
<header> <span class="image fit"><img src="{{page.media[feature.image].url}}" alt="{{feature.title}}"/></span>
{% if feature.title %}<h3>{{feature.title}}</h3>{% endif %} {% endif %}
{% if feature.text %}<p>{{feature.text|raw}}</p>{% endif %} <header>
{% if feature.buttonurl %}<p><a href="{{feature.buttonurl}}" class="button fit" target={% if feature.buttonurl_target %}"_blank"{% endif%}>{{feature.buttontext}}</a></p>{% endif %} {% if feature.title %}
</header> <h3>{{feature.title}}</h3>
{% endif %}
{% if feature.text %}
<p>{{feature.text|raw}}</p>
{% endif %}
{% if feature.buttonurl %}
<p>
<a href="{{feature.buttonurl}}" class="button fit" target={% if feature.buttonurl_target %} "_blank" {% endif%}>{{feature.buttontext}}</a>
</p>
{% endif %}
</header>
</article> </article>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
</section> </section>
<br> <br>

View file

@ -3,16 +3,16 @@
{% block header %}{% endblock %} {% block header %}{% endblock %}
{% block content %} {% block content %}
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h1 class="logo"><a href="{{ home_url }}">{{ site.title }}</a></h1> <h1 class="logo"><a href="{{ home_url }}">{{ site.title }}</a></h1>
<h2>Error {{ page.header.http_response_code }}</h2> <h2>Error {{ page.header.http_response_code }}</h2>
<p>{{ page.content|raw }}</p> <p>{{ page.content|raw }}</p>
</div> </div>
</header> </header>
</article> </article>
<section id="footer" class="align-center"> <section id="footer" class="align-center">
{% include 'partials/footer.html.twig' %} {% include 'partials/footer.html.twig' %}
</section> </section>
{% endblock %} {% endblock %}

View file

@ -1,23 +1,25 @@
<section> <section>
<ul class="posts"> <ul class="posts">
{% for p in page.find(theme_config.blog_page).children.order('date', 'desc').slice(0, 5) %} {% for p in page.find(theme_config.blog_page).children.order('date', 'desc').slice(0, 5) %}
{% set image = p.media[p.header.primaryImage] ?: p.media.images|first %}
{% if p.header.primaryImage %} {% set title = p.title|raw %}
{% set bannerimage = p.media[p.header.primaryImage]%} <li>
{% else %}
{% set bannerimage = p.media.images|first %}
{% endif %}
<li>
<article> <article>
<header> <header>
<h3><a href="{{p.url}}">{{ p.title }}</a></h3> <h3>
<time class="published" datetime="{{p.date|date("Y-m-d")}}">{{ p.date|date("M j, Y")}}</time> <a href="{{p.url}}">{{ title }}</a>
</header> </h3>
<a href="{{p.url}}" class="image"> {% if config.plugins["translate-date"].enabled %}
{{ bannerimage.cropZoom(64,64).quality(60).loading('lazy').html('',p.title)|raw }} <time class="published" datetime="{{ p.date|td(null, "Y-m-d") }}">{{ p.date|td(null, "M j, Y") }}</time>
</a> {% else %}
</article> <time class="published" datetime="{{ p.date|date("Y-m-d") }}">{{ p.date|date("M j, Y") }}</time>
</li> {% endif %}
{% endfor %} </header>
</ul> <a href="{{p.url}}" class="image">
{{ image.cropZoom(64,64).quality(60).loading('lazy').html(title,title)|raw }}
</a>
</article>
</li>
{% endfor %}
</ul>
</section> </section>

View file

@ -5,83 +5,87 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="{{ grav.language.getActive ?: grav.config.site.default_lang }}"> <html lang="{{ grav.language.getActive ?: grav.config.site.default_lang }}">
<head> <head>
{% block head deferred %} {% block head deferred %}
<title>{% if page.title %}{{ page.title|e('html') }} | {% endif %}{{ site.title|e('html') }}</title> <title>{% if page.title %}{{ page.title|e('html') }} | {% endif %}{{ site.title|e('html') }}</title>
<meta charset="utf-8" /> <meta charset="utf-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes" /> <meta name="viewport" content="width=device-width, initial-scale=1, user-scalable=yes"/>
{% include 'partials/metadata.html.twig' %} {% include 'partials/metadata.html.twig' %}
<link rel="icon" type="{{ favicon.type }}" href="{{ url( favicon.path ) }}"/> <link rel="icon" type="{{ favicon.type }}" href="{{ url( favicon.path ) }}"/>
<link rel="canonical" href="{{ page.url(true, true) }}" /> <link rel="canonical" href="{{ page.url(true, true) }}"/>
{% endblock head %} {% endblock head %}
{% 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/fontawesome-all.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/misc.css') %}
{% if page.template() == 'portfolio' %} {% do assets.addCss('theme://assets/css/custom.css', 5) %}
{% do assets.addCss('theme://assets/css/glightbox.min.css') %} {% if page.template() == 'portfolio' %}
{% endif %} {% do assets.addCss('theme://assets/css/glightbox.min.css') %}
{% endblock %} {% endif %}
{{ assets.css()|raw }} {% endblock %}
{{ assets.css()|raw }}
{% block javascripts %}
{% do assets.add('jquery',101) %}
{% do assets.addJs('theme://assets/js/browser.min.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/breakpoints.min.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/util.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/main.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/custom.js', {group:'bottom'}) %}
{% if page.template() == 'portfolio' %}
{% do assets.addJs('theme://assets/js/glightbox.min.js', {group:'bottom'}) %}
{% endif %}
{% endblock %}
{{ assets.js()|raw }}
</head> {% block javascripts %}
<body class="is-preload"> {% do assets.add('jquery',101) %}
<!-- Wrapper --> {% do assets.addJs('theme://assets/js/browser.min.js', {group:'bottom'}) %}
<div id="wrapper"> {% do assets.addJs('theme://assets/js/breakpoints.min.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/util.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/main.js', {group:'bottom'}) %}
{% do assets.addJs('theme://assets/js/custom.js', {group:'bottom'}) %}
{% if page.template() == 'portfolio' %}
{% do assets.addJs('theme://assets/js/glightbox.min.js', {group:'bottom'}) %}
{% endif %}
{% endblock %}
{{ assets.js()|raw }}
{% block header %} </head>
{% include 'partials/header.html.twig' %} <body
class="is-preload">
<!-- Wrapper -->
<div id="wrapper">
{% block header %}
{% include 'partials/header.html.twig' %}
{% endblock %}
{% block body %}
{% block menu %}{% endblock %}
{% block main %}
<div id="main">
{% block content %}{% endblock %}
</div>
{% block sidebar %}{% endblock %}
{% endblock %} {% endblock %}
{% block body %} {% endblock %}
{% block menu %}{% endblock %}
{% block main %}
<div id="main">
{% block content %}{% endblock %}
</div>
{% block sidebar %}{% endblock %}
{% endblock %}
{% endblock %}
<a id="back-to-top" href="#"><i class="fa fa-chevron-up"></i></a> <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' %}
<script> <script>
const lightbox = GLightbox({ const lightbox = GLightbox({
touchNavigation: true, touchNavigation: true,
loop: true, loop: true,
autoplayVideos: true, autoplayVideos: true,
openEffect: 'zoom', openEffect: 'zoom',
closeEffect: 'fade' closeEffect: 'fade'
}); });
</script> </script>
{% endif %} {% endif %}
{% endblock %} {% endblock %}
</div> </div>
</body> </body>
</html> </html>
<!-- <!--
Future Imperfect by HTML5 UP Future Imperfect by HTML5 UP
html5up.net | @ajlkn html5up.net | @ajlkn
Free for personal and commercial use under the CCA 3.0 license (html5up.net/license) Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
--> -->

View file

@ -1,93 +1,105 @@
<article class="post" itemprop="liveBlogUpdate" itemscope itemtype="http://schema.org/BlogPosting"> <article class="post" itemprop="liveBlogUpdate" itemscope itemtype="http://schema.org/BlogPosting">
{% if page.header.metadata.author %} {% if page.header.metadata.author %}
{% set author = page.header.metadata.author %} {% set author = page.header.metadata.author %}
{% elseif page.header.author %} {% elseif page.header.author %}
{% set author = page.header.author %} {% set author = page.header.author %}
{% else %} {% else %}
{% set author = page.taxonomy.author[0] %} {% set author = page.taxonomy.author[0] %}
{% endif %} {% endif %}
{% set avatar = page.media[page.header.avatarImage].url|e %} {% set avatar = page.media[page.header.avatarImage].url|e %}
<header> <header>
<div class="title"> <div class="title">
{% if page.header.link %} {% if page.header.link %}
<h2 itemprop="headline"> <h2 itemprop="headline">
{% if page.header.continue_link is not sameas(false) %} {% if page.header.continue_link is not sameas(false) %}
<a href="{{ page.url }}"></a> <a href="{{ page.url }}"></a>
{% endif %} {% endif %}
<a href="{{ page.header.link }}">{{ page.title }}</a> <a href="{{ page.header.link }}">{{ page.title }}</a>
</h2> </h2>
{% else %} {% else %}
<h2 itemprop="headline"><a href="{{ page.url }}">{{ page.title }}</a></h2> <h2 itemprop="headline">
{% endif %} <a href="{{ page.url }}">{{ page.title }}</a>
{% if page.header.subtitle %} </h2>
{% endif %}
{% if page.header.subtitle %}
<p itemprop="alternativeHeadline">{{ page.header.subtitle|raw }}</p> <p itemprop="alternativeHeadline">{{ page.header.subtitle|raw }}</p>
{% endif %} {% endif %}
</div> </div>
<div class="meta"> <div class="meta">
<time class="published" itemprop="datePublished" datetime="{{page.date|date("Y-m-d")}}">{{ page.date|date("M j, Y")}}</time> {% if config.plugins["translate-date"].enabled %}
{% if author %} <time class="published" itemprop="datePublished" datetime="{{ page.date|td(null, "Y-m-d") }}">{{ page.date|td(null, "M j, Y") }}</time>
<span itemprop="author" itemscope itemtype="http://schema.org/Person"> {% else %}
<a {% if page.taxonomy.author %} href="{{ base_url }}/author{{ config.system.param_sep }}{{ author }}" itemprop="url" {% endif %} class="author"><span class="name" rel="author">{{ author }}</span>{% if avatar %}<img src="{{ avatar }}" alt="{{ author }}" />{% endif %}</a> <time class="published" itemprop="datePublished" datetime="{{ page.date|date("Y-m-d") }}">{{ page.date|date("M j, Y") }}</time>
{% endif %} {% endif %}
{% if author %}
<span itemprop="author" itemscope itemtype="http://schema.org/Person"/>
<a {% if page.taxonomy.author %}href="{{ base_url }}/author{{ config.system.param_sep }}{{ author }}" itemprop="url" {% endif %}class="author">
<span class="name" rel="author">{{ author }}</span>
{% if avatar %}<img src="{{ avatar }}" alt="{{ author }}" />{% endif %}
</a>
{% endif %}
</div> </div>
</header> </header>
{% if page.header.primaryImage %} {% if page.header.primaryImage %}
<a href="{{ page.url }}">{{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}</a> <a href="{{ page.url }}">{{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}</a>
{% else %} {% elseif page.media.images %}
<a href="{{ page.url }}">{{ page.media.images|first.cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}</a> <a href="{{ page.url }}">{{ page.media.images|first.cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}</a>
{% endif %} {% endif %}
<div itemprop="articleBody"> <div itemprop="articleBody">
{% if page.header.continue_link is sameas(false) %} {% if page.header.continue_link is sameas(false) %}
{{ page.content|raw }} {{ page.content|raw }}
{% if not truncate %} {% if not truncate %}
{% set show_prev_next = true %} {% set show_prev_next = true %}
{% endif %} {% endif %}
{% elseif truncate and page.summary != page.content %} {% elseif truncate and page.summary != page.content %}
{{ page.summary|raw }} {{ page.summary|raw }}
{% elseif truncate %} {% elseif truncate %}
{{ page.content|truncate(550)|raw }} {{ page.content|truncate(550)|raw }}
{% else %} {% else %}
{{ page.content|raw }} {{ page.content|raw }}
{% set show_prev_next = true %} {% set show_prev_next = true %}
{% endif %} {% endif %}
</div>
</div> <footer>
<footer>
<ul class="actions"> <ul class="actions">
{% if truncate and page.summary != page.content %} {% if truncate and page.summary != page.content %}
<li><a href="{{ page.url }}" class="button">{{'FUTURE.BLOG.ITEM.CONTINUE_READING'|t}}</a></li> <li><a href="{{ page.url }}" class="button">{{'FUTURE.BLOG.ITEM.CONTINUE_READING'|t}}</a></li>
{% elseif truncate %} {% elseif truncate %}
<li><a href="{{ page.url }}" class="button">{{'FUTURE.BLOG.ITEM.CONTINUE_READING'|t}}</a></li> <li><a href="{{ page.url }}" class="button">{{'FUTURE.BLOG.ITEM.CONTINUE_READING'|t}}</a></li>
{% endif %} {% endif %}
{% if show_prev_next %} {% if show_prev_next %}
{% if not page.isLast %} {% if not page.isLast %}
<li><a class="button" href="{{ page.prevSibling.url }}"><i class="fa fa-chevron-left"></i> {{'FUTURE.BLOG.ITEM.PREV_POST'|t}}</a></li> <li>
<a class="button" href="{{ page.prevSibling.url }}">
<i class="fa fa-chevron-left"></i>
{{'FUTURE.BLOG.ITEM.PREV_POST'|t}}</a>
</li>
{% endif %} {% endif %}
{% if not page.isFirst %} {% if not page.isFirst %}
<li><a class="button" href="{{ page.nextSibling.url }}">{{'FUTURE.BLOG.ITEM.NEXT_POST'|t}} <i class="fa fa-chevron-right"></i></a></li> <li>
<a class="button" href="{{ page.nextSibling.url }}">{{'FUTURE.BLOG.ITEM.NEXT_POST'|t}}
<i class="fa fa-chevron-right"></i>
</a>
</li>
{% endif %} {% endif %}
{% endif %}
{% endif %} </ul>
</ul>
<ul class="stats"> <ul class="stats">
{% if page.taxonomy.tag %} {% if page.taxonomy.tag %}
{% for tag in page.taxonomy.tag %} {% for tag in page.taxonomy.tag %}
<li><a href="{{ base_url }}/tag{{ config.system.param_sep }}{{ tag }}" itemprop="keywords">{{ tag }}</a></li> <li><a href="{{ base_url }}/tag{{ config.system.param_sep }}{{ tag }}" itemprop="keywords">{{ tag }}</a></li>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
<li><a href="https://twitter.com/share" data-url="{{ page.url(true) }}" data-text="{{ page.title }}" class="icon brands fa-twitter"> <li><a href="https://twitter.com/share" data-url="{{ page.url(true) }}" data-text="{{ page.title }}" class="icon brands fa-twitter"></a></li>
</a></li> <li><a href="http://www.facebook.com/sharer.php?u={{ page.url(true) }}" class="icon brands fa-facebook"></a></li>
<li><a href="http://www.facebook.com/sharer.php?u={{ page.url(true) }}" class="icon brands fa-facebook">
</a></li>
</ul> </ul>
</footer> </footer>
</article> </article>

View file

@ -1,4 +1,4 @@
<ul class="icons"> <ul class="icons">
{% include 'partials/social.html.twig' %} {% include 'partials/social.html.twig' %}
</ul> </ul>
<p class="copyright">&copy; {{ "now"|date("Y") }} {{ site.author.name }}. {{config.theme.footer.copyright_text|raw}}</a>.</p> <p class="copyright">&copy; {{ "now"|date("Y") }} {{ site.author.name }}. {{config.theme.footer.copyright_text|raw}}.</p>

View file

@ -1,23 +1,25 @@
<header id="header"> <header id="header">
<h1 class="logo"><a href="{{ home_url }}">{{ site.title }}</a></h1> <h1 class="logo">
<nav class="dropdown"> <a href="{{ home_url }}">{{ site.title }}</a>
{% block header_navigation %} </h1>
{% include 'partials/navigation.html.twig' %} <nav class="dropdown">
{% endblock %} {% block header_navigation %}
</nav> {% include 'partials/navigation.html.twig' %}
<nav class="main"> {% endblock %}
{% block header_extra %} </nav>
<ul> <nav class="main">
{% if config.plugins.langswitcher.enabled %} {% block header_extra %}
{% include 'partials/langswitcher.html.twig' %} <ul>
{% endif %} {% if config.plugins.langswitcher.enabled %}
{% if config.plugins.simplesearch.enabled %} {% include 'partials/langswitcher.html.twig' %}
{% include 'partials/simplesearch_searchbox.html.twig' %} {% endif %}
{% endif %} {% if config.plugins.simplesearch.enabled %}
<li class="menu"> {% include 'partials/simplesearch_searchbox.html.twig' %}
<a class="fa-bars" href="#menu">Menu</a> {% endif %}
</li> <li class="menu">
</ul> <a class="fa-bars" href="#menu">Menu</a>
{% endblock %} </li>
</nav> </ul>
</header> {% endblock %}
</nav>
</header>

View file

@ -1,31 +1,31 @@
<li class="langswitcher"> <li class="langswitcher">
{% set display_format = display_format ?? config.get('plugins.langswitcher.language_display', 'long') %} {% set display_format = display_format ?? config.get('plugins.langswitcher.language_display', 'long') %}
{% for language in langswitcher.languages %} {% for language in langswitcher.languages %}
{% set show_language = true %} {% set show_language = true %}
{% if language == langswitcher.current %} {% if language == langswitcher.current %}
{% set lang_url = page.url %} {% set lang_url = page.url %}
{% set active_class = ' active' %} {% set active_class = ' active' %}
{% else %} {% else %}
{% set base_lang_url = base_url_simple ~ grav.language.getLanguageURLPrefix(language) %} {% set base_lang_url = base_url_simple ~ grav.language.getLanguageURLPrefix(language) %}
{% set lang_url = base_lang_url ~ langswitcher.page_route ~ page.urlExtension %} {% set lang_url = base_lang_url ~ langswitcher.page_route ~ page.urlExtension %}
{% set untranslated_pages_behavior = grav.config.plugins.langswitcher.untranslated_pages_behavior %} {% set untranslated_pages_behavior = grav.config.plugins.langswitcher.untranslated_pages_behavior %}
{% if untranslated_pages_behavior != 'none' %} {% if untranslated_pages_behavior != 'none' %}
{% set translated_page = langswitcher.translated_pages[language] %} {% set translated_page = langswitcher.translated_pages[language] %}
{% if (not translated_page) or (not translated_page.published) %} {% if (not translated_page) or (not translated_page.published) %}
{% if untranslated_pages_behavior == 'redirect' %} {% if untranslated_pages_behavior == 'redirect' %}
{% set lang_url = base_lang_url ~ '/' %} {% set lang_url = base_lang_url ~ '/' %}
{% elseif untranslated_pages_behavior == 'hide' %} {% elseif untranslated_pages_behavior == 'hide' %}
{% set show_language = false %} {% set show_language = false %}
{% endif %} {% endif %}
{% endif %}
{% endif %} {% endif %}
{% set active_class = '' %} {% endif %}
{% set active_class = '' %}
{% endif %} {% endif %}
{% if show_language %} {% if show_language %}
<a href="{{ lang_url ~ uri.params }}" class="external{{ active_class }}">{% include 'partials/langswitcher-' ~ display_format ~ '.html.twig' %}</a> <a href="{{ lang_url ~ uri.params }}" class="external{{ active_class }}">{% include 'partials/langswitcher-' ~ display_format ~ '.html.twig' %}</a>
{% endif %} {% endif %}
{% endfor %} {% endfor %}
</li> </li>

View file

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

View file

@ -1,3 +1,3 @@
{% for meta in page.metadata %} {% for meta in page.metadata %}
<meta {% if meta.name %}name="{{ meta.name }}" {% endif %}{% if meta.http_equiv %}http-equiv="{{ meta.http_equiv }}" {% endif %}{% if meta.charset %}charset="{{ meta.charset }}" {% endif %}{% if meta.property %}property="{{ meta.property }}" {% endif %}{% if meta.content %}content="{{ meta.content }}" {% endif %}/> <meta {% if meta.name %} name="{{ meta.name }}" {% endif %} {% if meta.http_equiv %} http-equiv="{{ meta.http_equiv }}" {% endif %} {% if meta.charset %} charset="{{ meta.charset }}" {% endif %} {% if meta.property %} property="{{ meta.property }}" {% endif %} {% if meta.content %} content="{{ meta.content }}" {% endif %}/>
{% endfor %} {% endfor %}

View file

@ -1,31 +1,38 @@
{% set miniposts_category = theme_var('miniposts_category') %} {% set miniposts_category = theme_var('miniposts_category') %}
{% set miniposts_number = config.theme.miniposts_number %} {% set miniposts_number = config.theme.miniposts_number %}
{% set lang = grav.language.getActive ?: grav.config.site.default_lang %}
<section> <section>
<header class=""> <header class="">
<h3>{{ 'FUTURE.FEATURED'|t }}</h3> <h3>{{ 'FUTURE.FEATURED'|t }}</h3>
</header> </header>
<div class="mini-posts"> <div class="mini-posts">
{% for p in page.evaluate({'@taxonomy.category':miniposts_category}).order('header.order', 'asc').slice(0,miniposts_number) %} {% for p in page.evaluate({'@taxonomy.category':miniposts_category}).order('header.order', 'asc').slice(0,miniposts_number) %}
<article class="mini-post"> {% set image = p.media[p.header.primaryImage] ?: p.media.images|first %}
{% set title = p.title|raw %}
<article class="mini-post">
<header> <header>
<h3><a href="{{ p.url }}">{{ p.title }}</a></h3> <h3>
<time class="published" datetime="{{p.date|date("Y-m-d")}}">{{ p.date|date("M j, Y")}}</time> <a href="{{ p.url }}">{{ p.title }}</a>
<a href="{{ p.url }}" class="author"><img src="{{ p.media[p.header.avatarImage].url}}" alt="" /></a> </h3>
{% if config.plugins["translate-date"].enabled %}
<time class="published" itemprop="datePublished" datetime="{{ page.date|td(null, "Y-m-d") }}">{{ page.date|td(null, "M j, Y") }}</time>
{% elseif config.plugins["twig-extensions"].enabled %}
<time class="published" itemprop="datePublished" datetime="{{ page.date|localizeddate('medium', 'none', lang) }}">{{ page.date|localizeddate('medium', 'none', lang) }}</time>
{% else %}
<time class="published" itemprop="datePublished" datetime="{{ page.date|date("Y-m-d") }}">{{ page.date|date("M j, Y") }}</time>
{% endif %}
{% if avatar %}
<a href="{{ p.url }}" class="author"><img src="{{ p.media[p.header.avatarImage].url}}" alt=""/></a>
{% endif %}
</header> </header>
{% if image %}
<a href="{{ p.url }}" class="image"> <a href="{{ p.url }}" class="image">
{{ image.cropZoom(1038,437).loading('lazy').html(title,title)|raw}}
{% if p.header.primaryImage %}
{{ p.media[p.header.primaryImage].cropZoom(1038,437).loading('lazy').html('',p.title)|raw}}
{% else %}
{{p.media.images|first.cropZoom(1038,437).loading('lazy').html('',p.title)|raw}}
{% endif %}
</a> </a>
</article> {% endif %}
</article>
{% endfor %} {% endfor %}
</div> </div>
</section> </section>
<!-- End of featured Section --> <!-- End of featured Section -->

View file

@ -1,18 +1,18 @@
{% import 'macros/topmenu.html.twig' as macros %} {% import 'macros/topmenu.html.twig' as macros %}
<ul> <ul>
{{ macros.nav_loop(pages) }} {{ macros.nav_loop(pages) }}
{% if theme_var('displaycustommenus.enabled') %} {% if theme_var('custommenus.enabled') %}
{% for mitem in theme_var('custommenu') %} {% for mitem in theme_var('custommenu') %}
<li> <li>
<a href="{{ mitem.url }}" target="{{ mitem.target }}"> <a href="{{ mitem.url }}" target="{{ mitem.target }}">
{% if mitem.icon %} {% if mitem.icon %}
<i class="fa fa-{{ mitem.icon }}"></i> <i class="fa fa-{{ mitem.icon }}"></i>
{% endif %} {% endif %}
<span>{{ mitem.text }}</span> <span>{{ mitem.text }}</span>
</a> </a>
</li> </li>
{% endfor %} {% endfor %}
{% endif %} {% endif %}
</ul> </ul>

View file

@ -2,33 +2,30 @@
{% set base_url = base_url|default(page.url) %} {% set base_url = base_url|default(page.url) %}
{% if pagination|length > 1 %} {% if pagination|length > 1 %}
<ul class="actions pagination">
<ul class="actions pagination">
{% if pagination.hasPrev %} {% if pagination.hasPrev %}
{% set url = (base_url ~ pagination.params ~ pagination.prevUrl)|replace({'//':'/'}) %} {% set url = (base_url ~ pagination.params ~ pagination.prevUrl)|replace({'//':'/'}) %}
<li><a class="button large previous" rel="prev" href="{{ url }}">{{'FUTURE.BLOG.PAGINATION.PREVIOUS'|t}}</a></li> <li><a class="button large previous" rel="prev" href="{{ url }}">{{'FUTURE.BLOG.PAGINATION.PREVIOUS'|t}}</a></li>
{% else %} {% else %}
<li><span class="disabled button large">{{'FUTURE.BLOG.PAGINATION.PREVIOUS'|t}}</span></li> <li><span class="disabled button large">{{'FUTURE.BLOG.PAGINATION.PREVIOUS'|t}}</span></li>
{% endif %} {% endif %}
{% for paginate in pagination %} {% for paginate in pagination %}
{% if paginate.isCurrent %}
{% if paginate.isCurrent %} <li><span class="disabled button large">{{ paginate.number }}</span></li>
<li><span class="disabled button large">{{ paginate.number }}</span></li> {% elseif paginate.isInDelta %}
{% elseif paginate.isInDelta %} {% set url = (base_url ~ pagination.params ~ paginate.url)|replace({'//':'/'}) %}
{% set url = (base_url ~ pagination.params ~ paginate.url)|replace({'//':'/'}) %} <li><a class="button large" href="{{ url }}">{{ paginate.number }}</a></li>
<li><a class="button large" href="{{ url }}">{{ paginate.number }}</a></li> {% elseif paginate.isDeltaBorder %}
{% elseif paginate.isDeltaBorder %} <li class="gap"><span>&hellip;</span></li>
<li class="gap"><span>&hellip;</span></li> {% endif %}
{% endif %}
{% endfor %} {% endfor %}
{% if pagination.hasNext %}
{% set url = (base_url ~ pagination.params ~ pagination.nextUrl)|replace({'//':'/'}) %}
<li><a class="button large next" rel="next" href="{{ url }}">{{'FUTURE.BLOG.PAGINATION.NEXT'|t}}</a></li>
{% else %}
<li><span class="disabled button large">{{'FUTURE.BLOG.PAGINATION.NEXT'|t}}</span></li>
{% endif %}
</ul>
{% if pagination.hasNext %}
{% set url = (base_url ~ pagination.params ~ pagination.nextUrl)|replace({'//':'/'}) %}
<li><a class="button large next" rel="next" href="{{ url }}">{{'FUTURE.BLOG.PAGINATION.NEXT'|t}}</a></li>
{% else %}
<li><span class="disabled button large">{{'FUTURE.BLOG.PAGINATION.NEXT'|t}}</span></li>
{% endif %}
</ul>
{% endif %} {% endif %}

View file

@ -1,11 +1,13 @@
<ul class="related-pages"> <ul class="related-pages">
{% for related_path, score in related_pages %} {% for related_path, score in related_pages %}
{% set related = grav['pages'].get(related_path) %} {% set related = grav['pages'].get(related_path) %}
{% if related %} {% if related %}
<li> <li>
<a href="{{ related.url }}" title="{{ related.title }}">{{ related.title }}</a> {% if config.plugins.relatedpages.show_score %}<span class="score">( {{ score }} )</span> <a href="{{ related.url }}" title="{{ related.title }}">{{ related.title }}</a>
{% endif %} {% if config.plugins.relatedpages.show_score %}
</li> <span class="score">( {{ score }} )</span>
{% endif %} {% endif %}
{% endfor %} </li>
</ul> {% endif %}
{% endfor %}
</ul>

View file

@ -1,32 +1,32 @@
<section id="sidebar"> <section id="sidebar">
<!-- Intro --> <!-- Intro -->
<section id="intro"> <section id="intro">
{% include 'partials/logo.html.twig' %} {% 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}}</p>
</header> </header>
</section> </section>
<!-- Mini Posts --> <!-- Mini Posts -->
{% if theme_config.miniposts == true %} {% if theme_config.miniposts == true %}
{% block miniposts %} {% block miniposts %}
{% include 'partials/miniposts.html.twig' %} {% include 'partials/miniposts.html.twig' %}
{% endblock %} {% endblock %}
{% endif %} {% endif %}
<!-- About --> <!-- About -->
{% if theme_config.footer.title or theme_config.footer.description %} {% if theme_config.footer.title or theme_config.footer.description %}
<section class="blurb"> <section class="blurb">
<h2>{{theme_config.footer.title}}</h2> <h2>{{theme_config.footer.title}}</h2>
<p>{{theme_config.footer.description}}</p> <p>{{theme_config.footer.description}}</p>
<ul class="actions"> <ul class="actions">
<li><a href="{{theme_config.footer.button_url}}" class="button">{{theme_config.footer.button_text}}</a></li> <li><a href="{{theme_config.footer.button_url}}" class="button">{{theme_config.footer.button_text}}</a></li>
</ul> </ul>
</section> </section>
{% endif %} {% endif %}
<!-- Footer --> <!-- Footer -->
<section id="footer"> <section id="footer">
{% block footer %} {% block footer %}
{% include 'partials/footer.html.twig' %} {% include 'partials/footer.html.twig' %}
{% endblock %} {% endblock %}
</section> </section>
</section> </section>

View file

@ -1,40 +1,47 @@
{% 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 %} {% if p.children.visible.count > 0 %}
<li class="{{ current_page }}"> <li class="{{ current_page }}">
<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 %}
<span>{{ p.menu }}{% if p.routable ?? false %}&nbsp;<i class="fa fa-caret-down"></i>{% endif %}</span> <i class="fa fa-{{ p.header.icon }}"></i>
</a> {% endif %}
<ul class="subitem_hide"> <span>{{ p.menu }}
{{ _self.loop(p) }} {% if p.routable ?? false %}&nbsp;<i class="fa fa-caret-down"></i>
</ul> {% endif %}
</li> </span>
{% else %} </a>
<li class="{{ current_page }}"> <ul class="subitem_hide">
<a href="{{ p.url }}"> {{ _self.loop(p) }}
{% if p.header.icon %}<i class="fa fa-{{ p.header.icon }}"></i>{% endif %} </ul>
<span>{{ p.menu }}</span> </li>
</a> {% else %}
</li> <li class="{{ current_page }}">
{% endif %} <a href="{{ p.url }}">
{% endfor %} {% if p.header.icon %}
{% endmacro %} <i class="fa fa-{{ p.header.icon }}"></i>
<ul class="menulink"> {% endif %}
{{ _self.loop(pages) }} <span>{{ p.menu }}</span>
{% if theme_var('displaycustommenus.enabled') %} </a>
{% for mitem in theme_var('custommenu') %} </li>
<li> {% endif %}
<a href="{{ mitem.url }}" target="{{ mitem.target }}"> {% endfor %}
{% if mitem.icon %} {% endmacro %}
<i class="fa fa-{{ mitem.icon }}"></i> <ul class="menulink">
{% endif %} {{ _self.loop(pages) }}
<span>{{ mitem.text }}</span> {% if theme_var('custommenus.enabled') %}
</a> {% for mitem in theme_var('custommenu') %}
</li> <li>
{% endfor %} <a href="{{ mitem.url }}" target="{{ mitem.target }}">
{% endif %} {% if mitem.icon %}
</ul> <i class="fa fa-{{ mitem.icon }}"></i>
{% endblock %} {% endif %}
<span>{{ mitem.text }}</span>
</a>
</li>
{% endfor %}
{% endif %}
</ul>
{% endblock %}

View file

@ -1,57 +1,57 @@
<section id="menu"> <section id="menu">
<!-- Search --> {% if config.plugins.simplesearch.enabled %}
<section> <!-- Search -->
{% if config.plugins.simplesearch.enabled %} <section>
{% include 'partials/simplesearch_searchbox_sidebar.html.twig' %} {% include 'partials/simplesearch_searchbox_sidebar.html.twig' %}
{% endif %} </section>
</section> {% endif %}
<!-- Links --> <!-- Links -->
<section id="sidebarmenu"> <section id="sidebarmenu">
{% include 'partials/sidebar_navigation.html.twig' %} {% include 'partials/sidebar_navigation.html.twig' %}
</section> </section>
<!-- Actions --> {% if config.plugins.archives.enabled %}
{% if config.plugins.archives.enabled %} <!-- Actions -->
<section> <section>
<header> <header>
<h3>{{ 'FUTURE.SIDEBAR.ARCHIVES.HEADLINE'|t }}</h3> <h3>{{ 'FUTURE.SIDEBAR.ARCHIVES.HEADLINE'|t }}</h3>
</header> </header>
{% include 'partials/archives.html.twig' %} {% include 'partials/archives.html.twig' %}
</section> </section>
{% endif %} {% endif %}
{% if config.plugins.relatedpages.enabled %} {% if config.plugins.relatedpages.enabled %}
<section> <section>
<header> <header>
<h3>{{ 'FUTURE.SIDEBAR.RELATED_POSTS.HEADLINE'|t }}</h3> <h3>{{ 'FUTURE.SIDEBAR.RELATED_POSTS.HEADLINE'|t }}</h3>
</header> </header>
{% include 'partials/relatedpages.html.twig' %} {% include 'partials/relatedpages.html.twig' %}
</section> </section>
{% endif %} {% endif %}
{% if config.plugins.taxonomylist.enabled %} {% if config.plugins.taxonomylist.enabled %}
<section> <section>
<header> <header>
<h3>{{ 'FUTURE.SIDEBAR.TAGS.HEADLINE'|t }}</h3> <h3>{{ 'FUTURE.SIDEBAR.TAGS.HEADLINE'|t }}</h3>
</header> </header>
{% include 'partials/taxonomylist.html.twig' with {'base_url':new_base_url, 'taxonomy':'tag'} %} {% include 'partials/taxonomylist.html.twig' with {'base_url':new_base_url, 'taxonomy':'tag'} %}
</section> </section>
{% endif %} {% endif %}
{% if config.plugins.login.enabled %} {% if config.plugins.login.enabled %}
<section> <section>
<ul class="actions stacked"> <ul class="actions stacked">
<li><a href="#" class="button large fit">{{ 'FUTURE.LOGIN'|t }}</a></li> <li><a href="#" class="button large fit">{{ 'FUTURE.LOGIN'|t }}</a></li>
</ul> </ul>
</section> </section>
{% endif %} {% endif %}
</section> </section>
<script> <script>
{% if p.routable == false and p.children.count > 0%} {% if p.routable == false and p.children.count > 0 %}
$(".subitem_hide").hide(); //this hides the list initially $(".subitem_hide").hide(); // this hides the list initially
$(".dropdown-btn").click(function(){ $(".dropdown-btn").click(function () {
$(this).next(".subitem_hide").slideToggle(); $(this).next(".subitem_hide").slideToggle();
}); });
{% else %} {% else %}
$(".subitem").attr("style", "display:block"); //this shows the list if it is routable $(".subitem").attr("style", "display:block"); // this shows the list if it is routable
$(".dropdown-btn").click(function(){ $(".dropdown-btn").click(function () {
$(this).next(".subitem_hide").slideToggle(); $(this).next(".subitem_hide").slideToggle();
}); });
{% endif %} {% endif %}
</script> </script>

View file

@ -1,25 +1,25 @@
{% set min_chars = config.get('plugins.simplesearch.min_query_length', 3) %} {% set min_chars = config.get('plugins.simplesearch.min_query_length', 3) %}
<li class="search"> <li class="search">
<a class="fa-search" href="#search">{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}</a> <a class="fa-search" href="#search">{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}</a>
<form id="search" data-simplesearch-form> <form id="search" data-simplesearch-form>
<input <input
name="searchfield" name="searchfield"
class="search-input" class="search-input"
aria-label="search" aria-label="search"
type="text" type="text"
{% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %} {% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %}
required required
placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}" placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}"
value="{{ query|e }}" value="{{ query|e }}"
data-search-invalid="{{ "PLUGIN_SIMPLESEARCH.SEARCH_FIELD_MINIMUM_CHARACTERS"|t(min_chars)|raw }}" data-search-invalid="{{ "PLUGIN_SIMPLESEARCH.SEARCH_FIELD_MINIMUM_CHARACTERS"|t(min_chars)|raw }}"
data-search-separator="{{ config.system.param_sep }}" data-search-separator="{{ config.system.param_sep }}"
data-search-input="{{ base_url_absolute }}{{ config.plugins.simplesearch.route == '@self' ? '' : (config.plugins.simplesearch.route == '/' ? '' : config.plugins.simplesearch.route) }}/query" data-search-input="{{ base_url_absolute }}{{ config.plugins.simplesearch.route == '@self' ? '' : (config.plugins.simplesearch.route == '/' ? '' : config.plugins.simplesearch.route) }}/query"
/> />
{% if config.plugins.simplesearch.display_button %} {% if config.plugins.simplesearch.display_button %}
<button type="submit" class="search-submit"> <button type="submit" class="search-submit">
<img src="{{ url('plugin://simplesearch/assets/search.svg') }}" /> <img src="{{ url('plugin://simplesearch/assets/search.svg') }}" />
</button> </button>
{% endif %} {% endif %}
</form> </form>
</li> </li>

View file

@ -1,24 +1,24 @@
{% set min_chars = config.get('plugins.simplesearch.min_query_length', 3) %} {% set min_chars = config.get('plugins.simplesearch.min_query_length', 3) %}
<div class="search-wrapper"> <div class="search-wrapper">
<form name="search" data-simplesearch-form> <form name="search" data-simplesearch-form>
<input <input
name="searchfield" name="searchfield"
class="search-input" class="search-input"
aria-label="search" aria-label="search"
type="text" type="text"
{% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %} {% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %}
required required
placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}" placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}"
value="{{ query|e }}" value="{{ query|e }}"
data-search-invalid="{{ "PLUGIN_SIMPLESEARCH.SEARCH_FIELD_MINIMUM_CHARACTERS"|t(min_chars)|raw }}" data-search-invalid="{{ "PLUGIN_SIMPLESEARCH.SEARCH_FIELD_MINIMUM_CHARACTERS"|t(min_chars)|raw }}"
data-search-separator="{{ config.system.param_sep }}" data-search-separator="{{ config.system.param_sep }}"
data-search-input="{{ base_url }}{{ config.plugins.simplesearch.route == '@self' ? '' : (config.plugins.simplesearch.route == '/' ? '' : config.plugins.simplesearch.route) }}/query" data-search-input="{{ base_url }}{{ config.plugins.simplesearch.route == '@self' ? '' : (config.plugins.simplesearch.route == '/' ? '' : config.plugins.simplesearch.route) }}/query"
/> />
{% if config.plugins.simplesearch.display_button %} {% if config.plugins.simplesearch.display_button %}
<button type="submit" class="search-submit"> <button type="submit" class="search-submit">
<img src="{{ url('plugin://simplesearch/assets/search.svg') }}" /> <img src="{{ url('plugin://simplesearch/assets/search.svg') }}" />
</button> </button>
{% endif %} {% endif %}
</form> </form>
</div> </div>

View file

@ -1,22 +1,22 @@
{% set min_chars = config.get('plugins.simplesearch.min_query_length', 3) %} {% set min_chars = config.get('plugins.simplesearch.min_query_length', 3) %}
<form class="search" data-simplesearch-form> <form class="search" data-simplesearch-form>
<input <input
name="searchfield" name="searchfield"
class="search-input" class="search-input"
aria-label="search" aria-label="search"
type="text" type="text"
{% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %} {% if min_chars > 0 %} data-min="{{- min_chars -}}" {% endif %}
required required
placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}" placeholder="{{"PLUGIN_SIMPLESEARCH.SEARCH_PLACEHOLDER"|t}}"
value="{{ query|e }}" value="{{ query|e }}"
data-search-invalid="{{ "PLUGIN_SIMPLESEARCH.SEARCH_FIELD_MINIMUM_CHARACTERS"|t(min_chars)|raw }}" data-search-invalid="{{ "PLUGIN_SIMPLESEARCH.SEARCH_FIELD_MINIMUM_CHARACTERS"|t(min_chars)|raw }}"
data-search-separator="{{ config.system.param_sep }}" data-search-separator="{{ config.system.param_sep }}"
data-search-input="{{ base_url_absolute }}{{ config.plugins.simplesearch.route == '@self' ? '' : (config.plugins.simplesearch.route == '/' ? '' : config.plugins.simplesearch.route) }}/query" data-search-input="{{ base_url_absolute }}{{ config.plugins.simplesearch.route == '@self' ? '' : (config.plugins.simplesearch.route == '/' ? '' : config.plugins.simplesearch.route) }}/query"
/> />
{% if config.plugins.simplesearch.display_button %} {% if config.plugins.simplesearch.display_button %}
<button type="submit" class="search-submit"> <button type="submit" class="search-submit">
<img src="{{ url('plugin://simplesearch/assets/search.svg') }}" /> <img src="{{ url('plugin://simplesearch/assets/search.svg') }}" />
</button> </button>
{% endif %} {% endif %}
</form> </form>

View file

@ -1,3 +1,3 @@
{% for item in theme_config.social %} {% for item in theme_config.social %}
<li><a href="{{ item.url }}" class="icon brands {{item.icon}}"><span class="label">{{item.name}}</span></a></li> <li><a href="{{ item.url }}" class="icon brands {{item.icon}}"><span class="label">{{item.name}}</span></a></li>
{% endfor %} {% endfor %}

View file

@ -3,10 +3,10 @@
{% if taxlist %} {% if taxlist %}
<ul class="menulink"> <ul class="menulink">
<li> <li>
{% for tax,value in taxlist[taxonomy]|sort %} {% for tax,value in taxlist[taxonomy]|sort %}
{% set active = uri.param(taxonomy) == tax? 'active' : '' %} {% set active = uri.param(taxonomy) == tax? 'active' : '' %}
<a class="tags {{ active }}" href="{{ base_url }}/{{ taxonomy }}{{ config.system.param_sep }}{{ tax }}">{{ tax }}</a> <a class="tags {{ active }}" href="{{ base_url }}/{{ taxonomy }}{{ config.system.param_sep }}{{ tax }}">{{ tax }}</a>
{% endfor %} {% endfor %}
</li> </li>
</ul> </ul>
{% endif %} {% endif %}

View file

@ -1,5 +1,7 @@
{% extends 'partials/base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% set image = page.media[page.header.primaryImage] %}
{% set title = page.title|raw %}
{% set subtitle = page.header.subtitle|raw %}
{% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %} {% set columns = page.header.layout == 'standard' ? 'col-4 col-6-medium col-12-small' : 'col-6 col-12-small' %}
{% block menu %} {% block menu %}
@ -8,38 +10,38 @@
{% block content %} {% block content %}
<article class="post"> <article class="post">
<header> <header>
<div class="title"> <div class="title">
<h2>{{ page.header.title }}</h2> <h2>{{ title }}</h2>
{% if page.header.subtitle %} {% if subtitle %}
<p>{{ page.header.subtitle }}</p> <p>{{ subtitle }}</p>
{% endif %}
</div>
</header>
{% if page.header.primaryImage %}
{{ page.media[page.header.primaryImage].cropZoom(1038,437).loading('lazy').html(page.title, page.title, 'image featured')|raw }}
{% endif %} {% endif %}
</div>
{{ page.content|raw}} </header>
{% if image %}
{{ image.cropZoom(1038,437).loading('lazy').html(title, title, 'image featured')|raw }}
{% endif %}
{{ page.content|raw}}
<!-- Portfolio --> <!-- Portfolio -->
{% block portfolio %} {% block portfolio %}
<section> <section>
<div class="row aln-center"> <div class="row aln-center">
{% for item in page.header.images %} {% for item in page.header.images %}
<div class="{{columns}} portfolio_item"> <div class="{{columns}} portfolio_item">
<a href="{{page.media[item.image].url}}" class="glightbox" data-width="100vw" data-zoomable="true" data-glightbox='title: {{item.title}}; description: {{item.description|raw}}'> <a href="{{page.media[item.image].url}}" class="glightbox" data-width="100vw" data-zoomable="true" data-glightbox='title: {{item.title}}; description: {{item.description|raw}}'>
<span class="image fit"><img src="{{page.media[item.thumb].url}}" alt="image" /></span> <span class="image fit"><img src="{{page.media[item.thumb].url}}" alt="image"/></span>
</a> </a>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
</section> </section>
{% endblock %} {% endblock %}
</article> </article>
<section id="footer" class="align-center"> <section id="footer" class="align-center">
{% include 'partials/footer.html.twig' %} {% include 'partials/footer.html.twig' %}
</section> </section>
{% endblock %} {% endblock %}

View file

@ -1,42 +1,47 @@
{% extends 'partials/simplesearch_base.html.twig' %} {% extends 'partials/base.html.twig' %}
{% block menu %} {% block menu %}
{% include 'partials/sidebar_right.html.twig' %} {% include 'partials/sidebar_right.html.twig' %}
{% endblock %} {% endblock %}
{% block content %} {% block content %}
<article class="post simplesearch"> <article class="simplesearch">
<header> <header>
<div class="title"> <div class="title">
{% block results %} {% block results %}
<div class="content-padding simplesearch"> <div class="content-padding simplesearch">
<h1 class="search-header">{{ "PLUGIN_SIMPLESEARCH.SEARCH_RESULTS"|t }}</h1> <h1 class="search-header">{{ "PLUGIN_SIMPLESEARCH.SEARCH_RESULTS"|t }}</h1>
<div class="center"> <div class="center">
{% include 'partials/simplesearch_searchbox_results.html.twig' %} {% include 'partials/simplesearch_searchbox_results.html.twig' %}
</div>
<p class="published" >
{% if query %}
{% set count = search_results ? search_results.count : 0 %}
{% if count is same as( 1 ) %}
{{ "PLUGIN_SIMPLESEARCH.SEARCH_RESULTS_SUMMARY_SINGULAR"|t(query|e)|raw }}
{% else %}
{{ "PLUGIN_SIMPLESEARCH.SEARCH_RESULTS_SUMMARY_PLURAL"|t(query|e, count)|raw }}
{% endif %}
{% endif %}
</p>
</div> </div>
<p class="published">
{% if query %}
{% set count = search_results ? search_results.count : 0 %}
{% if count is same as( 1 ) %}
{{ "PLUGIN_SIMPLESEARCH.SEARCH_RESULTS_SUMMARY_SINGULAR"|t(query|e)|raw }}
{% else %}
{{ "PLUGIN_SIMPLESEARCH.SEARCH_RESULTS_SUMMARY_PLURAL"|t(query|e, count)|raw }}
{% endif %}
{% endif %}
</p>
</div>
{% endblock %} {% endblock %}
</div>
</div>
</header> </header>
{% for page in search_results %} {% for page in search_results %}
{% include 'partials/simplesearch_item.html.twig' with {'page':page} %} {% include 'partials/simplesearch_item.html.twig' with {'page':page} %}
{% endfor %} {% endfor %}
</article> </article>
{% if theme_config.sidebar == false %}
<section id="footer" class="align-center">
{% include 'partials/footer.html.twig' %}
</section>
{% endif %}
{% endblock %} {% endblock %}
{% block sidebar %} {% block sidebar %}
{% if theme_config.sidebar == true %}
{% include 'partials/sidebar_left.html.twig' %} {% include 'partials/sidebar_left.html.twig' %}
{% endif %}
{% endblock %} {% endblock %}