diff options
| Commit | 9d3fdda42187fccdbd7cdeadd58ae0d28653c052 (patch) | |
|---|---|---|
| Author | 2022-09-29 10:03:51 +0300 | |
| Committer | 2022-09-29 17:40:10 +0300 | |
| Files | 7a666edc0258b5fd2779642a8ae763d750539ab7 | |
| syndamia.com-9d3fdda42187fccdbd7cdeadd58ae0d28653c052.tar syndamia.com-9d3fdda42187fccdbd7cdeadd58ae0d28653c052.tar.gz syndamia.com-9d3fdda42187fccdbd7cdeadd58ae0d28653c052.zip | ||
| Parent | daab5443e76fe16642dde1fb2ef32b723fd4037b (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.awk | 65 |
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] = "/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>&&" names[i] "</p>" + pat[1] = "&&presentation" + rep[1] = pres + pat[2] = "&&/font" + rep[2] = "</div>" + + for (i = 3; i <= length(names); i++) { + pat[i] = "&&" names[i] rep[i] = "<div class=\"" names[i] "\">" if (ended[i] == 1) { - cpat[i] = "<p>&&/" names[i] "</p>" + cpat[i] = "&&/" 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>&&presentation</p>", pres) - gsub("<p>&&/font</p>", "</div>") - +/^[ \t]*(<p>|)&&/ { for (i = 1; i <= length(names); i++) { if (index($0, names[i]) != 0) substitute(i) } +} +{ print } |