Initial commit

This commit is contained in:
Christian Aribaud 2025-05-09 10:37:43 +02:00
commit 4e10967600
40 changed files with 1650 additions and 0 deletions

View file

@ -0,0 +1,2 @@
<p>Last modified: {{ .Lastmod | time.Format "January 2, 2006" }}</p>
<p>Copyright {{ now.Year }}. All rights reserved</p>

View file

@ -0,0 +1,5 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>{{ if .IsHome }}{{ site.Title }}{{ else }}{{ printf "%s | %s" .Title site.Title }}{{ end }}</title>
{{ partialCached "head/css.html" . }}
{{ partialCached "head/js.html" . }}

View file

@ -0,0 +1,16 @@
{{- with resources.Get "css/main.scss" }}
{{ $opts := dict
"enableSourceMap" hugo.IsDevelopment
"outputStyle" (cond hugo.IsDevelopment "expanded" "compressed")
"vars" site.Params.styles
}}
{{ with . | toCSS $opts }}
{{- if hugo.IsDevelopment }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,16 @@
{{- with resources.Get "js/main.js" }}
{{- $opts := dict
"minify" (not hugo.IsDevelopment)
"sourceMap" (cond hugo.IsDevelopment "external" "")
"targetPath" "js/main.js"
}}
{{- with . | js.Build $opts }}
{{- if hugo.IsDevelopment }}
<script src="{{ .RelPermalink }}"></script>
{{- else }}
{{- with . | fingerprint }}
<script src="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous"></script>
{{- end }}
{{- end }}
{{- end }}
{{- end }}

View file

@ -0,0 +1,6 @@
{{ $home := .Site.Home -}}
<a href="{{$home.RelPermalink}}" id="banner">
<h1>{{ site.Title }}</h1>
<p id="header-subtitle">A simple webcomic framework</p>
</a>
{{ partial "menu.html" (dict "menuID" "main" "page" .) }}

View file

@ -0,0 +1,51 @@
{{- /*
Renders a menu for the given menu ID.
@context {page} page The current page.
@context {string} menuID The menu ID.
@example: {{ partial "menu.html" (dict "menuID" "main" "page" .) }}
*/}}
{{- $page := .page }}
{{- $menuID := .menuID }}
{{- with index site.Menus $menuID }}
<nav>
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
</nav>
{{- end }}
{{- define "_partials/inline/menu/walk.html" }}
{{- $page := .page }}
{{- range .menuEntries }}
{{- $attrs := dict "href" .URL }}
{{- if $page.IsMenuCurrent .Menu . }}
{{- $attrs = merge $attrs (dict "class" "active" "aria-current" "page") }}
{{- else if $page.HasMenuCurrent .Menu .}}
{{- $attrs = merge $attrs (dict "class" "ancestor" "aria-current" "true") }}
{{- end }}
{{- $name := .Name }}
{{- with .Identifier }}
{{- with T . }}
{{- $name = . }}
{{- end }}
{{- end }}
<li>
<a
{{- range $k, $v := $attrs }}
{{- with $v }}
{{- printf " %s=%q" $k $v | safeHTMLAttr }}
{{- end }}
{{- end -}}
>{{ $name }}</a>
{{- with .Children }}
<ul>
{{- partial "inline/menu/walk.html" (dict "page" $page "menuEntries" .) }}
</ul>
{{- end }}
</li>
{{- end }}
{{- end }}

View file

@ -0,0 +1,13 @@
{{- $page := .page }}
{{- $header_level := .header_level }}
{{- if gt $page.Pages.Len 0 }}
<ol>
{{ range $page.Pages }}
<li>
<h{{ $header_level }}><a href='{{ .RelPermalink }}'>{{ .Title }}</a></h{{ $header_level }}>
{{- $header_level := add $header_level 1 }}
{{ partial "pagesTOC.html" (dict "page" . "header_level" $header_level) }}
</li>
{{ end }}
</ol>
{{ end -}}

View file

@ -0,0 +1,23 @@
{{- /*
For a given taxonomy, renders a list of terms assigned to the page.
@context {page} page The current page.
@context {string} taxonomy The taxonomy.
@example: {{ partial "terms.html" (dict "taxonomy" "tags" "page" .) }}
*/}}
{{- $page := .page }}
{{- $taxonomy := .taxonomy }}
{{- with $page.GetTerms $taxonomy }}
{{- $label := (index . 0).Parent.LinkTitle }}
<div>
<div>{{ $label }}:</div>
<ul>
{{- range . }}
<li><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{- end }}
</ul>
</div>
{{- end }}

View file

@ -0,0 +1,3 @@
<div class="warning">
{{ .InnerDeindent | .Page.RenderString }}
</div>

17
layouts/baseof.html Normal file
View file

@ -0,0 +1,17 @@
<!DOCTYPE html>
<html lang="{{ site.Language.LanguageCode }}" dir="{{ or site.Language.LanguageDirection `ltr` }}">
<head>
{{ partial "head.html" . }}
</head>
<body>
<header>
{{ partial "header.html" . }}
</header>
<main>
{{ block "main" . }}{{ end }}
</main>
<footer>
{{ partial "footer.html" . }}
</footer>
</body>
</html>

5
layouts/home.html Normal file
View file

@ -0,0 +1,5 @@
{{ define "main" }}
{{ .Content }}
<hr>
{{ partial "pagesTOC.html" (dict "page" . "header_level" 2) }}
{{ end }}

33
layouts/page.html Normal file
View file

@ -0,0 +1,33 @@
{{ define "main" }}
{{- $next_page := .CurrentSection.Pages.Prev . }}
{{- $current := . }}
{{- range .Ancestors }}
{{ with .Pages.Prev $current }}
{{ $next_page = . }}
{{ break }}
{{ end }}
{{ $current = . }}
{{- end }}
{{- $prev_page := .CurrentSection.Pages.Next . }}
{{- $prev_section := .Parent }}
<h1>{{ .Title }}</h1>
<p class="subtitle">Reading time: about {{ .ReadingTime }} min</p>
<hr>
<nav class="page-nav">
{{ with or $prev_page $prev_section }}<a class="prev" title="Previous page" href="{{.RelPermalink}}">&lt; {{ .Title }}</a>{{ end }}
{{ with $next_page }}<a class="next" title="Next page" href="{{.RelPermalink}}">{{ .Title }} &gt;</a>{{ end }}
</nav>
<hr>
{{ .Summary }}
{{- if .Params.show_toc -}}
<hr>
{{ .TableOfContents }}
<hr>
{{- end }}
{{ .ContentWithoutSummary }}
<hr>
<nav class="page-nav">
{{ with or $prev_page $prev_section }}<a class="prev" title="Previous page" href="{{.RelPermalink}}">&lt; {{ .Title }}</a>{{ end }}
{{ with $next_page }}<a class="next" title="Next page" href="{{.RelPermalink}}">{{ .Title }} &gt;</a>{{ end }}
</nav>
{{ end }}

50
layouts/section.html Normal file
View file

@ -0,0 +1,50 @@
{{ define "main" }}
{{- $prev_page := false }}
{{- /* Try to get the previous sibling */}}
{{- with .Parent.Pages.Next . }}
{{- /* Check if it's a section, if yes, get it's last page */}}
{{- if (and .IsSection (gt .Pages.Len 0 )) }}
{{- $prev_page = index .Pages.Reverse 0 }}
{{ else }}
{{- $prev_page = . }}
{{ end }}
{{ else }}
{{- /* No previous sibling, use the parent itself */}}
{{- $prev_page = .Parent }}
{{ end }}
{{- $next_page := false }}
{{- if gt .Pages.Len 0 }}
{{- $next_page = index .Pages 0 }}
{{- else }}
{{- with .Parent.Pages.Prev . }}
{{- $next_page = . }}
{{ end }}
{{- end }}
{{- $reading_time := 0}}
{{- range .RegularPagesRecursive }}
{{- $reading_time = add $reading_time .ReadingTime}}
{{- end}}
<h1>{{ .Title }}</h1>
<p class="subtitle">Total reading time: about {{ $reading_time }} min</p>
<hr>
<nav class="page-nav">
{{ with $prev_page }}<a class="prev" title="Previous page" href="{{.RelPermalink}}">&lt; {{ .Title }}</a>{{ end }}
{{ with $next_page }}<a class="next" title="Next page" href="{{.RelPermalink}}">{{ .Title }} &gt;</a>{{ end }}
</nav>
<hr>
{{ .Content }}
<hr>
{{ partial "pagesTOC.html" (dict "page" . "header_level" 2) }}
<hr>
<nav class="page-nav">
{{ with $prev_page }}<a class="prev" title="Previous page" href="{{.RelPermalink}}">&lt; {{ .Title }}</a>{{ end }}
{{ with $next_page }}<a class="next" title="Next page" href="{{.RelPermalink}}">{{ .Title }} &gt;</a>{{ end }}
</nav>
{{ end }}

7
layouts/taxonomy.html Normal file
View file

@ -0,0 +1,7 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ end }}

7
layouts/term.html Normal file
View file

@ -0,0 +1,7 @@
{{ define "main" }}
<h1>{{ .Title }}</h1>
{{ .Content }}
{{ range .Pages }}
<h2><a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></h2>
{{ end }}
{{ end }}