Fix infos

master
Stéphane HUC 2024-02-08 16:43:38 +01:00
parent fbc421701a
commit e30ba6873d
Signed by: hucste
GPG Key ID: C4ED64222D9B037F
19 changed files with 448 additions and 40 deletions

6
assets/css/gutenberg.min.css vendored Normal file

File diff suppressed because one or more lines are too long

166
assets/css/print.css Normal file
View File

@ -0,0 +1,166 @@
/**
* Définition des marges de la page
*/
@page {
margin: 2cm;
}
@media print {
/**
* Reset global de toutes les propriétés
*/
* {
all: unset;
display: revert;
}
*,
*::before,
*::after {
box-sizing: border-box;
}
*,
*:before,
*:after,
*:first-letter,
p:first-line,
div:first-line,
blockquote:first-line,
li:first-line {
background: transparent !important;
color: #000 !important;
box-shadow: none !important;
text-shadow: none !important;
}
img {
max-width: 100%;
}
input,
textarea,
select {
all: revert;
}
/**
* Taille de polices globales (13pt=16px), couleur de texte et de fond
* Famille de police en serif (avec empattements)
*/
body {
font-family: Georgia, "Times New Roman", Times, serif;
font-size: 13pt;
line-height: 1.5;
background-color: #fff!important;
color: #000!important;
}
h1 {
font-size: 24pt;
}
h2 {
font-size: 20pt;
margin-top: 20pt;
}
h3,
h4 {
font-size: 14pt;
margin-top: 14pt;
}
h5,
h6 {
font-size: 13pt;
margin-top: 14pt;
}
/**
* Lignes veuves et orphelines
*/
p,
blockquote,
figcaption {
orphans: 3; /* pas de ligne seule en bas */
widows: 3; /* pas de ligne seule en haut */
}
/**
* Sauts de pages
*/
ul,
ol,
dl,
a,
table,
pre,
blockquote {
page-break-inside: avoid; /* pas de sauts au sein de ces élements */
}
h1,
h2,
h3,
h4,
h5,
h6,
img,
figure,
caption {
page-break-inside: avoid; /* pas de sauts au sein de ces élements */
page-break-after: avoid; /* pas de saut après ces éléments */
}
ul,
ol,
dl {
page-break-before: avoid; /* pas de sauts avant de ces élements */
}
/**
* Liens
*/
a,
a:link,
a:visited {
background: transparent !important;
color: unset;
font-weight: 700;
text-decoration: underline !important;
}
a[href^=http]:after,
a[href^=https]:after,
{
content: " (" attr(href) ")"; /* affichage des URL des liens externes */
}
abbr[title]:after {
content: ' (' attr(title) ')';
}
/**
* Masquage des vidéos
*/
video,
object,
iframe {
display: none !important;
width: 0 !important;
height: 0 !important;
overflow: hidden !important;
}
/**
* Classes utilitaires
*/
.u-print {
display: block;
display: revert !important; /* affichage des éléments de classe u-print */
}
.no-print {
display: none !important; /* masquage des éléments de classe u-no-print */
}
}

View File

@ -1,7 +1,7 @@
function addCopyButtons(clipboard) {
document.querySelectorAll('pre > code').forEach(function (codeBlock) {
var button = document.createElement('button');
button.className = 'copy-code-button';
button.className = 'copy-code-button no-print';
button.type = 'button';
button.innerText = "{{ .btnTxtCopy }}";

View File

@ -22,7 +22,8 @@ de requêtes sur la base de données (**Grafana**, …)
## Installation
Sous OpenBSD, **influxdb** est disponible en tant que paquet.
Sous OpenBSD ≤ 7.3, **influxdb** est disponible en tant que paquet,
dans sa version **1.x**.
Un groupe `_influx` et un utilisateur `_influx` sont créés.

View File

@ -0,0 +1,174 @@
---
categories: ['Debian','Système','Base']
date: 2024-02-03T14:21:48+01:00
description: "Virtualiser Windows 11 sous Debian Sid avec QEMU"
draft: true
include_toc: true
show_comments: false
tags: ['Debian','Virtualisation','Windows','QEMU']
title: "[Debian :: Virtualisation] Windows 11"
translationKey: "debian-vm-windows11"
---
; https://www.debugpoint.com/install-windows-ubuntu-virt-manager/
; https://www.debugpoint.com/kvm-share-folder-windows-guest/
; https://getlabsdone.com/how-to-enable-tpm-and-secure-boot-on-kvm/
; https://getlabsdone.com/how-to-install-windows-11-on-kvm/
; https://www.linux-kvm.org/page/WindowsGuestDrivers/Download_Drivers
;; WinFSP
; https://winfsp.dev/rel/
;; virtio-win-guest-tools
; https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/virtio-win-guest-tools.exe
## Description
Abordons la virtualisation de Windows 11, sous Debian Sid, avec QEMU.
## Pré-requis
### Windows 11
Le téléchargement de l'image ISO de Windows 11 se fait depuis :
https://www.microsoft.com/software-download/windows11
Procurez-vous légalement une clé de licence Windows.
⇒ Les prérequis minimum pour une [machine virtuelle exécutant Windows](https://learn.microsoft.com/fr-fr/windows/whats-new/windows-11-requirements#virtual-machine-support) 11 sont les suivants :
- 64 Go de stockage
- 4 Go mémoire
- 2 CPU virtuels
### QEMU
QEMU doit être installé:
```dash
$ sudo apt install bridge-utils libosinfo-bin qemu-system virt-manager
```
- `bridge-utils` est une suite d'outils pour configurer un pont Ethernet sous Linux.
- `libosinfo-bin` est un outil pour interroger la base de données osinfo.
- `virt-manager`est une application de bureau pour gérer des machines virtuelles.
### TPM, Secure-Boot, UEFI
Parmi les pré-requis de Windows 11, il y a la gestion :
- de TPM.
- du Secure Boot
- et de l'UEFI.
Il nous installer les binaires suivants :
```dash
$ sudo apt install ovmf swtpm-tools
```
### Client graphique
Pour accéder à l'interface graphique de la VM, au choix
- le serveur Spice (par défaut)
- ou VNC.
#### Spice
Par défaut l'interface graphique de la VM est configurée sur **spice**.
Il faut installer les paquets **spice-vdagent** et **spice-client-gtk** :
```dash
$ sudo apt install spice-vdagent spice-client-gtk
```
#### VNC
Pour utiliser l'interface graphique avec le serveur VNC, un client comme
**tigervnc-viewer** peut être suffisant.
```dash
$ sudo apt install tigervnc-viewer
```
## Création de la VM
### Droits utilisateur
Ajoutez votre utilisateur au groupe **libvirt**, voire **libvirt-qemu**.
```dash
$ sudo adduser your-id libvirt libvirt-qemu
```
### Mode CLI
Partant du principe d'un répertoire dédié dans votre homme, nommé **VM** :
1. Création de la VM:
```dash
$ name=Win11Test
$ size=64
$ cd ~/VM
$ qemu-img create -f qcow2 "${ROOT}${name}.qcow2" "${size}G"
```
2. Démarrage de l'installation :
```dash
$ isofile=Win11_23H2_French_x64v2.iso
$ ROOT="$(pwd)/"
$ graphic=spice
$ virt-install --accelerate --cdrom "${ROOT}${isofile}" --connect qemu:///system --disk device=disk,format=qcow2,path="${ROOT}${name}.qcow2",size="${size}",target.bus=sata,target.dev=sda,type=file --graphics type="${graphic}" --hvm --machine q35 --name ${name} --os-variant detect=on,name=win11 --memory 4096,maxMemory=16384 --network bridge=br0,model.type=e1000,type=bridge --tpm emulator,version=2.0 --vcpus 2,maxvcpus=4
```
`--filesystem mode=passthrough,source="${ROOT}foldername-to-share",target="C:\Users\your-id\hostshare",type=mount`
`--graphics type=spice`
`--os firmware=efi,firmware.feature.enabled=yes,firmware.feature.name=enrolled-keys,firmware.feature.name=secure-boot,loader="/usr/share/OVMF/OVMF_CODE_4M.ms.fd",loader.readonly=yes,loader.secure=yes,loader.type=pflash,type=x86_64 \`
### Virt-manager
## Partage
Le moyen le plus simple actuellement pour partager des copier-coller,
des fichiers entre l'hôte et l'invité est l'utilisation du serveur **spice**.
D'autres possibilités sont l'usage de SSHFS, voire Samba, qui ne seront
pas abordés dans cet article.
Sur l'hôte :
```dash
$ sudo apt install qemu-guest-agent spice-vdagent
```
### Copier-coller
### Partager un répertoire
Pour partager un répertoire entre l'hôte Linux et la VM sous Windows,
il y a quelques étapes supplémentaires à pratiquer.
## Documentations
## Remerciements
Tout particulièrement à @Clochette ;)
---
***Enjoy-IT! <br>
Enjoy-ID!***
---

View File

@ -92,9 +92,9 @@ votre session X. C'est "automatique".
* Nécessite v76 ≥
### Modules
### Extensions
Les modules suivants semblent essentiels :
Les extensions suivantes semblent essentielles :
* μblock origin
* decentraleyes
@ -102,11 +102,6 @@ Les modules suivants semblent essentiels :
#### KeePassXC-Browser
{{<note warning>}}
Ne semble pas vouloir communiquer avec Chromium !
{{</note>}}
Depuis OpenBSD 6.6, le logiciel de confidentialité
**{{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC" >}}** est installable.
@ -119,11 +114,15 @@ module **KeePassXC-Browser**.
Lire la page **KeePassXC** pour avoir plus d'informations concernant le
module {{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC-Browser" a="keepassxc-browser" >}}
##### Unveil règle KeepassXC Proxy
##### Unveil et KeepassXC Proxy
Ajouter au {{< anchor "fichier de configuration unveil" "unveil" >}} de
Chromium `unveil.main` : <br>
`/usr/local/bin/keepassxc-proxy rx`
Chromium `unveil.main` :
```ini
/usr/local/bin r
/usr/local/bin/keepassxc-proxy rx
```
Ainsi le proxy de KeePassXC pourra communiquer avec le module
KeePassXC-Browser.
@ -139,6 +138,11 @@ limiter les appels systèmes et les accès au système de fichier.
par défaut, Chromium ne pourra lire et écrire que dans le dossier de
téléchargements de l'utilisateur.
Retrouvez ces fichiers dans le répertoire `/etc/chromium` et tout particulièrement :
- `/etc/chromium/pledge.main`
- `/etc/chromium/unveil.main`
### WebRTC
Par défaut, Chromium a accès au périphérique `/dev/video`.

View File

@ -238,7 +238,7 @@ Vous pouvez aussi essayer à {{< inside2 l="sys/openbsd/pkg" t="installer" a="in
que : `/usr/local/bin/thunderbird`
* sinon créez-la en ajoutant une "nouvelle chaîne" *(`new string`)*
### Modules
### Extensions
#### KeePassXC-Browser
@ -253,12 +253,15 @@ le module **KeePassXC-Browser**.
Lire la page **KeePassXC** pour avoir plus d'informations concernant le
module {{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC-Browser" a="keepassxc-browser" >}}
##### Unveil règle KeePassXC Proxy
##### Unveil et KeePassXC Proxy
Ajouter au {{< anchor "fichier de configuration unveil" "support-pledge-et-unveil" >}}
de firefox `unveil.main` :
`/usr/local/bin/keepassxc-proxy rx`
```ini
/usr/local/bin r
/usr/local/bin/keepassxc-proxy rx
```
Ainsi le proxy de KeePassXC pourra communiquer avec le module
KeePassXC-Browser.
@ -303,9 +306,12 @@ relancez Firefox.
* Avant OpenBSD 6.7 : Par défaut, unveil est désactivé !
Les permissions pour chaque type de processus sont localisées par défaut
dans des fichiers contenus dans `etc/firefox` qui est une copie de
dans des fichiers contenus dans `/etc/firefox` qui est une copie de
`/usr/local/lib/firefox/browser/defaults/preferences/` lors de
l'installation.
l'installation, principalement :
- `/etc/firefox/pledge.main`
- `/etc/firefox/unveil.main`
#### Gestion MIME paquets tiers

View File

@ -24,6 +24,47 @@ consentement.
**{{< inside2 l="sys/openbsd/pkg" t="Installez" a="installer" >}} le
paquet `iridium`**.
## Configuration
### Extensions
#### KeePassXC-Browser
Depuis OpenBSD 6.6, le logiciel de confidentialité
**{{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC" >}}** est installable.
Pour fonctionner correctement avec iridium, il est nécessaire
d'{{< inside2 l="sys/openbsd/pkg" t="installer" a="installer" >}} le
module **KeePassXC-Browser**.
* https://chrome.google.com/webstore/detail/keepassxc-browser/oboonakemofpalcgghocfoadofidjkkk
Lire la page **KeePassXC** pour avoir plus d'informations concernant le
module {{< inside2 l="sys/openbsd/keepassxc" t="KeePassXC-Browser" a="keepassxc-browser" >}}
##### Unveil et KeepassXC Proxy
Ajouter au {{< anchor "fichier de configuration unveil" "unveil" >}} de
iridium `unveil.main` :
```ini
/usr/local/bin r
/usr/local/bin/keepassxc-proxy rx
```
Ainsi le proxy de KeePassXC pourra communiquer avec le module
KeePassXC-Browser.
### Support Pledge et Unveil
iridium sur OpenBSD est sécurisé par pledge(2) et unveil(2) - afin de
limiter les appels systèmes et les accès au système de fichier.
Retrouvez ces fichiers dans le répertoire `/etc/chromium` et tout particulièrement :
- `/etc/iridium/pledge.main`
- `/etc/iridium/unveil.main`
## Dépannage
### Protonmail

View File

@ -20,7 +20,7 @@
<p class="is-right">
{{ i18n "countWords" . }}<br>
{{ i18n "pTxtSrcMd" }}<a class="raw-src" href="{{ .Site.Params.git4MD }}/{{.Lang}}/{{ .File.Path }}" title="Source Markdown"><i class="fa fa-markdown" aria-hidden="true"></i></a>
{{ if .GitInfo }}<br>Commit version : <em><a class="raw-src" href="{{ .Site.Params.git4Commit }}{{ .GitInfo.Hash }}" title="Commit">{{ .GitInfo.AbbreviatedHash }}</a></em>{{ end }}
{{ if .GitInfo }}<br><span class="no-print"Commit version : ><em><a class="raw-src" href="{{ .Site.Params.git4Commit }}{{ .GitInfo.Hash }}" title="Commit">{{ .GitInfo.AbbreviatedHash }}</a></em></span>{{ end }}
</p>
</div>
</div>

View File

@ -1,10 +1,13 @@
<p>
This content is under the
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="Creative Commons 1.0 Universal Public Domain Dedication">
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span></a> licence, or Public Domain</p>
<p>
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span>
</a> licence, or Public Domain
</p>
<p class="no-print">
This site is made with <a href="http://gohugo.io">Hugo</a>,
<a href="http://purecss.io" title="Built with ❤️ using PureCSS"><i aria-hidden="true" class=""></i><span aria-hidden="true" class="">PureCSS</span></a>;
<a href="https://forkaweso.me" title="The Fork Awesome Icons"><i aria-hidden="true" class="fa fa-html5" title="HTML 5"></i><span aria-hidden="true" class="hidden">HTML 5</span></a>
and <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.</p>
and <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.
</p>
<p><i aria-hidden="true" class="fa fa-copyright"></i> <a href="http://huc.fr.eu.org">{{ i18n "me" }}</a> :: {{ .Dot.Site.Params.homeText }}</p>

View File

@ -1,11 +1,14 @@
<p>
Le contenu de cette page est diffusé sous les termes de la licence
<a href="http://creativecommons.org/publicdomain/zero/1.0/deed.{{ .lang }}" title="Creative Commons 1.0 Universal Transfert dans le Domaine Public">
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span></a>, ou domaine public</p>
<p>
<i aria-hidden="true" class="fa fa-creative-commons"></i> <i aria-hidden="true" class="fa fa-cc-zero"></i><span aria-hidden="true" class="hidden">CC-0</span>
</a>, ou domaine public
</p>
<p class="no-print">
Ce site est généré par <a href="http://gohugo.io">Hugo</a>,
<a href="http://purecss.io" title="Fait avec ❤️ avec PureCSS"><i aria-hidden="true" class=""></i><span class="">PureCSS</span></a> +
<a href="https://forkaweso.me" title="Les Icônes Fork Awesome"><i aria-hidden="true" class="fa fa-fork-awesome" title="Fork Awesome"></i><span aria-hidden="true" class="hidden">Fork Awesome</span></a> ;
<i aria-hidden="true" class="fa fa-html5" title="HTML 5"></i><span class="hidden">HTML 5</span>
et <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.</p>
et <i aria-hidden="true" class="fa fa-css3" title="CSS 3"></i><span aria-hidden="true" class="hidden">CSS 3</span>.
</p>
<p><i aria-hidden="true" class="fa fa-copyright"></i> <a href="http://huc.fr.eu.org">{{ i18n "me" }}</a> :: {{ .Dot.Site.Params.homeText | safeHTML }}</p>

View File

@ -13,7 +13,7 @@
<div class="pure-u-1 pure-u-md-3-5" id="footer-copyright">
{{ if eq .lang "en" }} {{ partial "footer.en.html" (dict "Dot" .Dot "lang" .lang) }} {{ else }} {{ partial "footer.fr.html" (dict "Dot" .Dot "lang" .lang) }} {{ end }}
<p>
<p class="no-print">
{{- if and .Dot.IsHome .Dot.GitInfo -}}
Commit version : <em><a class="raw-src" href="{{ $.Site.Params.git4Commit }}{{ .Dot.GitInfo.Hash }}" title="Commit">{{ .Dot.GitInfo.AbbreviatedHash }}</a></em><br>
{{ end -}}
@ -21,7 +21,7 @@
</p>
</div>
<div class="is-center pure-u-1 pure-u-md-1-5" id="footer-infos">
<div class="is-center no-print pure-u-1 pure-u-md-1-5" id="footer-infos">
{{/* {{- partial "switcher-themes" . -}} */}}
{{ partialCached "don" (dict "lang" .lang) }}
{{ partial "feeds" (dict "Dot" .Dot) }}

View File

@ -21,7 +21,7 @@
<link href="/img/favicon.ico" rel="shortcut icon" type="image/x-icon"><!-- integrity="sha512-/IZKAgWA8ajP4kTBYC2/3f+YaYmecd0W5Y38cvMQdKT8sXrjV1V1h4UoqBTnMYSykz9dD0WQYq8sWE+zePWO2Q== sha384-CKCvkSIbj5i2uFPIQbf7HImQ/uFTNU+YbHq3aYHsR11/RgEFfv9Q3c/rwDrDajWP sha256-PoC4C1tkwXPE77pKqs30plVi6xA839nG/SNHH/N502I="> -->
<link href="{{ .logo }}" rel="shortcut icon" type="image/svg+xml"><!-- integrity="sha512-mT7mdaD8A7CT7YEeH2V8xBRzTYsk9hGDwBaN8U3rldqCajTuFg2tIyHxyoj8Jgx7pose7Xn2h7IMg7yBTHBfAQ== sha384-Btuu5srpKJ4xoLLUdxjItnIfHrZReYObv2837eYpOGCEjM8NCXdRTCAQwqMZugRM sha256-gfrnRvdMDQlUzPCajS4J81TGDpJYcCjXQjPpKET1vEg="> -->
<link href="/sitemap.xml" rel="sitemap">
<link href="/{{ .lang }}/sitemap.xml"rel="sitemap">
<link href="/{{ .lang }}/sitemap.xml" rel="sitemap">
<link href="{{ .baseURL }}{{ .lang }}/" hreflang="{{ .lang }}" rel="start">
<link crossorigin="anonymous" href="/css/pure-min.css" integrity="sha384-X38yfunGUhNzHpBaEBsWLO+A0HDYOQi8ufWDkZ0k9e0eXz/tH3II7uKZ9msv++Ls" rel="stylesheet">
<link crossorigin="anonymous" href="/css/grids-responsive-min.css" integrity="" rel="stylesheet">
@ -32,4 +32,8 @@
{{ $huc := resources.Get "css/huc.css" }}
{{ $global := slice $nav $huc | resources.Concat "css/1.css" }}
{{ $css := $global | minify | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="all">
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="screen">
{{ $css := resources.Get "css/gutenberg.min.css" | fingerprint }}
<link rel="stylesheet" href="{{ $css.RelPermalink }}" crossorigin="anonymous" integrity="{{ $css.Data.Integrity }}" media="print">

View File

@ -12,9 +12,9 @@
<figcaption aria-hidden="true" class="hidden" hidden>Logo</figcaption>
</figure>
</div>
<label for="drop" class="toggle"><i aria-hidden="true" class="fa fa-bars"></i><span aria-hidden="true" class="hidden" hidden>Menu</span></label>
<input type="checkbox" id="drop" />
<ul aria-labelledby="main-menu" class="menu">
<label for="drop" class="no-print toggle"><i aria-hidden="true" class="fa fa-bars"></i><span aria-hidden="true" class="hidden" hidden>Menu</span></label>
<input class="no-print" id="drop" type="checkbox" />
<ul aria-labelledby="main-menu" class="menu no-print">
{{- range .Site.Menus.main -}}
{{ if .HasChildren }} {{ $id := print "drop-" .Identifier }}
<li class="" role="none">{{ $icon := printf `<i aria-hidden="true" class="%s"></i>` .Pre }} {{ $text := print $icon " " .Name | safeHTML }}
@ -42,7 +42,7 @@
{{ end -}}
</ul>
<ul aria-labelledby="lang-selector" class="menu">
<ul aria-labelledby="lang-selector" class="menu no-print">
<li class="lang-selector" role="none">
{{ partial "language-selector" . }}
</li>
@ -52,7 +52,7 @@
{{- if not .IsHome }}
<ul class="menu">
<li class="menu-search" role="none">
<li class="menu-search no-print" role="none">
<input class="form-control" id="search" placeholder="{{ i18n "searchHolderTitle" }}">
<input aria-hidden="true" id="replyer" type="hidden">
{{- $baseURL := (printf "%s%s" $.Site.BaseURL $.Site.Language.Lang) | absLangURL -}}

View File

@ -1,4 +1,4 @@
<div id="prev-to-next" class="is-center">
<div id="prev-to-next" class="is-center no-print">
<hr>
<span class="hidden">|</span>
{{ if .PrevInSection }}

View File

@ -1,2 +1,2 @@
<div class="pgbar"></div>
<div class="percent"><span></span> %</div>
<div class="no-print pgbar"></div>
<div class="no-print percent"><span></span> %</div>

View File

@ -7,6 +7,6 @@
<i aria-hidden="true" class="fa fa-calendar"></i>
<em>
{{ i18n "published" . }}<time class="post-date" datetime="{{ $dateTime }}">{{ print $dateCreated }}</time>
{{ if gt $dateModifUnix $dateTimeUnix }}{{ T "modified" . }}<time class="post-date" datetime="{{ $dateTimeModif }}">{{ print $dateModified }}</time>{{ end }}<br>
<i aria-hidden="true" class="fa fa-clock-o"></i> {{ i18n "timeToRead" .ReadingTime }}
{{ if gt $dateModifUnix $dateTimeUnix }}{{ T "modified" . }}<time class="post-date" datetime="{{ $dateTimeModif }}">{{ print $dateModified }}</time>{{ end }}<br>
<i aria-hidden="true" class="fa fa-clock-o"></i> {{ i18n "timeToRead" .ReadingTime }}
</em>

View File

@ -7,7 +7,7 @@
{{/* at least one header to link to */}}
{{- $has_headers := ge (len $headers) 1 -}}
{{- if $has_headers -}}
<div id="toc" class="bg-dark">
<div id="toc" class="bg-dark no-print">
<details>
<summary>
<b class="">{{ i18n "tocTitle" . }}</b>

View File

@ -1 +1 @@
<div class="is-top"><a href="{{ .Permalink | absLangURL }}#top" class="pure-button" title="{{ .Permalink | absLangURL }}">↑ TOP ↑</a></div>
<div class="is-top no-print"><a href="{{ .Permalink | absLangURL }}#top" class="pure-button" title="{{ .Permalink | absLangURL }}">↑ TOP ↑</a></div>