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
|
||||
enableRobotsTXT: true
|
||||
|
||||
markup:
|
||||
goldmark:
|
||||
renderer:
|
||||
unsafe: true
|
||||
|
||||
languages:
|
||||
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,
|
||||
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
|
||||
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.
|
||||
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?
|
||||
|
||||
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.
|
||||
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?
|
||||
|
||||
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.
|
||||
|
||||
### 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
|
||||
|
||||
- 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
|
||||
|
||||
### Stream & Aufzeichnungen
|
||||
|
||||
Den aktuellen Livestream,
|
||||
bzw. die Aufzeichnungen,
|
||||
findet ihr [auf unserem Peertube-Channel](https://tube.systerserver.net/c/quellcode/videos).
|
||||
|
||||
### Vortrags/Workshopraum:
|
||||
- [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)
|
||||
|
|
@ -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)
|
||||
- [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)
|
||||
- ~~[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: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: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?~~
|
||||
- [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)
|
||||
- [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)
|
||||
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.
|
||||
|
||||
|
|
@ -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)
|
||||
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)
|
||||
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
|
||||
|
||||
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
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@
|
|||
<h4 align=center>☄️ Fast | ☁️ Fluent | 🌙 Smooth | 📱 Responsive</h4>
|
||||
<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.
|
||||
|
||||
**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.
|
||||
|
||||
[](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://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)
|
||||
- Table of Content Generation (newer implementation).
|
||||
- Archive of posts.
|
||||
- Social Icons (home-info and profile-mode)
|
||||
- Social Icons (home-info and profile-mode).
|
||||
- Social-Media Share buttons on posts.
|
||||
- Menu location indicator.
|
||||
- Multilingual support. (with language selector)
|
||||
- Taxonomies
|
||||
- Multilingual support. (with language selector).
|
||||
- Taxonomies.
|
||||
- Cover image for each post (with Responsive image support).
|
||||
- Light/Dark theme (automatic theme switch a/c to browser theme and theme-switch button).
|
||||
- SEO Friendly.
|
||||
- Multiple Author support.
|
||||
- Search Page with Fuse.js
|
||||
- Other Posts suggestion below a post
|
||||
- Breadcrumb Navigation
|
||||
- Code Block Copy buttons
|
||||
- Breadcrumb Navigation.
|
||||
- Code Block Copy buttons.
|
||||
- Hugo's Chroma syntax highlighter.
|
||||
- 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)**
|
||||
|
|
@ -100,4 +103,4 @@ Release ChangeLog has info about stuff added: **[Releases](https://github.com/ad
|
|||
|
||||
## 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;
|
||||
}
|
||||
|
||||
.social-icons {
|
||||
padding: 12px 0;
|
||||
}
|
||||
|
||||
.social-icons a:not(:last-of-type) {
|
||||
margin-inline-end: 12px;
|
||||
.social-icons a {
|
||||
display: inline-flex;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.social-icons a svg {
|
||||
|
|
|
|||
|
|
@ -80,20 +80,23 @@
|
|||
bottom: 0;
|
||||
}
|
||||
|
||||
.entry-cover,
|
||||
.entry-isdraft {
|
||||
font-size: 14px;
|
||||
.entry-hint {
|
||||
color: var(--secondary);
|
||||
}
|
||||
|
||||
.entry-hint-parent {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.entry-cover {
|
||||
font-size: 14px;
|
||||
margin-bottom: var(--gap);
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.entry-cover img {
|
||||
border-radius: var(--radius);
|
||||
pointer-events: none;
|
||||
width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,6 +19,7 @@
|
|||
font-size: 14px;
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.post-meta .i18n_list li {
|
||||
|
|
@ -124,25 +125,24 @@
|
|||
padding-inline-start: 10px;
|
||||
}
|
||||
|
||||
.post-content dd ~ dd,
|
||||
.post-content dt ~ dt {
|
||||
.post-content dd~dd,
|
||||
.post-content dt~dt {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.post-content table {
|
||||
margin-bottom: 32px;
|
||||
margin-bottom: var(--content-gap);
|
||||
}
|
||||
|
||||
.post-content table th,
|
||||
.post-content table:not(.highlighttable, .highlight table, .gist .highlight) td {
|
||||
min-width: 80px;
|
||||
padding: 12px 8px;
|
||||
padding: 8px 5px;
|
||||
line-height: 1.5;
|
||||
border-bottom: 1px solid var(--border);
|
||||
}
|
||||
|
||||
.post-content table th {
|
||||
font-size: 14px;
|
||||
text-align: start;
|
||||
}
|
||||
|
||||
|
|
@ -156,12 +156,12 @@
|
|||
|
||||
.post-content .highlight:not(table) {
|
||||
margin: 10px auto;
|
||||
background: var(--hljs-bg) !important;
|
||||
background: var(--code-block-bg) !important;
|
||||
border-radius: var(--radius);
|
||||
direction: ltr;
|
||||
}
|
||||
|
||||
.post-content li > .highlight {
|
||||
.post-content li>.highlight {
|
||||
margin-inline-end: 0;
|
||||
}
|
||||
|
||||
|
|
@ -200,11 +200,11 @@
|
|||
}
|
||||
|
||||
.post-content pre code {
|
||||
display: block;
|
||||
display: grid;
|
||||
margin: auto 0;
|
||||
padding: 10px;
|
||||
color: rgb(213, 213, 214);
|
||||
background: var(--hljs-bg) !important;
|
||||
background: var(--code-block-bg) !important;
|
||||
border-radius: var(--radius);
|
||||
overflow-x: auto;
|
||||
word-break: break-all;
|
||||
|
|
@ -240,14 +240,14 @@
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.post-content figure > figcaption {
|
||||
.post-content figure>figcaption {
|
||||
color: var(--primary);
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
margin: 8px 0 16px;
|
||||
}
|
||||
|
||||
.post-content figure > figcaption > p {
|
||||
.post-content figure>figcaption>p {
|
||||
color: var(--secondary);
|
||||
font-size: 14px;
|
||||
font-weight: normal;
|
||||
|
|
@ -267,7 +267,8 @@
|
|||
|
||||
.toc details summary {
|
||||
cursor: zoom-in;
|
||||
margin-inline-start: 20px;
|
||||
margin-inline-start: 10px;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
.toc details[open] summary {
|
||||
|
|
@ -280,8 +281,9 @@
|
|||
}
|
||||
|
||||
.toc .inner {
|
||||
margin: 0 20px;
|
||||
padding: 10px 20px;
|
||||
margin: 5px 20px 0;
|
||||
padding: 0 10px;
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.toc li ul {
|
||||
|
|
@ -296,10 +298,18 @@
|
|||
margin-top: 56px;
|
||||
}
|
||||
|
||||
.post-footer>* {
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.post-tags {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.post-tags li {
|
||||
display: inline-block;
|
||||
margin-inline-end: 3px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
.post-tags a,
|
||||
|
|
@ -312,8 +322,7 @@
|
|||
|
||||
.post-tags a {
|
||||
display: block;
|
||||
padding-inline-start: 14px;
|
||||
padding-inline-end: 14px;
|
||||
padding: 0 14px;
|
||||
color: var(--secondary);
|
||||
font-size: 14px;
|
||||
line-height: 34px;
|
||||
|
|
@ -326,15 +335,16 @@
|
|||
}
|
||||
|
||||
.share-buttons {
|
||||
margin: 14px 0;
|
||||
padding-inline-start: var(--radius);
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
overflow-x: auto;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.share-buttons li,
|
||||
.share-buttons a {
|
||||
margin-top: 10px;
|
||||
display: inline-flex;
|
||||
}
|
||||
|
||||
.share-buttons a:not(:last-of-type) {
|
||||
|
|
@ -355,10 +365,8 @@ h6:hover .anchor {
|
|||
}
|
||||
|
||||
.paginav {
|
||||
margin: 10px 0;
|
||||
display: flex;
|
||||
line-height: 30px;
|
||||
border-radius: var(--radius);
|
||||
}
|
||||
|
||||
.paginav a {
|
||||
|
|
|
|||
|
|
@ -10,19 +10,20 @@
|
|||
text-align: center;
|
||||
}
|
||||
|
||||
.profile .profile_inner h1 {
|
||||
padding: 12px 0;
|
||||
.profile .profile_inner {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.profile img {
|
||||
display: inline-table;
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.buttons {
|
||||
flex-wrap: wrap;
|
||||
max-width: 400px;
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
.button {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
PaperMod v7
|
||||
PaperMod v8+
|
||||
License: MIT https://github.com/adityatelange/hugo-PaperMod/blob/master/LICENSE
|
||||
Copyright (c) 2020 nanxiaobei and adityatelange
|
||||
Copyright (c) 2021-2023 adityatelange
|
||||
Copyright (c) 2021-2025 adityatelange
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@
|
|||
html {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
overflow-y: scroll;
|
||||
-webkit-text-size-adjust: 100%;
|
||||
text-size-adjust: 100%;
|
||||
}
|
||||
|
||||
a,
|
||||
|
|
@ -20,12 +22,10 @@ h5,
|
|||
h6 {
|
||||
color: var(--primary);
|
||||
}
|
||||
|
||||
@font-face {
|
||||
font-family: 'Space Mono';
|
||||
src: url(/fonts/SpaceMono-Regular.ttf);
|
||||
}
|
||||
|
||||
body {
|
||||
/*font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif;*/
|
||||
font-family: 'Space Mono', sans-serif;
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@
|
|||
--secondary: rgb(108, 108, 108);
|
||||
--tertiary: rgb(214, 214, 214);
|
||||
--content: rgb(31, 31, 31);
|
||||
--hljs-bg: rgb(28, 29, 33);
|
||||
--code-block-bg: rgb(28, 29, 33);
|
||||
--code-bg: rgb(245, 245, 245);
|
||||
--border: rgb(238, 238, 238);
|
||||
}
|
||||
|
|
@ -24,7 +24,7 @@
|
|||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--hljs-bg: rgb(46, 46, 51);
|
||||
--code-block-bg: rgb(46, 46, 51);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,6 +36,12 @@
|
|||
}
|
||||
}
|
||||
|
||||
@media screen and (max-width: 340px) {
|
||||
.share-buttons {
|
||||
justify-content: unset;
|
||||
}
|
||||
}
|
||||
|
||||
@media (prefers-reduced-motion) {
|
||||
/* terms; profile-mode; post-single; post-entry; post-entry; search; search */
|
||||
.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 {
|
||||
border: 2px solid var(--hljs-bg);
|
||||
border: 2px solid var(--code-block-bg);
|
||||
background: rgb(113, 113, 117);
|
||||
}
|
||||
|
||||
|
|
@ -60,4 +60,4 @@
|
|||
width: 19px;
|
||||
height: 11px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -77,7 +77,12 @@ sInput.onkeyup = function (e) {
|
|||
// run a search query (for "term") every time a letter is typed
|
||||
// in the search box
|
||||
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) {
|
||||
// build our html if result exists
|
||||
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
|
||||
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
|
||||
translation: "קודם"
|
||||
translation: "הקודם"
|
||||
|
||||
- id: next_page
|
||||
translation: "הבא"
|
||||
|
||||
- id: read_time
|
||||
translation:
|
||||
one : "דקה אחת"
|
||||
other: "דקות {{ .Count }}"
|
||||
one: "דקה אחת"
|
||||
other: "{{ .Count }} דקות"
|
||||
|
||||
- id: words
|
||||
translation:
|
||||
one : "word"
|
||||
other: "מילים {{ .Count }} "
|
||||
one: "מילה אחת"
|
||||
other: "{{ .Count }} מילים"
|
||||
|
||||
- id: toc
|
||||
translation: "תוכן העניינים"
|
||||
translation: "תוכן עניינים"
|
||||
|
||||
- id: translations
|
||||
translation: "תרגומים"
|
||||
|
|
@ -30,4 +30,4 @@
|
|||
translation: "העתק"
|
||||
|
||||
- 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
|
||||
translation:
|
||||
one : "kelime"
|
||||
other: "{{ .Count }} kelime"
|
||||
one : "sözcük"
|
||||
other: "{{ .Count }} sözcük"
|
||||
|
||||
- id: toc
|
||||
translation: "İçindekiler"
|
||||
|
|
@ -21,7 +21,7 @@
|
|||
translation: "Çeviriler"
|
||||
|
||||
- id: home
|
||||
translation: "Anasayfa"
|
||||
translation: "Ana Sayfa"
|
||||
|
||||
- id: edit_post
|
||||
translation: "Düzenle"
|
||||
|
|
|
|||
|
|
@ -6,9 +6,14 @@
|
|||
|
||||
- id: read_time
|
||||
translation:
|
||||
one : "1 phút"
|
||||
one: "1 phút"
|
||||
other: "{{ .Count }} phút"
|
||||
|
||||
- id: words
|
||||
translation:
|
||||
one: "từ"
|
||||
other: "{{ .Count }} từ"
|
||||
|
||||
- id: toc
|
||||
translation: "Mục lục"
|
||||
|
||||
|
|
@ -18,6 +23,9 @@
|
|||
- id: home
|
||||
translation: "Trang chủ"
|
||||
|
||||
- id: edit_post
|
||||
translation: "Chỉnh sửa"
|
||||
|
||||
- id: code_copy
|
||||
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") }}
|
||||
{{- $rss := (.OutputFormats.Get "rss") }}
|
||||
{{- if (eq .Kind `page`) }}
|
||||
{{- $rss = (.Parent.OutputFormats.Get "rss") }}
|
||||
{{- $rss = (.Parent.OutputFormats.Get "rss") }}
|
||||
{{- end }}
|
||||
{{- with $rss }}
|
||||
<a href="{{ .RelPermalink }}" title="RSS" aria-label="RSS">
|
||||
|
|
@ -36,19 +36,35 @@
|
|||
{{- range $pages.GroupByPublishDate "2006" }}
|
||||
{{- if ne .Key "0001" }}
|
||||
<div class="archive-year">
|
||||
<h2 class="archive-year-header">
|
||||
{{- replace .Key "0001" "" }}<sup class="archive-count"> {{ len .Pages }}</sup>
|
||||
{{- $year := replace .Key "0001" "" }}
|
||||
<h2 class="archive-year-header" id="{{ $year }}">
|
||||
<a class="archive-header-link" href="#{{ $year }}">
|
||||
{{- $year -}}
|
||||
</a>
|
||||
<sup class="archive-count"> {{ len .Pages }}</sup>
|
||||
</h2>
|
||||
{{- range .Pages.GroupByDate "January" }}
|
||||
<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">
|
||||
{{- range .Pages }}
|
||||
{{- if eq .Kind "page" }}
|
||||
<div class="archive-entry">
|
||||
<h3 class="archive-entry-title">
|
||||
<h3 class="archive-entry-title entry-hint-parent">
|
||||
{{- .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>
|
||||
<div class="archive-meta">
|
||||
{{- 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>
|
||||
<html lang="{{ site.Language }}" dir="{{ .Language.LanguageDirection | default "auto" }}">
|
||||
|
||||
|
|
|
|||
|
|
@ -64,12 +64,19 @@
|
|||
{{- end }}
|
||||
|
||||
<article class="{{ $class }}">
|
||||
{{- $isHidden := (site.Params.cover.hidden | default site.Params.cover.hiddenInList) }}
|
||||
{{- partial "cover.html" (dict "cxt" . "IsHome" true "isHidden" $isHidden) }}
|
||||
{{- $isHidden := (.Param "cover.hiddenInList") | default (.Param "cover.hidden") | default false }}
|
||||
{{- partial "cover.html" (dict "cxt" . "IsSingle" false "isHidden" $isHidden) }}
|
||||
<header class="entry-header">
|
||||
<h2>
|
||||
<h2 class="entry-hint-parent">
|
||||
{{- .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>
|
||||
</header>
|
||||
{{- if (ne (.Param "hideSummary") true) }}
|
||||
|
|
|
|||
|
|
@ -1,21 +1,53 @@
|
|||
{{- $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 -}}
|
||||
{{- /* Deprecate site.Author.email in favor of site.Params.author.email */}}
|
||||
{{- $authorEmail := "" }}
|
||||
{{- with site.Params.author }}
|
||||
{{- if reflect.IsMap . }}
|
||||
{{- with .email }}
|
||||
{{- $authorEmail = . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- else }}
|
||||
{{- with site.Author.email }}
|
||||
{{- $authorEmail = . }}
|
||||
{{- 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 }}
|
||||
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
|
||||
<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>
|
||||
<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 }}
|
||||
<image>
|
||||
<title>{{ site.Title }}</title>
|
||||
|
|
@ -23,29 +55,29 @@
|
|||
<link>{{ index . 0 | absURL }}</link>
|
||||
</image>
|
||||
{{- end }}
|
||||
<generator>Hugo -- gohugo.io</generator>{{ with site.LanguageCode }}
|
||||
<language>{{.}}</language>{{end}}{{ with site.Author.email }}
|
||||
<managingEditor>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</managingEditor>{{end}}{{ with site.Author.email }}
|
||||
<webMaster>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</webMaster>{{end}}{{ with site.Copyright }}
|
||||
<copyright>{{.}}</copyright>{{end}}{{ if not .Date.IsZero }}
|
||||
<lastBuildDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
{{- with .OutputFormats.Get "RSS" -}}
|
||||
<generator>Hugo -- {{ hugo.Version }}</generator>
|
||||
<language>{{ site.Language.LanguageCode }}</language>{{ with $authorEmail }}
|
||||
<managingEditor>{{.}}{{ with $authorName }} ({{ . }}){{ end }}</managingEditor>{{ end }}{{ with $authorEmail }}
|
||||
<webMaster>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</webMaster>{{ end }}{{ with site.Copyright }}
|
||||
<copyright>{{ . | markdownify | plainify | strings.TrimPrefix "© " }}</copyright>{{ end }}{{ if not .Date.IsZero }}
|
||||
<lastBuildDate>{{ (index $pages.ByLastmod.Reverse 0).Lastmod.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</lastBuildDate>{{ end }}
|
||||
{{- with .OutputFormats.Get "RSS" }}
|
||||
{{ printf "<atom:link href=%q rel=\"self\" type=%q />" .Permalink .MediaType | safeHTML }}
|
||||
{{- end -}}
|
||||
{{ range $pages }}
|
||||
{{- end }}
|
||||
{{- range $pages }}
|
||||
{{- if and (ne .Layout `search`) (ne .Layout `archives`) }}
|
||||
<item>
|
||||
<title>{{ .Title }}</title>
|
||||
<link>{{ .Permalink }}</link>
|
||||
<pubDate>{{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{ with site.Author.email }}<author>{{.}}{{ with site.Author.name }} ({{.}}){{end}}</author>{{end}}
|
||||
<pubDate>{{ .PublishDate.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}</pubDate>
|
||||
{{- with $authorEmail }}<author>{{ . }}{{ with $authorName }} ({{ . }}){{ end }}</author>{{ end }}
|
||||
<guid>{{ .Permalink }}</guid>
|
||||
<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>
|
||||
{{- end }}
|
||||
</item>
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
{{- end }}
|
||||
</channel>
|
||||
</rss>
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
|
||||
<div id="searchbox">
|
||||
<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>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
|
|
@ -3,9 +3,16 @@
|
|||
<article class="post-single">
|
||||
<header class="post-header">
|
||||
{{ partial "breadcrumbs.html" . }}
|
||||
<h1 class="post-title">
|
||||
<h1 class="post-title entry-hint-parent">
|
||||
{{ .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>
|
||||
{{- if .Description }}
|
||||
<div class="post-description">
|
||||
|
|
@ -21,8 +28,8 @@
|
|||
</div>
|
||||
{{- end }}
|
||||
</header>
|
||||
{{- $isHidden := .Params.cover.hidden | default site.Params.cover.hiddenInSingle | default site.Params.cover.hidden }}
|
||||
{{- partial "cover.html" (dict "cxt" . "IsHome" false "isHidden" $isHidden) }}
|
||||
{{- $isHidden := (.Param "cover.hiddenInSingle") | default (.Param "cover.hidden") | default false }}
|
||||
{{- partial "cover.html" (dict "cxt" . "IsSingle" true "isHidden" $isHidden) }}
|
||||
{{- if (.Param "ShowToc") }}
|
||||
{{- partial "toc.html" . }}
|
||||
{{- end }}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
{{- if (.Param "ShowBreadCrumbs") -}}
|
||||
<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 -}}
|
||||
|
||||
<a href="{{ "" | absLangURL }}">{{ i18n "home" | default "Home" }}</a>
|
||||
|
|
|
|||
|
|
@ -1,41 +1,64 @@
|
|||
{{- with .cxt}} {{/* Apply proper context from dict */}}
|
||||
{{- if (and .Params.cover.image (not $.isHidden)) }}
|
||||
{{- $alt := (.Params.cover.alt | default .Params.cover.caption | plainify) }}
|
||||
<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 }}
|
||||
{{- $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)) }}
|
||||
{{- $cover := (or $pageBundleCover $globalResourcesCover)}}
|
||||
{{- if $cover -}}{{/* i.e it is present in page bundle */}}
|
||||
{{- if $addLink }}<a href="{{ (path.Join .RelPermalink .Params.cover.image) | absURL }}" target="_blank"
|
||||
rel="noopener noreferrer">{{ end -}}
|
||||
{{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
|
||||
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
||||
{{- if hugo.IsExtended -}}
|
||||
{{- $processableFormats = $processableFormats | append "webp" -}}
|
||||
{{- end -}}
|
||||
{{- $prod := (hugo.IsProduction | or (eq site.Params.env "production")) }}
|
||||
{{- if (and (in $processableFormats $cover.MediaType.SubType) ($responsiveImages) (eq $prod true)) }}
|
||||
<img loading="lazy" srcset="{{- range $size := $sizes -}}
|
||||
{{- if (ge $cover.Width $size) -}}
|
||||
{{ printf "%s %s" (($cover.Resize (printf "%sx" $size)).Permalink) (printf "%sw ," $size) -}}
|
||||
{{ end }}
|
||||
{{- end -}}{{$cover.Permalink }} {{printf "%dw" ($cover.Width)}}"
|
||||
sizes="(min-width: 768px) 720px, 100vw" src="{{ $cover.Permalink }}" alt="{{ $alt }}"
|
||||
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 }}">
|
||||
{{- /* We are not using the .Param.cover.relative to decide the location of image */}}
|
||||
{{- /* If we have the image in pageBundle or globalResources we can process the image */}}
|
||||
|
||||
{{- $sizes := (slice "360" "480" "720" "1080" "1500") }}
|
||||
{{- $processableFormats := (slice "jpg" "jpeg" "png" "tif" "bmp" "gif") -}}
|
||||
{{- if hugo.IsExtended -}}
|
||||
{{- $processableFormats = $processableFormats | append "webp" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{- $imgdl := (.Params.cover.image) | absURL }}
|
||||
{{- if $cover -}}
|
||||
{{- $imgdl = $cover.Permalink }}
|
||||
{{- end -}}
|
||||
|
||||
{{- if $addLink }}
|
||||
<a href="{{ $imgdl }}" target="_blank" rel="noopener noreferrer">
|
||||
{{- end }}
|
||||
{{- if $addLink }}</a>{{ end -}}
|
||||
{{/* Display Caption */}}
|
||||
{{- if not $.IsHome }}
|
||||
{{ with .Params.cover.caption }}<p>{{ . | markdownify }}</p>{{- end }}
|
||||
|
||||
{{- if $cover -}}
|
||||
{{/* i.e it is present in page bundle */}}
|
||||
{{- 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 }}
|
||||
</figure>
|
||||
{{- end }}{{/* End image */}}
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
{{- $fileUrlPath := path.Join .File.Path }}
|
||||
|
||||
{{- 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")) -}}
|
||||
</a>
|
||||
{{- end }}
|
||||
|
|
|
|||
|
|
@ -1,10 +1,19 @@
|
|||
{{- if not (.Param "hideFooter") }}
|
||||
<footer class="footer">
|
||||
{{- if site.Copyright }}
|
||||
<span>{{ site.Copyright | markdownify }}</span>
|
||||
{{- else }}
|
||||
<span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span>
|
||||
{{- if not site.Params.footer.hideCopyright }}
|
||||
{{- if site.Copyright }}
|
||||
<span>{{ site.Copyright | markdownify }}</span>
|
||||
{{- else }}
|
||||
<span>© {{ now.Year }} <a href="{{ "" | absLangURL }}">{{ site.Title }}</a></span>
|
||||
{{- end }}
|
||||
{{- print " · "}}
|
||||
{{- end }}
|
||||
|
||||
{{- with site.Params.footer.text }}
|
||||
{{ . | markdownify }}
|
||||
{{- print " · "}}
|
||||
{{- end }}
|
||||
|
||||
<span>
|
||||
Powered by
|
||||
<a href="https://gohugo.io/" rel="noopener noreferrer" target="_blank">Hugo</a> &
|
||||
|
|
|
|||
|
|
@ -55,12 +55,12 @@
|
|||
{{- $license_css := (resources.Get "css/core/license.css") }}
|
||||
{{- $common := (resources.Match "css/common/*.css") | resources.Concat "assets/css/common.css" }}
|
||||
|
||||
{{- /* include `an-old-hope` if hljs is on */}}
|
||||
{{- $isHLJSdisabled := (site.Params.assets.disableHLJS | default false) }}
|
||||
{{- $hljs := (cond ($isHLJSdisabled) (".chroma { background-color: unset !important;}" | resources.FromString "assets/css/hljs-blank.css") (resources.Get "css/hljs/an-old-hope.min.css")) }}
|
||||
{{- /* markup.highlight.noClasses should be set to `false` */}}
|
||||
{{- $chroma_styles := (resources.Get "css/includes/chroma-styles.css") }}
|
||||
{{- $chroma_mod := (resources.Get "css/includes/chroma-mod.css") }}
|
||||
|
||||
{{- /* 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 }}
|
||||
|
||||
{{- /* bundle all required css */}}
|
||||
|
|
@ -89,19 +89,6 @@
|
|||
{{- 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 */}}
|
||||
<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 }}">
|
||||
|
|
@ -137,7 +124,7 @@
|
|||
--secondary: rgb(155, 156, 157);
|
||||
--tertiary: rgb(65, 66, 68);
|
||||
--content: rgb(196, 196, 197);
|
||||
--hljs-bg: rgb(46, 46, 51);
|
||||
--code-block-bg: rgb(46, 46, 51);
|
||||
--code-bg: rgb(55, 56, 62);
|
||||
--border: rgb(51, 51, 51);
|
||||
}
|
||||
|
|
@ -163,8 +150,8 @@
|
|||
|
||||
{{- /* Misc */}}
|
||||
{{- if hugo.IsProduction | or (eq site.Params.env "production") }}
|
||||
{{- template "_internal/google_analytics.html" . }}
|
||||
{{- template "partials/templates/opengraph.html" . }}
|
||||
{{- template "partials/templates/twitter_cards.html" . }}
|
||||
{{- template "partials/templates/schema_json.html" . }}
|
||||
{{- partial "google_analytics.html" . }}
|
||||
{{- partial "templates/opengraph.html" . }}
|
||||
{{- partial "templates/twitter_cards.html" . }}
|
||||
{{- partial "templates/schema_json.html" . }}
|
||||
{{- end -}}
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@
|
|||
{{- end }}
|
||||
<div class="logo-switches">
|
||||
{{- 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"
|
||||
fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"
|
||||
stroke-linejoin="round">
|
||||
|
|
@ -97,7 +97,7 @@
|
|||
|
||||
{{- $lang := .Lang}}
|
||||
{{- $separator := or $label_text (not site.Params.disableThemeToggle)}}
|
||||
{{- with site.Home.AllTranslations }}
|
||||
{{- with site.Home.Translations }}
|
||||
<ul class="lang-switch">
|
||||
{{- if $separator }}<li>|</li>{{ end }}
|
||||
{{- range . -}}
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
{{ .Content | markdownify }}
|
||||
</div>
|
||||
<footer class="entry-footer">
|
||||
{{ partial "social_icons.html" site.Params.socialIcons }}
|
||||
{{ partial "social_icons.html" (dict "align" site.Params.homeInfoParams.AlignSocialIconsTo) }}
|
||||
</footer>
|
||||
</article>
|
||||
{{- end -}}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@
|
|||
{{- end }}
|
||||
<h1>{{ .title | default site.Title | markdownify }}</h1>
|
||||
<span>{{ .subtitle | markdownify }}</span>
|
||||
{{- partial "social_icons.html" site.Params.socialIcons -}}
|
||||
{{- partial "social_icons.html" -}}
|
||||
|
||||
{{- with .buttons }}
|
||||
<div class="buttons">
|
||||
|
|
|
|||
|
|
@ -12,10 +12,12 @@
|
|||
{{- $scratch.Add "meta" (slice (i18n "words" .WordCount | default (printf "%d words" .WordCount))) }}
|
||||
{{- end }}
|
||||
|
||||
{{- if not (.Param "hideAuthor") -}}
|
||||
{{- with (partial "author.html" .) }}
|
||||
{{- $scratch.Add "meta" (slice .) }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
{{- with ($scratch.Get "meta") }}
|
||||
{{- delimit . " · " -}}
|
||||
{{- delimit . " · " | safeHTML -}}
|
||||
{{- end -}}
|
||||
|
|
|
|||
|
|
@ -13,59 +13,83 @@
|
|||
{{- $ShareButtons := (.Param "ShareButtons")}}
|
||||
{{- with $ShareButtons }}{{ $custom = true }}{{ end }}
|
||||
|
||||
<div class="share-buttons">
|
||||
{{- if (cond ($custom) (in $ShareButtons "twitter") (true)) }}
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on twitter"
|
||||
href="https://twitter.com/intent/tweet/?text={{ $title }}&url={{ $pageurl }}&hashtags={{- $.Scratch.Get "tags" -}}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
<ul class="share-buttons">
|
||||
{{- if (or (cond ($custom) (in $ShareButtons "x") (true)) (cond ($custom) (in $ShareButtons "twitter") (true))) }}
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on x"
|
||||
href="https://x.com/intent/tweet/?text={{ $title }}&url={{ $pageurl }}&hashtags={{- $.Scratch.Get "tags" -}}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{{- end }}
|
||||
{{- if (cond ($custom) (in $ShareButtons "linkedin") (true)) }}
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
|
||||
href="https://www.linkedin.com/shareArticle?mini=true&url={{ $pageurl }}&title={{ $title }}&summary={{ $title }}&source={{ $pageurl }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on linkedin"
|
||||
href="https://www.linkedin.com/shareArticle?mini=true&url={{ $pageurl }}&title={{ $title }}&summary={{ $title }}&source={{ $pageurl }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{{- end }}
|
||||
{{- if (cond ($custom) (in $ShareButtons "reddit") (true)) }}
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
|
||||
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on reddit"
|
||||
href="https://reddit.com/submit?url={{ $pageurl }}&title={{ $title }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{{- end }}
|
||||
{{- if (cond ($custom) (in $ShareButtons "facebook") (true)) }}
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
|
||||
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on facebook"
|
||||
href="https://facebook.com/sharer/sharer.php?u={{ $pageurl }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{{- end }}
|
||||
{{- if (cond ($custom) (in $ShareButtons "whatsapp") (true)) }}
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
|
||||
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on whatsapp"
|
||||
href="https://api.whatsapp.com/send?text={{ $title }}%20-%20{{ $pageurl }}">
|
||||
<svg version="1.1" viewBox="0 0 512 512" xml:space="preserve" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{{- end }}
|
||||
{{- if (cond ($custom) (in $ShareButtons "telegram") (true)) }}
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
|
||||
href="https://telegram.me/share/url?text={{ $title }}&url={{ $pageurl }}">
|
||||
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
<li>
|
||||
<a target="_blank" rel="noopener noreferrer" aria-label="share {{ $title | plainify }} on telegram"
|
||||
href="https://telegram.me/share/url?text={{ $title }}&url={{ $pageurl }}">
|
||||
<svg version="1.1" xml:space="preserve" viewBox="2 2 28 28" height="30px" width="30px" fill="currentColor">
|
||||
<path
|
||||
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" />
|
||||
</svg>
|
||||
</a>
|
||||
</li>
|
||||
{{- 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">
|
||||
{{- range . }}
|
||||
<a href="{{ trim .url " " }}" target="_blank" rel="noopener noreferrer me" title="{{ (.title | default .name) | title }}">
|
||||
<div class="social-icons" {{ with .align}}align="{{.}}" {{- end }}>
|
||||
{{- range site.Params.socialIcons }}
|
||||
<a href="{{ trim .url " " | safeURL }}" target="_blank" rel="noopener noreferrer me"
|
||||
title="{{ (.title | default .name) | title }}">
|
||||
{{ partial "svg.html" . }}
|
||||
</a>
|
||||
{{- 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: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 }}
|
||||
<meta property="og:url" content="{{ .Permalink }}">
|
||||
|
||||
{{- with $.Params.images -}}
|
||||
{{- range first 6 . }}<meta property="og:image" content="{{ . | absURL }}" />{{ end -}}
|
||||
{{- else -}}
|
||||
{{- $images := $.Resources.ByType "image" -}}
|
||||
{{- $featured := $images.GetMatch "*feature*" -}}
|
||||
{{- if not $featured }}{{ $featured = $images.GetMatch "{*cover*,*thumbnail*}" }}{{ end -}}
|
||||
{{- with $featured -}}
|
||||
<meta property="og:image" content="{{ $featured.Permalink }}"/>
|
||||
{{- else -}}
|
||||
{{- with site.Params.images }}<meta property="og:image" content="{{ index . 0 | absURL }}"/>{{ end -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
{{- with or site.Title site.Params.title | plainify }}
|
||||
<meta property="og:site_name" content="{{ . }}">
|
||||
{{- end }}
|
||||
|
||||
{{- with or .Title site.Title site.Params.title | plainify }}
|
||||
<meta property="og:title" content="{{ . }}">
|
||||
{{- end }}
|
||||
|
||||
{{- with or .Description .Summary site.Params.description | plainify | htmlUnescape | chomp }}
|
||||
<meta property="og:description" content="{{ . }}">
|
||||
{{- end }}
|
||||
|
||||
{{- with or .Params.locale site.Language.LanguageCode site.Language.Lang }}
|
||||
<meta property="og:locale" content="{{ . }}">
|
||||
{{- end }}
|
||||
|
||||
{{- if .IsPage }}
|
||||
{{- $iso8601 := "2006-01-02T15:04:05-07:00" -}}
|
||||
<meta property="article:section" content="{{ .Section }}" />
|
||||
{{ 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 }}
|
||||
{{- 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 }}
|
||||
<meta property="og:type" content="article">
|
||||
{{- with .Section }}
|
||||
<meta property="article:section" content="{{ . }}">
|
||||
{{- 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 */}}
|
||||
{{- with site.Params.Social.facebook_admin }}<meta property="fb:admins" content="{{ . }}" />{{ end }}
|
||||
{{- 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 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",
|
||||
"@type": "{{- ( site.Params.schema.publisherType | default "Organization") | title -}}",
|
||||
"name": {{ site.Title }},
|
||||
"url": {{ site.BaseURL }},
|
||||
"url": {{ site.Home.Permalink }},
|
||||
"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": [
|
||||
{{- if site.Params.schema.sameAs }}
|
||||
{{ range $i, $e := site.Params.schema.sameAs }}{{ if $i }}, {{ end }}{{ trim $e " " }}{{ end }}
|
||||
{{- 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}}
|
||||
]
|
||||
}
|
||||
</script>
|
||||
{{- else if (or .IsPage .IsSection) }}
|
||||
{{/* 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 }}
|
||||
{{- $bc_list := (split $lang_url "/")}}
|
||||
|
||||
|
|
@ -80,6 +84,11 @@
|
|||
{{- else -}}
|
||||
{{ (path.Join .RelPermalink .Params.cover.image ) | absURL }},
|
||||
{{- end}}
|
||||
{{- else }}
|
||||
{{- $images := partial "templates/_funcs/get-page-images" . -}}
|
||||
{{- with index $images 0 -}}
|
||||
"image": {{ .Permalink }},
|
||||
{{- end }}
|
||||
{{- end -}}
|
||||
"datePublished": {{ .PublishDate }},
|
||||
"dateModified": {{ .Lastmod }},
|
||||
|
|
|
|||
|
|
@ -1,33 +1,31 @@
|
|||
{{- 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) }}
|
||||
<meta name="twitter:image" content="{{ .Params.cover.image | absURL }}" />
|
||||
<meta name="twitter:image" content="{{ .Params.cover.image | absURL }}">
|
||||
{{- 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}}
|
||||
{{- else }}
|
||||
{{- with $.Params.images -}}
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
||||
{{ else -}}
|
||||
{{- $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 }}"/>
|
||||
{{- $images := partial "templates/_funcs/get-page-images" . -}}
|
||||
{{- with index $images 0 -}}
|
||||
<meta name="twitter:card" content="summary_large_image">
|
||||
<meta name="twitter:image" content="{{ .Permalink }}">
|
||||
{{- else -}}
|
||||
{{- with site.Params.images -}}
|
||||
<meta name="twitter:card" content="summary_large_image"/>
|
||||
<meta name="twitter:image" content="{{ index . 0 | absURL }}"/>
|
||||
{{ else -}}
|
||||
<meta name="twitter:card" content="summary"/>
|
||||
{{- end -}}
|
||||
<meta name="twitter:card" content="summary">
|
||||
{{- 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 }}
|
||||
<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 }}
|
||||
<li>
|
||||
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify -}}">{{- $header | safeHTML -}}</a>
|
||||
<a href="#{{- $cleanedID -}}" aria-label="{{- $header | plainify | safeHTML -}}">{{- $header | plainify | safeHTML -}}</a>
|
||||
{{- else }}
|
||||
<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 -}}
|
||||
<!-- {{- $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"
|
||||
description = "A fast, clean, responsive Hugo theme"
|
||||
homepage = "https://adityatelange.github.io/hugo-PaperMod/"
|
||||
demosite = "https://adityatelange.github.io/hugo-PaperMod/"
|
||||
tags = [
|
||||
"responsive",
|
||||
"simple",
|
||||
|
|
@ -37,7 +38,7 @@ features = [
|
|||
"scroll-to-top",
|
||||
"search"
|
||||
]
|
||||
min_version = "0.97.1"
|
||||
min_version = "0.146.0"
|
||||
|
||||
[author]
|
||||
name = "Aditya Telange"
|
||||
|
|
|
|||
Loading…
Reference in a new issue