mirror of
https://github.com/theNewDynamic/gohugo-theme-ananke.git
synced 2025-06-08 17:22:46 +00:00
This change adds overrides for text scale, color, alignment, and padding in all layouts. This can be configured in site or page parameters, and can target the default for all layouts (mostly useful for scale and color), or for a specific layout (home, post, list, page, or terms). The parameters are named in the following way: <type>_<style>: - default_scale: Defines default scale for content (aka f5) - default_color: Defines default color for content (aka mid-gray) - default_padding: Defines default padding for content (aka ph*/pv*) - default_align: Defines default alignment for content (aka tc/tj) This can be overridden for "home", "post", "list", "page", or "terms" by using instead of "default". If a type-specific style is not specified, then it will fall back on "default", and if default is not specified, it will fall back on the Ananke theme default. Of course, theme users may put whatever classes they want in these settings, but it still is valuable to specify what will be overridden from the theme.
60 lines
2.7 KiB
HTML
Executable File
60 lines
2.7 KiB
HTML
Executable File
{{ define "main" }}
|
|
{{ $cpadding := $.Param "home_padding" | default ($.Param "default_padding") | default "ph3 ph5-l pv3 pv4-l" }}
|
|
{{ $cscale := $.Param "home_scale" | default ($.Param "default_scale") | default "f4" }}
|
|
{{ $calign := $.Param "home_align" | default ($.Param "default_align") | default "tc-l" }}
|
|
{{ $ccolor := $.Param "home_color" | default ($.Param "default_color") | default "mid-gray" }}
|
|
<article class="cf {{ $cpadding }} {{ $cscale }} {{ $calign }} center measure-wide lh-copy {{ $ccolor }}">
|
|
{{ .Content }}
|
|
</article>
|
|
{{/* Define a section to pull recent posts from. For Hugo 0.20 this will default to the section with the most number of pages. */}}
|
|
{{ $mainSections := .Site.Params.mainSections | default (slice "post") }}
|
|
{{/* Create a variable with that section to use in multiple places. */}}
|
|
{{ $section := where .Site.RegularPages "Section" "in" $mainSections }}
|
|
{{/* Check to see if the section is defined for ranging through it */}}
|
|
{{ $section_count := len $section }}
|
|
{{ if ge $section_count 1 }}
|
|
{{/* Derive the section name */}}
|
|
{{ $section_name := index (.Site.Params.mainSections) 0 }}
|
|
|
|
<div class="pa3 pa4-ns w-100 w-70-ns center">
|
|
{{/* Use $section_name to get the section title. Use "with" to only show it if it exists */}}
|
|
{{ with .Site.GetPage "section" $section_name }}
|
|
<h1 class="flex-none">
|
|
{{ $.Param "recent_copy" | default (i18n "recentTitle" .) }}
|
|
</h1>
|
|
{{ end }}
|
|
|
|
{{ $n_posts := $.Param "recent_posts_number" | default 3 }}
|
|
|
|
<section class="w-100 mw8">
|
|
{{/* Range through the first $n_posts items of the section */}}
|
|
{{ range (first $n_posts $section) }}
|
|
<div class="relative w-100 mb4">
|
|
{{ partial "summary-with-image.html" . }}
|
|
</div>
|
|
{{ end }}
|
|
</section>
|
|
|
|
{{ if ge $section_count (add $n_posts 1) }}
|
|
<section class="w-100">
|
|
<h1 class="f3">{{ i18n "more" }}</h1>
|
|
{{/* Now, range through the next four after the initial $n_posts items. Nest the requirements, "after" then "first" on the outside */}}
|
|
{{ range (first 4 (after $n_posts $section)) }}
|
|
<h2 class="f5 fw4 mb4 dib mr3">
|
|
<a href="{{ .RelPermalink }}" class="link black dim">
|
|
{{ .Title }}
|
|
</a>
|
|
</h2>
|
|
{{ end }}
|
|
|
|
{{/* As above, Use $section_name to get the section title, and URL. Use "with" to only show it if it exists */}}
|
|
{{ with .Site.GetPage "section" $section_name }}
|
|
<a href="{{ .RelPermalink }}" class="link db f6 pa2 br3 bg-mid-gray white dim w4 tc">{{ i18n "allTitle" . }}</a>
|
|
{{ end }}
|
|
</section>
|
|
{{ end }}
|
|
|
|
</div>
|
|
{{ end }}
|
|
{{ end }}
|