Compare commits
51 commits
12ca6ad3df
...
7bfe34cb37
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
7bfe34cb37 | ||
|
|
10d25fd9b7 | ||
|
|
318ad7088e | ||
|
|
c700283e39 | ||
|
|
4f46786216 | ||
|
|
2f1d11b4c3 | ||
|
|
4f7319b2bd | ||
|
|
390a04edda | ||
|
|
8ee0948d68 | ||
|
|
f2f4a5d345 | ||
|
|
2c5188a0cd | ||
|
|
1e2b096511 | ||
|
|
01d7872ba9 | ||
|
|
22d0ef7c6d | ||
|
|
befa737e15 | ||
|
|
6e155dc63a | ||
|
|
e697057ce7 | ||
|
|
e95cfad960 | ||
|
|
cdc4df30e3 | ||
|
|
d1c3bcacce | ||
|
|
c1757fc937 | ||
|
|
0f14bb2eab | ||
|
|
e1f85218f7 | ||
|
|
38d0c295f6 | ||
|
|
6397357f5c | ||
|
|
475d3def59 | ||
|
|
5948237e4a | ||
|
|
b14fd34268 | ||
|
|
b9aa1285be | ||
|
|
68eab5fc48 | ||
|
|
87dfa2ea06 | ||
|
|
a9be5cd93f | ||
|
|
3f01b1d5ad | ||
|
|
e9ed652e11 | ||
|
|
82d7ba8878 | ||
|
|
f8da3a9b6e | ||
|
|
5f8fc7444a | ||
|
|
9e66b1ab43 | ||
|
|
7fa22762f2 | ||
|
|
d01b691e53 | ||
|
|
56f7d80e7c | ||
|
|
e3f1295da9 | ||
|
|
679c9a1b11 | ||
|
|
dd5ed66469 | ||
|
|
be07156505 | ||
|
|
37f156e6b4 | ||
|
|
37a511396c | ||
|
|
ee1e7a0ac1 | ||
|
|
f6809d8fd0 | ||
|
|
1392de931c | ||
|
|
183e973f65 |
|
|
@ -7,6 +7,11 @@ theme: PaperMod
|
||||||
enableEmoji: true
|
enableEmoji: true
|
||||||
enableRobotsTXT: true
|
enableRobotsTXT: true
|
||||||
|
|
||||||
|
markup:
|
||||||
|
goldmark:
|
||||||
|
renderer:
|
||||||
|
unsafe: true
|
||||||
|
|
||||||
languages:
|
languages:
|
||||||
de:
|
de:
|
||||||
languageName: de
|
languageName: de
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,9 @@
|
||||||
*This page was machine-translated*
|
---
|
||||||
|
title: "Awareness"
|
||||||
|
date: 2023-09-15T22:08:00+02:00
|
||||||
|
---
|
||||||
|
|
||||||
# Awareness
|
*This page was machine-translated*
|
||||||
|
|
||||||
You can contact the awareness team if you have experienced discrimination or harassment,
|
You can contact the awareness team if you have experienced discrimination or harassment,
|
||||||
want to deal with conflicts or emotions or simply need someone to talk to. The team members will listen to you
|
want to deal with conflicts or emotions or simply need someone to talk to. The team members will listen to you
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,7 @@
|
||||||
# Awareness
|
---
|
||||||
|
title: "Awareness"
|
||||||
|
date: 2023-09-15T22:08:00+02:00
|
||||||
|
---
|
||||||
|
|
||||||
Ans Awareness-Team kannst du dich wenden, wenn du Diskriminierung oder
|
Ans Awareness-Team kannst du dich wenden, wenn du Diskriminierung oder
|
||||||
Belästigung erfahren hast, Konflikte oder Emotionen be- oder verarbeiten
|
Belästigung erfahren hast, Konflikte oder Emotionen be- oder verarbeiten
|
||||||
|
|
|
||||||
|
|
@ -20,13 +20,6 @@ With the Metro:
|
||||||
The event location is near the subway station Eberhardshof. When you get there, it is best to go out of the station in the direction of the "Netto" supermarket (you can see it in the distance) and then pass it on the right.
|
The event location is near the subway station Eberhardshof. When you get there, it is best to go out of the station in the direction of the "Netto" supermarket (you can see it in the distance) and then pass it on the right.
|
||||||
If you see the big tower, then the event location is directly below.
|
If you see the big tower, then the event location is directly below.
|
||||||
|
|
||||||
### Are their Livestreams and Recordings?
|
|
||||||
|
|
||||||
You can find
|
|
||||||
the current livestream
|
|
||||||
and the recordings of the talks
|
|
||||||
[on our Peertube channel](https://tube.systerserver.net/c/quellcode/videos).
|
|
||||||
|
|
||||||
### Are there Corona Measures in Place?
|
### Are there Corona Measures in Place?
|
||||||
|
|
||||||
Of course.
|
Of course.
|
||||||
|
|
|
||||||
|
|
@ -20,12 +20,6 @@ Mit der U-Bahn:
|
||||||
Das Heizhaus ist an der U-Bahnstation Eberhardshof. Wenn du da ankommst, am besten in Richtung Netto (sieht man in der Ferne) rausgehen aus der Station und dann rechts daran vorbei.
|
Das Heizhaus ist an der U-Bahnstation Eberhardshof. Wenn du da ankommst, am besten in Richtung Netto (sieht man in der Ferne) rausgehen aus der Station und dann rechts daran vorbei.
|
||||||
Wenn ihr den großen Quelleturm seht, dann ist das Heizhaus direkt darunter.
|
Wenn ihr den großen Quelleturm seht, dann ist das Heizhaus direkt darunter.
|
||||||
|
|
||||||
### Gibt es einen Livestream und Aufzeichnungen?
|
|
||||||
|
|
||||||
Den aktuellen Livestream,
|
|
||||||
bzw. die Aufzeichnungen,
|
|
||||||
findet ihr [auf unserem Peertube-Channel](https://tube.systerserver.net/c/quellcode/videos).
|
|
||||||
|
|
||||||
### Gibt es für das Event ein Corona-Konzept?
|
### Gibt es für das Event ein Corona-Konzept?
|
||||||
|
|
||||||
Selbstverständlich.
|
Selbstverständlich.
|
||||||
|
|
|
||||||
|
|
@ -9,13 +9,6 @@ date: 2023-07-26T09:58:25+02:00
|
||||||
|
|
||||||
In addition to our program in the lecture/workshop room, we will also have a hack center (aka a large room with tables and chairs) where you can sit, program and do mini-workshops without registration.
|
In addition to our program in the lecture/workshop room, we will also have a hack center (aka a large room with tables and chairs) where you can sit, program and do mini-workshops without registration.
|
||||||
|
|
||||||
### Stream & Recordings
|
|
||||||
|
|
||||||
You can find
|
|
||||||
the current livestream
|
|
||||||
and the recordings of the talks
|
|
||||||
[on our Peertube channel](https://tube.systerserver.net/c/quellcode/videos).
|
|
||||||
|
|
||||||
## Program
|
## Program
|
||||||
|
|
||||||
- from 10 a.m. there is eternal breakfast in the "Brücke" (room in front of the lecture/workshop room)
|
- from 10 a.m. there is eternal breakfast in the "Brücke" (room in front of the lecture/workshop room)
|
||||||
|
|
|
||||||
|
|
@ -13,12 +13,6 @@ Neben unserem Programm im Vortrags/Workshopraum werden wir auch ein Hackcenter (
|
||||||
|
|
||||||
## Programm Samstag 16.09.23
|
## Programm Samstag 16.09.23
|
||||||
|
|
||||||
### Stream & Aufzeichnungen
|
|
||||||
|
|
||||||
Den aktuellen Livestream,
|
|
||||||
bzw. die Aufzeichnungen,
|
|
||||||
findet ihr [auf unserem Peertube-Channel](https://tube.systerserver.net/c/quellcode/videos).
|
|
||||||
|
|
||||||
### Vortrags/Workshopraum:
|
### Vortrags/Workshopraum:
|
||||||
- [10:00-10:15 Welcome speech (panda) [de/en]](#1000-1015welcome-speech-panda)
|
- [10:00-10:15 Welcome speech (panda) [de/en]](#1000-1015welcome-speech-panda)
|
||||||
- [10:30-11:15 Eine Tour durch OpenBSD (vmann) [de]](#1030-1115eine-tour-durch-openbsd-vmann)
|
- [10:30-11:15 Eine Tour durch OpenBSD (vmann) [de]](#1030-1115eine-tour-durch-openbsd-vmann)
|
||||||
|
|
@ -40,8 +34,8 @@ findet ihr [auf unserem Peertube-Channel](https://tube.systerserver.net/c/quellc
|
||||||
- [10:00-11:45 Haecksen-Frühstück (e33a) [de/en]](#1000-1145haecksen-frühstück-e33a)
|
- [10:00-11:45 Haecksen-Frühstück (e33a) [de/en]](#1000-1145haecksen-frühstück-e33a)
|
||||||
- [12:00-13:30 Pixel-Workshop - Zeichne deinen eigenen Pixel-Art-Avatar! (Mullana) [de/en]](#1200-1330pixel-workshop---zeichne-deinen-eigenen-pixel-art-avatar-mullana)
|
- [12:00-13:30 Pixel-Workshop - Zeichne deinen eigenen Pixel-Art-Avatar! (Mullana) [de/en]](#1200-1330pixel-workshop---zeichne-deinen-eigenen-pixel-art-avatar-mullana)
|
||||||
- [14:00-15:45 dezentrale Tools für Aktivismus & Organisierung (missytake) [de]](#1400-1545dezentrale-tools-für-aktivismus--organisierung-missytake)
|
- [14:00-15:45 dezentrale Tools für Aktivismus & Organisierung (missytake) [de]](#1400-1545dezentrale-tools-für-aktivismus--organisierung-missytake)
|
||||||
- ~~[16:00-16:45 Einführung in die Strömungssimulation mit OpenSource (OpenFOAM) (Björn) [de]](#1600-1645einführung-in-die-strömungssimulation-mit-opensource-openfoam--björn)~~
|
- ~~16:00-16:45 Einführung in die Strömungssimulation mit OpenSource (OpenFOAM)~~
|
||||||
- [16:00-16:20 Was ist das Open Build Service und was hat es mit Kiwis zu tun? (hagi)](#1600-1620-was-ist-das-open-build-service-und-was-hat-es-mit-kiwis-zu-tun-hagi)
|
- ~~16:00-16:20 Was ist das Open Build Service und was hat es mit Kiwis zu tun?~~
|
||||||
- [16:30-17:00 Lightning talks (mpk) [de/en]](#1630-1700lightning-talks-mpk)
|
- [16:30-17:00 Lightning talks (mpk) [de/en]](#1630-1700lightning-talks-mpk)
|
||||||
- [17:00-17:45 Powerpoint Karaoke (mpk) [de/en]](#1700-1745powerpoint-karaoke-mpk)
|
- [17:00-17:45 Powerpoint Karaoke (mpk) [de/en]](#1700-1745powerpoint-karaoke-mpk)
|
||||||
- [18:00-18:15 End speech [de/en]](#1800-1815end-speech)
|
- [18:00-18:15 End speech [de/en]](#1800-1815end-speech)
|
||||||
|
|
@ -107,7 +101,7 @@ We are 2 cyberpunks who like to record lo-fi music and try to make the best out
|
||||||
### 10:00-11:45 Haecksen-Frühstück (e33a)
|
### 10:00-11:45 Haecksen-Frühstück (e33a)
|
||||||
https://wiki.haecksen.org/books/treffen-community/page/haecksenfruhstuck
|
https://wiki.haecksen.org/books/treffen-community/page/haecksenfruhstuck
|
||||||
|
|
||||||
Die Haecksen sind eine Gruppe aus Hacker*innen, die sich als Frauen verstehen. Bei diesem Frühstück könnt ihr uns kennenlernen und ggf. Mitglied der Haecksen werden. Die Haecksen treffen sich hauptsächlich online, aber sind dabei eine Nürnberger Lokalgruppe zu gründen.
|
Die Haecksen sind eine Gruppe aus Hacker\*innen, die sich als Frauen verstehen. Bei diesem Frühstück könnt ihr uns kennenlernen und ggf. Mitglied der Haecksen werden. Die Haecksen treffen sich hauptsächlich online, aber sind dabei eine Nürnberger Lokalgruppe zu gründen.
|
||||||
|
|
||||||
[en] The Haecksen are a group of hackers who see themselves as women. At this breakfast you can get to know us and possibly become a member of the Haecksen. The Haecksen mainly meet online, but are in the process of starting a Nuremberg local group.
|
[en] The Haecksen are a group of hackers who see themselves as women. At this breakfast you can get to know us and possibly become a member of the Haecksen. The Haecksen mainly meet online, but are in the process of starting a Nuremberg local group.
|
||||||
|
|
||||||
|
|
@ -121,7 +115,6 @@ Please bring drawing equipment. A tablet with a pen is great, but a laptop with
|
||||||
### 14:00-15:45 dezentrale Tools für Aktivismus & Organisierung (missytake)
|
### 14:00-15:45 dezentrale Tools für Aktivismus & Organisierung (missytake)
|
||||||
Tech-Monopole kontrollieren heute fast die ganze digitale und nicht-digitale Welt. Um dieser Dystopie etwas entgegenzustellen, müssen wir uns organisieren, ohne Leute auszuschließen. Das geht auch ohne Google, Facebook, und Dropbox - doch was sind die Alternativen?
|
Tech-Monopole kontrollieren heute fast die ganze digitale und nicht-digitale Welt. Um dieser Dystopie etwas entgegenzustellen, müssen wir uns organisieren, ohne Leute auszuschließen. Das geht auch ohne Google, Facebook, und Dropbox - doch was sind die Alternativen?
|
||||||
|
|
||||||
### 16:00-16:20 Was ist das Open Build Service und was hat es mit Kiwis zu tun? (hagi)
|
|
||||||
|
|
||||||
### 16:30-17:00 Lightning talks (mpk)
|
### 16:30-17:00 Lightning talks (mpk)
|
||||||
Halte spontan deinen Talk über etwas das dich begeistert in 1-10 Minuten!
|
Halte spontan deinen Talk über etwas das dich begeistert in 1-10 Minuten!
|
||||||
|
|
|
||||||
27
flake.lock
Normal file
27
flake.lock
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
{
|
||||||
|
"nodes": {
|
||||||
|
"nixpkgs": {
|
||||||
|
"locked": {
|
||||||
|
"lastModified": 1748190013,
|
||||||
|
"narHash": "sha256-R5HJFflOfsP5FBtk+zE8FpL8uqE7n62jqOsADvVshhE=",
|
||||||
|
"owner": "nixos",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"rev": "62b852f6c6742134ade1abdd2a21685fd617a291",
|
||||||
|
"type": "github"
|
||||||
|
},
|
||||||
|
"original": {
|
||||||
|
"owner": "nixos",
|
||||||
|
"ref": "nixos-unstable",
|
||||||
|
"repo": "nixpkgs",
|
||||||
|
"type": "github"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": {
|
||||||
|
"inputs": {
|
||||||
|
"nixpkgs": "nixpkgs"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"root": "root",
|
||||||
|
"version": 7
|
||||||
|
}
|
||||||
31
flake.nix
Normal file
31
flake.nix
Normal file
|
|
@ -0,0 +1,31 @@
|
||||||
|
{
|
||||||
|
description = "A Nix-flake-based Hugo development environment";
|
||||||
|
|
||||||
|
inputs = {
|
||||||
|
nixpkgs.url = "github:nixos/nixpkgs/nixos-unstable";
|
||||||
|
};
|
||||||
|
|
||||||
|
outputs = { self , nixpkgs ,... }: let
|
||||||
|
system = "x86_64-linux";
|
||||||
|
in {
|
||||||
|
devShells."${system}".default = let
|
||||||
|
pkgs = import nixpkgs {
|
||||||
|
inherit system;
|
||||||
|
};
|
||||||
|
in pkgs.mkShell {
|
||||||
|
# create an environment with nodejs_18, pnpm, and yarn
|
||||||
|
packages = with pkgs; [
|
||||||
|
nodejs_24
|
||||||
|
nodePackages.pnpm
|
||||||
|
(yarn.override { nodejs = nodejs_24; })
|
||||||
|
hugo
|
||||||
|
rsync
|
||||||
|
];
|
||||||
|
|
||||||
|
shellHook = ''
|
||||||
|
echo "node `node --version`"
|
||||||
|
hugo version
|
||||||
|
'';
|
||||||
|
};
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
Copyright (c) 2020 nanxiaobei and adityatelange
|
Copyright (c) 2020 nanxiaobei and adityatelange
|
||||||
Copyright (c) 2021-2023 adityatelange
|
Copyright (c) 2021-2025 adityatelange
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|
|
||||||
|
|
@ -3,7 +3,7 @@
|
||||||
<h4 align=center>☄️ Fast | ☁️ Fluent | 🌙 Smooth | 📱 Responsive</h4>
|
<h4 align=center>☄️ Fast | ☁️ Fluent | 🌙 Smooth | 📱 Responsive</h4>
|
||||||
<br>
|
<br>
|
||||||
|
|
||||||
> Hugo PaperMod is a theme based on [hugo-paper](https://github.com/nanxiaobei/hugo-paper).
|
> Hugo PaperMod is a theme based on [hugo-paper](https://github.com/nanxiaobei/hugo-paper/tree/4330c8b12aa48bfdecbcad6ad66145f679a430b3).<br>
|
||||||
> The goal of this project is to add more features and customization to the og theme.
|
> The goal of this project is to add more features and customization to the og theme.
|
||||||
|
|
||||||
**Documentation** can be found here: [**📚 Wiki**](https://github.com/adityatelange/hugo-PaperMod/wiki)
|
**Documentation** can be found here: [**📚 Wiki**](https://github.com/adityatelange/hugo-PaperMod/wiki)
|
||||||
|
|
@ -11,10 +11,12 @@
|
||||||
**ExampleSite** can be found here: [**exampleSite**](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite). Demo is built up with [exampleSite](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite) as source.
|
**ExampleSite** can be found here: [**exampleSite**](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite). Demo is built up with [exampleSite](https://github.com/adityatelange/hugo-PaperMod/tree/exampleSite) as source.
|
||||||
|
|
||||||
[](https://themes.gohugo.io/themes/hugo-papermod/)
|
[](https://themes.gohugo.io/themes/hugo-papermod/)
|
||||||
[](https://github.com/gohugoio/hugo/releases/tag/v0.97.1)
|
[](https://github.com/gohugoio/hugo/releases/tag/v0.146.0)
|
||||||
[](https://discord.gg/ahpmTvhVmp)
|
[](https://discord.gg/ahpmTvhVmp)
|
||||||
[](https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE)
|
[](https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE)
|
||||||

|

|
||||||
|
[](https://x.com/intent/tweet/?text=Checkout%20Hugo%20PaperMod%20%E2%9C%A8%0AA%20fast,%20clean,%20responsive%20Hugo%20theme.&url=https://github.com/adityatelange/hugo-PaperMod&hashtags=Hugo,PaperMod)
|
||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -33,19 +35,20 @@
|
||||||
- [Profile Mode.](https://github.com/adityatelange/hugo-PaperMod/wiki/Features#profile-mode)
|
- [Profile Mode.](https://github.com/adityatelange/hugo-PaperMod/wiki/Features#profile-mode)
|
||||||
- Table of Content Generation (newer implementation).
|
- Table of Content Generation (newer implementation).
|
||||||
- Archive of posts.
|
- Archive of posts.
|
||||||
- Social Icons (home-info and profile-mode)
|
- Social Icons (home-info and profile-mode).
|
||||||
- Social-Media Share buttons on posts.
|
- Social-Media Share buttons on posts.
|
||||||
- Menu location indicator.
|
- Menu location indicator.
|
||||||
- Multilingual support. (with language selector)
|
- Multilingual support. (with language selector).
|
||||||
- Taxonomies
|
- Taxonomies.
|
||||||
- Cover image for each post (with Responsive image support).
|
- Cover image for each post (with Responsive image support).
|
||||||
- Light/Dark theme (automatic theme switch a/c to browser theme and theme-switch button).
|
- Light/Dark theme (automatic theme switch a/c to browser theme and theme-switch button).
|
||||||
- SEO Friendly.
|
- SEO Friendly.
|
||||||
- Multiple Author support.
|
- Multiple Author support.
|
||||||
- Search Page with Fuse.js
|
- Search Page with Fuse.js
|
||||||
- Other Posts suggestion below a post
|
- Other Posts suggestion below a post
|
||||||
- Breadcrumb Navigation
|
- Breadcrumb Navigation.
|
||||||
- Code Block Copy buttons
|
- Code Block Copy buttons.
|
||||||
|
- Hugo's Chroma syntax highlighter.
|
||||||
- No webpack, nodejs and other dependencies are required to edit the theme.
|
- No webpack, nodejs and other dependencies are required to edit the theme.
|
||||||
|
|
||||||
Read Wiki For More Details => **[PaperMod - Features](https://github.com/adityatelange/hugo-PaperMod/wiki/Features)**
|
Read Wiki For More Details => **[PaperMod - Features](https://github.com/adityatelange/hugo-PaperMod/wiki/Features)**
|
||||||
|
|
@ -100,4 +103,4 @@ Release ChangeLog has info about stuff added: **[Releases](https://github.com/ad
|
||||||
|
|
||||||
## Stargazers over time 📈
|
## Stargazers over time 📈
|
||||||
|
|
||||||
<kbd>[](https://starchart.cc/adityatelange/hugo-PaperMod)</kbd>
|
[](https://starchart.cc/adityatelange/hugo-PaperMod)
|
||||||
|
|
|
||||||
|
|
@ -27,12 +27,10 @@
|
||||||
margin-inline-start: auto;
|
margin-inline-start: auto;
|
||||||
}
|
}
|
||||||
|
|
||||||
.social-icons {
|
|
||||||
padding: 12px 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
.social-icons a:not(:last-of-type) {
|
.social-icons a {
|
||||||
margin-inline-end: 12px;
|
display: inline-flex;
|
||||||
|
padding: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.social-icons a svg {
|
.social-icons a svg {
|
||||||
|
|
|
||||||
|
|
@ -80,20 +80,23 @@
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
.entry-cover,
|
.entry-hint {
|
||||||
.entry-isdraft {
|
|
||||||
font-size: 14px;
|
|
||||||
color: var(--secondary);
|
color: var(--secondary);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.entry-hint-parent {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
.entry-cover {
|
.entry-cover {
|
||||||
|
font-size: 14px;
|
||||||
margin-bottom: var(--gap);
|
margin-bottom: var(--gap);
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.entry-cover img {
|
.entry-cover img {
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
pointer-events: none;
|
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: auto;
|
height: auto;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -19,6 +19,7 @@
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-meta .i18n_list li {
|
.post-meta .i18n_list li {
|
||||||
|
|
@ -124,25 +125,24 @@
|
||||||
padding-inline-start: 10px;
|
padding-inline-start: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content dd ~ dd,
|
.post-content dd~dd,
|
||||||
.post-content dt ~ dt {
|
.post-content dt~dt {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content table {
|
.post-content table {
|
||||||
margin-bottom: 32px;
|
margin-bottom: var(--content-gap);
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content table th,
|
.post-content table th,
|
||||||
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
|
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
|
||||||
min-width: 80px;
|
min-width: 80px;
|
||||||
padding: 12px 8px;
|
padding: 8px 5px;
|
||||||
line-height: 1.5;
|
line-height: 1.5;
|
||||||
border-bottom: 1px solid var(--border);
|
border-bottom: 1px solid var(--border);
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content table th {
|
.post-content table th {
|
||||||
font-size: 14px;
|
|
||||||
text-align: start;
|
text-align: start;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -156,12 +156,12 @@
|
||||||
|
|
||||||
.post-content .highlight:not(table) {
|
.post-content .highlight:not(table) {
|
||||||
margin: 10px auto;
|
margin: 10px auto;
|
||||||
background: var(--hljs-bg) !important;
|
background: var(--code-block-bg) !important;
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
direction: ltr;
|
direction: ltr;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content li > .highlight {
|
.post-content li>.highlight {
|
||||||
margin-inline-end: 0;
|
margin-inline-end: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -200,11 +200,11 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content pre code {
|
.post-content pre code {
|
||||||
display: block;
|
display: grid;
|
||||||
margin: auto 0;
|
margin: auto 0;
|
||||||
padding: 10px;
|
padding: 10px;
|
||||||
color: rgb(213, 213, 214);
|
color: rgb(213, 213, 214);
|
||||||
background: var(--hljs-bg) !important;
|
background: var(--code-block-bg) !important;
|
||||||
border-radius: var(--radius);
|
border-radius: var(--radius);
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
word-break: break-all;
|
word-break: break-all;
|
||||||
|
|
@ -240,14 +240,14 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content figure > figcaption {
|
.post-content figure>figcaption {
|
||||||
color: var(--primary);
|
color: var(--primary);
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
margin: 8px 0 16px;
|
margin: 8px 0 16px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content figure > figcaption > p {
|
.post-content figure>figcaption>p {
|
||||||
color: var(--secondary);
|
color: var(--secondary);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
|
|
@ -267,7 +267,8 @@
|
||||||
|
|
||||||
.toc details summary {
|
.toc details summary {
|
||||||
cursor: zoom-in;
|
cursor: zoom-in;
|
||||||
margin-inline-start: 20px;
|
margin-inline-start: 10px;
|
||||||
|
user-select: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toc details[open] summary {
|
.toc details[open] summary {
|
||||||
|
|
@ -280,8 +281,9 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.toc .inner {
|
.toc .inner {
|
||||||
margin: 0 20px;
|
margin: 5px 20px 0;
|
||||||
padding: 10px 20px;
|
padding: 0 10px;
|
||||||
|
opacity: 0.9;
|
||||||
}
|
}
|
||||||
|
|
||||||
.toc li ul {
|
.toc li ul {
|
||||||
|
|
@ -296,10 +298,18 @@
|
||||||
margin-top: 56px;
|
margin-top: 56px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.post-footer>* {
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.post-tags {
|
||||||
|
display: flex;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
gap: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
.post-tags li {
|
.post-tags li {
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
margin-inline-end: 3px;
|
|
||||||
margin-bottom: 5px;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-tags a,
|
.post-tags a,
|
||||||
|
|
@ -312,8 +322,7 @@
|
||||||
|
|
||||||
.post-tags a {
|
.post-tags a {
|
||||||
display: block;
|
display: block;
|
||||||
padding-inline-start: 14px;
|
padding: 0 14px;
|
||||||
padding-inline-end: 14px;
|
|
||||||
color: var(--secondary);
|
color: var(--secondary);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
line-height: 34px;
|
line-height: 34px;
|
||||||
|
|
@ -326,15 +335,16 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.share-buttons {
|
.share-buttons {
|
||||||
margin: 14px 0;
|
padding: 10px;
|
||||||
padding-inline-start: var(--radius);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.share-buttons li,
|
||||||
.share-buttons a {
|
.share-buttons a {
|
||||||
margin-top: 10px;
|
display: inline-flex;
|
||||||
}
|
}
|
||||||
|
|
||||||
.share-buttons a:not(:last-of-type) {
|
.share-buttons a:not(:last-of-type) {
|
||||||
|
|
@ -355,10 +365,8 @@ h6:hover .anchor {
|
||||||
}
|
}
|
||||||
|
|
||||||
.paginav {
|
.paginav {
|
||||||
margin: 10px 0;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
line-height: 30px;
|
line-height: 30px;
|
||||||
border-radius: var(--radius);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.paginav a {
|
.paginav a {
|
||||||
|
|
|
||||||
|
|
@ -10,19 +10,20 @@
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.profile .profile_inner h1 {
|
.profile .profile_inner {
|
||||||
padding: 12px 0;
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
gap: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.profile img {
|
.profile img {
|
||||||
display: inline-table;
|
|
||||||
border-radius: 50%;
|
border-radius: 50%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.buttons {
|
.buttons {
|
||||||
flex-wrap: wrap;
|
flex-wrap: wrap;
|
||||||
max-width: 400px;
|
max-width: 400px;
|
||||||
margin: 0 auto;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.button {
|
.button {
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
PaperMod v7
|
PaperMod v8+
|
||||||
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
||||||
Copyright (c) 2020 nanxiaobei and adityatelange
|
Copyright (c) 2020 nanxiaobei and adityatelange
|
||||||
Copyright (c) 2021-2023 adityatelange
|
Copyright (c) 2021-2025 adityatelange
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,8 @@
|
||||||
html {
|
html {
|
||||||
-webkit-tap-highlight-color: transparent;
|
-webkit-tap-highlight-color: transparent;
|
||||||
overflow-y: scroll;
|
overflow-y: scroll;
|
||||||
|
-webkit-text-size-adjust: 100%;
|
||||||
|
text-size-adjust: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
a,
|
a,
|
||||||
|
|
@ -20,12 +22,10 @@ h5,
|
||||||
h6 {
|
h6 {
|
||||||
color: var(--primary);
|
color: var(--primary);
|
||||||
}
|
}
|
||||||
|
|
||||||
@font-face {
|
@font-face {
|
||||||
font-family: 'Space Mono';
|
font-family: 'Space Mono';
|
||||||
src: url(/fonts/SpaceMono-Regular.ttf);
|
src: url(/fonts/SpaceMono-Regular.ttf);
|
||||||
}
|
}
|
||||||
|
|
||||||
body {
|
body {
|
||||||
/*font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;*/
|
/*font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;*/
|
||||||
font-family: 'Space Mono', sans-serif;
|
font-family: 'Space Mono', sans-serif;
|
||||||
|
|
|
||||||
|
|
@ -12,7 +12,7 @@
|
||||||
--secondary: rgb(108, 108, 108);
|
--secondary: rgb(108, 108, 108);
|
||||||
--tertiary: rgb(214, 214, 214);
|
--tertiary: rgb(214, 214, 214);
|
||||||
--content: rgb(31, 31, 31);
|
--content: rgb(31, 31, 31);
|
||||||
--hljs-bg: rgb(28, 29, 33);
|
--code-block-bg: rgb(28, 29, 33);
|
||||||
--code-bg: rgb(245, 245, 245);
|
--code-bg: rgb(245, 245, 245);
|
||||||
--border: rgb(238, 238, 238);
|
--border: rgb(238, 238, 238);
|
||||||
}
|
}
|
||||||
|
|
@ -24,7 +24,7 @@
|
||||||
--secondary: rgb(155, 156, 157);
|
--secondary: rgb(155, 156, 157);
|
||||||
--tertiary: rgb(65, 66, 68);
|
--tertiary: rgb(65, 66, 68);
|
||||||
--content: rgb(196, 196, 197);
|
--content: rgb(196, 196, 197);
|
||||||
--hljs-bg: rgb(46, 46, 51);
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
--code-bg: rgb(55, 56, 62);
|
--code-bg: rgb(55, 56, 62);
|
||||||
--border: rgb(51, 51, 51);
|
--border: rgb(51, 51, 51);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,12 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@media screen and (max-width: 340px) {
|
||||||
|
.share-buttons {
|
||||||
|
justify-content: unset;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@media (prefers-reduced-motion) {
|
@media (prefers-reduced-motion) {
|
||||||
/* terms; profile-mode; post-single; post-entry; post-entry; search; search */
|
/* terms; profile-mode; post-single; post-entry; post-entry; search; search */
|
||||||
.terms-tags a:active,
|
.terms-tags a:active,
|
||||||
|
|
|
||||||
|
|
@ -1,63 +0,0 @@
|
||||||
.hljs-comment,
|
|
||||||
.hljs-quote {
|
|
||||||
color: #b6b18b;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-deletion,
|
|
||||||
.hljs-name,
|
|
||||||
.hljs-regexp,
|
|
||||||
.hljs-selector-class,
|
|
||||||
.hljs-selector-id,
|
|
||||||
.hljs-tag,
|
|
||||||
.hljs-template-variable,
|
|
||||||
.hljs-variable {
|
|
||||||
color: #eb3c54;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-built_in,
|
|
||||||
.hljs-builtin-name,
|
|
||||||
.hljs-link,
|
|
||||||
.hljs-literal,
|
|
||||||
.hljs-meta,
|
|
||||||
.hljs-number,
|
|
||||||
.hljs-params,
|
|
||||||
.hljs-type {
|
|
||||||
color: #e7ce56;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-attribute {
|
|
||||||
color: #ee7c2b;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-addition,
|
|
||||||
.hljs-bullet,
|
|
||||||
.hljs-string,
|
|
||||||
.hljs-symbol {
|
|
||||||
color: #4fb4d7;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-section,
|
|
||||||
.hljs-title {
|
|
||||||
color: #78bb65;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-keyword,
|
|
||||||
.hljs-selector-tag {
|
|
||||||
color: #b45ea4;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs {
|
|
||||||
display: block;
|
|
||||||
overflow-x: auto;
|
|
||||||
background: #1c1d21;
|
|
||||||
color: #c0c5ce;
|
|
||||||
padding: .5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-emphasis {
|
|
||||||
font-style: italic;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hljs-strong {
|
|
||||||
font-weight: 700;
|
|
||||||
}
|
|
||||||
24
themes/PaperMod/assets/css/includes/chroma-mod.css
Normal file
24
themes/PaperMod/assets/css/includes/chroma-mod.css
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
.chroma {
|
||||||
|
background-color: unset !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .hl {
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .lnt {
|
||||||
|
padding: 0 0 0 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight pre.chroma code {
|
||||||
|
padding: 8px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.highlight pre.chroma .line .cl,
|
||||||
|
.chroma .ln {
|
||||||
|
padding: 0 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.chroma .lntd:last-of-type {
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
86
themes/PaperMod/assets/css/includes/chroma-styles.css
Normal file
86
themes/PaperMod/assets/css/includes/chroma-styles.css
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
/* Background */ .bg { color: #cad3f5; background-color: #24273a; }
|
||||||
|
/* PreWrapper */ .chroma { color: #cad3f5; background-color: #24273a; }
|
||||||
|
/* Other */ .chroma .x { }
|
||||||
|
/* Error */ .chroma .err { color: #ed8796 }
|
||||||
|
/* CodeLine */ .chroma .cl { }
|
||||||
|
/* LineLink */ .chroma .lnlinks { outline: none; text-decoration: none; color: inherit }
|
||||||
|
/* LineTableTD */ .chroma .lntd { vertical-align: top; padding: 0; margin: 0; border: 0; }
|
||||||
|
/* LineTable */ .chroma .lntable { border-spacing: 0; padding: 0; margin: 0; border: 0; }
|
||||||
|
/* LineHighlight */ .chroma .hl { background-color: #474733 }
|
||||||
|
/* LineNumbersTable */ .chroma .lnt { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 }
|
||||||
|
/* LineNumbers */ .chroma .ln { white-space: pre; -webkit-user-select: none; user-select: none; margin-right: 0.4em; padding: 0 0.4em 0 0.4em;color: #8087a2 }
|
||||||
|
/* Line */ .chroma .line { display: flex; }
|
||||||
|
/* Keyword */ .chroma .k { color: #c6a0f6 }
|
||||||
|
/* KeywordConstant */ .chroma .kc { color: #f5a97f }
|
||||||
|
/* KeywordDeclaration */ .chroma .kd { color: #ed8796 }
|
||||||
|
/* KeywordNamespace */ .chroma .kn { color: #8bd5ca }
|
||||||
|
/* KeywordPseudo */ .chroma .kp { color: #c6a0f6 }
|
||||||
|
/* KeywordReserved */ .chroma .kr { color: #c6a0f6 }
|
||||||
|
/* KeywordType */ .chroma .kt { color: #ed8796 }
|
||||||
|
/* Name */ .chroma .n { }
|
||||||
|
/* NameAttribute */ .chroma .na { color: #8aadf4 }
|
||||||
|
/* NameBuiltin */ .chroma .nb { color: #91d7e3 }
|
||||||
|
/* NameBuiltinPseudo */ .chroma .bp { color: #91d7e3 }
|
||||||
|
/* NameClass */ .chroma .nc { color: #eed49f }
|
||||||
|
/* NameConstant */ .chroma .no { color: #eed49f }
|
||||||
|
/* NameDecorator */ .chroma .nd { color: #8aadf4; font-weight: bold }
|
||||||
|
/* NameEntity */ .chroma .ni { color: #8bd5ca }
|
||||||
|
/* NameException */ .chroma .ne { color: #f5a97f }
|
||||||
|
/* NameFunction */ .chroma .nf { color: #8aadf4 }
|
||||||
|
/* NameFunctionMagic */ .chroma .fm { color: #8aadf4 }
|
||||||
|
/* NameLabel */ .chroma .nl { color: #91d7e3 }
|
||||||
|
/* NameNamespace */ .chroma .nn { color: #f5a97f }
|
||||||
|
/* NameOther */ .chroma .nx { }
|
||||||
|
/* NameProperty */ .chroma .py { color: #f5a97f }
|
||||||
|
/* NameTag */ .chroma .nt { color: #c6a0f6 }
|
||||||
|
/* NameVariable */ .chroma .nv { color: #f4dbd6 }
|
||||||
|
/* NameVariableClass */ .chroma .vc { color: #f4dbd6 }
|
||||||
|
/* NameVariableGlobal */ .chroma .vg { color: #f4dbd6 }
|
||||||
|
/* NameVariableInstance */ .chroma .vi { color: #f4dbd6 }
|
||||||
|
/* NameVariableMagic */ .chroma .vm { color: #f4dbd6 }
|
||||||
|
/* Literal */ .chroma .l { }
|
||||||
|
/* LiteralDate */ .chroma .ld { }
|
||||||
|
/* LiteralString */ .chroma .s { color: #a6da95 }
|
||||||
|
/* LiteralStringAffix */ .chroma .sa { color: #ed8796 }
|
||||||
|
/* LiteralStringBacktick */ .chroma .sb { color: #a6da95 }
|
||||||
|
/* LiteralStringChar */ .chroma .sc { color: #a6da95 }
|
||||||
|
/* LiteralStringDelimiter */ .chroma .dl { color: #8aadf4 }
|
||||||
|
/* LiteralStringDoc */ .chroma .sd { color: #6e738d }
|
||||||
|
/* LiteralStringDouble */ .chroma .s2 { color: #a6da95 }
|
||||||
|
/* LiteralStringEscape */ .chroma .se { color: #8aadf4 }
|
||||||
|
/* LiteralStringHeredoc */ .chroma .sh { color: #6e738d }
|
||||||
|
/* LiteralStringInterpol */ .chroma .si { color: #a6da95 }
|
||||||
|
/* LiteralStringOther */ .chroma .sx { color: #a6da95 }
|
||||||
|
/* LiteralStringRegex */ .chroma .sr { color: #8bd5ca }
|
||||||
|
/* LiteralStringSingle */ .chroma .s1 { color: #a6da95 }
|
||||||
|
/* LiteralStringSymbol */ .chroma .ss { color: #a6da95 }
|
||||||
|
/* LiteralNumber */ .chroma .m { color: #f5a97f }
|
||||||
|
/* LiteralNumberBin */ .chroma .mb { color: #f5a97f }
|
||||||
|
/* LiteralNumberFloat */ .chroma .mf { color: #f5a97f }
|
||||||
|
/* LiteralNumberHex */ .chroma .mh { color: #f5a97f }
|
||||||
|
/* LiteralNumberInteger */ .chroma .mi { color: #f5a97f }
|
||||||
|
/* LiteralNumberIntegerLong */ .chroma .il { color: #f5a97f }
|
||||||
|
/* LiteralNumberOct */ .chroma .mo { color: #f5a97f }
|
||||||
|
/* Operator */ .chroma .o { color: #91d7e3; font-weight: bold }
|
||||||
|
/* OperatorWord */ .chroma .ow { color: #91d7e3; font-weight: bold }
|
||||||
|
/* Punctuation */ .chroma .p { }
|
||||||
|
/* Comment */ .chroma .c { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentHashbang */ .chroma .ch { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentMultiline */ .chroma .cm { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentSingle */ .chroma .c1 { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentSpecial */ .chroma .cs { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentPreproc */ .chroma .cp { color: #6e738d; font-style: italic }
|
||||||
|
/* CommentPreprocFile */ .chroma .cpf { color: #6e738d; font-weight: bold; font-style: italic }
|
||||||
|
/* Generic */ .chroma .g { }
|
||||||
|
/* GenericDeleted */ .chroma .gd { color: #ed8796; background-color: #363a4f }
|
||||||
|
/* GenericEmph */ .chroma .ge { font-style: italic }
|
||||||
|
/* GenericError */ .chroma .gr { color: #ed8796 }
|
||||||
|
/* GenericHeading */ .chroma .gh { color: #f5a97f; font-weight: bold }
|
||||||
|
/* GenericInserted */ .chroma .gi { color: #a6da95; background-color: #363a4f }
|
||||||
|
/* GenericOutput */ .chroma .go { }
|
||||||
|
/* GenericPrompt */ .chroma .gp { }
|
||||||
|
/* GenericStrong */ .chroma .gs { font-weight: bold }
|
||||||
|
/* GenericSubheading */ .chroma .gu { color: #f5a97f; font-weight: bold }
|
||||||
|
/* GenericTraceback */ .chroma .gt { color: #ed8796 }
|
||||||
|
/* GenericUnderline */ .chroma .gl { text-decoration: underline }
|
||||||
|
/* TextWhitespace */ .chroma .w { }
|
||||||
|
|
@ -31,7 +31,7 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
.post-content :not(table) ::-webkit-scrollbar-thumb {
|
.post-content :not(table) ::-webkit-scrollbar-thumb {
|
||||||
border: 2px solid var(--hljs-bg);
|
border: 2px solid var(--code-block-bg);
|
||||||
background: rgb(113, 113, 117);
|
background: rgb(113, 113, 117);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -60,4 +60,4 @@
|
||||||
width: 19px;
|
width: 19px;
|
||||||
height: 11px;
|
height: 11px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -77,7 +77,12 @@ sInput.onkeyup = function (e) {
|
||||||
// run a search query (for "term") every time a letter is typed
|
// run a search query (for "term") every time a letter is typed
|
||||||
// in the search box
|
// in the search box
|
||||||
if (fuse) {
|
if (fuse) {
|
||||||
const results = fuse.search(this.value.trim()); // the actual query being run using fuse.js
|
let results;
|
||||||
|
if (params.fuseOpts) {
|
||||||
|
results = fuse.search(this.value.trim(), {limit: params.fuseOpts.limit}); // the actual query being run using fuse.js along with options
|
||||||
|
} else {
|
||||||
|
results = fuse.search(this.value.trim()); // the actual query being run using fuse.js
|
||||||
|
}
|
||||||
if (results.length !== 0) {
|
if (results.length !== 0) {
|
||||||
// build our html if result exists
|
// build our html if result exists
|
||||||
let resultSet = ''; // our results bucket
|
let resultSet = ''; // our results bucket
|
||||||
|
|
|
||||||
6
themes/PaperMod/assets/js/fuse.basic.min.js
vendored
6
themes/PaperMod/assets/js/fuse.basic.min.js
vendored
File diff suppressed because one or more lines are too long
44
themes/PaperMod/assets/js/highlight.min.js
vendored
44
themes/PaperMod/assets/js/highlight.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
PaperMod v7
|
PaperMod v8+
|
||||||
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
||||||
Copyright (c) 2020 nanxiaobei and adityatelange
|
Copyright (c) 2020 nanxiaobei and adityatelange
|
||||||
Copyright (c) 2021-2023 adityatelange
|
Copyright (c) 2021-2025 adityatelange
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
33
themes/PaperMod/i18n/cs.yaml
Normal file
33
themes/PaperMod/i18n/cs.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Předchozí"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Další"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "1 min"
|
||||||
|
other: "{{ .Count }} min"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "slovo"
|
||||||
|
other: "{{ .Count }} slov"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Obsah"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Překlady"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Domů"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Upravit"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "kopírovat"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "zkopírováno!"
|
||||||
33
themes/PaperMod/i18n/fi.yaml
Normal file
33
themes/PaperMod/i18n/fi.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Edellinen"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Seuraava"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "1 min"
|
||||||
|
other: "{{ .Count }} minuuttia"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "sana"
|
||||||
|
other: "{{ .Count }} sanaa"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Sisällysluettelo"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Käännökset"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Etusivu"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Muokkaa"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "Kopioi"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "Kopioitu!"
|
||||||
|
|
@ -1,21 +1,21 @@
|
||||||
- id: prev_page
|
- id: prev_page
|
||||||
translation: "קודם"
|
translation: "הקודם"
|
||||||
|
|
||||||
- id: next_page
|
- id: next_page
|
||||||
translation: "הבא"
|
translation: "הבא"
|
||||||
|
|
||||||
- id: read_time
|
- id: read_time
|
||||||
translation:
|
translation:
|
||||||
one : "דקה אחת"
|
one: "דקה אחת"
|
||||||
other: "דקות {{ .Count }}"
|
other: "{{ .Count }} דקות"
|
||||||
|
|
||||||
- id: words
|
- id: words
|
||||||
translation:
|
translation:
|
||||||
one : "word"
|
one: "מילה אחת"
|
||||||
other: "מילים {{ .Count }} "
|
other: "{{ .Count }} מילים"
|
||||||
|
|
||||||
- id: toc
|
- id: toc
|
||||||
translation: "תוכן העניינים"
|
translation: "תוכן עניינים"
|
||||||
|
|
||||||
- id: translations
|
- id: translations
|
||||||
translation: "תרגומים"
|
translation: "תרגומים"
|
||||||
|
|
@ -30,4 +30,4 @@
|
||||||
translation: "העתק"
|
translation: "העתק"
|
||||||
|
|
||||||
- id: code_copied
|
- id: code_copied
|
||||||
translation: "!הועתק"
|
translation: "הועתק!"
|
||||||
|
|
|
||||||
33
themes/PaperMod/i18n/no.yaml
Normal file
33
themes/PaperMod/i18n/no.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Forrige Side"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Neste Side"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one: "1 min"
|
||||||
|
other: "{{ .Count }} min"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one: "ord"
|
||||||
|
other: "{{ .Count }} ord"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Innholdsfortegnelse"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Oversettelser"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Hjem"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Rediger"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "Kopier"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "Kopiert!"
|
||||||
33
themes/PaperMod/i18n/oc.yaml
Normal file
33
themes/PaperMod/i18n/oc.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Prec."
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Seg."
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "1 min"
|
||||||
|
other: "{{ .Count }} min"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "mot"
|
||||||
|
other: "{{ .Count }} motss"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Taula de contengut"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Traduccions"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Acuèlh"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Modificar"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "copiar"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "copiat !"
|
||||||
33
themes/PaperMod/i18n/pa.yaml
Normal file
33
themes/PaperMod/i18n/pa.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "ਪਿਛਲਾ"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "ਅਗਲਾ"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one: "1 ਮਿੰਟ"
|
||||||
|
other: "{{ .Count }} ਮਿੰਟ"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one: "ਸ਼ਬਦ"
|
||||||
|
other: "{{ .Count }} ਸ਼ਬਦ"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "ਤਤਕਰਾ"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "ਅਨੁਵਾਦ"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "ਘਰ"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "ਸੋਧ"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "ਕਾਪੀ"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "ਕਾਪੀ ਕੀਤੀ ਗਈ!!"
|
||||||
33
themes/PaperMod/i18n/pnb.yaml
Normal file
33
themes/PaperMod/i18n/pnb.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "پِچھلا"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "اگلا"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one: "ایک منٹ"
|
||||||
|
other: "مِنٹ {{ .Count }}"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one: "لفظ"
|
||||||
|
other: "لفظ {{ .Count }}"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "تتکرا"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "انوواد"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "گھر"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "سودھ"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "کاپی"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "کاپی کیتی گئی!"
|
||||||
33
themes/PaperMod/i18n/ro.yaml
Normal file
33
themes/PaperMod/i18n/ro.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Înapoi"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Înainte"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "1 minut"
|
||||||
|
other: "{{ .Count }} minute"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "cuvânt"
|
||||||
|
other: "{{ .Count }} cuvinte"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Sumar"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Traduceri"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Acasă"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Editează"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "copiază"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "copiat!"
|
||||||
33
themes/PaperMod/i18n/sk.yaml
Normal file
33
themes/PaperMod/i18n/sk.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Predch"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Ďaľší"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "1 min"
|
||||||
|
other: "{{ .Count }} min"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "slovo"
|
||||||
|
other: "{{ .Count }} slov"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Obsah"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Preklady"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Domov"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Upraviť"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "kopírovať"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "skopírované!"
|
||||||
33
themes/PaperMod/i18n/sw.yaml
Normal file
33
themes/PaperMod/i18n/sw.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "Uliopita"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "Ujao"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "dakika 1"
|
||||||
|
other: "dakika {{ .Count }}"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "neno"
|
||||||
|
other: "maneno {{ .Count }}"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "Jedwali la Yaliyomo"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "Tafsiri"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "Mwanzo"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Hariri"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "nakili"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "nakiliwa!"
|
||||||
33
themes/PaperMod/i18n/th.yaml
Normal file
33
themes/PaperMod/i18n/th.yaml
Normal file
|
|
@ -0,0 +1,33 @@
|
||||||
|
- id: prev_page
|
||||||
|
translation: "ก่อนหน้า"
|
||||||
|
|
||||||
|
- id: next_page
|
||||||
|
translation: "ถัดไป"
|
||||||
|
|
||||||
|
- id: read_time
|
||||||
|
translation:
|
||||||
|
one : "1 นาที"
|
||||||
|
other: "{{ .Count }} นาที"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one : "คำ"
|
||||||
|
other: "{{ .Count }} คำ"
|
||||||
|
|
||||||
|
- id: toc
|
||||||
|
translation: "สารบัญ"
|
||||||
|
|
||||||
|
- id: translations
|
||||||
|
translation: "การแปล"
|
||||||
|
|
||||||
|
- id: home
|
||||||
|
translation: "หน้าหลัก"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "แก้ไข"
|
||||||
|
|
||||||
|
- id: code_copy
|
||||||
|
translation: "คัดลอก"
|
||||||
|
|
||||||
|
- id: code_copied
|
||||||
|
translation: "คัดลอกแล้ว!"
|
||||||
|
|
@ -11,8 +11,8 @@
|
||||||
|
|
||||||
- id: words
|
- id: words
|
||||||
translation:
|
translation:
|
||||||
one : "kelime"
|
one : "sözcük"
|
||||||
other: "{{ .Count }} kelime"
|
other: "{{ .Count }} sözcük"
|
||||||
|
|
||||||
- id: toc
|
- id: toc
|
||||||
translation: "İçindekiler"
|
translation: "İçindekiler"
|
||||||
|
|
@ -21,7 +21,7 @@
|
||||||
translation: "Çeviriler"
|
translation: "Çeviriler"
|
||||||
|
|
||||||
- id: home
|
- id: home
|
||||||
translation: "Anasayfa"
|
translation: "Ana Sayfa"
|
||||||
|
|
||||||
- id: edit_post
|
- id: edit_post
|
||||||
translation: "Düzenle"
|
translation: "Düzenle"
|
||||||
|
|
|
||||||
|
|
@ -6,9 +6,14 @@
|
||||||
|
|
||||||
- id: read_time
|
- id: read_time
|
||||||
translation:
|
translation:
|
||||||
one : "1 phút"
|
one: "1 phút"
|
||||||
other: "{{ .Count }} phút"
|
other: "{{ .Count }} phút"
|
||||||
|
|
||||||
|
- id: words
|
||||||
|
translation:
|
||||||
|
one: "từ"
|
||||||
|
other: "{{ .Count }} từ"
|
||||||
|
|
||||||
- id: toc
|
- id: toc
|
||||||
translation: "Mục lục"
|
translation: "Mục lục"
|
||||||
|
|
||||||
|
|
@ -18,6 +23,9 @@
|
||||||
- id: home
|
- id: home
|
||||||
translation: "Trang chủ"
|
translation: "Trang chủ"
|
||||||
|
|
||||||
|
- id: edit_post
|
||||||
|
translation: "Chỉnh sửa"
|
||||||
|
|
||||||
- id: code_copy
|
- id: code_copy
|
||||||
translation: "Sao chép"
|
translation: "Sao chép"
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1 +1,22 @@
|
||||||
<img loading="lazy" src="{{ .Destination | safeURL }}" alt="{{ .Text }}" {{ with .Title}} title="{{ . }}" {{ end }} />
|
{{- $u := urls.Parse .Destination -}}
|
||||||
|
{{- $src := $u.String -}}
|
||||||
|
{{- if not $u.IsAbs -}}
|
||||||
|
{{- $path := strings.TrimPrefix "./" $u.Path }}
|
||||||
|
{{- with or (.PageInner.Resources.Get $path) (resources.Get $path) -}}
|
||||||
|
{{- $src = .RelPermalink -}}
|
||||||
|
{{- with $u.RawQuery -}}
|
||||||
|
{{- $src = printf "%s?%s" $src . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- with $u.Fragment -}}
|
||||||
|
{{- $src = printf "%s#%s" $src . -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- $attributes := merge .Attributes (dict "alt" .Text "src" $src "title" (.Title | transform.HTMLEscape) "loading" "lazy") -}}
|
||||||
|
<img
|
||||||
|
{{- range $k, $v := $attributes -}}
|
||||||
|
{{- if $v -}}
|
||||||
|
{{- printf " %s=%q" $k $v | safeHTMLAttr -}}
|
||||||
|
{{- end -}}
|
||||||
|
{{- end -}}>
|
||||||
|
{{- /**/ -}}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
||||||
{{- if (.Param "ShowRssButtonInSectionTermList") }}
|
{{- if (.Param "ShowRssButtonInSectionTermList") }}
|
||||||
{{- $rss := (.OutputFormats.Get "rss") }}
|
{{- $rss := (.OutputFormats.Get "rss") }}
|
||||||
{{- if (eq .Kind `page`) }}
|
{{- if (eq .Kind `page`) }}
|
||||||
{{- $rss = (.Parent.OutputFormats.Get "rss") }}
|
{{- $rss = (.Parent.OutputFormats.Get "rss") }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- with $rss }}
|
{{- with $rss }}
|
||||||
<a href="{{ .RelPermalink }}" title="RSS" aria-label="RSS">
|
<a href="{{ .RelPermalink }}" title="RSS" aria-label="RSS">
|
||||||
|
|
@ -36,19 +36,35 @@
|
||||||
{{- range $pages.GroupByPublishDate "2006" }}
|
{{- range $pages.GroupByPublishDate "2006" }}
|
||||||
{{- if ne .Key "0001" }}
|
{{- if ne .Key "0001" }}
|
||||||
<div class="archive-year">
|
<div class="archive-year">
|
||||||
<h2 class="archive-year-header">
|
{{- $year := replace .Key "0001" "" }}
|
||||||
{{- replace .Key "0001" "" }}<sup class="archive-count"> {{ len .Pages }}</sup>
|
<h2 class="archive-year-header" id="{{ $year }}">
|
||||||
|
<a class="archive-header-link" href="#{{ $year }}">
|
||||||
|
{{- $year -}}
|
||||||
|
</a>
|
||||||
|
<sup class="archive-count"> {{ len .Pages }}</sup>
|
||||||
</h2>
|
</h2>
|
||||||
{{- range .Pages.GroupByDate "January" }}
|
{{- range .Pages.GroupByDate "January" }}
|
||||||
<div class="archive-month">
|
<div class="archive-month">
|
||||||
<h3 class="archive-month-header">{{- .Key }}<sup class="archive-count"> {{ len .Pages }}</sup></h3>
|
<h3 class="archive-month-header" id="{{ $year }}-{{ .Key }}">
|
||||||
|
<a class="archive-header-link" href="#{{ $year }}-{{ .Key }}">
|
||||||
|
{{- .Key -}}
|
||||||
|
</a>
|
||||||
|
<sup class="archive-count"> {{ len .Pages }}</sup>
|
||||||
|
</h3>
|
||||||
<div class="archive-posts">
|
<div class="archive-posts">
|
||||||
{{- range .Pages }}
|
{{- range .Pages }}
|
||||||
{{- if eq .Kind "page" }}
|
{{- if eq .Kind "page" }}
|
||||||
<div class="archive-entry">
|
<div class="archive-entry">
|
||||||
<h3 class="archive-entry-title">
|
<h3 class="archive-entry-title entry-hint-parent">
|
||||||
{{- .Title | markdownify }}
|
{{- .Title | markdownify }}
|
||||||
{{- if .Draft }}<sup><span class="entry-isdraft"> [draft]</span></sup>{{- end }}
|
{{- if .Draft }}
|
||||||
|
<span class="entry-hint" title="Draft">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="15" viewBox="0 -960 960 960" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
{{- end }}
|
||||||
</h3>
|
</h3>
|
||||||
<div class="archive-meta">
|
<div class="archive-meta">
|
||||||
{{- partial "post_meta.html" . -}}
|
{{- partial "post_meta.html" . -}}
|
||||||
|
|
|
||||||
|
|
@ -1,3 +1,7 @@
|
||||||
|
{{- if lt hugo.Version "0.146.0" }}
|
||||||
|
{{- errorf "=> hugo v0.146.0 or greater is required for hugo-PaperMod to build " }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
<!DOCTYPE html>
|
<!DOCTYPE html>
|
||||||
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}">
|
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}">
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -64,12 +64,19 @@
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
<article class="{{ $class }}">
|
<article class="{{ $class }}">
|
||||||
{{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }}
|
{{- $isHidden := (.Param "cover.hiddenInList") | default (.Param "cover.hidden") | default false }}
|
||||||
{{- partial "cover.html" (dict "cxt" . "IsHome" true "isHidden" $isHidden) }}
|
{{- partial "cover.html" (dict "cxt" . "IsSingle" false "isHidden" $isHidden) }}
|
||||||
<header class="entry-header">
|
<header class="entry-header">
|
||||||
<h2>
|
<h2 class="entry-hint-parent">
|
||||||
{{- .Title }}
|
{{- .Title }}
|
||||||
{{- if .Draft }}<sup><span class="entry-isdraft"> [draft]</span></sup>{{- end }}
|
{{- if .Draft }}
|
||||||
|
<span class="entry-hint" title="Draft">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="20" viewBox="0 -960 960 960" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
{{- end }}
|
||||||
</h2>
|
</h2>
|
||||||
</header>
|
</header>
|
||||||
{{- if (ne (.Param "hideSummary") true) }}
|
{{- if (ne (.Param "hideSummary") true) }}
|
||||||
|
|
|
||||||
|
|
@ -1,21 +1,53 @@
|
||||||
{{- $pctx := . -}}
|
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
|
||||||
{{- if .IsHome -}}{{ $pctx = site }}{{- end -}}
|
{{- $authorEmail := "" }}
|
||||||
{{- $pages := slice -}}
|
{{- with site.Params.author }}
|
||||||
{{- if or $.IsHome $.IsSection -}}
|
{{- if reflect.IsMap . }}
|
||||||
{{- $pages = $pctx.RegularPages -}}
|
{{- with .email }}
|
||||||
{{- else -}}
|
{{- $authorEmail = . }}
|
||||||
{{- $pages = $pctx.Pages -}}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end }}
|
||||||
{{- $limit := site.Config.Services.RSS.Limit -}}
|
{{- else }}
|
||||||
{{- if ge $limit 1 -}}
|
{{- with site.Author.email }}
|
||||||
{{- $pages = $pages | first $limit -}}
|
{{- $authorEmail = . }}
|
||||||
{{- end -}}
|
{{- warnf "The author key in site configuration is deprecated. Use params.author.email instead." }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- /* Deprecate site.Author.name in favor of site.Params.author.name */}}
|
||||||
|
{{- $authorName := "" }}
|
||||||
|
{{- with site.Params.author }}
|
||||||
|
{{- if reflect.IsMap . }}
|
||||||
|
{{- with .name }}
|
||||||
|
{{- $authorName = . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $authorName = . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- with site.Author.name }}
|
||||||
|
{{- $authorName = . }}
|
||||||
|
{{- warnf "The author key in site configuration is deprecated. Use params.author.name instead." }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- $pctx := . }}
|
||||||
|
{{- if .IsHome }}{{ $pctx = site }}{{ end }}
|
||||||
|
{{- $pages := slice }}
|
||||||
|
{{- if or $.IsHome $.IsSection }}
|
||||||
|
{{- $pages = $pctx.RegularPages }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $pages = $pctx.Pages }}
|
||||||
|
{{- end }}
|
||||||
|
{{- $limit := site.Config.Services.RSS.Limit }}
|
||||||
|
{{- if ge $limit 1 }}
|
||||||
|
{{- $pages = $pages | first $limit }}
|
||||||
|
{{- end }}
|
||||||
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
{{- printf "<?xml version=\"1.0\" encoding=\"utf-8\" standalone=\"yes\"?>" | safeHTML }}
|
||||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||||
<channel>
|
<channel>
|
||||||
<title>{{ if eq .Title site.Title }}{{ site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ site.Title }}{{ end }}</title>
|
<title>{{ if eq .Title site.Title }}{{ site.Title }}{{ else }}{{ with .Title }}{{ . }} on {{ end }}{{ site.Title }}{{ end }}</title>
|
||||||
<link>{{ .Permalink }}</link>
|
<link>{{ .Permalink }}</link>
|
||||||
<description>Recent content {{ if ne .Title site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ site.Title }}</description>
|
<description>Recent content {{ if ne .Title site.Title }}{{ with .Title }}in {{ . }} {{ end }}{{ end }}on {{ site.Title }}</description>
|
||||||
{{- with site.Params.images }}
|
{{- with site.Params.images }}
|
||||||
<image>
|
<image>
|
||||||
<title>{{ site.Title }}</title>
|
<title>{{ site.Title }}</title>
|
||||||
|
|
@ -23,29 +55,29 @@
|
||||||
<link>{{ index . 0 | absURL }}</link>
|
<link>{{ index . 0 | absURL }}</link>
|
||||||
</image>
|
</image>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<generator>Hugo -- gohugo.io</generator>{{ with site.LanguageCode }}
|
<generator>Hugo -- {{ hugo.Version }}</generator>
|
||||||
<language>{{.}}</language>{{end}}{{ with site.Author.email }}
|
<language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }}
|
||||||
<managingEditor>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with site.Author.email }}
|
<managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
|
||||||
<webMaster>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with site.Copyright }}
|
<webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with site.Copyright }}
|
||||||
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
<copyright>{{ . | markdownify | plainify | strings.TrimPrefix "© " }}</copyright>{{ end }}{{ if not .Date.IsZero }}
|
||||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
<lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||||
{{- with .OutputFormats.Get "RSS" -}}
|
{{- with .OutputFormats.Get "RSS" }}
|
||||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||||
{{- end -}}
|
{{- end }}
|
||||||
{{ range $pages }}
|
{{- range $pages }}
|
||||||
{{- if and (ne .Layout `search`) (ne .Layout `archives`) }}
|
{{- if and (ne .Layout `search`) (ne .Layout `archives`) }}
|
||||||
<item>
|
<item>
|
||||||
<title>{{ .Title }}</title>
|
<title>{{ .Title }}</title>
|
||||||
<link>{{ .Permalink }}</link>
|
<link>{{ .Permalink }}</link>
|
||||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||||
{{ with site.Author.email }}<author>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
{{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
|
||||||
<guid>{{ .Permalink }}</guid>
|
<guid>{{ .Permalink }}</guid>
|
||||||
<description>{{ with .Description | html }}{{ . }}{{ else }}{{ .Summary | html }}{{ end -}}</description>
|
<description>{{ with .Description | html }}{{ . }}{{ else }}{{ .Summary | html }}{{ end -}}</description>
|
||||||
{{- if site.Params.ShowFullTextinRSS }}
|
{{- if and site.Params.ShowFullTextinRSS .Content }}
|
||||||
<content:encoded>{{ (printf "<![CDATA[%s]]>" .Content) | safeHTML }}</content:encoded>
|
<content:encoded>{{ (printf "<![CDATA[%s]]>" .Content) | safeHTML }}</content:encoded>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</item>
|
</item>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ end }}
|
{{- end }}
|
||||||
</channel>
|
</channel>
|
||||||
</rss>
|
</rss>
|
||||||
|
|
|
||||||
|
|
@ -22,7 +22,7 @@
|
||||||
|
|
||||||
<div id="searchbox">
|
<div id="searchbox">
|
||||||
<input id="searchInput" autofocus placeholder="{{ .Params.placeholder | default (printf "%s ↵" .Title) }}"
|
<input id="searchInput" autofocus placeholder="{{ .Params.placeholder | default (printf "%s ↵" .Title) }}"
|
||||||
aria-label="search" type="search" autocomplete="off">
|
aria-label="search" type="search" autocomplete="off" maxlength="64">
|
||||||
<ul id="searchResults" aria-label="search results"></ul>
|
<ul id="searchResults" aria-label="search results"></ul>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,9 +3,16 @@
|
||||||
<article class="post-single">
|
<article class="post-single">
|
||||||
<header class="post-header">
|
<header class="post-header">
|
||||||
{{ partial "breadcrumbs.html" . }}
|
{{ partial "breadcrumbs.html" . }}
|
||||||
<h1 class="post-title">
|
<h1 class="post-title entry-hint-parent">
|
||||||
{{ .Title }}
|
{{ .Title }}
|
||||||
{{- if .Draft }}<sup><span class="entry-isdraft"> [draft]</span></sup>{{- end }}
|
{{- if .Draft }}
|
||||||
|
<span class="entry-hint" title="Draft">
|
||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="35" viewBox="0 -960 960 960" fill="currentColor">
|
||||||
|
<path
|
||||||
|
d="M160-410v-60h300v60H160Zm0-165v-60h470v60H160Zm0-165v-60h470v60H160Zm360 580v-123l221-220q9-9 20-13t22-4q12 0 23 4.5t20 13.5l37 37q9 9 13 20t4 22q0 11-4.5 22.5T862.09-380L643-160H520Zm300-263-37-37 37 37ZM580-220h38l121-122-18-19-19-18-122 121v38Zm141-141-19-18 37 37-18-19Z" />
|
||||||
|
</svg>
|
||||||
|
</span>
|
||||||
|
{{- end }}
|
||||||
</h1>
|
</h1>
|
||||||
{{- if .Description }}
|
{{- if .Description }}
|
||||||
<div class="post-description">
|
<div class="post-description">
|
||||||
|
|
@ -21,8 +28,8 @@
|
||||||
</div>
|
</div>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</header>
|
</header>
|
||||||
{{- $isHidden := .Params.cover.hidden | default site.Params.cover.hiddenInSingle | default site.Params.cover.hidden }}
|
{{- $isHidden := (.Param "cover.hiddenInSingle") | default (.Param "cover.hidden") | default false }}
|
||||||
{{- partial "cover.html" (dict "cxt" . "IsHome" false "isHidden" $isHidden) }}
|
{{- partial "cover.html" (dict "cxt" . "IsSingle" true "isHidden" $isHidden) }}
|
||||||
{{- if (.Param "ShowToc") }}
|
{{- if (.Param "ShowToc") }}
|
||||||
{{- partial "toc.html" . }}
|
{{- partial "toc.html" . }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,6 @@
|
||||||
{{- if (.Param "ShowBreadCrumbs") -}}
|
{{- if (.Param "ShowBreadCrumbs") -}}
|
||||||
<div class="breadcrumbs">
|
<div class="breadcrumbs">
|
||||||
{{- $url := replace .Parent.Permalink (printf "%s" site.BaseURL) "" }}
|
{{- $url := replace .Parent.Permalink (printf "%s" site.Home.Permalink) "" }}
|
||||||
{{- $lang_url := strings.TrimPrefix (printf "%s/" .Lang) $url -}}
|
{{- $lang_url := strings.TrimPrefix (printf "%s/" .Lang) $url -}}
|
||||||
|
|
||||||
<a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home" }}</a>
|
<a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home" }}</a>
|
||||||
|
|
|
||||||
|
|
@ -1,41 +1,64 @@
|
||||||
{{- with .cxt}} {{/* Apply proper context from dict */}}
|
{{- with .cxt}} {{/* Apply proper context from dict */}}
|
||||||
{{- if (and .Params.cover.image (not $.isHidden)) }}
|
{{- if (and .Params.cover.image (not $.isHidden)) }}
|
||||||
{{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
|
|
||||||
<figure class="entry-cover">
|
<figure class="entry-cover">
|
||||||
|
{{- $loading := cond $.IsSingle "eager" "lazy" }}
|
||||||
|
{{- $addLink := (and site.Params.cover.linkFullImages $.IsSingle) }}
|
||||||
|
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
||||||
|
{{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
|
||||||
{{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }}
|
{{- $responsiveImages := (.Params.cover.responsiveImages | default site.Params.cover.responsiveImages) | default true }}
|
||||||
{{- $addLink := (and site.Params.cover.linkFullImages (not $.IsHome)) }}
|
|
||||||
{{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
|
{{- $pageBundleCover := (.Resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
|
||||||
{{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
|
{{- $globalResourcesCover := (resources.ByType "image").GetMatch (printf "*%s*" (.Params.cover.image)) }}
|
||||||
{{- $cover := (or $pageBundleCover $globalResourcesCover)}}
|
{{- $cover := (or $pageBundleCover $globalResourcesCover)}}
|
||||||
{{- if $cover -}}{{/* i.e it is present in page bundle */}}
|
{{- /* We are not using the .Param.cover.relative to decide the location of image */}}
|
||||||
{{- if $addLink }}<a href="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" target="_blank"
|
{{- /* If we have the image in pageBundle or globalResources we can process the image */}}
|
||||||
rel="noopener noreferrer">{{ end -}}
|
|
||||||
{{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
|
{{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
|
||||||
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
||||||
{{- if hugo.IsExtended -}}
|
{{- if hugo.IsExtended -}}
|
||||||
{{- $processableFormats = $processableFormats | append "webp" -}}
|
{{- $processableFormats = $processableFormats | append "webp" -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
|
||||||
{{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
|
{{- $imgdl := (.Params.cover.image) | absURL }}
|
||||||
<img loading="lazy" srcset="{{- range $size := $sizes -}}
|
{{- if $cover -}}
|
||||||
{{- if (ge $cover.Width $size) -}}
|
{{- $imgdl = $cover.Permalink }}
|
||||||
{{ printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw ," $size) -}}
|
{{- end -}}
|
||||||
{{ end }}
|
|
||||||
{{- end -}}{{$cover.Permalink }} {{printf "%dw" ($cover.Width)}}"
|
{{- if $addLink }}
|
||||||
sizes="(min-width: 768px) 720px, 100vw" src="{{ $cover.Permalink }}" alt="{{ $alt }}"
|
<a href="{{ $imgdl }}" target="_blank" rel="noopener noreferrer">
|
||||||
width="{{ $cover.Width }}" height="{{ $cover.Height }}">
|
|
||||||
{{- else }}{{/* Unprocessable image or responsive images disabled */}}
|
|
||||||
<img loading="lazy" src="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" alt="{{ $alt }}">
|
|
||||||
{{- end }}
|
|
||||||
{{- else }}{{/* For absolute urls and external links, no img processing here */}}
|
|
||||||
{{- if $addLink }}<a href="{{ (.Params.cover.image) | absURL }}" target="_blank"
|
|
||||||
rel="noopener noreferrer">{{ end -}}
|
|
||||||
<img loading="lazy" src="{{ (.Params.cover.image) | absURL }}" alt="{{ $alt }}">
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if $addLink }}</a>{{ end -}}
|
|
||||||
{{/* Display Caption */}}
|
{{- if $cover -}}
|
||||||
{{- if not $.IsHome }}
|
{{/* i.e it is present in page bundle */}}
|
||||||
{{ with .Params.cover.caption }}<p>{{ . | markdownify }}</p>{{- end }}
|
{{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
|
||||||
|
<img loading="{{$loading}}"
|
||||||
|
srcset='{{- range $size := $sizes -}}
|
||||||
|
{{- if (ge $cover.Width $size) }}
|
||||||
|
{{- printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw," $size) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- printf "%s %dw" ($cover.Permalink) ($cover.Width) }}'
|
||||||
|
src="{{ $cover.Permalink }}"
|
||||||
|
sizes="(min-width: 768px) 720px, 100vw"
|
||||||
|
width="{{ $cover.Width }}" height="{{ $cover.Height }}"
|
||||||
|
alt="{{ $alt }}">
|
||||||
|
{{- else }}{{/* Unprocessable image or responsive images disabled */}}
|
||||||
|
<img loading="{{ $loading }}" src="{{ $imgdl }}" alt="{{ $alt }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{- /* For absolute urls and external links, no img processing here */}}
|
||||||
|
<img loading="{{ $loading }}" src="{{ $imgdl }}" alt="{{ $alt }}">
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if $addLink }}
|
||||||
|
</a>
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
|
{{- /* Display Caption */}}
|
||||||
|
{{- if $.IsSingle }}
|
||||||
|
{{ with .Params.cover.caption -}}
|
||||||
|
<figcaption>{{ . | markdownify }}</figcaption>
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</figure>
|
</figure>
|
||||||
{{- end }}{{/* End image */}}
|
{{- end }}{{/* End image */}}
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
{{- $fileUrlPath := path.Join .File.Path }}
|
{{- $fileUrlPath := path.Join .File.Path }}
|
||||||
|
|
||||||
{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated }} | {{- end -}}
|
{{- if or .Params.author site.Params.author (.Param "ShowReadingTime") (not .Date.IsZero) .IsTranslated }} | {{- end -}}
|
||||||
<a href="{{ .Params.editPost.URL | default site.Params.editPost.URL }}{{ if .Params.editPost.appendFilePath | default ( site.Params.editPost.appendFilePath | default false ) }}/{{ $fileUrlPath }}{{ end }}" rel="noopener noreferrer" target="_blank">
|
<a href="{{ .Params.editPost.URL | default site.Params.editPost.URL }}{{ if .Params.editPost.appendFilePath | default ( site.Params.editPost.appendFilePath | default false ) }}/{{ $fileUrlPath }}{{ end }}" rel="noopener noreferrer edit" target="_blank">
|
||||||
{{- .Params.editPost.Text | default (site.Params.editPost.Text | default (i18n "edit_post" | default "Edit")) -}}
|
{{- .Params.editPost.Text | default (site.Params.editPost.Text | default (i18n "edit_post" | default "Edit")) -}}
|
||||||
</a>
|
</a>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,19 @@
|
||||||
{{- if not (.Param "hideFooter") }}
|
{{- if not (.Param "hideFooter") }}
|
||||||
<footer class="footer">
|
<footer class="footer">
|
||||||
{{- if site.Copyright }}
|
{{- if not site.Params.footer.hideCopyright }}
|
||||||
<span>{{ site.Copyright | markdownify }}</span>
|
{{- if site.Copyright }}
|
||||||
{{- else }}
|
<span>{{ site.Copyright | markdownify }}</span>
|
||||||
<span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span>
|
{{- else }}
|
||||||
|
<span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span>
|
||||||
|
{{- end }}
|
||||||
|
{{- print " · "}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with site.Params.footer.text }}
|
||||||
|
{{ . | markdownify }}
|
||||||
|
{{- print " · "}}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
<span>
|
<span>
|
||||||
Powered by
|
Powered by
|
||||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||||
|
|
|
||||||
|
|
@ -55,12 +55,12 @@
|
||||||
{{- $license_css := (resources.Get "css/core/license.css") }}
|
{{- $license_css := (resources.Get "css/core/license.css") }}
|
||||||
{{- $common := (resources.Match "css/common/*.css") | resources.Concat "assets/css/common.css" }}
|
{{- $common := (resources.Match "css/common/*.css") | resources.Concat "assets/css/common.css" }}
|
||||||
|
|
||||||
{{- /* include `an-old-hope` if hljs is on */}}
|
{{- /* markup.highlight.noClasses should be set to `false` */}}
|
||||||
{{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default false) }}
|
{{- $chroma_styles := (resources.Get "css/includes/chroma-styles.css") }}
|
||||||
{{- $hljs := (cond ($isHLJSdisabled) (".chroma { background-color: unset !important;}" | resources.FromString "assets/css/hljs-blank.css") (resources.Get "css/hljs/an-old-hope.min.css")) }}
|
{{- $chroma_mod := (resources.Get "css/includes/chroma-mod.css") }}
|
||||||
|
|
||||||
{{- /* order is important */}}
|
{{- /* order is important */}}
|
||||||
{{- $core := (slice $theme_vars $reset $common $hljs $includes_all $media) | resources.Concat "assets/css/core.css" | resources.Minify }}
|
{{- $core := (slice $theme_vars $reset $common $chroma_styles $chroma_mod $includes_all $media) | resources.Concat "assets/css/core.css" | resources.Minify }}
|
||||||
{{- $extended := (resources.Match "css/extended/*.css") | resources.Concat "assets/css/extended.css" | resources.Minify }}
|
{{- $extended := (resources.Match "css/extended/*.css") | resources.Concat "assets/css/extended.css" | resources.Minify }}
|
||||||
|
|
||||||
{{- /* bundle all required css */}}
|
{{- /* bundle all required css */}}
|
||||||
|
|
@ -89,19 +89,6 @@
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
||||||
{{- /* Highlight.js */}}
|
|
||||||
{{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default .Params.disableHLJS ) }}
|
|
||||||
{{- if (and (eq .Kind "page") (ne .Layout "archives") (ne .Layout "search") (not $isHLJSdisabled)) }}
|
|
||||||
{{- if not site.Params.assets.disableFingerprinting }}
|
|
||||||
{{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" | fingerprint }}
|
|
||||||
<script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" integrity="{{ $highlight.Data.Integrity }}"
|
|
||||||
onload="hljs.initHighlightingOnLoad();"></script>
|
|
||||||
{{- else }}
|
|
||||||
{{- $highlight := slice (resources.Get "js/highlight.min.js") | resources.Concat "assets/js/highlight.js" }}
|
|
||||||
<script defer crossorigin="anonymous" src="{{ $highlight.RelPermalink }}" onload="hljs.initHighlightingOnLoad();"></script>
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{- /* Favicons */}}
|
{{- /* Favicons */}}
|
||||||
<link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
|
<link rel="icon" href="{{ site.Params.assets.favicon | default "favicon.ico" | absURL }}">
|
||||||
<link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}">
|
<link rel="icon" type="image/png" sizes="16x16" href="{{ site.Params.assets.favicon16x16 | default "favicon-16x16.png" | absURL }}">
|
||||||
|
|
@ -137,7 +124,7 @@
|
||||||
--secondary: rgb(155, 156, 157);
|
--secondary: rgb(155, 156, 157);
|
||||||
--tertiary: rgb(65, 66, 68);
|
--tertiary: rgb(65, 66, 68);
|
||||||
--content: rgb(196, 196, 197);
|
--content: rgb(196, 196, 197);
|
||||||
--hljs-bg: rgb(46, 46, 51);
|
--code-block-bg: rgb(46, 46, 51);
|
||||||
--code-bg: rgb(55, 56, 62);
|
--code-bg: rgb(55, 56, 62);
|
||||||
--border: rgb(51, 51, 51);
|
--border: rgb(51, 51, 51);
|
||||||
}
|
}
|
||||||
|
|
@ -163,8 +150,8 @@
|
||||||
|
|
||||||
{{- /* Misc */}}
|
{{- /* Misc */}}
|
||||||
{{- if hugo.IsProduction | or (eq site.Params.env "production") }}
|
{{- if hugo.IsProduction | or (eq site.Params.env "production") }}
|
||||||
{{- template "_internal/google_analytics.html" . }}
|
{{- partial "google_analytics.html" . }}
|
||||||
{{- template "partials/templates/opengraph.html" . }}
|
{{- partial "templates/opengraph.html" . }}
|
||||||
{{- template "partials/templates/twitter_cards.html" . }}
|
{{- partial "templates/twitter_cards.html" . }}
|
||||||
{{- template "partials/templates/schema_json.html" . }}
|
{{- partial "templates/schema_json.html" . }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
||||||
|
|
@ -73,7 +73,7 @@
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<div class="logo-switches">
|
<div class="logo-switches">
|
||||||
{{- if (not site.Params.disableThemeToggle) }}
|
{{- if (not site.Params.disableThemeToggle) }}
|
||||||
<button id="theme-toggle" accesskey="t" title="(Alt + T)">
|
<button id="theme-toggle" accesskey="t" title="(Alt + T)" aria-label="Toggle theme">
|
||||||
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
<svg id="moon" xmlns="http://www.w3.org/2000/svg" width="24" height="18" viewBox="0 0 24 24"
|
||||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||||
stroke-linejoin="round">
|
stroke-linejoin="round">
|
||||||
|
|
@ -97,7 +97,7 @@
|
||||||
|
|
||||||
{{- $lang := .Lang}}
|
{{- $lang := .Lang}}
|
||||||
{{- $separator := or $label_text (not site.Params.disableThemeToggle)}}
|
{{- $separator := or $label_text (not site.Params.disableThemeToggle)}}
|
||||||
{{- with site.Home.AllTranslations }}
|
{{- with site.Home.Translations }}
|
||||||
<ul class="lang-switch">
|
<ul class="lang-switch">
|
||||||
{{- if $separator }}<li>|</li>{{ end }}
|
{{- if $separator }}<li>|</li>{{ end }}
|
||||||
{{- range . -}}
|
{{- range . -}}
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,7 @@
|
||||||
{{ .Content | markdownify }}
|
{{ .Content | markdownify }}
|
||||||
</div>
|
</div>
|
||||||
<footer class="entry-footer">
|
<footer class="entry-footer">
|
||||||
{{ partial "social_icons.html" site.Params.socialIcons }}
|
{{ partial "social_icons.html" (dict "align" site.Params.homeInfoParams.AlignSocialIconsTo) }}
|
||||||
</footer>
|
</footer>
|
||||||
</article>
|
</article>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
||||||
|
|
@ -32,7 +32,7 @@
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<h1>{{ .title | default site.Title | markdownify }}</h1>
|
<h1>{{ .title | default site.Title | markdownify }}</h1>
|
||||||
<span>{{ .subtitle | markdownify }}</span>
|
<span>{{ .subtitle | markdownify }}</span>
|
||||||
{{- partial "social_icons.html" site.Params.socialIcons -}}
|
{{- partial "social_icons.html" -}}
|
||||||
|
|
||||||
{{- with .buttons }}
|
{{- with .buttons }}
|
||||||
<div class="buttons">
|
<div class="buttons">
|
||||||
|
|
|
||||||
|
|
@ -12,10 +12,12 @@
|
||||||
{{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }}
|
{{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
|
{{- if not (.Param "hideAuthor") -}}
|
||||||
{{- with (partial "author.html" .) }}
|
{{- with (partial "author.html" .) }}
|
||||||
{{- $scratch.Add "meta" (slice .) }}
|
{{- $scratch.Add "meta" (slice .) }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- with ($scratch.Get "meta") }}
|
{{- with ($scratch.Get "meta") }}
|
||||||
{{- delimit . " · " -}}
|
{{- delimit . " · " | safeHTML -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
|
|
|
||||||
|
|
@ -13,59 +13,83 @@
|
||||||
{{- $ShareButtons := (.Param "ShareButtons")}}
|
{{- $ShareButtons := (.Param "ShareButtons")}}
|
||||||
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}
|
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}
|
||||||
|
|
||||||
<div class="share-buttons">
|
<ul class="share-buttons">
|
||||||
{{- if (cond ($custom) (in $ShareButtons "twitter") (true)) }}
|
{{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }}
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on twitter"
|
<li>
|
||||||
href="https://twitter.com/intent/tweet/?text={{ $title }}&url={{ $pageurl }}&hashtags={{- $.Scratch.Get "tags" -}}">
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on x"
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
href="https://x.com/intent/tweet/?text={{ $title }}&url={{ $pageurl }}&hashtags={{- $.Scratch.Get "tags" -}}">
|
||||||
<path
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-253.927,424.544c135.939,0 210.268,-112.643 210.268,-210.268c0,-3.218 0,-6.437 -0.153,-9.502c14.406,-10.421 26.973,-23.448 36.935,-38.314c-13.18,5.824 -27.433,9.809 -42.452,11.648c15.326,-9.196 26.973,-23.602 32.49,-40.92c-14.252,8.429 -30.038,14.56 -46.896,17.931c-13.487,-14.406 -32.644,-23.295 -53.946,-23.295c-40.767,0 -73.87,33.104 -73.87,73.87c0,5.824 0.613,11.494 1.992,16.858c-61.456,-3.065 -115.862,-32.49 -152.337,-77.241c-6.284,10.881 -9.962,23.601 -9.962,37.088c0,25.594 13.027,48.276 32.95,61.456c-12.107,-0.307 -23.448,-3.678 -33.41,-9.196l0,0.92c0,35.862 25.441,65.594 59.311,72.49c-6.13,1.686 -12.72,2.606 -19.464,2.606c-4.751,0 -9.348,-0.46 -13.946,-1.38c9.349,29.426 36.628,50.728 68.965,51.341c-25.287,19.771 -57.164,31.571 -91.8,31.571c-5.977,0 -11.801,-0.306 -17.625,-1.073c32.337,21.15 71.264,33.41 112.95,33.41Z" />
|
<path
|
||||||
</svg>
|
d="M512 62.554 L 512 449.446 C 512 483.97 483.97 512 449.446 512 L 62.554 512 C 28.03 512 0 483.97 0 449.446 L 0 62.554 C 0 28.03 28.029 0 62.554 0 L 449.446 0 C 483.971 0 512 28.03 512 62.554 Z M 269.951 190.75 L 182.567 75.216 L 56 75.216 L 207.216 272.95 L 63.9 436.783 L 125.266 436.783 L 235.9 310.383 L 332.567 436.783 L 456 436.783 L 298.367 228.367 L 432.367 75.216 L 371.033 75.216 Z M 127.633 110 L 164.101 110 L 383.481 400.065 L 349.5 400.065 Z" />
|
||||||
</a>
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}
|
{{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
|
<li>
|
||||||
href="https://www.linkedin.com/shareArticle?mini=true&url={{ $pageurl }}&title={{ $title }}&summary={{ $title }}&source={{ $pageurl }}">
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
href="https://www.linkedin.com/shareArticle?mini=true&url={{ $pageurl }}&title={{ $title }}&summary={{ $title }}&source={{ $pageurl }}">
|
||||||
<path
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
<path
|
||||||
</svg>
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-288.985,423.278l0,-225.717l-75.04,0l0,225.717l75.04,0Zm270.539,0l0,-129.439c0,-69.333 -37.018,-101.586 -86.381,-101.586c-39.804,0 -57.634,21.891 -67.617,37.266l0,-31.958l-75.021,0c0.995,21.181 0,225.717 0,225.717l75.02,0l0,-126.056c0,-6.748 0.486,-13.492 2.474,-18.315c5.414,-13.475 17.767,-27.434 38.494,-27.434c27.135,0 38.007,20.707 38.007,51.037l0,120.768l75.024,0Zm-307.552,-334.556c-25.674,0 -42.448,16.879 -42.448,39.002c0,21.658 16.264,39.002 41.455,39.002l0.484,0c26.165,0 42.452,-17.344 42.452,-39.002c-0.485,-22.092 -16.241,-38.954 -41.943,-39.002Z" />
|
||||||
</a>
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
|
{{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
|
<li>
|
||||||
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
|
||||||
<path
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
<path
|
||||||
</svg>
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-3.446,265.638c0,-22.964 -18.616,-41.58 -41.58,-41.58c-11.211,0 -21.361,4.457 -28.841,11.666c-28.424,-20.508 -67.586,-33.757 -111.204,-35.278l18.941,-89.121l61.884,13.157c0.756,15.734 13.642,28.29 29.56,28.29c16.407,0 29.706,-13.299 29.706,-29.701c0,-16.403 -13.299,-29.702 -29.706,-29.702c-11.666,0 -21.657,6.792 -26.515,16.578l-69.105,-14.69c-1.922,-0.418 -3.939,-0.042 -5.585,1.036c-1.658,1.073 -2.811,2.761 -3.224,4.686l-21.152,99.438c-44.258,1.228 -84.046,14.494 -112.837,35.232c-7.468,-7.164 -17.589,-11.591 -28.757,-11.591c-22.965,0 -41.585,18.616 -41.585,41.58c0,16.896 10.095,31.41 24.568,37.918c-0.639,4.135 -0.99,8.328 -0.99,12.576c0,63.977 74.469,115.836 166.33,115.836c91.861,0 166.334,-51.859 166.334,-115.836c0,-4.218 -0.347,-8.387 -0.977,-12.493c14.564,-6.47 24.735,-21.034 24.735,-38.001Zm-119.474,108.193c-20.27,20.241 -59.115,21.816 -70.534,21.816c-11.428,0 -50.277,-1.575 -70.522,-21.82c-3.007,-3.008 -3.007,-7.882 0,-10.889c3.003,-2.999 7.882,-3.003 10.885,0c12.777,12.781 40.11,17.317 59.637,17.317c19.522,0 46.86,-4.536 59.657,-17.321c3.016,-2.999 7.886,-2.995 10.885,0.008c3.008,3.011 3.003,7.882 -0.008,10.889Zm-5.23,-48.781c-16.373,0 -29.701,-13.324 -29.701,-29.698c0,-16.381 13.328,-29.714 29.701,-29.714c16.378,0 29.706,13.333 29.706,29.714c0,16.374 -13.328,29.698 -29.706,29.698Zm-160.386,-29.702c0,-16.381 13.328,-29.71 29.714,-29.71c16.369,0 29.689,13.329 29.689,29.71c0,16.373 -13.32,29.693 -29.689,29.693c-16.386,0 -29.714,-13.32 -29.714,-29.693Z" />
|
||||||
</a>
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
|
{{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
|
<li>
|
||||||
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
|
||||||
<path
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
|
<path
|
||||||
</svg>
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-106.468,0l0,-192.915l66.6,0l12.672,-82.621l-79.272,0l0,-53.617c0,-22.603 11.073,-44.636 46.58,-44.636l36.042,0l0,-70.34c0,0 -32.71,-5.582 -63.982,-5.582c-65.288,0 -107.96,39.569 -107.96,111.204l0,62.971l-72.573,0l0,82.621l72.573,0l0,192.915l-191.104,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Z" />
|
||||||
</a>
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
|
{{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
|
<li>
|
||||||
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
|
||||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
|
||||||
<path
|
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||||
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
<path
|
||||||
</svg>
|
d="M449.446,0c34.525,0 62.554,28.03 62.554,62.554l0,386.892c0,34.524 -28.03,62.554 -62.554,62.554l-386.892,0c-34.524,0 -62.554,-28.03 -62.554,-62.554l0,-386.892c0,-34.524 28.029,-62.554 62.554,-62.554l386.892,0Zm-58.673,127.703c-33.842,-33.881 -78.847,-52.548 -126.798,-52.568c-98.799,0 -179.21,80.405 -179.249,179.234c-0.013,31.593 8.241,62.428 23.927,89.612l-25.429,92.884l95.021,-24.925c26.181,14.28 55.659,21.807 85.658,21.816l0.074,0c98.789,0 179.206,-80.413 179.247,-179.243c0.018,-47.895 -18.61,-92.93 -52.451,-126.81Zm-126.797,275.782l-0.06,0c-26.734,-0.01 -52.954,-7.193 -75.828,-20.767l-5.441,-3.229l-56.386,14.792l15.05,-54.977l-3.542,-5.637c-14.913,-23.72 -22.791,-51.136 -22.779,-79.287c0.033,-82.142 66.867,-148.971 149.046,-148.971c39.793,0.014 77.199,15.531 105.329,43.692c28.128,28.16 43.609,65.592 43.594,105.4c-0.034,82.149 -66.866,148.983 -148.983,148.984Zm81.721,-111.581c-4.479,-2.242 -26.499,-13.075 -30.604,-14.571c-4.105,-1.495 -7.091,-2.241 -10.077,2.241c-2.986,4.483 -11.569,14.572 -14.182,17.562c-2.612,2.988 -5.225,3.364 -9.703,1.12c-4.479,-2.241 -18.91,-6.97 -36.017,-22.23c-13.314,-11.876 -22.304,-26.542 -24.916,-31.026c-2.612,-4.484 -0.279,-6.908 1.963,-9.14c2.016,-2.007 4.48,-5.232 6.719,-7.847c2.24,-2.615 2.986,-4.484 4.479,-7.472c1.493,-2.99 0.747,-5.604 -0.374,-7.846c-1.119,-2.241 -10.077,-24.288 -13.809,-33.256c-3.635,-8.733 -7.327,-7.55 -10.077,-7.688c-2.609,-0.13 -5.598,-0.158 -8.583,-0.158c-2.986,0 -7.839,1.121 -11.944,5.604c-4.105,4.484 -15.675,15.32 -15.675,37.364c0,22.046 16.048,43.342 18.287,46.332c2.24,2.99 31.582,48.227 76.511,67.627c10.685,4.615 19.028,7.371 25.533,9.434c10.728,3.41 20.492,2.929 28.209,1.775c8.605,-1.285 26.499,-10.833 30.231,-21.295c3.732,-10.464 3.732,-19.431 2.612,-21.298c-1.119,-1.869 -4.105,-2.99 -8.583,-5.232Z" />
|
||||||
</a>
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
|
{{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
|
||||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
|
<li>
|
||||||
href="https://telegram.me/share/url?text={{ $title }}&url={{ $pageurl }}">
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
|
||||||
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
href="https://telegram.me/share/url?text={{ $title }}&url={{ $pageurl }}">
|
||||||
<path
|
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||||
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
<path
|
||||||
</svg>
|
d="M26.49,29.86H5.5a3.37,3.37,0,0,1-2.47-1,3.35,3.35,0,0,1-1-2.47V5.48A3.36,3.36,0,0,1,3,3,3.37,3.37,0,0,1,5.5,2h21A3.38,3.38,0,0,1,29,3a3.36,3.36,0,0,1,1,2.46V26.37a3.35,3.35,0,0,1-1,2.47A3.38,3.38,0,0,1,26.49,29.86Zm-5.38-6.71a.79.79,0,0,0,.85-.66L24.73,9.24a.55.55,0,0,0-.18-.46.62.62,0,0,0-.41-.17q-.08,0-16.53,6.11a.59.59,0,0,0-.41.59.57.57,0,0,0,.43.52l4,1.24,1.61,4.83a.62.62,0,0,0,.63.43.56.56,0,0,0,.4-.17L16.54,20l4.09,3A.9.9,0,0,0,21.11,23.15ZM13.8,20.71l-1.21-4q8.72-5.55,8.78-5.55c.15,0,.23,0,.23.16a.18.18,0,0,1,0,.06s-2.51,2.3-7.52,6.8Z" />
|
||||||
</a>
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
</div>
|
{{- if (cond ($custom) (in $ShareButtons "ycombinator") (true)) }}
|
||||||
|
<li>
|
||||||
|
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on ycombinator"
|
||||||
|
href="https://news.ycombinator.com/submitlink?t={{ $title }}&u={{ $pageurl }}">
|
||||||
|
<svg version="1.1" xml:space="preserve" width="30px" height="30px" viewBox="0 0 512 512" fill="currentColor"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape">
|
||||||
|
<path
|
||||||
|
d="M449.446 0C483.971 0 512 28.03 512 62.554L512 449.446C512 483.97 483.97 512 449.446 512L62.554 512C28.03 512 0 483.97 0 449.446L0 62.554C0 28.03 28.029 0 62.554 0L449.446 0ZM183.8767 87.9921H121.8427L230.6673 292.4508V424.0079H281.3328V292.4508L390.1575 87.9921H328.1233L256 238.2489z" />
|
||||||
|
</svg>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
{{- end }}
|
||||||
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
<div class="social-icons">
|
<div class="social-icons" {{ with .align}}align="{{.}}" {{- end }}>
|
||||||
{{- range . }}
|
{{- range site.Params.socialIcons }}
|
||||||
<a href="{{ trim .url " " }}" target="_blank" rel="noopener noreferrer me" title="{{ (.title | default .name) | title }}">
|
<a href="{{ trim .url " " | safeURL }}" target="_blank" rel="noopener noreferrer me"
|
||||||
|
title="{{ (.title | default .name) | title }}">
|
||||||
{{ partial "svg.html" . }}
|
{{ partial "svg.html" . }}
|
||||||
</a>
|
</a>
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,47 @@
|
||||||
|
{{- $imgs := slice }}
|
||||||
|
{{- $imgParams := .Params.images }}
|
||||||
|
{{- $resources := .Resources.ByType "image" -}}
|
||||||
|
{{/* Find featured image resources if the images parameter is empty. */}}
|
||||||
|
{{- if not $imgParams }}
|
||||||
|
{{- $featured := $resources.GetMatch "*feature*" -}}
|
||||||
|
{{- if not $featured }}{{ $featured = $resources.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
||||||
|
{{- with $featured }}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"Image" .
|
||||||
|
"RelPermalink" .RelPermalink
|
||||||
|
"Permalink" .Permalink) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{/* Use the first one of site images as the fallback. */}}
|
||||||
|
{{- if and (not $imgParams) (not $imgs) }}
|
||||||
|
{{- with site.Params.images }}
|
||||||
|
{{- $imgParams = first 1 . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{/* Parse page's images parameter. */}}
|
||||||
|
{{- range $imgParams }}
|
||||||
|
{{- $img := . }}
|
||||||
|
{{- $url := urls.Parse $img }}
|
||||||
|
{{- if eq $url.Scheme "" }}
|
||||||
|
{{/* Internal image. */}}
|
||||||
|
{{- with $resources.GetMatch $img -}}
|
||||||
|
{{/* Image resource. */}}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"Image" .
|
||||||
|
"RelPermalink" .RelPermalink
|
||||||
|
"Permalink" .Permalink) }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"RelPermalink" (relURL $img)
|
||||||
|
"Permalink" (absURL $img)
|
||||||
|
) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
{{/* External image */}}
|
||||||
|
{{- $imgs = $imgs | append (dict
|
||||||
|
"RelPermalink" $img
|
||||||
|
"Permalink" $img
|
||||||
|
) }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- return $imgs }}
|
||||||
|
|
@ -1,52 +1,86 @@
|
||||||
<meta property="og:title" content="{{ .Title }}" />
|
<meta property="og:url" content="{{ .Permalink }}">
|
||||||
<meta property="og:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end }}" />
|
|
||||||
<meta property="og:type" content="{{ if .IsPage }}article{{ else }}website{{ end }}" />
|
|
||||||
<meta property="og:url" content="{{ .Permalink }}" />
|
|
||||||
{{- if .Params.cover.image -}}
|
|
||||||
{{- if (ne .Params.cover.relative true) }}
|
|
||||||
<meta property="og:image" content="{{ .Params.cover.image | absURL }}" />
|
|
||||||
{{- else}}
|
|
||||||
<meta property="og:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}" />
|
|
||||||
{{- end}}
|
|
||||||
{{- else }}
|
|
||||||
|
|
||||||
{{- with $.Params.images -}}
|
{{- with or site.Title site.Params.title | plainify }}
|
||||||
{{- range first 6 . }}<meta property="og:image" content="{{ . | absURL }}" />{{ end -}}
|
<meta property="og:site_name" content="{{ . }}">
|
||||||
{{- else -}}
|
{{- end }}
|
||||||
{{- $images := $.Resources.ByType "image" -}}
|
|
||||||
{{- $featured := $images.GetMatch "*feature*" -}}
|
{{- with or .Title site.Title site.Params.title | plainify }}
|
||||||
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
<meta property="og:title" content="{{ . }}">
|
||||||
{{- with $featured -}}
|
{{- end }}
|
||||||
<meta property="og:image" content="{{ $featured.Permalink }}"/>
|
|
||||||
{{- else -}}
|
{{- with or .Description .Summary site.Params.description | plainify | htmlUnescape | chomp }}
|
||||||
{{- with site.Params.images }}<meta property="og:image" content="{{ index . 0 | absURL }}"/>{{ end -}}
|
<meta property="og:description" content="{{ . }}">
|
||||||
{{- end -}}
|
{{- end }}
|
||||||
{{- end -}}
|
|
||||||
|
{{- with or .Params.locale site.Language.LanguageCode site.Language.Lang }}
|
||||||
|
<meta property="og:locale" content="{{ . }}">
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
|
||||||
{{- if .IsPage }}
|
{{- if .IsPage }}
|
||||||
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
|
<meta property="og:type" content="article">
|
||||||
<meta property="article:section" content="{{ .Section }}" />
|
{{- with .Section }}
|
||||||
{{ with .PublishDate }}<meta property="article:published_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
<meta property="article:section" content="{{ . }}">
|
||||||
{{ with .Lastmod }}<meta property="article:modified_time" {{ .Format $iso8601 | printf "content=%q" | safeHTMLAttr }} />{{ end }}
|
|
||||||
{{- end -}}
|
|
||||||
|
|
||||||
{{- with .Params.audio }}<meta property="og:audio" content="{{ . }}" />{{ end }}
|
|
||||||
{{- with .Params.locale }}<meta property="og:locale" content="{{ . }}" />{{ end }}
|
|
||||||
{{- with site.Params.title }}<meta property="og:site_name" content="{{ . }}" />{{ end }}
|
|
||||||
{{- with .Params.videos }}{{- range . }}
|
|
||||||
<meta property="og:video" content="{{ . | absURL }}" />
|
|
||||||
{{ end }}{{ end }}
|
|
||||||
|
|
||||||
{{- /* If it is part of a series, link to related articles */}}
|
|
||||||
{{- $permalink := .Permalink }}
|
|
||||||
{{- $siteSeries := site.Taxonomies.series }}
|
|
||||||
{{ with .Params.series }}{{- range $name := . }}
|
|
||||||
{{- $series := index $siteSeries ($name | urlize) }}
|
|
||||||
{{- range $page := first 6 $series.Pages }}
|
|
||||||
{{- if ne $page.Permalink $permalink }}<meta property="og:see_also" content="{{ $page.Permalink }}" />{{ end }}
|
|
||||||
{{- end }}
|
{{- end }}
|
||||||
{{ end }}{{ end }}
|
{{- $ISO8601 := "2006-01-02T15:04:05-07:00" }}
|
||||||
|
{{- with .PublishDate }}
|
||||||
|
<meta property="article:published_time" {{ .Format $ISO8601 | printf "content=%q" | safeHTMLAttr }}>
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Lastmod }}
|
||||||
|
<meta property="article:modified_time" {{ .Format $ISO8601 | printf "content=%q" | safeHTMLAttr }}>
|
||||||
|
{{- end }}
|
||||||
|
{{- range .GetTerms "tags" | first 6 }}
|
||||||
|
<meta property="article:tag" content="{{ .Page.Title | plainify }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- else }}
|
||||||
|
<meta property="og:type" content="website">
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
{{- /* Facebook Page Admin ID for Domain Insights */}}
|
{{- if .Params.cover.image -}}
|
||||||
{{- with site.Params.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
|
{{- if (ne .Params.cover.relative true) }}
|
||||||
|
<meta property="og:image" content="{{ .Params.cover.image | absURL }}">
|
||||||
|
{{- else}}
|
||||||
|
<meta property="og:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}">
|
||||||
|
{{- end}}
|
||||||
|
{{- else }}
|
||||||
|
{{- with partial "_funcs/get-page-images" . }}
|
||||||
|
{{- range . | first 6 }}
|
||||||
|
<meta property="og:image" content="{{ .Permalink }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Params.audio }}
|
||||||
|
{{- range . | first 6 }}
|
||||||
|
<meta property="og:audio" content="{{ . | absURL }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with .Params.videos }}
|
||||||
|
{{- range . | first 6 }}
|
||||||
|
<meta property="og:video" content="{{ . | absURL }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- range .GetTerms "series" }}
|
||||||
|
{{- range .Pages | first 7 }}
|
||||||
|
{{- if ne $ . }}
|
||||||
|
<meta property="og:see_also" content="{{ .Permalink }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with site.Params.social }}
|
||||||
|
{{- if reflect.IsMap . }}
|
||||||
|
{{- with .facebook_app_id }}
|
||||||
|
<meta property="fb:app_id" content="{{ . }}">
|
||||||
|
{{- else }}
|
||||||
|
{{- with .facebook_admin }}
|
||||||
|
<meta property="fb:admins" content="{{ . }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{- with (.Param "social.fediverse_creator") }}
|
||||||
|
<meta name="fediverse:creator" content="{{ . }}">
|
||||||
|
{{- end }}
|
||||||
|
|
|
||||||
|
|
@ -4,21 +4,25 @@
|
||||||
"@context": "https://schema.org",
|
"@context": "https://schema.org",
|
||||||
"@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}",
|
"@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}",
|
||||||
"name": {{ site.Title }},
|
"name": {{ site.Title }},
|
||||||
"url": {{ site.BaseURL }},
|
"url": {{ site.Home.Permalink }},
|
||||||
"description": {{ site.Params.description | plainify | truncate 180 | safeHTML }},
|
"description": {{ site.Params.description | plainify | truncate 180 | safeHTML }},
|
||||||
"thumbnailUrl": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }},
|
{{- if (eq site.Params.schema.publisherType "Person") }}
|
||||||
|
"image": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }},
|
||||||
|
{{- else }}
|
||||||
|
"logo": {{ site.Params.assets.favicon | default "favicon.ico" | absURL }},
|
||||||
|
{{- end }}
|
||||||
"sameAs": [
|
"sameAs": [
|
||||||
{{- if site.Params.schema.sameAs }}
|
{{- if site.Params.schema.sameAs }}
|
||||||
{{ range $i, $e := site.Params.schema.sameAs }}{{ if $i }}, {{ end }}{{ trim $e " " }}{{ end }}
|
{{ range $i, $e := site.Params.schema.sameAs }}{{ if $i }}, {{ end }}{{ trim $e " " }}{{ end }}
|
||||||
{{- else}}
|
{{- else}}
|
||||||
{{ range $i, $e := site.Params.SocialIcons }}{{ if $i }}, {{ end }}{{ trim $e.url " " }}{{ end }}
|
{{ range $i, $e := site.Params.SocialIcons }}{{ if $i }}, {{ end }}{{ trim $e.url " " | safeURL }}{{ end }}
|
||||||
{{- end}}
|
{{- end}}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
{{- else if (or .IsPage .IsSection) }}
|
{{- else if (or .IsPage .IsSection) }}
|
||||||
{{/* BreadcrumbList */}}
|
{{/* BreadcrumbList */}}
|
||||||
{{- $url := replace .Parent.Permalink ( printf "%s" site.BaseURL) "" }}
|
{{- $url := replace .Parent.Permalink ( printf "%s" site.Home.Permalink) "" }}
|
||||||
{{- $lang_url := strings.TrimPrefix ( printf "%s/" .Lang) $url }}
|
{{- $lang_url := strings.TrimPrefix ( printf "%s/" .Lang) $url }}
|
||||||
{{- $bc_list := (split $lang_url "/")}}
|
{{- $bc_list := (split $lang_url "/")}}
|
||||||
|
|
||||||
|
|
@ -80,6 +84,11 @@
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }},
|
{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }},
|
||||||
{{- end}}
|
{{- end}}
|
||||||
|
{{- else }}
|
||||||
|
{{- $images := partial "templates/_funcs/get-page-images" . -}}
|
||||||
|
{{- with index $images 0 -}}
|
||||||
|
"image": {{ .Permalink }},
|
||||||
|
{{- end }}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
"datePublished": {{ .PublishDate }},
|
"datePublished": {{ .PublishDate }},
|
||||||
"dateModified": {{ .Lastmod }},
|
"dateModified": {{ .Lastmod }},
|
||||||
|
|
|
||||||
|
|
@ -1,33 +1,31 @@
|
||||||
{{- if .Params.cover.image -}}
|
{{- if .Params.cover.image -}}
|
||||||
<meta name="twitter:card" content="summary_large_image" />
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
{{- if (ne $.Params.cover.relative true) }}
|
{{- if (ne $.Params.cover.relative true) }}
|
||||||
<meta name="twitter:image" content="{{ .Params.cover.image | absURL }}" />
|
<meta name="twitter:image" content="{{ .Params.cover.image | absURL }}">
|
||||||
{{- else }}
|
{{- else }}
|
||||||
<meta name="twitter:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}" />
|
<meta name="twitter:image" content="{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }}">
|
||||||
{{- end}}
|
{{- end}}
|
||||||
{{- else }}
|
{{- else }}
|
||||||
{{- with $.Params.images -}}
|
{{- $images := partial "templates/_funcs/get-page-images" . -}}
|
||||||
<meta name="twitter:card" content="summary_large_image"/>
|
{{- with index $images 0 -}}
|
||||||
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
<meta name="twitter:card" content="summary_large_image">
|
||||||
{{ else -}}
|
<meta name="twitter:image" content="{{ .Permalink }}">
|
||||||
{{- $images := $.Resources.ByType "image" -}}
|
|
||||||
{{- $featured := $images.GetMatch "*feature*" -}}
|
|
||||||
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
|
||||||
{{- with $featured -}}
|
|
||||||
<meta name="twitter:card" content="summary_large_image"/>
|
|
||||||
<meta name="twitter:image" content="{{ $featured.Permalink }}"/>
|
|
||||||
{{- else -}}
|
{{- else -}}
|
||||||
{{- with site.Params.images -}}
|
<meta name="twitter:card" content="summary">
|
||||||
<meta name="twitter:card" content="summary_large_image"/>
|
|
||||||
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
|
||||||
{{ else -}}
|
|
||||||
<meta name="twitter:card" content="summary"/>
|
|
||||||
{{- end -}}
|
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
|
<meta name="twitter:title" content="{{ .Title }}">
|
||||||
|
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}">
|
||||||
|
|
||||||
|
{{- $twitterSite := "" }}
|
||||||
|
{{- with site.Params.social }}
|
||||||
|
{{- if reflect.IsMap . }}
|
||||||
|
{{- with .twitter }}
|
||||||
|
{{- $content := . }}
|
||||||
|
{{- if not (strings.HasPrefix . "@") }}
|
||||||
|
{{- $content = printf "@%v" . }}
|
||||||
|
{{- end }}
|
||||||
|
<meta name="twitter:site" content="{{ $content }}">
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<meta name="twitter:title" content="{{ .Title }}"/>
|
|
||||||
<meta name="twitter:description" content="{{ with .Description }}{{ . }}{{ else }}{{if .IsPage}}{{ .Summary }}{{ else }}{{ with site.Params.description }}{{ . }}{{ end }}{{ end }}{{ end -}}"/>
|
|
||||||
{{ with site.Params.Social.twitter -}}
|
|
||||||
<meta name="twitter:site" content="@{{ . }}"/>
|
|
||||||
{{ end -}}
|
|
||||||
|
|
|
||||||
|
|
@ -71,10 +71,10 @@
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end }}
|
{{- end }}
|
||||||
<li>
|
<li>
|
||||||
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify -}}">{{- $header | safeHTML -}}</a>
|
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
|
||||||
{{- else }}
|
{{- else }}
|
||||||
<li>
|
<li>
|
||||||
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify -}}">{{- $header | safeHTML -}}</a>
|
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
{{- end -}}
|
{{- end -}}
|
||||||
<!-- {{- $firstHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers 0) 1) 0)) -}} -->
|
<!-- {{- $firstHeaderLevel := len (seq (index (findRE "[1-6]" (index $headers 0) 1) 0)) -}} -->
|
||||||
|
|
|
||||||
|
|
@ -6,6 +6,7 @@ license = "MIT"
|
||||||
licenselink = "https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE"
|
licenselink = "https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE"
|
||||||
description = "A fast, clean, responsive Hugo theme"
|
description = "A fast, clean, responsive Hugo theme"
|
||||||
homepage = "https://adityatelange.github.io/hugo-PaperMod/"
|
homepage = "https://adityatelange.github.io/hugo-PaperMod/"
|
||||||
|
demosite = "https://adityatelange.github.io/hugo-PaperMod/"
|
||||||
tags = [
|
tags = [
|
||||||
"responsive",
|
"responsive",
|
||||||
"simple",
|
"simple",
|
||||||
|
|
@ -37,7 +38,7 @@ features = [
|
||||||
"scroll-to-top",
|
"scroll-to-top",
|
||||||
"search"
|
"search"
|
||||||
]
|
]
|
||||||
min_version = "0.97.1"
|
min_version = "0.146.0"
|
||||||
|
|
||||||
[author]
|
[author]
|
||||||
name = "Aditya Telange"
|
name = "Aditya Telange"
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue