First version of the theme
11
CHANGELOG.md
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
# Changelog
|
||||||
|
All notable changes to this project will be documented in this file.
|
||||||
|
|
||||||
|
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||||
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||||
|
|
||||||
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [v0.1.0] - 2021-10-26
|
||||||
|
### Added
|
||||||
|
* First version of the theme
|
20
LICENSE
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2021 Gregory Trolliet
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
|
this software and associated documentation files (the "Software"), to deal in
|
||||||
|
the Software without restriction, including without limitation the rights to
|
||||||
|
use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||||
|
the Software, and to permit persons to whom the Software is furnished to do so,
|
||||||
|
subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||||
|
FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
|
||||||
|
COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||||
|
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
||||||
|
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
104
README.md
Normal file
|
@ -0,0 +1,104 @@
|
||||||
|
# Hugo theme : Frigg
|
||||||
|
|
||||||
|
This is a dark and classy Hugo theme.
|
||||||
|
|
||||||
|
## Installation
|
||||||
|
|
||||||
|
To install Simple-site theme, you can simply clone the repository
|
||||||
|
to your site's theme directory.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
$ mkdir themes
|
||||||
|
$ cd themes
|
||||||
|
$ git clone https://git.vulgarisons.info/raghnarok/hugo_frigg.git snotra
|
||||||
|
```
|
||||||
|
|
||||||
|
Don't forget to change the theme in your config.toml file.
|
||||||
|
|
||||||
|
## Configuration
|
||||||
|
|
||||||
|
### Base
|
||||||
|
|
||||||
|
```toml
|
||||||
|
baseurl = "https://yourdoma.in" # The base url of your Hugo website
|
||||||
|
title = "Title" # The title of your website
|
||||||
|
author = "Author" # The author of the website
|
||||||
|
language = "fr"
|
||||||
|
theme = "frigg" # The Hugo theme
|
||||||
|
```
|
||||||
|
|
||||||
|
### Menu
|
||||||
|
|
||||||
|
The menu is generated following all the files in the root directory
|
||||||
|
and the articles in the *blog* directory.
|
||||||
|
To avoid the *blog* entry to be pluralized,
|
||||||
|
add the following option to your config file:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
pluralizeListTitles = false
|
||||||
|
```
|
||||||
|
|
||||||
|
### Description
|
||||||
|
|
||||||
|
You can use some parameters to fill meta tags and bases images:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
description = "" # Description for the meta tag
|
||||||
|
favicon = "" # Favicon URL
|
||||||
|
logo = "" # Logo URL
|
||||||
|
keyword = "" # Keywords for the meta tag
|
||||||
|
```
|
||||||
|
|
||||||
|
The favicon is only the filename,
|
||||||
|
the file should be in *static/images* directory.
|
||||||
|
If favicon isn't set, the default test values are favicon.svg and favicon.png.
|
||||||
|
If none exists, there will be no favicon.
|
||||||
|
|
||||||
|
### Home page
|
||||||
|
|
||||||
|
The home page use one avatar, the name and one description.
|
||||||
|
|
||||||
|
Every pages get a list of social networks and others links.
|
||||||
|
For the social networks, see *Social Networks* chapter.
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
author = "Author" # The author of the website
|
||||||
|
info = "Your infos" # Displayed under author name
|
||||||
|
avatar = "file.png" # Placed in static/images
|
||||||
|
```
|
||||||
|
|
||||||
|
### Twitter:card
|
||||||
|
|
||||||
|
Twitter cards are automaticly generated.
|
||||||
|
If you want tho have the twitter:site meta generated,
|
||||||
|
add the following option to your config file:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
twitterUser = "youruser" # Your Twitter account without @
|
||||||
|
```
|
||||||
|
|
||||||
|
### Custom CSS
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[params]
|
||||||
|
custom_css = ["style.css"] # Your own css files
|
||||||
|
```
|
||||||
|
|
||||||
|
### Social Networks
|
||||||
|
|
||||||
|
You can also set some of your networks accounts to display on the home page.
|
||||||
|
Every social network (or not so network) have to be described with thoses
|
||||||
|
options:
|
||||||
|
|
||||||
|
```toml
|
||||||
|
[[params.social]]
|
||||||
|
name = "Title of the entry" # Title, used on hover
|
||||||
|
icon = "gitea" # Icon to use
|
||||||
|
weight = 1 # Sort order
|
||||||
|
url = "https://gitea.io/user" # Link to your account
|
||||||
|
```
|
||||||
|
|
||||||
|
You can also add some non social elements, you only need to have an icon.
|
10
archetypes/default.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
author: "Gregory Trolliet"
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
description: ""
|
||||||
|
images: []
|
||||||
|
categories: [""]
|
||||||
|
tags: ["",""]
|
||||||
|
draft: true
|
||||||
|
---
|
12
data/snotra/mois.yaml
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
1: "janvier"
|
||||||
|
2: "février"
|
||||||
|
3: "mars"
|
||||||
|
4: "avril"
|
||||||
|
5: "mai"
|
||||||
|
6: "juin"
|
||||||
|
7: "juillet"
|
||||||
|
8: "août"
|
||||||
|
9: "septembre"
|
||||||
|
10: "octobre"
|
||||||
|
11: "novembre"
|
||||||
|
12: "décembre"
|
51
i18n/fr.toml
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
[categories]
|
||||||
|
one = "catégorie"
|
||||||
|
other = "catégories"
|
||||||
|
|
||||||
|
[tags]
|
||||||
|
one = "tag"
|
||||||
|
other = "tags"
|
||||||
|
|
||||||
|
[articles]
|
||||||
|
one = "archive"
|
||||||
|
other = "archives"
|
||||||
|
|
||||||
|
[reading_time]
|
||||||
|
one = "Une minute de lecture"
|
||||||
|
other = "{{ .Count }} minutes de lecture"
|
||||||
|
|
||||||
|
[previous_article]
|
||||||
|
other = "article précédent"
|
||||||
|
|
||||||
|
[next_article]
|
||||||
|
other = "article suivant"
|
||||||
|
|
||||||
|
[alt_image]
|
||||||
|
other = "Image de l'article:"
|
||||||
|
|
||||||
|
[alt_avatar]
|
||||||
|
other = "Avatar de {{ .Site.Params.author }}"
|
||||||
|
|
||||||
|
[go_home]
|
||||||
|
other = "Retour à la page d'accueil"
|
||||||
|
|
||||||
|
[error_404]
|
||||||
|
other = "Erreur 404 : Page non trouvée"
|
||||||
|
|
||||||
|
[error_404_title]
|
||||||
|
other = "Title link"
|
||||||
|
|
||||||
|
[error_404_txt]
|
||||||
|
other = "Désolé, la page à laquelle vous essayez d'accéder n'existe pas."
|
||||||
|
|
||||||
|
[error_404_reasons]
|
||||||
|
other = """Raisons possibles :
|
||||||
|
<ul>
|
||||||
|
<li>La page que vous cherchez a été déplacée ou supprimée ;</li>
|
||||||
|
<li>Vous avez peut-être utilisé un lien obsolète ou rompu ;</li>
|
||||||
|
<li>Vous avez peut-être mal saisi l'adresse
|
||||||
|
(<abbr title="Uniform Resource Locator">URL</abbr>).</li>
|
||||||
|
</ul>"""
|
||||||
|
|
||||||
|
[page_top]
|
||||||
|
other = "revenir en haut de page"
|
20
layouts/404.html
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{{ define "main"}}
|
||||||
|
<main id="wrapper">
|
||||||
|
<section class="container error_page">
|
||||||
|
<div>
|
||||||
|
<h1 id="title">
|
||||||
|
{{ with .Site.Params.error404_definitionUrl }}
|
||||||
|
<a title="{{ i18n "error_404_title" }}" href="{{ . }}">
|
||||||
|
{{ end }}
|
||||||
|
{{ htmlUnescape (i18n "error_404") }}
|
||||||
|
{{ with .Site.Params.error404_definitionUrl }}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</h1>
|
||||||
|
<p>{{ i18n "error_404_txt" }}</p>
|
||||||
|
<p>{{ i18n "error_404_reasons" | markdownify }}</p>
|
||||||
|
</div>
|
||||||
|
<footer><a href="{{ "/" | relURL }}">{{ i18n "go_home" }}</a></footer>
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
{{ end }}
|
7
layouts/_default/_markup/render-heading.html
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
<h{{ .Level }} id="{{ .Anchor | safeURL }}">
|
||||||
|
<a class="anchor" href="#{{ .Anchor | safeURL }}">
|
||||||
|
#
|
||||||
|
<!-- {{ strings.Repeat .Level "#" }} -->
|
||||||
|
</a>
|
||||||
|
{{ .Text | safeHTML }}
|
||||||
|
</h{{ .Level }}>
|
12
layouts/_default/baseof.html
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
|
||||||
|
<body>
|
||||||
|
<!-- Code that all your templates share, like a header -->
|
||||||
|
{{ block "main" . }}
|
||||||
|
<!-- The part of the page that begins to differ between templates -->
|
||||||
|
{{ end }}
|
||||||
|
{{ block "footer" . }}
|
||||||
|
<!-- More shared code, perhaps a footer but that can be overridden if need be in -->
|
||||||
|
{{ end }}
|
||||||
|
</body>
|
||||||
|
</html>
|
6
layouts/_default/li.html
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
<li>
|
||||||
|
<span class="date">
|
||||||
|
{{ .Date.Day }} {{ index $.Site.Data.snotra.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}
|
||||||
|
</span>
|
||||||
|
<a class="title" href="{{ .Params.ExternalLink | default .RelPermalink }}">{{ .Title }}</a>
|
||||||
|
</li>
|
28
layouts/_default/list.html
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
<body>
|
||||||
|
<main class="wrapper">
|
||||||
|
{{ partial "navigation.html" . }}
|
||||||
|
|
||||||
|
<section id="blog-list" class="container liste">
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h1 class="list-title">
|
||||||
|
{{ if eq .Kind "taxonomy" }}
|
||||||
|
{{ i18n .Data.Plural 1 | title }}: {{ .Title }}
|
||||||
|
{{ else if eq .Kind "taxonomyTerm" }}
|
||||||
|
{{ i18n .Data.Plural | title }}
|
||||||
|
{{ end }}
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
<ul class="articles-list">
|
||||||
|
{{- range .Paginator.Pages -}}
|
||||||
|
{{- .Render "li" -}}
|
||||||
|
{{- end -}}
|
||||||
|
</ul>
|
||||||
|
</article>
|
||||||
|
{{ .Content }}
|
||||||
|
{{ partial "pagination.html" . }}
|
||||||
|
</section>
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
26
layouts/_default/rss.xml
Normal file
|
@ -0,0 +1,26 @@
|
||||||
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
|
||||||
|
<channel>
|
||||||
|
<title>{{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }}</title>
|
||||||
|
<link>{{ .Permalink }}</link>
|
||||||
|
<description>Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }}</description>
|
||||||
|
<generator>Hugo -- gohugo.io</generator>{{ with .Site.LanguageCode }}
|
||||||
|
<language>{{.}}</language>{{end}}{{ with .Site.Author.email }}
|
||||||
|
<managingEditor>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with .Site.Author.email }}
|
||||||
|
<webMaster>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with .Site.Copyright }}
|
||||||
|
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||||
|
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||||
|
{{ with .OutputFormats.Get "RSS" }}
|
||||||
|
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||||
|
{{ end }}
|
||||||
|
{{ range .Site.RegularPages }}
|
||||||
|
<item>
|
||||||
|
<title>{{ .Title }}</title>
|
||||||
|
<link>{{ .Permalink }}</link>
|
||||||
|
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||||
|
{{ with .Site.Author.email }}<author>{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||||
|
<guid>{{ .Permalink }}</guid>
|
||||||
|
<description>{{ .Content | html }}</description>
|
||||||
|
</item>
|
||||||
|
{{ end }}
|
||||||
|
</channel>
|
||||||
|
</rss>
|
16
layouts/_default/single.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
<body>
|
||||||
|
<main class="wrapper">
|
||||||
|
{{ partial "navigation.html" . }}
|
||||||
|
<section id="site-page" class="container page">
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h1 class="site-title">{{ .Title }}</h1>
|
||||||
|
</header>
|
||||||
|
{{ .Content }}
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
5
layouts/archives/li.html
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<a class="archive hidden_link" href="{{ .Params.ExternalLink | default .RelPermalink }}">
|
||||||
|
<img class="thumbnail" src="{{ .RelPermalink }}/thumb.jpg" />
|
||||||
|
<span class="description">{{ .Title }}</span>
|
||||||
|
<span class="more">→ plus d'infos</span>
|
||||||
|
</a>
|
24
layouts/archives/list.html
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
<body>
|
||||||
|
<main class="wrapper">
|
||||||
|
{{ partial "navigation.html" . }}
|
||||||
|
|
||||||
|
<section id="blog-list" class="container liste">
|
||||||
|
<article>
|
||||||
|
<header>
|
||||||
|
<h1 class="list-title">
|
||||||
|
{{ i18n "articles" | title }}
|
||||||
|
</h1>
|
||||||
|
</header>
|
||||||
|
<div class="archives-list">
|
||||||
|
{{- range .Paginator.Pages -}}
|
||||||
|
{{- .Render "li" -}}
|
||||||
|
{{- end -}}
|
||||||
|
</div>
|
||||||
|
</article>
|
||||||
|
{{ partial "pagination.html" . }}
|
||||||
|
</section>
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
63
layouts/archives/single.html
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
<body>
|
||||||
|
<main class="wrapper">
|
||||||
|
{{ partial "navigation.html" . }}
|
||||||
|
<section class="container archive">
|
||||||
|
<article>
|
||||||
|
<header class="post-header">
|
||||||
|
<h1 class="post-title">
|
||||||
|
{{ .Title }}
|
||||||
|
</h1>
|
||||||
|
{{ $img := newScratch }}
|
||||||
|
{{ $folder := (print "/content/" .File.Dir "gallery/") }}
|
||||||
|
{{ $files := readDir $folder }}
|
||||||
|
{{ range sort $files "Name" "asc" }}
|
||||||
|
{{ if not .IsDir }}
|
||||||
|
{{ $img.Add "list" (slice .Name) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ with ($img.Get "list") }}
|
||||||
|
{{ $img.Set "max" (add 1 (int (index (split (index (split (index (last 1 .) 0) ".") 0) "img") 1))) }}
|
||||||
|
{{ end }}
|
||||||
|
{{ range $index, $val := $img.Get "list" }}
|
||||||
|
{{ $curr := index (split $val ".") 0 }}
|
||||||
|
{{ $prec := mod (add (sub $index 1) ($img.Get "max")) ($img.Get "max") }}
|
||||||
|
{{ $next := mod (add $index 1) ($img.Get "max") }}
|
||||||
|
<a class="thumb hidden_link" href="#img{{ $index }}">
|
||||||
|
<img src="gallery/thumb/{{ $curr }}.jpg">
|
||||||
|
</a>
|
||||||
|
<!-- lightbox container hidden with CSS -->
|
||||||
|
<div class="lightbox" id="{{ $curr }}">
|
||||||
|
<a href="#img{{ $prec }}" class="light-btn hidden_link btn-prev"><<</a>
|
||||||
|
<a href="#_" class="btn-close hidden_link">X</a>
|
||||||
|
<img src="gallery/{{ $val }}">
|
||||||
|
<a href="#img{{ $next }}" class="light-btn hidden_link btn-next">>></a>
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
||||||
|
<div class="post-meta">
|
||||||
|
<!--div class="date">
|
||||||
|
<span class="posted-on">
|
||||||
|
<img class="page-icon header-icon" src="/svg/calendar.svg"/>
|
||||||
|
<time datetime='{{ .Date.Format "2006-01-02T15:04:05Z07:00" }}'>
|
||||||
|
Article publié le {{ .Date.Day }} {{ index $.Site.Data.snotra.mois (printf "%d" .Date.Month) }} {{ .Date.Year }}
|
||||||
|
</time>
|
||||||
|
</span>
|
||||||
|
<span class="reading-time">
|
||||||
|
<img class="page-icon header-icon" src="/svg/clock.svg"/>
|
||||||
|
{{ i18n "reading_time" .ReadingTime }}
|
||||||
|
</span>
|
||||||
|
</div-->
|
||||||
|
{{ partial "categories.html" .Page.Params.Categories }}
|
||||||
|
{{ partial "tags.html" .Page.Params.Tags }}
|
||||||
|
</div>
|
||||||
|
</header>
|
||||||
|
<div class="archive-body">
|
||||||
|
{{ .Content }}
|
||||||
|
</div>
|
||||||
|
{{ partial "article-footer.html" . }}
|
||||||
|
</article>
|
||||||
|
</section>
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
21
layouts/index.html
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
{{ partial "header.html" . }}
|
||||||
|
<body>
|
||||||
|
<main class="wrapper">
|
||||||
|
{{ partial "navigation.html" . }}
|
||||||
|
<div class="centered">
|
||||||
|
{{ partial "author.html" . }}
|
||||||
|
{{ if false }}
|
||||||
|
{{ range .Site.RegularPages }}
|
||||||
|
<header>
|
||||||
|
<h2><a href="{{ .RelPermalink }}">{{ .Title }}</a></h2>
|
||||||
|
</header>
|
||||||
|
<article>
|
||||||
|
{{ .Summary }}
|
||||||
|
</article>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ partial "footer.html" . }}
|
||||||
|
</main>
|
||||||
|
</body>
|
||||||
|
</html>
|
24
layouts/partials/article-footer.html
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
<footer class="archive-footer">
|
||||||
|
<span class="footer-return">
|
||||||
|
<a href="#">{{ i18n "page_top" | humanize }}</a>
|
||||||
|
</span><br/>
|
||||||
|
{{ if .PrevInSection }}
|
||||||
|
<span class="footer-link">
|
||||||
|
<span class="label">{{ i18n "previous_article" | humanize }}:</span>
|
||||||
|
<a href="{{ .PrevInSection.RelPermalink }}">
|
||||||
|
{{ .PrevInSection.Title }}
|
||||||
|
</a>
|
||||||
|
{{ if .NextInSection }}
|
||||||
|
<span class="spacer"></span>
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
{{ if .NextInSection }}
|
||||||
|
<span class="footer-link">
|
||||||
|
<span class="label">{{ i18n "next_article" | humanize }}:</span>
|
||||||
|
<a href="{{ .NextInSection.RelPermalink }}">
|
||||||
|
{{ .NextInSection.Title }}
|
||||||
|
</a>
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
</footer>
|
9
layouts/partials/author.html
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
<div id="author">
|
||||||
|
<div id="avatar" aria-hidden="true">
|
||||||
|
<img src="images/{{ .Site.Params.avatar }}" alt="avatar"/>
|
||||||
|
</div>
|
||||||
|
<div id="description">
|
||||||
|
<h1>{{ .Site.Params.author }}</h1>
|
||||||
|
<h2>{{ .Site.Params.info }}</h2>
|
||||||
|
</div>
|
||||||
|
</div>
|
13
layouts/partials/categories.html
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
{{ if . }}
|
||||||
|
<div class="categories">
|
||||||
|
<img class="page-icon header-icon" src="/svg/folder.svg"/>
|
||||||
|
{{ range $index, $el := . }}
|
||||||
|
{{ if gt $index 0 }}
|
||||||
|
<span class="separator">•</span>
|
||||||
|
{{ end }}
|
||||||
|
<a href="{{ ( printf "categories/%s/" ( $el | urlize ) ) | relLangURL }}">
|
||||||
|
{{ . }}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
5
layouts/partials/footer.html
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
<div id="footer">
|
||||||
|
<div id="footer-name" class="footer-element">{{ .Site.Params.name }}</div>
|
||||||
|
<!--div id="footer-mail" class="footer-element"><a href="mailto:{{ .Site.Params.mail }}">{{ .Site.Params.mail }}</a></div-->
|
||||||
|
{{ partial "social.html" . }}
|
||||||
|
</div>
|
0
layouts/partials/head.html
Normal file
46
layouts/partials/header.html
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang='{{ .Site.Language.Lang }}'>
|
||||||
|
<head>
|
||||||
|
<title>{{ .Title }}</title>
|
||||||
|
<meta http-equiv="content-type" content="text/html; charset=utf-8">
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
|
||||||
|
{{ if .Description }}
|
||||||
|
<meta name="description" content="{{ .Description }}">
|
||||||
|
{{ else }}
|
||||||
|
<meta name="description" content="{{ .Site.Params.description }}">
|
||||||
|
{{ end }}
|
||||||
|
{{ if .Params.Tags }}
|
||||||
|
<meta name="keywords" content="{{ delimit .Params.Tags ", "}}">
|
||||||
|
{{ else }}
|
||||||
|
<meta name="keywords" content="{{ .Site.Params.keywords }}">
|
||||||
|
{{ end }}
|
||||||
|
{{ if .Params.author }}
|
||||||
|
<meta name="author" content="{{ .Params.author }}">
|
||||||
|
{{ else }}
|
||||||
|
<meta name="author" content="{{ .Site.Params.author }}">
|
||||||
|
{{ end }}
|
||||||
|
<link rel="stylesheet" href="/css/style.css">
|
||||||
|
<link href="{{ .Site.RSSLink }}" rel="alternate" type="application/rss+xml" title="{{ .Site.Title }}">
|
||||||
|
{{ if and (.Site.Params.favicon) (fileExists (print "static/images/" .Site.Params.favicon)) }}
|
||||||
|
{{ $name := .Site.Params.favicon }}
|
||||||
|
{{ $splitted := split $name "." }}
|
||||||
|
{{ $extension := index $splitted 1 }}
|
||||||
|
{{ if ( in "svg" $extension) }}
|
||||||
|
<link rel="icon" type="image/svg+xml" href="{{ $.Site.BaseURL }}images/{{ $name }}" sizes="any">
|
||||||
|
{{ else if (in "gif png" $extension) }}
|
||||||
|
<link rel="icon" type="image/{{ $extension }}" href="{{ $.Site.BaseURL }}images/{{ $name }}">
|
||||||
|
{{ end}}
|
||||||
|
{{ else if (fileExists "static/images/favicon.svg") }}
|
||||||
|
<link rel="icon" type="image/svg+xml" href="{{ $.Site.BaseURL }}images/favicon.svg">
|
||||||
|
{{ else if (fileExists "static/images/favicon.png") }}
|
||||||
|
<link rel="icon" type="image/png" href="{{ $.Site.BaseURL }}images/favicon.png">
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
|
||||||
|
{{ partial "opengraph.html" . }}
|
||||||
|
|
||||||
|
{{ range .Site.Params.custom_css }}
|
||||||
|
<link rel="stylesheet" href="{{ . | relURL }}"/>
|
||||||
|
{{ end }}
|
||||||
|
{{ hugo.Generator }}
|
||||||
|
</head>
|
22
layouts/partials/navigation.html
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
<nav id="navigation">
|
||||||
|
<section class="navigation-container">
|
||||||
|
<a id="navigation-title" href="/">
|
||||||
|
{{ .Site.Title }}
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<input type="checkbox" id="menu-toggle" />
|
||||||
|
<label class="menu-button" for="menu-toggle">
|
||||||
|
<div class="menu-button-inner">
|
||||||
|
<div class="menu-button-image"></div>
|
||||||
|
</div>
|
||||||
|
</label>
|
||||||
|
|
||||||
|
<ul id="navigation-list">
|
||||||
|
{{ range .Site.Home.Pages }}
|
||||||
|
<li class="navigation-item">
|
||||||
|
<a href="{{ .RelPermalink }}">{{ .Name }}</a>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
</section>
|
||||||
|
</nav>
|
38
layouts/partials/opengraph.html
Normal file
|
@ -0,0 +1,38 @@
|
||||||
|
<meta name="twitter:card" content="summary_large_image"/>
|
||||||
|
{{ with .Site.Params.twitterUser }}
|
||||||
|
<meta name="twitter:site" content="@{{ . }}"/>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<meta name="twitter:title" content="{{ .Title }}"/>
|
||||||
|
{{ if .Description }}
|
||||||
|
<meta name="twitter:description" content="{{ .Description }}"/>
|
||||||
|
{{ else }}
|
||||||
|
<meta name="twitter:description" content="{{ .Site.Params.description }}"/>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
<meta property="og:title" content="{{ .Title }}" />
|
||||||
|
{{ if .Description }}
|
||||||
|
<meta property="og:description" content="{{ .Description }}"/>
|
||||||
|
{{ else }}
|
||||||
|
<meta property="og:description" content="{{ .Site.Params.description }}"/>
|
||||||
|
{{ end }}
|
||||||
|
{{ if eq .Kind "page" }}
|
||||||
|
<meta property="og:type" content="article" />
|
||||||
|
{{ else }}
|
||||||
|
<meta property="og:type" content="website" />
|
||||||
|
{{ end }}
|
||||||
|
<meta property="og:url" content="{{ .Permalink }}" />
|
||||||
|
{{ $title := .Title }}
|
||||||
|
{{if .Params.images }}
|
||||||
|
{{ $baseUrl := .Permalink }}
|
||||||
|
{{ $altText := i18n "alt_image" }}
|
||||||
|
{{ range first 1 .Params.images }}
|
||||||
|
<meta property="og:image" content="{{ $baseUrl }}{{ . }}"/>
|
||||||
|
<meta property="og:image:alt" content="{{ $altText }} {{ $title }}"/>
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
<meta property="og:image" content="{{ .Site.BaseURL }}images/avatar.png"/>
|
||||||
|
<meta property="og:image:alt" content="{{ i18n "alt_avatar" . }}"/>
|
||||||
|
{{ end }}
|
||||||
|
<meta property="og:updated_time" content="{{ .Site.LastChange }}" />
|
||||||
|
<meta property="og:site_name" content="{{ .Site.Title }}" />
|
51
layouts/partials/pagination.html
Normal file
|
@ -0,0 +1,51 @@
|
||||||
|
{{ $paginator := .Paginator }}
|
||||||
|
{{ $adjacent_links := 2 }}
|
||||||
|
{{ $max_links := (add (mul $adjacent_links 2) 1) }}
|
||||||
|
{{ $lower_limit := (add $adjacent_links 1) }}
|
||||||
|
{{ $upper_limit := (sub $paginator.TotalPages $adjacent_links) }}
|
||||||
|
|
||||||
|
{{ if gt $paginator.TotalPages 1 }}
|
||||||
|
<ul class="pagination">
|
||||||
|
{{ if $paginator.HasPrev }}
|
||||||
|
{{ if ne $paginator.PageNumber 2 }}
|
||||||
|
<li><a href="{{ $paginator.First.URL }}">«</a></li>
|
||||||
|
{{ end }}
|
||||||
|
<li class="hidden"><a href="{{ $paginator.Prev.URL }}">‹</a></li>
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ range $paginator.Pagers }}
|
||||||
|
{{ $.Scratch.Set "page_number_flag" false }}
|
||||||
|
{{ if gt $paginator.TotalPages $max_links }}
|
||||||
|
{{ if le $paginator.PageNumber $lower_limit }}
|
||||||
|
{{ if le .PageNumber $max_links }}
|
||||||
|
{{ $.Scratch.Set "page_number_flag" true }}
|
||||||
|
{{ end }}
|
||||||
|
{{ else if ge $paginator.PageNumber $upper_limit }}
|
||||||
|
{{ if gt .PageNumber (sub $paginator.TotalPages $max_links) }}
|
||||||
|
{{ $.Scratch.Set "page_number_flag" true }}
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
{{ if and ( ge .PageNumber (sub $paginator.PageNumber $adjacent_links) ) ( le .PageNumber (add $paginator.PageNumber $adjacent_links) ) }}
|
||||||
|
{{ $.Scratch.Set "page_number_flag" true }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ else }}
|
||||||
|
{{ $.Scratch.Set "page_number_flag" true }}
|
||||||
|
{{ end }}
|
||||||
|
{{ if eq ($.Scratch.Get "page_number_flag") true }}
|
||||||
|
{{ if eq . $paginator }}
|
||||||
|
<li>{{ .PageNumber }}</li>
|
||||||
|
{{ else }}
|
||||||
|
<li><a href="{{ .URL }}">{{ .PageNumber }}</a></li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if $paginator.HasNext }}
|
||||||
|
<li class="hidden"><a href="{{ $paginator.Next.URL }}">›</a></li>
|
||||||
|
{{ if ne $paginator.PageNumber (sub $paginator.TotalPages 1) }}
|
||||||
|
<li><a href="{{ $paginator.Last.URL }}">»</a></li>
|
||||||
|
{{ end }}
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
11
layouts/partials/social.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{{ with .Site.Params.social }}
|
||||||
|
<ul id="social">
|
||||||
|
{{ range sort . "weight" }}
|
||||||
|
<li class="social-element">
|
||||||
|
<a href="{{ safeURL .url }}" rel="me" aria-label="{{ .name }}" title="{{ .name }}">
|
||||||
|
<img class="social-icon" src="{{ .Site.BaseURL }}/svg/{{ .icon }}.svg" alt="{{ .name }}" aria-hidden="true">
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{ end }}
|
||||||
|
</ul>
|
||||||
|
{{ end }}
|
11
layouts/partials/tags.html
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
{{ if . }}
|
||||||
|
<div class="tags">
|
||||||
|
<img class="page-icon header-icon" src="/svg/tag.svg"/>
|
||||||
|
{{ range $index, $el := . }}
|
||||||
|
{{ if gt $index 0 }}
|
||||||
|
<span class="separator">•</span>
|
||||||
|
{{ end }}
|
||||||
|
<a href="{{ ( printf "tags/%s/" ( $el | urlize ) ) | relLangURL }}">{{ . }}</a>
|
||||||
|
{{ end }}
|
||||||
|
</div>
|
||||||
|
{{ end }}
|
42
layouts/shortcodes/img.html
Normal file
|
@ -0,0 +1,42 @@
|
||||||
|
{{ $img := $.Page.Resources.GetMatch (.Get "src")}}
|
||||||
|
{{ $name_splitted := split $img.RelPermalink "." }}
|
||||||
|
{{ $name_base := index $name_splitted 0 }}
|
||||||
|
{{ $ext_base := index $name_splitted 1 }}
|
||||||
|
<figure {{ with .Get "class" }} class="{{ . }}"{{ end }}>
|
||||||
|
{{ with .Get "link" }}
|
||||||
|
<a href="{{ . | absURL }}">
|
||||||
|
{{ else }}
|
||||||
|
<a href="{{ $img.RelPermalink }}">
|
||||||
|
{{ end }}
|
||||||
|
<picture>
|
||||||
|
{{ if ( in "svg ico gif" $ext_base ) }}
|
||||||
|
<img src="{{ $img.RelPermalink }}"
|
||||||
|
{{ with .Get "alt"}} alt="{{ . }}"{{ end }}
|
||||||
|
{{ with .Get "title"}} title="{{ . }}"{{ end }}/>
|
||||||
|
{{ else }}
|
||||||
|
<source srcset="{{ $name_base }}.thumb.avif" type="image/avif"/>
|
||||||
|
<source srcset="{{ $name_base }}.thumb.webp" type="image/webp"/>
|
||||||
|
<img src="{{ $name_base }}.thumb.{{ $ext_base }}"
|
||||||
|
{{ with .Get "alt"}} alt="{{ . }}"{{ end }}
|
||||||
|
{{ with .Get "title"}} title="{{ . }}"{{ end }}/>
|
||||||
|
{{ end }}
|
||||||
|
</picture>
|
||||||
|
</a>
|
||||||
|
{{ if .Get "caption" }}
|
||||||
|
<figcaption>
|
||||||
|
<p>{{ .Get "caption" }}
|
||||||
|
{{ if .Get "attr" }}
|
||||||
|
<span class="attribution">
|
||||||
|
{{ with .Get "attrlink" }}
|
||||||
|
<a href="{{ . }}">
|
||||||
|
{{ end }}
|
||||||
|
{{ .Get "attr" }}
|
||||||
|
{{ with .Get "attrlink" }}
|
||||||
|
</a>
|
||||||
|
{{ end }}
|
||||||
|
</span>
|
||||||
|
{{ end }}
|
||||||
|
</p>
|
||||||
|
</figcaption>
|
||||||
|
{{ end }}
|
||||||
|
</figure>
|
18
layouts/shortcodes/quote.html
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
<blockquote {{ with .Get "class" }}class="{{ . }}"{{ end }}{{ with .Get "url" }} cite="{{ . }}" {{ end }}>
|
||||||
|
{{ $s := split (trim .Inner "\t \n") "\n\n" }}
|
||||||
|
{{ if eq ( first 1 $s) ( last 1 $s )}}
|
||||||
|
<p>{{ .Inner | markdownify }}</p>
|
||||||
|
{{ else }}
|
||||||
|
{{ .Inner | markdownify }}
|
||||||
|
{{ end }}
|
||||||
|
{{ if .Get "author" }}
|
||||||
|
<footer>
|
||||||
|
<cite>
|
||||||
|
{{ with .Get "url" }}
|
||||||
|
<a href="{{ . }}" {{ with $.Get "title"}}title="{{ . }}"{{ end }}>
|
||||||
|
{{ end }}
|
||||||
|
{{ .Get "author" | markdownify }}
|
||||||
|
{{ with .Get "url" }}</a>{{end}}</cite>
|
||||||
|
</footer>
|
||||||
|
{{ end }}
|
||||||
|
</blockquote>
|
3
layouts/shortcodes/table_of_contents.html
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<div class="toc">
|
||||||
|
{{ .Page.TableOfContents }}
|
||||||
|
</div>
|
8
layouts/shortcodes/tabular.html
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
<figure class="tabular {{ with .Get "class"}}{{ . }}{{ end }}">
|
||||||
|
{{ .Inner | markdownify }}
|
||||||
|
{{ with .Get "title" }}
|
||||||
|
<figcaption>
|
||||||
|
<p>{{ . }}</p>
|
||||||
|
</figcaption>
|
||||||
|
{{ end }}
|
||||||
|
</figure>
|
876
static/css/style.css
Normal file
|
@ -0,0 +1,876 @@
|
||||||
|
/******************* Constants *******************/
|
||||||
|
:root {
|
||||||
|
--font-color: #EFEFEF;
|
||||||
|
--font-color_rgb: 239, 239, 239;
|
||||||
|
--font-color-em: #8C8C8C;
|
||||||
|
--background-color: #1C1C1C;
|
||||||
|
--background-color-light: #252525;
|
||||||
|
--background-color-dark: #121212;
|
||||||
|
--avatar-background: #B6B6B6;
|
||||||
|
--color01: #799479;
|
||||||
|
--color01_bright: #58af58;
|
||||||
|
--color02: #8f8071;
|
||||||
|
--color02_bright: #b88a5b;
|
||||||
|
--color03: #871818;
|
||||||
|
|
||||||
|
--image-margin-side: 2.5em;
|
||||||
|
|
||||||
|
--content-width: 900px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Page *******************/
|
||||||
|
* {
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
html {
|
||||||
|
background-color: var(--background-color);
|
||||||
|
font-family: Lato, Helvetica, sans-serif;
|
||||||
|
font-size: medium;
|
||||||
|
color: var(--font-color);
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
html {
|
||||||
|
font-size: large;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
p, ul, ol {
|
||||||
|
line-height: 1.6em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Links *******************/
|
||||||
|
a {
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--font-color);
|
||||||
|
}
|
||||||
|
a:not(.anchor):not(.hidden_link) {
|
||||||
|
border-bottom: 1px dotted;
|
||||||
|
transition: box-shadow 0.2s ease, outline-offset 0.2s ease, transform 0.2s ease, background 0.4s ease;
|
||||||
|
}
|
||||||
|
a:visited {
|
||||||
|
color: var(--font-color);
|
||||||
|
}
|
||||||
|
a:hover {
|
||||||
|
outline: 1px solid;
|
||||||
|
outline-offset: .3em;
|
||||||
|
}
|
||||||
|
a:not(.anchor):not(.hidden_link):hover {
|
||||||
|
border-bottom: 1px dashed;
|
||||||
|
}
|
||||||
|
a:not(.anchor):not(.hidden_link):active {
|
||||||
|
border-bottom: 1px solid;
|
||||||
|
}
|
||||||
|
a.not(.anchor):focus {
|
||||||
|
outline-offset: .3em;
|
||||||
|
outline: 1px solid;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Wrapper *******************/
|
||||||
|
.wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Home Page *******************/
|
||||||
|
.centered {
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
margin: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Navbar *******************/
|
||||||
|
#navigation {
|
||||||
|
height: 4em;
|
||||||
|
width: 100%;
|
||||||
|
line-height: 4em;
|
||||||
|
}
|
||||||
|
#navigation a {
|
||||||
|
padding: 1em;
|
||||||
|
padding-bottom: 0.75em; /* Pour éviter d'avoir un espace trop grand en bas*/
|
||||||
|
border: none;
|
||||||
|
border-radius: 0.5em;
|
||||||
|
}
|
||||||
|
#navigation a:hover {
|
||||||
|
background-color: var(--font-color);
|
||||||
|
text-decoration: none;
|
||||||
|
color: var(--background-color);
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
#navigation a:active {
|
||||||
|
color: var(--font-color);
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
#navigation a:focus {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
#navigation .navigation-container,
|
||||||
|
#footer {
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 90vw;
|
||||||
|
}
|
||||||
|
#footer {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 1em;
|
||||||
|
padding: 0 1em;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
#navigation .navigation-container,
|
||||||
|
#footer {
|
||||||
|
max-width: 100vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 1000px) {
|
||||||
|
#navigation .navigation-container,
|
||||||
|
#footer {
|
||||||
|
max-width: var(--content-width);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#navigation-title {
|
||||||
|
letter-spacing: .1rem;
|
||||||
|
text-transform: uppercase;
|
||||||
|
font-weight: bold;
|
||||||
|
font-size: 1em;
|
||||||
|
}
|
||||||
|
#social {
|
||||||
|
list-style: none;
|
||||||
|
padding: 0;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
#social .social-element {
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
height: 2em;
|
||||||
|
margin-top: .7em;
|
||||||
|
}
|
||||||
|
#social .social-element a {
|
||||||
|
height: 1.5em;
|
||||||
|
display: inline-block;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
#social .social-element a:active {
|
||||||
|
outline: 2px solid;
|
||||||
|
}
|
||||||
|
#social .social-icon {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
#social .social-element a {
|
||||||
|
height: 2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
/******************* Navbar Menu *******************/
|
||||||
|
#menu-toggle {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
#navigation .menu-button {
|
||||||
|
float: right;
|
||||||
|
position: relative;
|
||||||
|
display: none;
|
||||||
|
width: 4em;
|
||||||
|
height: 4em;
|
||||||
|
}
|
||||||
|
#navigation .menu-button-inner {
|
||||||
|
width: 3em;
|
||||||
|
height: 3em;
|
||||||
|
position:relative;
|
||||||
|
top: 0.5em;
|
||||||
|
left: 0.5em;
|
||||||
|
text-align:center
|
||||||
|
}
|
||||||
|
#navigation .menu-button .menu-button-image {
|
||||||
|
display: inline-block;
|
||||||
|
position: relative;
|
||||||
|
height: 1.5em;
|
||||||
|
width: 1.5em;
|
||||||
|
top: 0.75em;
|
||||||
|
background-image: url(../svg/bars.svg);
|
||||||
|
background-size: contain;
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
margin: auto;
|
||||||
|
vertical-align: top;
|
||||||
|
}
|
||||||
|
#menu-toggle:checked + .menu-button .menu-button-inner {
|
||||||
|
background-color: var(--link-hover-background);
|
||||||
|
border-radius: 0.5em;
|
||||||
|
transition: background .5s, max-height .35s linear;
|
||||||
|
}
|
||||||
|
#menu-toggle:checked + .menu-button .menu-button-image {
|
||||||
|
opacity: 40%;
|
||||||
|
}
|
||||||
|
#navigation-list {
|
||||||
|
position: absolute;
|
||||||
|
top: 6rem;
|
||||||
|
right: 0;
|
||||||
|
visibility: hidden;
|
||||||
|
opacity: 0;
|
||||||
|
max-height: 0;
|
||||||
|
width: 100%;
|
||||||
|
font-size: 1.5em;
|
||||||
|
background-color: var(--background-color);
|
||||||
|
border-top: solid 2px var(--font-color);
|
||||||
|
border-bottom: solid 2px var(--font-color);
|
||||||
|
transition: opacity .5s, max-height .35s linear;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
#navigation-list .navigation-item {
|
||||||
|
float: none !important;
|
||||||
|
text-align: center;
|
||||||
|
margin: 0;
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
#navigation-list .navigation-item,
|
||||||
|
#navigation-list .navigation-item span {
|
||||||
|
line-height: 5rem;
|
||||||
|
}
|
||||||
|
#menu-toggle:checked + label + ul {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
max-height: 100rem;
|
||||||
|
z-index: 100;
|
||||||
|
}
|
||||||
|
#navigation .menu-button {
|
||||||
|
display: block;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
#navigation-list {
|
||||||
|
position: relative;
|
||||||
|
float: right;
|
||||||
|
top: 0;
|
||||||
|
max-height: none;
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 100;
|
||||||
|
width: auto;
|
||||||
|
border: none;
|
||||||
|
list-style: none;
|
||||||
|
font-size: 1em;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
#navigation-list .navigation-item {
|
||||||
|
display: inline-block;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 4rem;
|
||||||
|
}
|
||||||
|
#navigation-list .navigation-item a,
|
||||||
|
#navigation-list .navigation-item span {
|
||||||
|
line-height: 1rem;
|
||||||
|
}
|
||||||
|
#menu-toggle:checked + label + ul {
|
||||||
|
visibility: visible;
|
||||||
|
opacity: 1;
|
||||||
|
max-height: 100rem;
|
||||||
|
}
|
||||||
|
#navigation .menu-button {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Author Infos *******************/
|
||||||
|
#author {
|
||||||
|
text-align: center;
|
||||||
|
margin: 0 auto;
|
||||||
|
max-width: 90vw;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
#author {
|
||||||
|
max-width: 100vw;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 1000px) {
|
||||||
|
#author {
|
||||||
|
max-width: var(--content-width);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#avatar img {
|
||||||
|
width: 20vw;
|
||||||
|
min-width: 120px;
|
||||||
|
max-width: 200px;
|
||||||
|
border-radius: 40%;
|
||||||
|
background-color: var(--avatar-background);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/******************* Simple Page *******************/
|
||||||
|
.container {
|
||||||
|
max-width: 90vw;
|
||||||
|
margin: 0 auto;
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 1000px) {
|
||||||
|
.container {
|
||||||
|
max-width: var(--content-width);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.page-icon {
|
||||||
|
width: 1em;
|
||||||
|
height: 1em;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Error Page *******************/
|
||||||
|
.error_page {
|
||||||
|
width: max-content;
|
||||||
|
}
|
||||||
|
.error_page footer {
|
||||||
|
padding-top: 1em;
|
||||||
|
border-top: 1px solid var(--font-color);
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Error Page *******************/
|
||||||
|
#blog-list .list-title,
|
||||||
|
#site-page .site-title {
|
||||||
|
font-size: 2rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archives List *******************/
|
||||||
|
.archives-list {
|
||||||
|
list-style: none;
|
||||||
|
padding-left: 0;
|
||||||
|
}
|
||||||
|
.archives-list .archive {
|
||||||
|
display: block;
|
||||||
|
position: relative;
|
||||||
|
margin: 1em 0;
|
||||||
|
overflow: auto;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.archives-list .archive:hover {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.archives-list .archive .title {
|
||||||
|
height: 100px;
|
||||||
|
}
|
||||||
|
.archives-list .thumbnail {
|
||||||
|
display: block;
|
||||||
|
width: 15em;
|
||||||
|
text-align: left;
|
||||||
|
padding-right: 1.5em;
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
.archives-list .thumbnail {
|
||||||
|
display: inline-block;
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.archives-list .description {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
.archive .more {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 0;
|
||||||
|
right: 0;
|
||||||
|
font-style: italic;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Letters *******************/
|
||||||
|
#letter-counter {
|
||||||
|
margin: auto;
|
||||||
|
width: fit-content;
|
||||||
|
width: -moz-fit-content;
|
||||||
|
}
|
||||||
|
#letter-counter #counter {
|
||||||
|
border: 1px solid white;
|
||||||
|
margin-top: 0.5em;
|
||||||
|
padding: .7em;
|
||||||
|
text-align: center;
|
||||||
|
font-size: 2.5em;
|
||||||
|
}
|
||||||
|
#letter-form {
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
#letter-choice {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
#letter-choice-title {
|
||||||
|
float: left;
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
#letter-form input,
|
||||||
|
#letter-form label {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
#letter-choice>p,
|
||||||
|
#letter-form>label {
|
||||||
|
display: inline-block;
|
||||||
|
min-width: 10em;
|
||||||
|
}
|
||||||
|
#letter-choice input:first-of-type {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
#letter-form input[type="text"] {
|
||||||
|
height: 2em;
|
||||||
|
width: 20em;
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
#letter-form #submit {
|
||||||
|
padding: 0.5em 0.8em;
|
||||||
|
}
|
||||||
|
/******************* Paginator *******************/
|
||||||
|
.pagination {
|
||||||
|
padding-left: 0;
|
||||||
|
margin: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.pagination li {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Article *******************/
|
||||||
|
.container article {
|
||||||
|
margin: 0 1em;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
.container article {
|
||||||
|
margin: 0em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Article Header *******************/
|
||||||
|
.container article .post-title {
|
||||||
|
margin-bottom: 0.3em;
|
||||||
|
}
|
||||||
|
.container article .post-title a:hover {
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
.container article .post-title a:active {
|
||||||
|
border-bottom: 1px solid;
|
||||||
|
}
|
||||||
|
.post-meta {
|
||||||
|
margin-top: 1em;
|
||||||
|
}
|
||||||
|
.post-meta>div {
|
||||||
|
line-height: 2em;
|
||||||
|
}
|
||||||
|
.post-meta .date span {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.post-meta .posted-on {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
.post-meta .categories, .post-meta .tags {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.post-meta .categories {
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
.post-meta .header-icon {
|
||||||
|
vertical-align: baseline;
|
||||||
|
margin-right: 0.3em;
|
||||||
|
}
|
||||||
|
.post-header {
|
||||||
|
margin-top: 3.5rem;
|
||||||
|
margin-bottom: 1.8rem;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
.post-header {
|
||||||
|
margin-top: 2rem;
|
||||||
|
margin-bottom: 1.6rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.post-title {
|
||||||
|
font-size: 3rem;
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
.post-title {
|
||||||
|
font-size: 2.4rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archive Body *******************/
|
||||||
|
.archive-body {
|
||||||
|
margin-bottom: 2em;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
.archive-body img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
.archive-body h1 {
|
||||||
|
font-size: 2.55rem;
|
||||||
|
margin: 3.5rem 0 1.8rem;
|
||||||
|
}
|
||||||
|
.archive-body h2 {
|
||||||
|
font-size: 2.17rem;
|
||||||
|
margin: 2.98rem 0 1.53rem;
|
||||||
|
}
|
||||||
|
.archive-body h3 {
|
||||||
|
font-size: 1.84rem;
|
||||||
|
margin: 2.53rem 0 1.30rem;
|
||||||
|
}
|
||||||
|
.archive-body h4 {
|
||||||
|
font-size: 1.57rem;
|
||||||
|
margin: 2.15rem 0 1.11rem;
|
||||||
|
}
|
||||||
|
.archive-body h5 {
|
||||||
|
font-size: 1.33rem;
|
||||||
|
margin: 1.83rem 0 0.94rem;
|
||||||
|
}
|
||||||
|
.archive-body h6 {
|
||||||
|
font-size: 1.13rem;
|
||||||
|
margin: 1.55rem 0 0.80rem;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
.archive-body h1 {
|
||||||
|
font-size: 2.16rem;
|
||||||
|
margin: 2rem 0 1.6rem;
|
||||||
|
}
|
||||||
|
.archive-body h2 {
|
||||||
|
font-size: 1.94rem;
|
||||||
|
margin: 1.80rem 0 1.44rem;
|
||||||
|
}
|
||||||
|
.archive-body h3 {
|
||||||
|
font-size: 1.75rem;
|
||||||
|
margin: 1.62rem 0 1.30rem;
|
||||||
|
}
|
||||||
|
.archive-body h4 {
|
||||||
|
font-size: 1.57rem;
|
||||||
|
margin: 1.46rem 0 1.17rem;
|
||||||
|
}
|
||||||
|
.archive-body h5 {
|
||||||
|
font-size: 1.42rem;
|
||||||
|
margin: 1.31rem 0 1.05rem;
|
||||||
|
}
|
||||||
|
.archive-body h6 {
|
||||||
|
font-size: 1.28rem;
|
||||||
|
margin: 1.18rem 0 0.94rem;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.anchor {
|
||||||
|
content: '#';
|
||||||
|
position: absolute;
|
||||||
|
opacity: 0%;
|
||||||
|
left: -1em;
|
||||||
|
width: 80%;
|
||||||
|
max-width: 600px;
|
||||||
|
border: none;
|
||||||
|
color: var(--font-color-em);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 500px) {
|
||||||
|
.anchor {
|
||||||
|
left: -0.8em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.anchor:hover {
|
||||||
|
opacity: 100%;
|
||||||
|
outline: none;
|
||||||
|
border: none;
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
.anchor:hover {
|
||||||
|
opacity: 0%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archive Footer *******************/
|
||||||
|
.archive-footer {
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 0.8rem;
|
||||||
|
margin: 2rem 0;
|
||||||
|
}
|
||||||
|
.archive-footer .footer-return {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
width: 100%;
|
||||||
|
text-align: right;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
|
||||||
|
.archive-footer .footer-link {
|
||||||
|
display: block;
|
||||||
|
}
|
||||||
|
.archive-footer .footer-link .spacer {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
.archive-footer .footer-link .label {
|
||||||
|
display: inline-block;
|
||||||
|
width: 8em;
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
.archive-footer .footer-link {
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.archive-footer .footer-link .label {
|
||||||
|
width: auto;
|
||||||
|
}
|
||||||
|
.archive-footer .footer-link .spacer {
|
||||||
|
display: inline-block !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.footnotes {
|
||||||
|
clear: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archive Figure *******************/
|
||||||
|
.archive-body figure {
|
||||||
|
margin: 1em 0;
|
||||||
|
max-width: 100%;
|
||||||
|
width: fit-content;
|
||||||
|
overflow: visible;
|
||||||
|
}
|
||||||
|
.archive-body figure picture,
|
||||||
|
.archive-body figure figcaption {
|
||||||
|
display: table-row;
|
||||||
|
border-spacing: 0;
|
||||||
|
}
|
||||||
|
.archive-body figure img {
|
||||||
|
vertical-align: middle;
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
min-width: calc(50% - 2 * var(--image-margin-side));
|
||||||
|
}
|
||||||
|
@media only screen and (min-width: 768px) {
|
||||||
|
.archive-body figure {
|
||||||
|
margin: 1em 2.5em;
|
||||||
|
}
|
||||||
|
.archive-body figure.logo,
|
||||||
|
.archive-body figure.inline {
|
||||||
|
margin: 0;
|
||||||
|
}
|
||||||
|
.archive-body figure.border img {
|
||||||
|
min-width: calc(100% - 2 * var(--image-margin-side)) !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.archive-body figure.logo {
|
||||||
|
display: inline-block;
|
||||||
|
min-width: auto;
|
||||||
|
}
|
||||||
|
.archive-body figure.wrap {
|
||||||
|
float: left;
|
||||||
|
margin: 0.7em 1em;
|
||||||
|
}
|
||||||
|
.archive-body figure.inline {
|
||||||
|
display: inline-block;
|
||||||
|
min-width: auto;
|
||||||
|
margin-left: 1em;
|
||||||
|
margin-right: 1em;
|
||||||
|
}
|
||||||
|
.archive-body figure.half {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 45%;
|
||||||
|
}
|
||||||
|
.archive-body figure.third {
|
||||||
|
width: 100%;
|
||||||
|
max-width: 30%;
|
||||||
|
}
|
||||||
|
.archive-body figure.logo img {
|
||||||
|
width: 10vw;
|
||||||
|
max-width: 100px;
|
||||||
|
min-width: 40px;
|
||||||
|
vertical-align: bottom;
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
.archive-body figure.border img {
|
||||||
|
padding: 0.3rem;
|
||||||
|
border: 3px solid var(--background-color-light);
|
||||||
|
min-width: 100%;
|
||||||
|
}
|
||||||
|
.archive-body figure.border figcaption {
|
||||||
|
background-color: var(--background-color-light);
|
||||||
|
min-width: 100%;
|
||||||
|
display: inline-block;
|
||||||
|
}
|
||||||
|
.archive-body figure>a {
|
||||||
|
display: block;
|
||||||
|
outline: none;
|
||||||
|
min-height: 100%;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
.archive-body figure>a>img:hover {
|
||||||
|
box-shadow: 0 0 1em rgba(var(--font-color_rgb), 0.5);
|
||||||
|
}
|
||||||
|
.archive-body figure figcaption p,
|
||||||
|
.archive-body figure figcaption h4 {
|
||||||
|
font-style: italic;
|
||||||
|
font-weight: normal;
|
||||||
|
font-size: 0.9rem;
|
||||||
|
margin-top: 0.5rem;
|
||||||
|
margin-bottom: 0.5rem;
|
||||||
|
margin-left: 1rem;
|
||||||
|
margin-right: 1rem;
|
||||||
|
}
|
||||||
|
.archive-body figure figcaption .attribution {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
@media only screen and (max-width: 320px) {
|
||||||
|
.archive-body .footnotes ol {
|
||||||
|
padding-left: 2em;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.archive-body .separator {
|
||||||
|
margin: 0 0.2em;
|
||||||
|
}
|
||||||
|
/******************* Article Tabular *******************/
|
||||||
|
.archive-body .tabular.border table {
|
||||||
|
padding: 0.3rem;
|
||||||
|
border: 3px solid var(--background-color-light);
|
||||||
|
min-width: 100%;
|
||||||
|
}
|
||||||
|
.archive-body .tabular td,
|
||||||
|
.archive-body .tabular th {
|
||||||
|
padding: 0 0.4rem;
|
||||||
|
}
|
||||||
|
.archive-body .tabular th {
|
||||||
|
border-bottom: 3px solid var(--background-color-light);
|
||||||
|
}
|
||||||
|
.archive-body .tabular.center td {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
.archive-body .tabular.right td {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archive Superscript *******************/
|
||||||
|
.archive-body sup {
|
||||||
|
vertical-align: top;
|
||||||
|
position: relative;
|
||||||
|
top: -0.5rem;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archive Blockquote *******************/
|
||||||
|
blockquote {
|
||||||
|
position: relative;
|
||||||
|
background-color: var(--background-color-light);
|
||||||
|
padding: 0.1rem 1rem;
|
||||||
|
margin-top: 2rem;
|
||||||
|
}
|
||||||
|
.bigquote {
|
||||||
|
padding: 1rem;
|
||||||
|
border-radius: 1.5rem;
|
||||||
|
}
|
||||||
|
.bigquote p:first-of-type {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
.bigquote footer {
|
||||||
|
text-align: right;
|
||||||
|
}
|
||||||
|
blockquote:after {
|
||||||
|
position: absolute;
|
||||||
|
content: "”";
|
||||||
|
color: var(--text-color);
|
||||||
|
font-size: 10rem;
|
||||||
|
line-height: 0;
|
||||||
|
top: 2rem;
|
||||||
|
right: 1rem;
|
||||||
|
font-family: Arial;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Archive Gallery *******************/
|
||||||
|
.thumb>img {
|
||||||
|
max-height: 150px;
|
||||||
|
max-width: 150px;
|
||||||
|
border: solid 4px var(--background-color-dark);
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox {
|
||||||
|
position: fixed;
|
||||||
|
z-index: 97;
|
||||||
|
height: 0;
|
||||||
|
width: 0;
|
||||||
|
text-align: center;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
background: rgba(0, 0, 0, 0.8);
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox img {
|
||||||
|
max-width: 90%;
|
||||||
|
max-height: 95%;
|
||||||
|
margin-top: 2%;
|
||||||
|
opacity: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox:target {
|
||||||
|
/** Remove default browser outline */
|
||||||
|
outline: none;
|
||||||
|
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
opacity: 1 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lightbox:target img {
|
||||||
|
border: solid 1em var(--background-color-light);
|
||||||
|
opacity: 1;
|
||||||
|
webkit-transition: opacity 0.6s;
|
||||||
|
transition: opacity 0.6s;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light-btn {
|
||||||
|
color: #fafafa;
|
||||||
|
background-color: var(--background-color-dark);
|
||||||
|
border: solid 3px var(--font-color-em);
|
||||||
|
padding: .3em .9em;
|
||||||
|
border-radius: 2px;
|
||||||
|
text-decoration: none;
|
||||||
|
cursor: pointer;
|
||||||
|
vertical-align: middle;
|
||||||
|
position: absolute;
|
||||||
|
top: 45%;
|
||||||
|
z-index: 98;
|
||||||
|
opacity: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.light-btn:hover {
|
||||||
|
outline: none;
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-prev {
|
||||||
|
left: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-next {
|
||||||
|
right: 3%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-close {
|
||||||
|
position: absolute;
|
||||||
|
right: 2%;
|
||||||
|
top: 2%;
|
||||||
|
z-index: 98;
|
||||||
|
color: #fafafa;
|
||||||
|
background-color: var(--background-color-dark);
|
||||||
|
border: solid 5px var(--font-color-em);
|
||||||
|
padding: 10px 15px;
|
||||||
|
border-radius: 1px;
|
||||||
|
text-decoration: none;
|
||||||
|
opacity: 50%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.btn-close:hover {
|
||||||
|
background-color: #740404;
|
||||||
|
outline: none;
|
||||||
|
opacity: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/******************* Generic colors *******************/
|
||||||
|
.color01 {
|
||||||
|
color: var(--color01);
|
||||||
|
}
|
||||||
|
.color01.bright {
|
||||||
|
color: var(--color01_bright);
|
||||||
|
}
|
||||||
|
.color02 {
|
||||||
|
color: var(--color02);
|
||||||
|
}
|
||||||
|
.color02.bright {
|
||||||
|
color: var(--color02_bright);
|
||||||
|
}
|
1
static/svg/500px.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="12.45" height="16"><path d="M12.39 13.81l-.06.06a7.25 7.25 0 0 1-2.31 1.56 7.29 7.29 0 0 1-5.66 0 7.15 7.15 0 0 1-2.31-1.56 7.12 7.12 0 0 1-1.57-2.3A7 7 0 0 1 0 9.86c-.03-.25.31-.3.43-.32.28-.04.46-.02.5.18l.01.04c.04.18.12.71.41 1.42a6.05 6.05 0 0 0 1.36 2.02 6.33 6.33 0 0 0 2.02 1.35 6.33 6.33 0 0 0 4.92 0 6.39 6.39 0 0 0 2.01-1.35l.06-.06a.2.2 0 0 1 .22-.05c.08.02.18.09.3.2.28.29.22.43.15.51zM8.17 8.32l-.59.6.56.55c.07.06.18.2-.06.44-.1.1-.2.15-.28.15-.06 0-.12-.03-.17-.09l-.56-.54-.59.59a.2.2 0 0 1-.13.04c-.08 0-.18-.04-.28-.14l-.01-.02c-.07-.05-.16-.15-.16-.26 0-.05.02-.1.07-.15l.59-.58-.6-.59c-.1-.1-.05-.22.13-.4.1-.1.2-.16.28-.16.04 0 .08.02.12.04l.58.6.58-.59c.1-.1.26-.05.42.12.11.1.23.26.1.4zm4.2.51a5.28 5.28 0 0 1-.4 2.04 5.3 5.3 0 0 1-2.8 2.78 5.12 5.12 0 0 1-2.03.41 5.12 5.12 0 0 1-2.04-.4 5.3 5.3 0 0 1-1.67-1.13 5.09 5.09 0 0 1-1.11-1.66 2.95 2.95 0 0 1-.14-.36c-.09-.25.27-.36.38-.4.26-.07.45-.11.53.11.22.57.55 1.13.87 1.5V8.66a3 3 0 0 1 .92-2.07 3.2 3.2 0 0 1 2.26-.92 3.16 3.16 0 1 1 0 6.31c-.35 0-.61-.03-1-.14-.05-.02-.25-.1-.12-.55.04-.11.14-.45.4-.38.01 0 .45.1.68.1A2.18 2.18 0 0 0 8.67 7.3a2.19 2.19 0 0 0-1.56-.63c-.62 0-1.18.25-1.59.71-.36.4-.57.94-.57 1.43v3.69a4.12 4.12 0 0 0 2.16.6c1.14 0 2.25-.46 3.04-1.25a4.26 4.26 0 0 0 1.25-3.02 4.25 4.25 0 0 0-1.26-3.03 4.25 4.25 0 0 0-3.02-1.25A4.27 4.27 0 0 0 4.08 5.8c0 .01-.51.54-.68.78l-.02.02c-.11.15-.2.3-.65.2-.23-.06-.47-.2-.47-.39V.34c0-.16.13-.34.34-.34h7.83c.27 0 .27.38.27.5s0 .48-.27.48H3.2V5.3A6.64 6.64 0 0 1 5.08 4a5.35 5.35 0 0 1 2.07-.41A5.12 5.12 0 0 1 9.17 4a5.3 5.3 0 0 1 2.8 2.79c.26.65.4 1.33.4 2.04zm-.27-5.19c.17.15.05.31-.12.51-.1.1-.22.23-.35.23a.2.2 0 0 1-.14-.06 6.77 6.77 0 0 0-1.85-1.19 6.11 6.11 0 0 0-2.46-.5c-.76 0-1.59.16-2.34.44-.23.1-.36-.21-.4-.33a.8.8 0 0 1-.07-.34c.01-.09.06-.15.14-.18a7.28 7.28 0 0 1 5.5.06 6.76 6.76 0 0 1 2.09 1.36z"/><path d="M12.39 13.71l-.06.06a7.25 7.25 0 0 1-2.31 1.56 7.29 7.29 0 0 1-5.66 0 7.15 7.15 0 0 1-2.31-1.56 7.12 7.12 0 0 1-1.57-2.3A7 7 0 0 1 0 9.76c-.03-.24.31-.3.43-.32.28-.04.46-.02.5.18l.01.04c.04.18.12.71.41 1.42a6.05 6.05 0 0 0 1.36 2.02 6.33 6.33 0 0 0 2.02 1.35 6.33 6.33 0 0 0 4.92 0 6.39 6.39 0 0 0 2.01-1.35l.06-.06a.2.2 0 0 1 .22-.05c.08.02.18.09.3.2.28.29.22.43.15.51zM8.17 8.22l-.59.6.56.55c.07.07.18.2-.06.44-.1.1-.2.15-.28.15-.06 0-.12-.03-.17-.09l-.56-.54-.59.59a.2.2 0 0 1-.13.04c-.08 0-.18-.04-.28-.14l-.01-.02c-.07-.05-.16-.15-.16-.26 0-.05.02-.1.07-.15l.59-.58-.6-.59c-.1-.1-.05-.22.13-.4.1-.1.2-.16.28-.16.04 0 .08.02.12.04l.58.6.58-.59c.1-.1.26-.05.42.12.11.1.23.26.1.4zm4.2.51a5.28 5.28 0 0 1-.4 2.04 5.3 5.3 0 0 1-2.8 2.78 5.12 5.12 0 0 1-2.03.41 5.12 5.12 0 0 1-2.04-.4 5.3 5.3 0 0 1-1.67-1.13 5.09 5.09 0 0 1-1.11-1.66 2.95 2.95 0 0 1-.14-.36c-.09-.25.27-.36.38-.4.26-.07.45-.11.53.11.22.57.55 1.13.87 1.5V8.56a3 3 0 0 1 .92-2.07 3.2 3.2 0 0 1 2.26-.92 3.16 3.16 0 1 1 0 6.31c-.35 0-.61-.02-1-.14-.05-.02-.25-.1-.12-.55.04-.11.14-.45.4-.38.01 0 .45.1.68.1A2.18 2.18 0 0 0 8.67 7.2a2.19 2.19 0 0 0-1.56-.63c-.62 0-1.18.25-1.59.71-.36.4-.57.94-.57 1.43v3.69a4.12 4.12 0 0 0 2.16.6c1.14 0 2.25-.46 3.04-1.25a4.26 4.26 0 0 0 1.25-3.02 4.25 4.25 0 0 0-1.26-3.03 4.25 4.25 0 0 0-3.02-1.25A4.27 4.27 0 0 0 4.08 5.7c0 .01-.51.54-.68.78l-.02.02c-.11.15-.2.3-.65.2-.23-.06-.47-.2-.47-.39V.24c0-.16.13-.34.34-.34h7.83c.27 0 .27.37.27.5 0 .12 0 .48-.27.48H3.2V5.2A6.64 6.64 0 0 1 5.08 3.9a5.35 5.35 0 0 1 2.07-.41 5.12 5.12 0 0 1 2.03.41 5.3 5.3 0 0 1 2.8 2.79c.26.65.4 1.33.4 2.04zm-.27-5.19c.17.15.05.32-.12.51-.1.1-.22.23-.35.23a.2.2 0 0 1-.14-.06 6.77 6.77 0 0 0-1.85-1.19 6.11 6.11 0 0 0-2.46-.5c-.76 0-1.59.16-2.34.44-.23.1-.36-.21-.4-.33a.8.8 0 0 1-.07-.34c.01-.09.06-.15.14-.18a7.28 7.28 0 0 1 5.5.06 6.76 6.76 0 0 1 2.09 1.36z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 3.7 KiB |
3
static/svg/bars.svg
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16">
|
||||||
|
<path fill="#efefef" d="M16 13.6v1.6a.7.8 0 0 1-.7.8H.7a.7.8 0 0 1-.7-.8v-1.6c0-.4.3-.8.7-.8h14.6c.4 0 .7.4.7.8zm0-6.4v1.6a.7.8 0 0 1-.7.8H.7a.7.8 0 0 1-.7-.8V7.2c0-.4.3-.8.7-.8h14.6c.4 0 .7.4.7.8zm0-6.4v1.6a.7.8 0 0 1-.7.8H.7a.7.8 0 0 1-.7-.8V.8C0 .4.3 0 .7 0h14.6c.4 0 .7.4.7.8z"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 357 B |
1
static/svg/calendar.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="14.857" height="16"><path d="M1.143 14.857h2.571v-2.571H1.143zm3.143 0h2.857v-2.571H4.286zm-3.143-3.143h2.571V8.857H1.143zm3.143 0h2.857V8.857H4.286zM1.143 8.286h2.571V5.714H1.143zm6.571 6.571h2.857v-2.571H7.714zM4.286 8.286h2.857V5.714H4.286zm6.857 6.571h2.571v-2.571h-2.571zm-3.429-3.143h2.857V8.857H7.714zM4.571 4V1.429a.294.294 0 00-.285-.286h-.572a.294.294 0 00-.285.286V4c0 .152.134.286.285.286h.572A.294.294 0 004.57 4zm6.572 7.714h2.571V8.857h-2.571zM7.714 8.286h2.857V5.714H7.714zm3.429 0h2.571V5.714h-2.571zM11.429 4V1.429a.294.294 0 00-.286-.286h-.572a.294.294 0 00-.285.286V4c0 .152.134.286.285.286h.572A.294.294 0 0011.429 4zm3.428-.571v11.428A1.15 1.15 0 0113.714 16H1.143A1.15 1.15 0 010 14.857V3.43a1.15 1.15 0 011.143-1.143h1.143v-.857C2.286.643 2.929 0 3.714 0h.572c.785 0 1.428.643 1.428 1.429v.857h3.429v-.857C9.143.643 9.786 0 10.57 0h.572c.786 0 1.428.643 1.428 1.429v.857h1.143a1.15 1.15 0 011.143 1.143z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 998 B |
1
static/svg/clock.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M9.333 4.333V9A.329.329 0 019 9.333H5.667A.329.329 0 015.333 9v-.667c0-.187.146-.333.334-.333H8V4.333C8 4.146 8.146 4 8.333 4H9c.188 0 .333.146.333.333zM13.667 8A5.673 5.673 0 008 2.333 5.673 5.673 0 002.333 8 5.673 5.673 0 008 13.667 5.673 5.673 0 0013.667 8zM16 8c0 4.417-3.583 8-8 8s-8-3.583-8-8 3.583-8 8-8 8 3.583 8 8z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 419 B |
1
static/svg/codepen.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M1.929 10.438l5.383 3.589V10.82L4.33 8.831zm-.554-1.286L3.098 8 1.375 6.848zm7.313 4.875l5.383-3.59L11.67 8.83l-2.982 1.991zM8 9.625L10.429 8 8 6.375 5.571 8zM4.33 7.17l2.982-1.991V1.973L1.93 5.563zm8.572.83l1.723 1.152V6.848zm-1.232-.83l2.401-1.607-5.383-3.59V5.18zM16 5.563v4.875a.699.699 0 01-.304.57l-7.312 4.876A.742.742 0 018 16a.746.746 0 01-.384-.116L.304 11.009A.699.699 0 010 10.437V5.564c0-.224.116-.447.304-.572L7.616.116A.742.742 0 018 0c.134 0 .268.045.384.116l7.312 4.875a.699.699 0 01.304.572z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 605 B |
1
static/svg/envelope.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12.571"><path d="M14.857 11.143V4.286c-.187.214-.393.41-.616.589a122.437 122.437 0 00-3.803 3.018c-.67.562-1.5 1.25-2.43 1.25h-.017c-.928 0-1.759-.688-2.428-1.25a122.437 122.437 0 00-3.804-3.018 4.808 4.808 0 01-.616-.59v6.858c0 .152.134.286.286.286H14.57a.294.294 0 00.286-.286zm0-9.384c0-.223.054-.616-.286-.616H1.43a.294.294 0 00-.286.285c0 1.018.509 1.902 1.312 2.536 1.197.938 2.393 1.884 3.58 2.83C6.51 7.18 7.367 8 7.992 8h.018c.625 0 1.482-.822 1.955-1.205a554.619 554.619 0 013.58-2.83c.581-.456 1.313-1.447 1.313-2.206zM16 1.429v9.714c0 .785-.643 1.428-1.429 1.428H1.43A1.433 1.433 0 010 11.143V1.428C0 .643.643 0 1.429 0H14.57C15.357 0 16 .643 16 1.429z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 747 B |
1
static/svg/facebook.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="8.308" height="16"><path d="M8.308.115v2.539h-1.51c-1.183 0-1.404.567-1.404 1.385v1.817h2.818l-.375 2.846H5.394V16H2.452V8.702H0V5.856h2.452V3.76C2.452 1.327 3.942 0 6.115 0c1.039 0 1.933.077 2.193.115z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 273 B |
1
static/svg/file-text.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="13.714" height="16"><path d="M13.107 3.393c.33.33.607.99.607 1.464v10.286a.857.857 0 01-.857.857h-12A.857.857 0 010 15.143V.857C0 .384.384 0 .857 0h8c.473 0 1.134.277 1.464.607zM9.143 1.214v3.357H12.5a1.137 1.137 0 00-.196-.366L9.509 1.411a1.148 1.148 0 00-.366-.197zm3.428 13.643V5.714H8.857A.857.857 0 018 4.857V1.143H1.143v13.714zM3.43 7.143c0-.16.125-.286.285-.286H10c.16 0 .286.125.286.286v.571c0 .161-.125.286-.286.286H3.714a.282.282 0 01-.285-.286zm6.571 2c.16 0 .286.125.286.286V10c0 .16-.125.286-.286.286H3.714A.282.282 0 013.43 10v-.571c0-.161.125-.286.285-.286zm0 2.286c.16 0 .286.125.286.285v.572c0 .16-.125.285-.286.285H3.714a.282.282 0 01-.285-.285v-.572c0-.16.125-.285.285-.285z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 764 B |
1
static/svg/flickr.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M13 0a3 3 0 013 3v10a3 3 0 01-3 3H3a3 3 0 01-3-3V3a3 3 0 013-3zM7.27 8a2.21 2.21 0 00-4.416 0 2.21 2.21 0 004.417 0zm5.876 0a2.21 2.21 0 00-4.417 0 2.21 2.21 0 004.417 0z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 266 B |
1
static/svg/folder.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="13.539"><path d="M14.77 11.385v-6.77a.923.923 0 00-.924-.923h-6.77a.923.923 0 01-.922-.923v-.615a.923.923 0 00-.923-.923H2.154a.923.923 0 00-.923.923v9.23c0 .51.413.924.923.924h11.692c.51 0 .923-.414.923-.923zM16 4.615v6.77a2.163 2.163 0 01-2.154 2.154H2.154A2.163 2.163 0 010 11.385V2.154C0 .97.971 0 2.154 0H5.23c1.182 0 2.154.971 2.154 2.154v.308h6.461c1.183 0 2.154.97 2.154 2.153z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 468 B |
1
static/svg/gitea.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="9.91"><path d="M2.83 0C2.21 0 1.48.22.92.72c-.57.5-.96 1.3-.92 2.4.07 1.73.9 2.69 1.87 3.2.95.51 2.01.6 2.65.62.04.18.16.42.32.7.17.3.4.64.66.96.53.65 1.16 1.25 1.74 1.31H12c.75-.05 1.43-.7 2-1.63.59-.93 1.07-2.14 1.42-3.34.35-1.2.56-2.4.58-3.3a3.4 3.4 0 0 0-.12-1.11.84.84 0 0 0-.18-.33.43.43 0 0 0-.3-.13c-2.62.13-4.17.2-5.5.22V3.3l-.4-.21L9.48.29C7.96.29 6.62.2 4.08.07 3.75.06 3.3 0 2.82 0zm.18 1.34h.08c.17 1.68.45 2.7.99 4.2-.68-.1-1.3-.27-1.79-.6-.5-.36-.86-.9-.97-1.78-.06-.46.01-.93.3-1.27.25-.32.69-.54 1.39-.55zm5.65 1.65c.1 0 .2.03.3.07l.5.24-.36.73a.44.44 0 0 0-.16.03.44.44 0 0 0-.27.57.44.44 0 0 0 .08.13L8.13 6a.44.44 0 0 0-.14.03.44.44 0 0 0-.27.56.44.44 0 0 0 .57.27.44.44 0 0 0 .27-.57.44.44 0 0 0-.1-.16l.59-1.22a.44.44 0 0 0 .2-.03.44.44 0 0 0 .13-.08l.56.27c.2.12.27.2.3.27.02.09 0 .24-.12.52l-.4.84a.44.44 0 0 0-.17.03.44.44 0 0 0-.26.57.44.44 0 0 0 .56.27.44.44 0 0 0 .27-.57.44.44 0 0 0-.09-.15l.4-.86c.13-.3.2-.52.14-.73-.06-.22-.24-.36-.47-.49l-.57-.28a.44.44 0 0 0-.02-.17.44.44 0 0 0-.1-.16l.35-.71 1.94.93a.7.7 0 0 1 .32.94l-1.33 2.74a.7.7 0 0 1-.94.32L7.02 7.06a.7.7 0 0 1-.33-.93l1.33-2.74a.7.7 0 0 1 .64-.4z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 1.2 KiB |
1
static/svg/github.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15.61"><path d="M8 0a8 8 0 0 1 2.53 15.6c-.4.07-.55-.18-.55-.4v-2.19c0-.75-.24-1.23-.53-1.48 1.78-.2 3.65-.87 3.65-3.95a3.1 3.1 0 0 0-.82-2.14 2.9 2.9 0 0 0-.08-2.13c-.67-.2-2.2.82-2.2.82a7.53 7.53 0 0 0-4 0S4.47 3.1 3.8 3.31a2.9 2.9 0 0 0-.08 2.13 3.1 3.1 0 0 0-.82 2.14c0 3.07 1.86 3.75 3.64 3.95-.23.21-.44.56-.5 1.07-.47.21-1.63.57-2.33-.66-.44-.76-1.23-.83-1.23-.83-.78 0-.05.5-.05.5.52.23.88 1.16.88 1.16.47 1.43 2.7.95 2.7.95l.01 1.49c0 .2-.14.46-.55.38A8 8 0 0 1 8 0zM3.03 11.49c.02-.04 0-.1-.07-.13-.06-.02-.12 0-.14.03-.02.04.01.09.08.12.05.03.11.02.13-.02zm.32.35c.05-.03.04-.1-.02-.16-.05-.06-.12-.08-.16-.03-.04.03-.03.1.02.16s.12.08.16.03zm.32.47c.05-.04.05-.12 0-.2-.04-.07-.13-.1-.18-.06-.05.03-.05.12 0 .19s.14.1.18.07zm.43.44c.05-.04.03-.14-.04-.2-.07-.07-.16-.08-.2-.03-.06.04-.04.14.04.2.07.07.16.08.2.03zm.6.26c.02-.06-.04-.14-.14-.17-.08-.02-.17.01-.2.08-.02.06.05.13.14.15.08.03.18 0 .2-.06zm.65.05c0-.07-.08-.12-.17-.11-.1 0-.17.05-.17.11 0 .07.07.13.18.12.1 0 .16-.06.16-.12zm.6-.1c0-.06-.08-.1-.18-.1-.1.02-.15.09-.14.16 0 .06.09.1.18.08.1-.02.16-.08.15-.14z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 1.1 KiB |
1
static/svg/gitlab.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="14.73"><path d="M.93 5.67L8 14.73.252 9.107a.623.623 0 01-.223-.688zm4.124 0h5.892L8 14.73zM3.287.208L5.054 5.67H.931L2.698.208a.313.313 0 01.59 0zM15.07 5.67l.902 2.75a.623.623 0 01-.223.687L8 14.73zm0 0h-4.123L12.713.208a.313.313 0 01.589 0z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 326 B |
1
static/svg/instagram.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M10.67 8A2.67 2.67 0 0 0 8 5.33 2.67 2.67 0 0 0 5.33 8 2.67 2.67 0 0 0 8 10.67 2.67 2.67 0 0 0 10.67 8zm1.43 0A4.1 4.1 0 0 1 8 12.1 4.1 4.1 0 0 1 3.9 8 4.1 4.1 0 0 1 8 3.9 4.1 4.1 0 0 1 12.1 8zm1.13-4.27a.96.96 0 0 1-.96.96.96.96 0 0 1-.96-.96c0-.53.43-.96.96-.96s.96.43.96.96zM8 1.43c-1.17 0-3.67-.09-4.72.33a2.56 2.56 0 0 0-.91.6 2.56 2.56 0 0 0-.6.92C1.33 4.33 1.43 6.83 1.43 8s-.1 3.67.32 4.72c.15.36.32.63.6.91.29.29.56.46.92.6 1.05.43 3.55.33 4.72.33s3.67.1 4.72-.32c.36-.15.63-.32.91-.6.29-.29.46-.56.6-.92.43-1.05.33-3.55.33-4.72s.1-3.67-.32-4.72a2.56 2.56 0 0 0-.6-.91 2.56 2.56 0 0 0-.92-.6c-1.05-.43-3.55-.33-4.72-.33zM16 8c0 1.1.01 2.2-.05 3.3a4.76 4.76 0 0 1-1.3 3.36 4.76 4.76 0 0 1-3.35 1.29C10.2 16 9.1 16 8 16s-2.2.01-3.3-.05a4.76 4.76 0 0 1-3.36-1.3A4.76 4.76 0 0 1 .05 11.3C0 10.2 0 9.1 0 8s-.01-2.2.05-3.3a4.76 4.76 0 0 1 1.3-3.36A4.76 4.76 0 0 1 4.7.05C5.8 0 6.9 0 8 0s2.2-.01 3.3.05c1.28.06 2.42.36 3.36 1.3a4.76 4.76 0 0 1 1.29 3.35C16 5.8 16 6.9 16 8z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 1 KiB |
1
static/svg/key-modern.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M4.873 0a4.868 4.868 0 00-3.437 1.431C-.465 3.341-.481 6.411 1.402 8.3a4.813 4.813 0 004.683 1.22l1.66 1.66 2.162-1.24.405.404-1.202 2.012.405.405 2.012-1.202.405.405-1.202 2.012.405.404 2.012-1.202.405.405-1.202 2.012.404.405h2.675a.57.57 0 00.571-.571v-2.851L9.518 6.096c.448-1.623.044-3.424-1.225-4.687A4.78 4.78 0 004.873 0zM3.62 2.194a1.431 1.431 0 110 2.863 1.431 1.431 0 010-2.863z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 484 B |
1
static/svg/linkedin.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15.292"><path d="M3.635 4.969v10.323H.198V4.969zm.22-3.188c.01.99-.74 1.781-1.938 1.781h-.021C.74 3.563 0 2.772 0 1.782 0 .77.77 0 1.938 0c1.177 0 1.906.77 1.916 1.781zM16 9.375v5.917h-3.427V9.77c0-1.386-.5-2.334-1.74-2.334-.948 0-1.51.636-1.76 1.25-.083.23-.115.532-.115.844v5.76H5.531c.042-9.354 0-10.322 0-10.322h3.427v1.5h-.02c.447-.708 1.26-1.74 3.114-1.74C14.312 4.73 16 6.21 16 9.375z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 474 B |
1
static/svg/mastodon.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="14.925" height="16"><path d="M14.607 9.592c-.22 1.128-1.965 2.364-3.97 2.603-1.045.125-2.075.24-3.172.19a18.609 18.609 0 01-3.211-.43c0 .175.01.342.032.497.233 1.772 1.757 1.878 3.2 1.927 1.456.05 2.752-.359 2.752-.359l.06 1.317s-1.019.547-2.833.647c-1 .055-2.243-.025-3.69-.408C.637 14.746.099 11.4.015 8.006c-.026-1.008-.01-1.958-.01-2.753 0-3.47 2.274-4.488 2.274-4.488C3.426.238 5.393.017 7.439 0h.05c2.045.017 4.014.238 5.16.765 0 0 2.275 1.017 2.275 4.488 0 0 .028 2.56-.317 4.339zm-2.365-4.07c0-.859-.211-1.548-.658-2.046-.453-.505-1.047-.764-1.783-.764-.852 0-1.497.327-1.924.982l-.415.696-.414-.695c-.427-.656-1.072-.983-1.924-.983-.737 0-1.33.259-1.783.764-.44.505-.658 1.187-.658 2.046v4.203h1.665v-4.08c0-.86.362-1.295 1.085-1.295.8 0 1.202.517 1.202 1.541v2.233H8.29V5.89c0-1.024.4-1.542 1.201-1.542.724 0 1.086.437 1.086 1.297v4.079h1.665V5.522z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 930 B |
1
static/svg/peertube.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="12"><defs><filter id="a" x="-.014" width="1.028" y="-.011" height="1.021" color-interpolation-filters="sRGB"><feGaussianBlur stdDeviation=".07"/></filter></defs><path d="M0 0v8l6-4zm6 4v8l6-4zM0 8v8l6-3.999z" filter="url(#a)" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 307 B |
1
static/svg/phone.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="16" width="16"><path d="M16 12.636c0 .41-.182 1.205-.352 1.58-.239.557-.875.92-1.387 1.205-.67.363-1.352.579-2.113.579-1.057 0-2.012-.432-2.978-.784a10.62 10.62 0 01-1.988-.943C5.25 13.079 2.92 10.75 1.727 8.818A10.622 10.622 0 01.784 6.83C.432 5.864 0 4.91 0 3.852 0 3.091.216 2.41.58 1.74.864 1.227 1.227.59 1.784.352 2.16.182 2.954 0 3.364 0c.08 0 .159 0 .238.034.239.079.489.636.603.864.363.647.715 1.306 1.09 1.943.182.295.523.659.523 1.011 0 .693-2.057 1.705-2.057 2.318 0 .307.284.705.444.978 1.147 2.068 2.58 3.5 4.647 4.647.273.16.67.444.978.444.613 0 1.625-2.057 2.318-2.057.352 0 .716.34 1.011.522.636.375 1.296.728 1.943 1.091.228.114.784.364.864.603.034.08.034.159.034.238z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 758 B |
1
static/svg/pinterest.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M16 8c0 4.417-3.583 8-8 8a7.83 7.83 0 01-2.27-.333c.301-.48.645-1.094.812-1.709 0 0 .093-.354.562-2.198.271.532 1.084 1 1.948 1 2.573 0 4.323-2.343 4.323-5.49 0-2.364-2.01-4.583-5.073-4.583-3.792 0-5.708 2.73-5.708 5 0 1.375.52 2.605 1.635 3.063.177.073.344 0 .396-.208.042-.136.125-.49.167-.636.052-.208.03-.27-.115-.448-.323-.385-.531-.875-.531-1.573 0-2.02 1.51-3.833 3.937-3.833 2.146 0 3.334 1.313 3.334 3.073 0 2.302-1.021 4.25-2.542 4.25-.833 0-1.458-.688-1.26-1.542.24-1.01.708-2.104.708-2.833 0-.656-.354-1.208-1.083-1.208-.855 0-1.542.885-1.542 2.073 0 0 0 .76.26 1.27-.875 3.709-1.03 4.355-1.03 4.355-.147.604-.157 1.28-.136 1.843A8.002 8.002 0 018 0c4.417 0 8 3.583 8 8z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 778 B |
1
static/svg/pixelfed.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M8 16A8 8 0 118 0a8 8 0 010 16zm-.635-6.253h1.467c1.383 0 2.504-1.091 2.504-2.437 0-1.346-1.121-2.437-2.504-2.437H6.714c-.797 0-1.444.63-1.444 1.406v5.472z" fill="#efefef" fill-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 271 B |
1
static/svg/rss.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="15.999"><path d="M4.363 13.817A2.182 2.182 0 110 13.816a2.182 2.182 0 014.364.001zm5.818 1.398a.735.735 0 01-.193.545.691.691 0 01-.534.239H7.92a.718.718 0 01-.716-.66A7.27 7.27 0 00.659 8.796.718.718 0 010 8.079V6.545c0-.205.08-.398.239-.534a.697.697 0 01.488-.193h.057c2.42.193 4.704 1.25 6.42 2.977 1.727 1.716 2.784 4 2.977 6.42zm5.818.023a.692.692 0 01-.205.534.696.696 0 01-.522.227h-1.625a.724.724 0 01-.728-.682C12.544 8.715 7.284 3.454.682 3.068A.721.721 0 010 2.352V.727C0 .523.08.341.227.205A.705.705 0 01.727 0h.034a15.998 15.998 0 0110.534 4.704 15.998 15.998 0 014.704 10.534z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 673 B |
1
static/svg/tag.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16"><path d="M4.731 3.38c0-.75-.602-1.352-1.351-1.352-.75 0-1.352.602-1.352 1.352 0 .75.602 1.351 1.352 1.351.75 0 1.351-.602 1.351-1.351zM16 9.463c0 .359-.148.707-.39.95l-5.186 5.196a1.36 1.36 0 01-1.912 0L.962 8.047C.421 7.52 0 6.495 0 5.745V1.352C0 .612.613 0 1.352 0h4.393c.75 0 1.774.422 2.313.961l7.551 7.54c.243.254.391.603.391.962z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 422 B |
1
static/svg/threema.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg width="13.76" height="16" xmlns="http://www.w3.org/2000/svg"><path d="M6.88 0C3.08 0 0 2.71 0 6.05c0 1.25.43 2.4 1.16 3.36l-.74 2.95 3.45-.86c.9.39 1.93.61 3.01.61 3.8 0 6.88-2.71 6.88-6.06C13.76 2.71 10.68 0 6.88 0zm0 2.82c1.08 0 1.95.88 1.95 1.95v.78h.08c.17 0 .31.14.31.32v2.75c0 .17-.14.31-.31.31H4.85a.31.31 0 0 1-.31-.31V5.87c0-.18.14-.32.31-.32h.08v-.78c0-1.07.87-1.95 1.95-1.95zm0 .78c-.65 0-1.17.53-1.17 1.17v.78h2.34v-.78c0-.64-.52-1.17-1.17-1.17zM2.66 13.66a1.17 1.17 0 1 0 0 2.34 1.17 1.17 0 0 0 0-2.34zm4.22 0a1.17 1.17 0 1 0 0 2.34 1.17 1.17 0 0 0 0-2.34zm4.22 0a1.17 1.17 0 1 0 0 2.34 1.17 1.17 0 0 0 0-2.34z" fill="#efefef" fill-rule="evenodd"/></svg>
|
After Width: | Height: | Size: 672 B |
1
static/svg/tumblr.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="9.192" height="16"><path d="M8.423 12.778l.769 2.279c-.289.432-1.596.923-2.77.942-3.49.058-4.807-2.48-4.807-4.269V6.5H0V4.432C2.423 3.557 3.01 1.365 3.144.115 3.154.038 3.221 0 3.259 0h2.346v4.077h3.202V6.5H5.596v4.98c0 .673.25 1.606 1.538 1.577.423-.01.99-.135 1.289-.279z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 344 B |
1
static/svg/twitter.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="12.995"><path d="M16 1.543a7.05 7.05 0 01-1.645 1.695c.01.142.01.285.01.427 0 4.335-3.299 9.33-9.33 9.33A9.266 9.266 0 010 11.523c.264.03.518.04.792.04a6.567 6.567 0 004.07-1.4 3.284 3.284 0 01-3.065-2.275 3.484 3.484 0 001.482-.06A3.28 3.28 0 01.65 4.609v-.04c.437.243.945.395 1.483.416A3.277 3.277 0 01.67 2.254c0-.61.162-1.168.447-1.655A9.32 9.32 0 007.878 4.03a3.7 3.7 0 01-.081-.75A3.278 3.278 0 0111.077 0c.943 0 1.796.396 2.395 1.036a6.453 6.453 0 002.081-.792 3.27 3.27 0 01-1.441 1.807c.66-.071 1.3-.254 1.888-.508z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 607 B |
1
static/svg/youtube.svg
Normal file
|
@ -0,0 +1 @@
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" width="13.23" height="16"><path d="M8.43 11.1V13c0 .4-.12.59-.35.59-.13 0-.27-.06-.4-.2V10.7c.13-.13.27-.2.4-.2.23 0 .35.21.35.6zm3.02.02v.4h-.8v-.4c0-.4.13-.61.4-.61.26 0 .4.2.4.6zM2.82 9.17h.96v-.84H.99v.84h.94v5.08h.89zm2.57 5.08h.8v-4.4h-.8v3.36c-.18.25-.34.38-.5.38-.11 0-.18-.06-.2-.19V9.84h-.8v3.5c0 .3.03.5.07.64.08.23.26.33.52.33.29 0 .6-.18.91-.54zm3.83-1.32v-1.76c0-.41-.02-.7-.08-.88-.1-.33-.32-.5-.63-.5-.3 0-.57.16-.83.48V8.33h-.8v5.92h.8v-.43c.27.33.54.5.83.5.31 0 .53-.18.63-.5.06-.19.08-.48.08-.9zm3.02-.09v-.12h-.81c0 .33-.01.5-.02.55-.04.21-.16.32-.36.32-.27 0-.4-.2-.4-.62v-.77h1.6v-.92c0-.47-.09-.81-.25-1.04-.23-.3-.54-.45-.95-.45-.4 0-.72.15-.95.45-.17.23-.25.57-.25 1.04v1.54c0 .48.09.82.26 1.04.23.3.54.45.96.45a1.1 1.1 0 0 0 1.15-.95c.02-.08.02-.26.02-.52zM6.81 4.69V2.81c0-.4-.11-.61-.38-.61-.26 0-.39.2-.39.61V4.7c0 .4.13.62.39.62.27 0 .38-.21.38-.62zm6.42 6.7c0 1.03 0 2.13-.23 3.13-.17.7-.74 1.22-1.43 1.3-1.64.18-3.3.18-4.95.18-1.66 0-3.32 0-4.96-.19a1.66 1.66 0 0 1-1.43-1.3C0 13.52 0 12.43 0 11.4c0-1.03 0-2.12.23-3.12.17-.7.74-1.22 1.44-1.3 1.63-.18 3.3-.18 4.95-.18a46 46 0 0 1 4.95.17A1.68 1.68 0 0 1 13 8.26c.23 1 .23 2.1.23 3.13zM4.32 0h.91L4.15 3.56v2.42h-.9V3.56C3.19 3.12 3 2.5 2.72 1.67L2.13 0h.95l.63 2.35zm3.3 2.97v1.57c0 .47-.08.83-.25 1.05-.22.3-.53.45-.94.45-.4 0-.72-.15-.94-.45-.17-.23-.25-.58-.25-1.05V2.97c0-.47.08-.82.25-1.04.22-.3.54-.46.94-.46.4 0 .72.15.94.46.17.22.25.57.25 1.04zm3-1.44v4.45H9.8V5.5c-.32.38-.62.55-.92.55-.26 0-.44-.1-.52-.33a2.3 2.3 0 0 1-.07-.67V1.54h.8V4.8c0 .2 0 .3.02.32.01.12.08.2.18.2.16 0 .33-.13.51-.4v-3.4z" fill="#efefef"/></svg>
|
After Width: | Height: | Size: 1.6 KiB |
16
theme.toml
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
# theme.toml template for a Hugo theme
|
||||||
|
# See https://github.com/gohugoio/hugoThemes#themetoml for an example
|
||||||
|
|
||||||
|
name = "Frigg"
|
||||||
|
license = "MIT"
|
||||||
|
licenselink = "https://git.vulgarisons.info/raghnarok/hugo_idunn/src/branch/master/LICENSE"
|
||||||
|
description = "Simple Hugo theme, inspired from Idunn but in a more visual way"
|
||||||
|
homepage = "https://git.vulgarisons.info/raghnarok/hugo_frigg"
|
||||||
|
tags = ["hugo", "simple", "responsive", "no javascript", "no fontawesome", "no google", "company", "clean"]
|
||||||
|
features = ["responsive design", "social links"]
|
||||||
|
min_version = "0.41.0"
|
||||||
|
|
||||||
|
[author]
|
||||||
|
name = "Gregory Trolliet"
|
||||||
|
homepage = "https://trolliet.info"
|
||||||
|
|