Initial commit.
[aple.git] / include / m4 / aple.m4
1 changequote(`«', `»')dnl
2 dnl Discard output by diverting to a negative diversion to suppress
3 dnl unwanted trailing newlines after macro definitions.
4 divert(«-1»)
5
6 define(«LOCAL_LINK_NAME», «translit(«$1», «A-Z
7
8 », «a-z__»)»)
9 define(«REMOVE_NEWLINE», «translit(«$1»,«
10 », « »)»)
11
12 define(«REFERENCE», [«REMOVE_NEWLINE(«$2»)»](««#»»«LOCAL_LINK_NAME(«$1»)»))
13 define(«XREFERENCE», «[$2]»«($1)»)
14 define(«EMPH», ««_»REMOVE_NEWLINE(«$1»)«_»»)
15 define(«CMD», «`REMOVE_NEWLINE(«$1»)`»)
16 define(«SECTION», «
17 divert(«0»)
18 <li> <a href='«#»LOCAL_LINK_NAME(«$1»)'>$1</a> </li>
19 divert(«2»)
20 <h2 id="LOCAL_LINK_NAME(«$1»)">$1</h2>
21 »)
22 define(«SUBSECTION», «<h3 id="LOCAL_LINK_NAME(«$1»)">$1</h3>
23 »)
24
25 define(«OVERVIEW», «
26
27 <div id="overview_heading">
28 ifelse(«$2», «», «Overview», «$2»)
29 </div>
30 <div id="overview_text">
31 $1
32 </div>
33 »)
34 define(«EXERCISES», «<h3> Exercises </h3>»)
35
36 define(«HOMEWORK», «
37 <h3> Homework </h3>
38 ifelse(«$2», «», «$1», «dnl
39 <details> <summary>
40 $1
41 </summary> <h4> Solution </h4>
42 <div class="solution">$2</div> </details>»)
43 »)
44 define(«SUPPLEMENTS», «SECTION(«Supplements»)»)
45
46 define(«TOC_ENTRY», «
47 ifelse(«$1.m4», «$2», «», «<a href="$1.html">»)
48 translit(«$1», «_», « »)
49 ifelse(«$1.m4», «$2», «», «</a>»)
50 <br>
51 »)
52 define(«LOGO», «<img src="aple.svg" alt="logo">»)
53
54 define(«HEADER», «
55 <!DOCTYPE HTML>
56 <html lang="en">
57 <head>
58 <meta http-equiv='Content-Type' content='text/html; charset=utf-8'>
59 <title>Unix course</title>
60 <link href="aple.css" rel="stylesheet" type="text/css">
61 <link rel="shortcut icon" href="aple.ico">
62 </head>
63 <body>
64 <table class="logo"> <tr>
65 <td class="logo">LOGO()</td>
66 <td id="title"> <h1>
67 ifelse(«$3», «», «
68 substr(translit(«$2», «_», « »), 0, index(«$2», .m4))
69 », «
70 $3
71 »)
72 </h1> <p> <small> $1 </small> </p>
73 </td>
74 </tr> </table>
75
76 »)
77
78 define(«TITLE», «
79 HEADER(«$1», «$2», «$3»)
80 <hr>
81 <div id="menu">
82 <h3> Chapter </h3>
83 <ul id="chapter_list">
84 <li> TOC_ENTRY(«Introduction», «$2») </li>
85 <li> TOC_ENTRY(«Unix_Concepts», «$2») </li>
86 ifelse(PUBLIC(), «false», «
87 <li> TOC_ENTRY(Command_Line_Utilities, «$2») </li>
88 »)
89 <li> TOC_ENTRY(Networking, «$2») </li>
90 <li> TOC_ENTRY(LVM, «$2») </li>
91 <li> TOC_ENTRY(«Filesystems», «$2») </li>
92 <li> TOC_ENTRY(OS-Level_Virtualization, «$2») </li>
93 ifelse(PUBLIC(), «false», «
94 <li> TOC_ENTRY(Gridengine, «$2») </li>
95 <li> TOC_ENTRY(Git, «$2») </li>
96 <li> TOC_ENTRY(Bash, «$2») </li>
97 <li> TOC_ENTRY(Debugging, «$2») </li>
98 »)
99 </ul>
100 <h4> Section </h4>
101 <ul>
102 divert(«1»)
103 </ul>
104 </div>
105 divert(«2»)
106 »)
107 divert(«0»)dnl