Summary Files Commits Branches @commit @diff @stats
path: root / generate-hooks / create-presentation.awk
diff options
context:
space:
mode:
Commitdaab5443e76fe16642dde1fb2ef32b723fd4037b (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-09-28 22:11:47 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-09-29 17:40:10 +0300
Filesa952b79a3d8ed6e3d01cc33a432248eb41e4fdfd /generate-hooks/create-presentation.awk
syndamia.com-daab5443e76fe16642dde1fb2ef32b723fd4037b.tar
syndamia.com-daab5443e76fe16642dde1fb2ef32b723fd4037b.tar.gz
syndamia.com-daab5443e76fe16642dde1fb2ef32b723fd4037b.zip
Parent15094c5da196d0b23f41c6882a397284b2741ab0 (diff)
[hooks] Removed bash hook scripts and made awk scripts the way to generate the website
1 files changed, 27 insertions, 0 deletions
-rw-r--r--generate-hooks/create-presentation.awk27
diff --git a/generate-hooks/create-presentation.awk b/generate-hooks/create-presentation.awk
index 04fb6d0..0f32e35 100644
--- a/generate-hooks/create-presentation.awk
+++ b/generate-hooks/create-presentation.awk
@@ -1,4 +1,31 @@
+# A presentation is just a markdown file, with some added ftags for formatting into a presentation layout.
+# This means all presentations will change how they look with changes to the main styles.css. It also means
+# that they follow the light/dark mode setting.
+# Each slide is the size of a horizontal A4 piece of paper. This makes it easy to print (and there is a dedicated
+# print button).
+# The whole system is based on flexboxes. The only real way to control how items are aligned is via a row and column
+# directed flexboxes. This isn't the most efficient, but it's fine. And if there are performance issues, the
+# presentation can always be "printed" to a PDF and consumed that way.
+
+# Currently you can have normal paragraphs and heading around a presentation, and those won't be printed out.
+# But you can have only ONE presentation per page!!!
+# All ftags that have a closing tag, and &&presentation, need one line above and below them (but you don't
+# need the first and last line of file to be empty).
+
+# &&presentation Required. Adds the control panel and JavaScript script. Must be the very first one!
+# &&slide Starts a slide. Slides are the main pages that hold content and are used for navigation.
+# &&/slide Ends (the last started) slide.
+# &&flexer An empty container with flex: 1. Use it for spacing out stuff.
+# &&centered Aligns text to the center.
+# &&/centered Ends (the last started) centered text.
+# &&fow Flexbox, with flex-direction row.
+# &&/fow Ends (the last started) fow.
+# &&fol Flexbox, with flex-direction column.
+# &&/fol Ends (the last started) fol.
+
BEGIN {
+ if (substr(FILENAME, "talks") == 0) exit
+
names[ 1] = "slide"
ended[ 1] = 1
names[ 2] = "centered"