This commit is contained in:
Yuki 2025-11-04 01:30:53 -05:00
commit 74fbf0ba79
39 changed files with 508 additions and 0 deletions

5
.gitignore vendored Normal file
View File

@ -0,0 +1,5 @@
/public/
/resources/_gen/
/assets/jsconfig.json
hugo_stats.json
/.hugo_build.lock

5
archetypes/default.md Normal file
View File

@ -0,0 +1,5 @@
+++
date = '{{ .Date }}'
draft = true
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+++

BIN
content/1/1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

18
content/1/index.md Normal file
View File

@ -0,0 +1,18 @@
+++
date = '2025-11-04T00:00:00-05:00'
title = 'Zarmina'
type = 'story'
weight = 1
chapitres = ['1']
+++
![Le vaisseau Marc-Garneau, quittant la terre](/1/1.png)
Nous sommes en 2055. L'Agence spatiale canadienne, avec la collaboration de plusieurs pays, a mis au point un moteur permettant d'aller plus vite que la lumière, afin de pouvoir visiter et explorer des planètes à l'extérieur de notre système solaire, et ainsi en apprendre plus sur l'univers.
Pour la première fois, on envoie une mission habitée utilisant un moteur FTL, plus spécifiquement vers le système Gliese 581, une naine brune où on a détecté plusieurs planètes habitables et propices à la vie. Le voyage ne devrait durer que quelques jours, au plus, mais est néanmoins une mission extrêmement dangereuse.
Deux astronautes intrépides, le capitaine Neil Dravas et son second Eddy Cormier, se sont portés volontaires pour cette mission historique.
Et c'est ainsi que le 20 août 2055, ils décollèrent du centre spatial d'Arvida, à bord du vaisseau Marc-Garneau, pour aller là ou l'humanité n'aurait jamais pensé se rendre.
{{< link "2" >}}

9
content/apropos.md Normal file
View File

@ -0,0 +1,9 @@
+++
title = 'À propos'
+++
*Zarmina* est un roman graphique créé par JP Savard, à propos d'une planète du même nom, et d'un certain peuple de premières nations. C'est un roman qui reprend les codes des aventures en mode texte, comme on y jouait sur certains forums où un utilisateur suggérait une commande et un autre dessinait le résultat, tel que popularisé par des comics tels que [Homestuck](https://homestuck.com/).
Suivez le roman sur les réseaux sociaux:
[Groupe Tazor](https://groupe-tazor.com)\
[Facebook](https://www.facebook.com/zarminaxyz)

View File

@ -0,0 +1,4 @@
+++
title = 'Au départ'
weight = 1
+++

View File

@ -0,0 +1,3 @@
+++
title = 'Table des matières'
+++

14
content/credits.md Normal file
View File

@ -0,0 +1,14 @@
+++
title = 'Crédits'
+++
Créé et écrit par\
**JP Savard**
Art\
**葉月膤 (neige d'aout)**
Programmation\
**JP Savard**
Cette oeuvre est sous licence [Creative Commons BY-NC-SA 4.0](https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr). En gros, tu peux faire ce que tu veux avec, sauf que tu devras créditer les artistes, pas faire de cash directement sur mon dos sans permission, et toute dérivation et modification devrait être partagée sous les mêmes conditions.

4
content/log.md Normal file
View File

@ -0,0 +1,4 @@
+++
title = 'Journal'
layout = 'log'
+++

15
hugo.toml Normal file
View File

@ -0,0 +1,15 @@
baseURL = 'https://zarmina.space/'
languageCode = 'fr-CA'
title = 'Zarmina'
theme = 'zarmina'
[params]
home = '1'
[taxonomies]
chapitre = 'chapitres'
[markup]
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true

View File

@ -0,0 +1,5 @@
+++
date = '{{ .Date }}'
draft = true
title = '{{ replace .File.ContentBaseName "-" " " | title }}'
+++

View File

@ -0,0 +1,136 @@
@font-face {
font-family: "Videoway Mono-HiDpi";
src: local("Videoway Mono-HiDpi"),
url("/VideowayMonoHiDpi.woff2") format("woff"),
url("/VideowayMonoHiDpi.ttf") format("ttf");
}
*
{
margin: 0;
padding: 0;
}
body
{
--color-neil: #fcf;
--color-eddy: #cff;
background-color: #110811;
color: #eee;
font-family: "Cascadia Code", "Noto Sans Shavian", monospace;
font-size: 14px;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}
header, main, footer
{
max-width: 650px;
text-align: center;
margin: 1em auto;
}
header, footer
{
font-family: "Videoway Mono-HiDpi", "Noto Sans Shavian", monospace;
font-size: 11px;
}
header h1
{
font-size: 33px;
padding: 0.5em 0;
letter-spacing: 0.75em;
}
section
{
background-color: #333;
padding: 0.5em 1em;
}
section > *
{
padding: 0.5em 0;
}
section h2
{
font-size: 2em;
}
section img
{
margin: 0 -1em;
width: calc(100% + 2em);
}
section .log
{
text-align: left;
border: #999 1px dotted;
padding: 1em;
white-space: pre-wrap;
}
header nav ul
{
display: flex;
justify-content: space-evenly;
font-size: 11px;
}
header nav ul li
{
display: inline;
}
a
{
color: #33f;
}
.link
{
font-size: 1.5em;
text-align: left;
margin: 0.5em;
}
article
{
padding: 1em 0;
}
#log
{
list-style: none;
text-align: left;
}
code
{
font-family: "Cascadia Code", "Noto Sans Shavian", monospace;
font-weight: 400;
}
section nav
{
text-align: left;
font-size: 0.8em;
display: flex;
justify-content: space-between;
}
section ol, section ul
{
text-align: left;
padding-left: 2em;
}
section ol li a
{
float: right;
}

View File

@ -0,0 +1,17 @@
function save()
{
if(window.localStorage)
localStorage.save = location.pathname;
}
function load()
{
if(window.localStorage && localStorage.save)
location.pathname = localStorage.save;
}
function erase()
{
if(window.localStorage && localStorage.save)
delete localStorage.save;
}

39
themes/zarmina/hugo.toml Normal file
View File

@ -0,0 +1,39 @@
baseURL = 'https://zarmina.space/'
languageCode = 'fr-CA'
title = 'Zarmina'
[menus]
[[menus.main]]
name = 'Accueil'
pageRef = '/'
weight = 10
[[menus.main]]
name = 'À propos'
pageRef = '/apropos'
weight = 20
[[menus.main]]
name = 'Journal'
pageRef = '/log'
weight = 30
[[menus.main]]
name = 'Chapitres'
pageRef = '/chapitres'
weight = 40
[[menus.main]]
name = 'Nouveautés'
url = '/#news'
weight = 50
[[menus.main]]
name = 'Crédits'
url = '/credits'
weight = 60
[module]
[module.hugoVersion]
extended = false
min = '0.146.0'

View File

@ -0,0 +1,14 @@
<nav>
<span>
<a href="/1/">Recommencer</a>
{{ with .Page.Prev }}
| <a href="{{ .RelPermalink }}">Retour</a>
{{ else }}
{{ end }}
</span>
<span>
<a href="javascript:void(0)" onclick="save()">Sauvegarder</a>
| <a href="javascript:void(0)" onclick="load()">Recharger</a>
| <a href="javascript:void(0)" onclick="erase()">Effacer</a>
</span>
</nav>

View File

@ -0,0 +1,2 @@
<p>Copyright {{ now.Year }}. Certains droits réservés.</p>
<p><a href="https://creativecommons.org/licenses/by-nc-sa/4.0/deed.fr"><img src="https://mirrors.creativecommons.org/presskit/buttons/88x31/png/by-nc-sa.png" width="88"></a></p>

View File

@ -0,0 +1,8 @@
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Cascadia+Code:ital,wght@0,200..700;1,200..700&family=Noto+Sans+Shavian&display=swap" rel="stylesheet">
<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,9 @@
{{- with resources.Get "css/main.css" }}
{{- if hugo.IsDevelopment }}
<link rel="stylesheet" href="{{ .RelPermalink }}">
{{- else }}
{{- with . | minify | fingerprint }}
<link rel="stylesheet" href="{{ .RelPermalink }}" integrity="{{ .Data.Integrity }}" crossorigin="anonymous">
{{- 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,2 @@
<h1>{{ site.Title }}</h1>
{{ 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,2 @@
<iframe src="https://groupe-tazor.com/embed/user-timeline/aekj05ofjvs801nl?maxHeight=700" data-misskey-embed-id="v1_79339b0d-1fb3-4a0f-8596-4208f0351434" loading="lazy" referrerpolicy="strict-origin-when-cross-origin" style="border: none; width: 100%; max-width: 500px; height: 300px; color-scheme: light dark;"></iframe>
<script defer src="https://groupe-tazor.com/embed.js"></script>

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 @@
<abbr title="{{ .Get 0 }}">{{ .Inner }}</abbr>

View File

@ -0,0 +1 @@
<span style="color: var(--color-{{ lower (.Get 0) }});">{{ .Get 0 }}: {{ .Inner | .Page.RenderString }}</span>

View File

@ -0,0 +1,6 @@
{{ with .Page.GetPage (.Get 0) }}
<p class="link">
> <a href="{{ .Permalink }}">{{ .Title }}</a>
</p>
{{ else }}
{{ end }}

View File

@ -0,0 +1 @@
<pre class="log"><code>{{ .Inner | .Page.RenderString }}</code></pre>

View File

@ -0,0 +1,6 @@
<span style="{{- with .Get "color" -}}
color: {{ . }};
{{- end -}}
{{- with .Get "bg" -}}
background-color: {{ . }};
{{- end -}}">{{ .Inner | .Page.RenderString }}</span>

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>

View File

@ -0,0 +1,13 @@
{{ define "main" }}
{{ .Content }}
{{ with site.GetPage (site.Params.home) }}
<section>
<h2>{{ .Title }}</h2>
{{ .Content }}
{{ partial "controls.html" . }}
</section>
{{ end }}
<article id="news">
{{ partial "news.html" . }}
</article>
{{ end }}

View File

@ -0,0 +1,11 @@
{{ define "main" }}
<section>
<h2>{{ .Title }}</h2>
{{ .Content }}
<ul id="log">
{{ range where site.RegularPages.Reverse ".Type" "==" "story" }}
<li><time>{{ .Date | time.Format "2006/01/02" }}</time> <a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{ end }}
</ul>
</section>
{{ end }}

View File

@ -0,0 +1,7 @@
{{ define "main" }}
<section>
<h2>{{ .Title }}</h2>
{{ .Content }}
</section>
{{ end }}

View File

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

View File

@ -0,0 +1,8 @@
{{ define "main" }}
<section>
<h2>{{ .Title }}</h2>
{{ .Content }}
{{ partial "controls.html" . }}
</section>
{{ end }}

View File

@ -0,0 +1,15 @@
{{ define "main" }}
<section>
<h2>{{ .Title }}</h2>
{{ .Content }}
<ol>
{{ range .Pages }}
<li>{{ .LinkTitle }}
{{ range first 1 .Pages.ByDate }}
<a href="{{ .RelPermalink }}">{{ trim .RelPermalink "/" }}</a>
{{ end }}
</li>
{{ end }}
</ol>
</section>
{{ end }}

View File

@ -0,0 +1,11 @@
{{ define "main" }}
<section>
<h2>{{ .Title }}</h2>
{{ .Content }}
<ul id="log">
{{ range .Pages }}
<li><time>{{ .Date | time.Format "2006/01/02" }}</time> <a href="{{ .RelPermalink }}">{{ .LinkTitle }}</a></li>
{{ end }}
</ul>
</section>
{{ end }}

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB