From 992af0b9d77cb4fbac2c37ef8d5896042d67a2a3 Mon Sep 17 00:00:00 2001 From: VirtualTam Date: Wed, 22 Jul 2015 05:02:10 +0200 Subject: Doc: sync from Wiki, generate HTML Closes #291 Fixes #227 Modifications - HTML content: match the new Wiki structure - Makefile - generate a custom HTML sidebar - include the sidebar on all pages - infer and prepend page titles - handle relative links - add title metadata, e.g. Shaarli - Signed-off-by: VirtualTam --- Makefile | 36 +++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) (limited to 'Makefile') diff --git a/Makefile b/Makefile index d69fac46..05578525 100644 --- a/Makefile +++ b/Makefile @@ -126,8 +126,38 @@ doc: clean @git clone https://github.com/shaarli/Shaarli.wiki.git doc @rm -rf doc/.git +### Generate a custom sidebar +# +# Sidebar content: +# - convert GitHub-flavoured relative links to standard Markdown +# - trim HTML, only keep the list (
    [...]
) part +htmlsidebar: + @echo '
' > doc/sidebar.html + @awk 'BEGIN { FS = "[\\[\\]]{2}" }'\ + 'm = /\[/ { t=$$2; gsub(/ /, "-", $$2); print $$1"["t"]("$$2".html)"$$3 }'\ + '!m { print $$0 }' doc/_Sidebar.md > doc/tmp.md + @pandoc -f markdown -t html5 -s doc/tmp.md | awk '/(ul>|li>)/' >> doc/sidebar.html + @echo '
' >> doc/sidebar.html + @rm doc/tmp.md + ### Convert local markdown documentation to HTML -htmldoc: - for file in `find doc/ -maxdepth 1 -name "*.md"`; do \ - pandoc -f markdown_github -t html5 -s -c "github-markdown.css" -o doc/`basename $$file .md`.html "$$file"; \ +# +# For all pages: +# - infer title from the file name +# - convert GitHub-flavoured relative links to standard Markdown +# - insert the sidebar menu +htmlpages: + @for file in `find doc/ -maxdepth 1 -name "*.md"`; do \ + base=`basename $$file .md`; \ + sed -i "1i #$${base//-/ }" $$file; \ + awk 'BEGIN { FS = "[\\[\\]]{2}" }'\ + 'm = /\[/ { t=$$2; gsub(/ /, "-", $$2); print $$1"["t"]("$$2".html)"$$3 }'\ + '!m { print $$0 }' $$file > doc/tmp.md; \ + mv doc/tmp.md $$file; \ + pandoc -f markdown_github -t html5 -s \ + -c "github-markdown.css" \ + -T Shaarli -M pagetitle:"$${base//-/ }" -B doc/sidebar.html \ + -o doc/$$base.html $$file; \ done; + +htmldoc: doc htmlsidebar htmlpages -- cgit v1.2.3