Summary Files Commits Branches @commit @diff @stats
diff options
context:
space:
mode:
Commit9d3fdda42187fccdbd7cdeadd58ae0d28653c052 (patch)
Author
 Syndamia <kamen@syndamia.com>
2022-09-29 10:03:51 +0300
Committer
 Syndamia <kamen@syndamia.com>
2022-09-29 17:40:10 +0300
Files7a666edc0258b5fd2779642a8ae763d750539ab7
syndamia.com-9d3fdda42187fccdbd7cdeadd58ae0d28653c052.tar
syndamia.com-9d3fdda42187fccdbd7cdeadd58ae0d28653c052.tar.gz
syndamia.com-9d3fdda42187fccdbd7cdeadd58ae0d28653c052.zip
Parentdaab5443e76fe16642dde1fb2ef32b723fd4037b (diff)
[hooks/presentation] Now there can be multiple ftags on a line
1 files changed, 38 insertions, 27 deletions
-rw-r--r--generate-hooks/create-presentation.awk65
diff --git a/generate-hooks/create-presentation.awk b/generate-hooks/create-presentation.awk
index 0f32e35..ae7fedf 100644
--- a/generate-hooks/create-presentation.awk
+++ b/generate-hooks/create-presentation.awk
@@ -26,28 +26,34 @@
BEGIN {
if (substr(FILENAME, "talks") == 0) exit
- names[ 1] = "slide"
- ended[ 1] = 1
- names[ 2] = "centered"
- ended[ 2] = 1
- names[ 3] = "flexer"
- ended[ 3] = 0
- names[ 4] = "fow"
+ # Exceptions to the normal format
+ names[ 1] = "presentation"
+ ended[ 1] = 0
+ names[ 2] = "&#47;font" # all font ftags can be closed with a &&/font
+ ended[ 2] = 0
+
+ names[ 3] = "slide"
+ ended[ 3] = 1
+ names[ 4] = "centered"
ended[ 4] = 1
- names[ 5] = "fol"
- ended[ 5] = 1
- names[ 6] = "font18"
+ names[ 5] = "flexer"
+ ended[ 5] = 2
+ names[ 6] = "fow"
ended[ 6] = 1
- names[ 7] = "font20"
+ names[ 7] = "fol"
ended[ 7] = 1
- names[ 8] = "font27"
- ended[ 8] = 1
- names[ 9] = "font30"
- ended[ 9] = 1
- names[10] = "font35"
- ended[10] = 1
- names[11] = "fright"
- ended[11] = 1
+ names[ 8] = "font18"
+ ended[ 8] = 0
+ names[ 9] = "font20"
+ ended[ 9] = 0
+ names[10] = "font27"
+ ended[10] = 0
+ names[11] = "font30"
+ ended[11] = 0
+ names[12] = "font35"
+ ended[12] = 0
+ names[13] = "fright"
+ ended[13] = 1
pres = ORS \
"<nav id=\"presentCont\">" ORS \
@@ -58,34 +64,39 @@ BEGIN {
" </nav>" ORS \
" <script type=\"text/javascript\" src=\"/scripts/presentation.js\" integrity=\"sha512-79MwfB0EQJMdVjVnd3PA0Cn9fo4JaMUmNuyZNEGSbaMEGcqdE8sWWAbMLheaoptDyb/KuYgNw0pKwvR5Dw+lJw==\" crossorigin=\"anonymous\"></script>"
- for (i = 1; i <= length(names); i++) {
- pat[i] = "<p>&#38;&#38;" names[i] "</p>"
+ pat[1] = "&#38;&#38;presentation"
+ rep[1] = pres
+ pat[2] = "&#38;&#38;&#47;font"
+ rep[2] = "</div>"
+
+ for (i = 3; i <= length(names); i++) {
+ pat[i] = "&#38;&#38;" names[i]
rep[i] = "<div class=\"" names[i] "\">"
if (ended[i] == 1) {
- cpat[i] = "<p>&#38;&#38;&#47;" names[i] "</p>"
+ cpat[i] = "&#38;&#38;&#47;" names[i]
crep[i] = "</div>"
}
- else {
+ else if (ended[i] == 2) {
rep[i] = rep[i] "</div>"
}
}
}
function substitute(ind) {
+ gsub(/(<p>|<\/p>)/, "")
gsub(pat[ind], rep[ind])
if (ended[ind] == 1)
gsub(cpat[ind], crep[ind])
}
-{
- gsub("<p>&#38;&#38;presentation</p>", pres)
- gsub("<p>&#38;&#38;&#47;font</p>", "</div>")
-
+/^[ \t]*(<p>|)&#38;&#38;/ {
for (i = 1; i <= length(names); i++) {
if (index($0, names[i]) != 0)
substitute(i)
}
+}
+{
print
}