From 9d3fdda42187fccdbd7cdeadd58ae0d28653c052 Mon Sep 17 00:00:00 2001 From: Syndamia Date: Thu, 29 Sep 2022 10:03:51 +0300 Subject: [hooks/presentation] Now there can be multiple ftags on a line --- generate-hooks/create-presentation.awk | 65 ++++++++++++++++++++-------------- 1 file changed, 38 insertions(+), 27 deletions(-) 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 \ "" ORS \ " " - for (i = 1; i <= length(names); i++) { - pat[i] = "

&&" names[i] "

" + pat[1] = "&&presentation" + rep[1] = pres + pat[2] = "&&/font" + rep[2] = "" + + for (i = 3; i <= length(names); i++) { + pat[i] = "&&" names[i] rep[i] = "
" if (ended[i] == 1) { - cpat[i] = "

&&/" names[i] "

" + cpat[i] = "&&/" names[i] crep[i] = "
" } - else { + else if (ended[i] == 2) { rep[i] = rep[i] "" } } } function substitute(ind) { + gsub(/(

|<\/p>)/, "") gsub(pat[ind], rep[ind]) if (ended[ind] == 1) gsub(cpat[ind], crep[ind]) } -{ - gsub("

&&presentation

", pres) - gsub("

&&/font

", "") - +/^[ \t]*(

|)&&/ { for (i = 1; i <= length(names); i++) { if (index($0, names[i]) != 0) substitute(i) } +} +{ print } -- cgit v1.3.1-23-gd82d