]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Doc: building singlepage version with the appropriate template mq-docs-to-markdown
authorMaria Matejka <mq@ucw.cz>
Sat, 25 Jan 2025 22:01:11 +0000 (23:01 +0100)
committerMaria Matejka <mq@ucw.cz>
Sat, 25 Jan 2025 22:01:11 +0000 (23:01 +0100)
doc/Makefile
tools/doc-template.html [new file with mode: 0644]

index c176488774706aaf1070cbf9f488b20026fe7056..1f3ee4743ac821908d252e04073b6644cf211f79 100644 (file)
@@ -31,11 +31,12 @@ $(o)%.md: $(s)%.sgml
        @false
 else
 LINUXDOC_PANDOC_PARSER := $(srcdir)/tools/linuxdoc.lua
+SINGLEPAGE_HTML_TEMPLATE := $(srcdir)/tools/doc-template.html
 $(o)%.md: $(s)%.sgml $(LINUXDOC_PANDOC_PARSER) $(objdir)/.dir-stamp
        $(PANDOC) -f $(LINUXDOC_PANDOC_PARSER) -s -t markdown -o $@ $<
 
-$(o)%-singlepage.html: $(o)%.md
-       $(PANDOC) -f markdown -t html5 -s -o $@ $<
+$(o)%-singlepage.html: $(s)%.sgml $(SINGLEPAGE_HTML_TEMPLATE) $(LINUXDOC_PANDOC_PARSER) $(objdir)/.dir-stamp
+       $(PANDOC) -f $(LINUXDOC_PANDOC_PARSER) -t html5 --shift-heading-level-by=1 --section-divs --table-of-contents --toc-depth=3 --template=$(SINGLEPAGE_HTML_TEMPLATE) -o $@ $<
 
 endif
 
diff --git a/tools/doc-template.html b/tools/doc-template.html
new file mode 100644 (file)
index 0000000..cd782ff
--- /dev/null
@@ -0,0 +1,40 @@
+{%- set title = "$pagetitle$" %}
+{%- set is_docs = True %}
+{%- set template_part = "header" %}
+{%- set authors = [ $for(author-meta)$ "$author-meta$", $endfor$ ] %}
+{%- set meta_additional = { "author": authors, } %}
+{%- include "main.html" %}
+<!--<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>-->
+      <section class="bg-light bird-documentation">
+       <div class="pt-60 container">
+         <div class="row">
+           <div class="col d-none d-lg-block"></div>
+           <div class='col-12 col-xl-3 col-lg-4'></div>
+           <div class="col-12 col-xl-6 col-lg-7">
+             <h1 class="title">{{ title }}</h1>
+             <p class="authors">Authors: 
+             {%- for a in authors %}
+             <a href="mailto:{{ a.split('&lt;')[1][:-4] }}">{{ a.split('&lt;')[0][:-1] }}</a>{% if not loop.last %}, {% endif %}
+             {%- endfor %}
+             </p>
+             <p class="abstract">$abstract$</p>
+           </div>
+           <div class="col d-none d-lg-block"></div>
+         </div>
+         <div class="row">
+           <div class="col d-none d-lg-block"></div>
+           <aside class='col-12 col-xl-3 col-lg-4'>
+             <nav class='pt-lg-120 pb-lg-20 sticky-lg-top overflow-scroll' >
+               $table-of-contents$
+               {# TODO: make the TOC collapsible #}
+             </nav>
+           </aside>
+           <div class="col-12 col-xl-6 col-lg-7">
+             $body$
+           </div>
+           <div class="col d-none d-lg-block"></div>
+         </div>
+       </div>
+      </section>
+{% set template_part = "footer" %}
+{% include "main.html" %}