Summary Files Commits Branches @commit @diff @stats
path: root / ext / presentation.awk
blob: ee8a2eadefac6d893e5fda643df1253b55d70cff (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
BEGIN {
	fontSizes[1] = "18"
	fontSizes[2] = "20"
	fontSizes[3] = "22"
	fontSizes[4] = "25"
	fontSizes[5] = "27"
	fontSizes[6] = "35"

	# Certain tags can exist without explicitly defining the font size
	# while others cannot
	# fontSizes[0] is used for simpler code for the tags which don't
	# require font size
	fontSizes[0] = ""

	for (ind in fontSizes) {
		if (ind > 0) {
			define_div("font" fontSizes[ind])
			fontClass = " font" fontSizes[ind]
		}
		else {
			fontClass = ""
		}

		define_div("centered" fontSizes[ind], "centered" fontClass)

		define("slide" fontSizes[ind], "<div id=\"slide-[?autoincrement?]\" class=\"slide" fontClass "\">", "</div>")
		define("middle_slide" fontSizes[ind], "<div id=\"slide-[?autoincrement?]\" class=\"slide centered-slide" fontClass "\"><div></div><div>", "</div><div></div></div>")
		define("title_slide" fontSizes[ind], "<div id=\"slide-[?autoincrement?]\" class=\"slide centered-slide centered" fontClass "\"><div></div><div>", "</div><div></div></div>")
	}


	substitutions["presentation-controller"] = ".text" ORS \
"<nav id=\"presentCont\">" ORS \
"	<span id=\"prevSlideBtn\" class=\"btn nodisplay\">&#x2190;</span>" ORS \
"	<a id=\"slideIndex\" class=\"nodisplay\" href=\"#slide-0\">0</a>" ORS \
"	<span id=\"nextSlideBtn\" class=\"btn nodisplay\">&#x2192;</span>" ORS \
"	<span id=\"incrementationBtn\" class=\"btn nodisplay\">&#x22EE;</span>" ORS \
"	<span id=\"articleBtn\" class=\"btn setting-btn\">As article &#x2632;</span>" ORS \
"	<span id=\"presentBtn\" class=\"btn setting-btn\">Present &#x239A;</span>" ORS \
"	<span id=\"printBtn\" class=\"btn setting-btn\">Print &#x2399;</span>" ORS \
"</nav><br><br>" ORS \
"<script type=\"text/javascript\" src=\"/scripts/presentation.js\" crossorigin=\"anonymous\"></script>"

	define("row", "<div class=\"layout-table\"><div class=\"layout-row\">", "</div></div>")
	define("sqrow", "<div class=\"layout-table fixed-layout\"><div class=\"layout-row\">", "</div></div>")
	substitutions["newrow"] = ".text </div><div class=\"layout-row\">"

	#
	# Generated tags
	#

	for (i = 1; i <= 9; i++) {
		substitutions["br" i] = ".text <div class=\"br" i "\"></div>"
	}
	for (i = 5; i <= 95; i++) {
		define_div("width" i "%", "width" i "per")
	}

	#
	# Ordinary
	#

	define_div("fright", "float-right")
	define_div("column")
}

function define_div(name, class) {
	if (!class) class = name
	define(name, "<div class=\"" class "\">", "</div>")
}

FNR == 1 {
    autoincrement = 0
}