diff options
author | nodiscc <nodiscc@gmail.com> | 2017-01-26 18:52:54 +0100 |
---|---|---|
committer | nodiscc <nodiscc@gmail.com> | 2017-06-18 00:19:49 +0200 |
commit | 53ed6d7d1e678d7486337ce67a2f17b30bac21ac (patch) | |
tree | f8bef0164a70bd03d2b9781951c01bdd018f1842 /doc/Create-and-serve-multiple-Shaarlis-(farm).md | |
parent | d5d22a6d07917865c44148ad76f43c65a929a890 (diff) | |
download | Shaarli-53ed6d7d1e678d7486337ce67a2f17b30bac21ac.tar.gz Shaarli-53ed6d7d1e678d7486337ce67a2f17b30bac21ac.tar.zst Shaarli-53ed6d7d1e678d7486337ce67a2f17b30bac21ac.zip |
Generate HTML documentation using MkDocs (WIP)
MkDocs is a static site generator geared towards building project documentation.
Documentation source files are written in Markdown, and configured with a single YAML file.
* http://www.mkdocs.org/
* http://www.mkdocs.org/user-guide/configuration/
Ref. #312
* remove pandoc-generated HTML documentation
* move markdown doc to doc/md/,
* mkdocs.yml:
* generate HTML doc in doc/html
* add pages TOC/ordering
* use index.md as index page
* Makefile: remove execute permissions from generated files
* Makefile: rewrite htmlpages GFM to markdown conversion using sed:
awk expression aslo matched '][' which causes invalid output on complex links with images or code blocks
* Add mkdocs.yml to .gitattributes, exclude this file from release archives
* Makefile: rename: htmldoc -> doc_html target
* run make doc: pull latest markdown documentation from wiki
* run make htmlpages: update html documentation
Diffstat (limited to 'doc/Create-and-serve-multiple-Shaarlis-(farm).md')
-rw-r--r-- | doc/Create-and-serve-multiple-Shaarlis-(farm).md | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/doc/Create-and-serve-multiple-Shaarlis-(farm).md b/doc/Create-and-serve-multiple-Shaarlis-(farm).md deleted file mode 100644 index a71f6520..00000000 --- a/doc/Create-and-serve-multiple-Shaarlis-(farm).md +++ /dev/null | |||
@@ -1,58 +0,0 @@ | |||
1 | #Create and serve multiple Shaarlis (farm) | ||
2 | Example bash script (creates multiple shaarli instances and generates an HTML index of them) | ||
3 | |||
4 | ```bash | ||
5 | #!/bin/bash | ||
6 | set -o errexit | ||
7 | set -o nounset | ||
8 | |||
9 | #config | ||
10 | shaarli_base_dir='/var/www/shaarli' | ||
11 | accounts='bob john whatever username' | ||
12 | shaarli_repo_url='https://github.com/shaarli/Shaarli' | ||
13 | ref="master" | ||
14 | |||
15 | #clone multiple shaarli instances | ||
16 | if [ ! -d "$shaarli_base_dir" ]; then mkdir "$shaarli_base_dir"; fi[](.html) | ||
17 | |||
18 | for account in $accounts; do | ||
19 | if [ -d "$shaarli_base_dir/$account" ];[](.html) | ||
20 | then echo "[info] account $account already exists, skipping";[](.html) | ||
21 | else echo "[info] creating new account $account ..."; git clone --quiet "$shaarli_repo_url" -b "$ref" "$shaarli_base_dir/$account"; fi[](.html) | ||
22 | done | ||
23 | |||
24 | #generate html index of shaarlis | ||
25 | htmlhead='<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> | ||
26 | <!-- Minimal html template thanks to http://www.sitepoint.com/a-minimal-html-document/ --> | ||
27 | <html lang="en"> | ||
28 | <head> | ||
29 | <meta http-equiv="content-type" content="text/html; charset=utf-8"> | ||
30 | <title>My Shaarli farm</title> | ||
31 | <style>body {font-family: "Open Sans"}</style> | ||
32 | </head> | ||
33 | <body> | ||
34 | <div> | ||
35 | <h1>My Shaarli farm</h1> | ||
36 | <ul style="list-style-type: none;">' | ||
37 | |||
38 | accountlinks='' | ||
39 | |||
40 | htmlfooter=' | ||
41 | </ul> | ||
42 | </div> | ||
43 | </body> | ||
44 | </html>' | ||
45 | |||
46 | |||
47 | |||
48 | for account in $accounts; do accountlinks="$accountlinks\n<li><a href=\"$account\">$account</a></li>"; done | ||
49 | if [ -d "$shaarli_base_dir/index.html" ]; then echo "[removing old index.html]"; rm "$shaarli_base_dir/index.html" ]; fi[](.html) | ||
50 | echo "[info] generating new index of shaarlis"[](.html) | ||
51 | echo -e "$htmlhead $accountlinks $htmlfooter" > "$shaarli_base_dir/index.html" | ||
52 | echo '[info] done.'[](.html) | ||
53 | echo "[info] list of accounts: $accounts"[](.html) | ||
54 | echo "[info] contents of $shaarli_base_dir:"[](.html) | ||
55 | tree -a -L 1 "$shaarli_base_dir" | ||
56 | ``` | ||
57 | |||
58 | This script just serves as an example. More precise or complex (applying custom configuration, etc) automation is possible using configuration management software like [Ansible](https://www.ansible.com/)[](.html) | ||