diff --git a/content/posts/linux/index.md b/content/posts/linux/index.md
index 42a9099..2427d7a 100644
--- a/content/posts/linux/index.md
+++ b/content/posts/linux/index.md
@@ -9,6 +9,7 @@ tags = ["intro", "linux", "tails", "qubes", "easy"]
[extra]
blogimage="/gifs/destroy.gif"
+blogimagepng="/images/destroy.png"
toc=true
dateedit=2023-05-10
a4="linux-a4.pdf"
diff --git a/content/posts/tails-best/index.md b/content/posts/tails-best/index.md
index efb509f..bd8756e 100644
--- a/content/posts/tails-best/index.md
+++ b/content/posts/tails-best/index.md
@@ -335,6 +335,7 @@ Hacking is really a way of life. If you are truly committed to your cause, you s
+
[^1]: This applies to the IPv4 Internet protocol standard. Caution: In some company networks, this no longer applies!
diff --git a/layout/anarsec_article.typ b/layout/anarsec_article.typ
index 94d8317..67dbe86 100644
--- a/layout/anarsec_article.typ
+++ b/layout/anarsec_article.typ
@@ -5,13 +5,61 @@
lastediteddate: none,
description: none,
subtitle: none,
+ category: none,
content
) = {
+
+ // format lists
+ set list(marker: ([•], [--]))
+
+ // front cover
+ page()[
+ #set align(center + horizon)
+
+ #image(frontimage)
+
+ #text(25pt, title)
+
+#{
+ if subtitle != "None" {
+ text(18pt, subtitle)
+ }
+}
+
+ #set align(center + bottom)
+
+ #text(18pt)[Series: #category]
+
+ ]
+
+ // inside cover
+ page()[
+ #set align(center + bottom)
+
+ #text()[This version of the zine was last edited on #lastediteddate. Visit anarsec.guide to see whether it has been updated since.]
+
+ #text()[The dagger symbol #super[†] on a word means that there is a glossary entry for it. Ai ferri corti.]
+ ]
+
+ // table of contents
+ page()[
+ #outline(indent: 20pt, depth: 3)
+ ]
+
// format links
show link: it => {
it.body
if type(it.dest) == "string" {
- if it.dest.starts-with("https://") or it.dest.starts-with("http://") {
+ if it.dest == "https://anarsec.guide/recommendations" or it.dest == "/recommendations" {
+ text[ (#emph()[Recommendations])]
+ }
+ else if it.dest.starts-with("/recommendations#") or it.dest.starts-with("/recommendations/#") {
+ locate(location => {
+ let elements = query(label(it.dest.trim("/recommendations#", at: start).trim("/recommendations/#", at: start)), location)
+ text[ (#emph()[Recommendations:] #emph(elements.first().body))]
+ })
+ }
+ else if it.dest.starts-with("https://") or it.dest.starts-with("http://") {
footnote[#it.dest.trim("https://", at: start).trim("http://", at: start)]
}
else if it.dest.starts-with("/glossary#") or it.dest.starts-with("/glossary/#") {
@@ -31,38 +79,6 @@
})
}
}
-
- // format lists
- set list(marker: ([•], [--]))
-
- // front cover
- page()[
- #set align(center + horizon)
-
- #image(frontimage)
-
- #text(25pt, title)
-
-#{
- if subtitle != "None" {
- text(18pt, subtitle)
- }
-}
- ]
-
- // inside cover
- page()[
- #set align(center + bottom)
-
- #text()[This version of the zine was last edited on #lastediteddate. Visit anarsec.guide to see whether it has been updated since.]
-
- #text()[The dagger symbol #super[†] on a word means that there is a glossary entry for it. Ai ferri corti.]
- ]
-
- // table of contents
- page()[
- #outline(indent: 20pt, depth: 3)
- ]
// content
set page(numbering: "1")
@@ -116,3 +132,4 @@
]
]
]
+
diff --git a/layout/python/anarsec_article_to_pdf.py b/layout/python/anarsec_article_to_pdf.py
index 521c90e..cdacaac 100644
--- a/layout/python/anarsec_article_to_pdf.py
+++ b/layout/python/anarsec_article_to_pdf.py
@@ -101,8 +101,9 @@ class Converter:
description = description_txt_path.open().read()
# Copy the front image
- front_image = pathlib.Path(workingDirectory) / ("front_image" + pathlib.Path(toml_front_matter['extra']['blogimage']).suffix)
- shutil.copy(self.anarsec_root / "static" / toml_front_matter['extra']['blogimage'].removeprefix("/"), front_image)
+ blogimageid = "blogimagepng" if "blogimagepng" in toml_front_matter["extra"] else "blogimage"
+ front_image = pathlib.Path(workingDirectory) / ("front_image" + pathlib.Path(toml_front_matter['extra'][blogimageid]).suffix)
+ shutil.copy(self.anarsec_root / "static" / toml_front_matter['extra'][blogimageid].removeprefix("/"), front_image)
# Copy the back image
back_image = pathlib.Path(workingDirectory) / "back_image.png"
@@ -160,6 +161,7 @@ class Converter:
lastediteddate: "{toml_front_matter["extra"]["dateedit"]}",
description: "{description}",
subtitle: "{toml_front_matter.get("description")}",
+ category: "{toml_front_matter["taxonomies"]["categories"][0]}",
content
)
{typst_path.open().read()}
diff --git a/static/images/destroy.png b/static/images/destroy.png
new file mode 100644
index 0000000..5b82d81
Binary files /dev/null and b/static/images/destroy.png differ