1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/docs/tools/make_docs.sh Mon Apr 15 00:15:40 2019 +0200
1.3 @@ -0,0 +1,30 @@
1.4 +#!/bin/sh
1.5 +
1.6 +THISDIR=`dirname "$0"`
1.7 +INDIR="$THISDIR/../wiki"
1.8 +OUTDIR="$THISDIR/../html"
1.9 +
1.10 +ROOT="MoinLight"
1.11 +
1.12 +MAPPING='--mapping WikiPedia https://en.wikipedia.org/wiki/'
1.13 +THEME='--theme mercurial'
1.14 +
1.15 +if [ "$1" = '--web' ] ; then
1.16 + DOCINDEX=
1.17 + shift 1
1.18 +else
1.19 + DOCINDEX='--document-index index.html'
1.20 +fi
1.21 +
1.22 +FILENAMES=${*:-'--all'}
1.23 +
1.24 +moinconvert --input-dir "$INDIR" \
1.25 + --input-page-sep '--' \
1.26 + --output-dir "$OUTDIR" \
1.27 + --root "$ROOT" \
1.28 + --format html \
1.29 + --macros \
1.30 + $DOCINDEX \
1.31 + $MAPPING \
1.32 + $THEME \
1.33 + $FILENAMES
2.1 --- a/docs/wiki/FrontPage Sun Apr 14 19:13:03 2019 +0200
2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
2.3 @@ -1,115 +0,0 @@
2.4 -= MoinLight =
2.5 -
2.6 -MoinLight is a distribution of programs and libraries for working with content
2.7 -encoded in the [[https://moinmo.in/|MoinMoin]] wiki markup format. This markup
2.8 -format is generally concise and supports many kinds of HTML document features
2.9 -using intelligible plain text representations.
2.10 -
2.11 -########## The graph below shows the architecture of the system...
2.12 -
2.13 -{{{#!graphviz
2.14 -#format svg
2.15 -#transform notugly
2.16 -digraph architecture {
2.17 - node [shape=box,fontsize="13.0",fontname="Helvetica"];
2.18 - rankdir=LR;
2.19 -
2.20 - subgraph {
2.21 - rank=same;
2.22 - input [label="Input context",URL="Input"];
2.23 - markup [label="Moin content",shape=folder,style=filled,fillcolor=cyan];
2.24 - }
2.25 -
2.26 - parser [label="Parser",URL="Parsers"];
2.27 -
2.28 - subgraph {
2.29 - rank=same;
2.30 - tree [label="Document tree",shape=folder,style=filled,fillcolor=cyan];
2.31 - evaluation [label="Macro evaluation",shape=ellipse];
2.32 - }
2.33 -
2.34 - serialiser [label="Serialiser",URL="Serialisers"];
2.35 -
2.36 - theme [label="Theme",URL="Themes"];
2.37 -
2.38 - subgraph {
2.39 - rank=same;
2.40 - output [label="Output context",URL="Output"];
2.41 - pages [label="Web content",shape=folder,style=filled,fillcolor=cyan];
2.42 - }
2.43 -
2.44 - markup -> input -> parser -> tree -> evaluation -> tree -> serialiser ->
2.45 - theme -> output -> pages;
2.46 -}
2.47 -}}}
2.48 -
2.49 -##########
2.50 -
2.51 -Although it is obviously possible to use the MoinMoin software (hereafter
2.52 -referred to as Moin) to work such such content, there are a few advantages in
2.53 -developing independent tools instead:
2.54 -
2.55 - * To eliminate any dependency on the Moin code, its bundled libraries, or on
2.56 - its external dependencies (of which there are many for Moin 2.0)
2.57 -
2.58 - * To focus on areas of functionality that are considered priorities, such as
2.59 - the publishing of content as static Web sites, which may not be adequately
2.60 - or optimally supported by Moin
2.61 -
2.62 - * To provide other implementations of parsers and serialisers for the markup
2.63 - format, thus establishing it as more genuinely interoperable markup
2.64 - standard
2.65 -
2.66 - * To be able to work with the content more easily and to develop tools for
2.67 - doing so
2.68 -
2.69 -== Getting Started ==
2.70 -
2.71 -To convert a collection of wiki pages in a directory (with `pages` containing
2.72 -the original pages and `htdocs` being the desired output directory), run the
2.73 -`moinconvert` program as follows:
2.74 -
2.75 -{{{
2.76 -moinconvert --input-dir pages --output-dir htdocs --all
2.77 -}}}
2.78 -
2.79 -To convert a single file from such a collection (such as `FrontPage`), run the
2.80 -program as follows:
2.81 -
2.82 -{{{
2.83 -moinconvert --input-dir pages FrontPage
2.84 -}}}
2.85 -
2.86 -This will produce the serialised page on standard output rather than writing
2.87 -it to a file.
2.88 -
2.89 -Other options are typically useful when running the program, such as `--theme`
2.90 -for styling and wrapping the output, `--macros` for expanding macros in
2.91 -documents, and `--format` for choosing alternative output formats.
2.92 -
2.93 -== Abstractions and Architecture ==
2.94 -
2.95 -MoinLight provides a number of abstractions for working with Moin wiki content:
2.96 -
2.97 - * [[/Parsers]] interpret various forms of markup-related content, producing a
2.98 - document tree representation that can be inspected and processed
2.99 -
2.100 - * [[/Serialisers]] convert the document tree representation into other
2.101 - content formats such as HTML or even back into Moin format
2.102 -
2.103 - * [[/Themes]] augment serialised content with additional details and
2.104 - resources
2.105 -
2.106 - * [[/Macros]] define locations in documents where content is to be inserted
2.107 - or expanded
2.108 -
2.109 - * [[/Input]] contexts permit the interpretation of existing content in
2.110 - certain ways so that a collection of text files can be treated like a wiki
2.111 -
2.112 - * [[/Output]] contexts permit the publishing of content in certain
2.113 - ways so that wiki content can be shared on the Web
2.114 -
2.115 -A major objective with MoinLight is to be able to produce static files that
2.116 -can be served using a typical Web server without any need for scripts,
2.117 -applications or other kinds of dynamic content. Other objectives are described
2.118 -in the [[/Roadmap]] document.
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/docs/wiki/MoinLight Mon Apr 15 00:15:40 2019 +0200
3.3 @@ -0,0 +1,115 @@
3.4 += MoinLight =
3.5 +
3.6 +MoinLight is a distribution of programs and libraries for working with content
3.7 +encoded in the [[https://moinmo.in/|MoinMoin]] wiki markup format. This markup
3.8 +format is generally concise and supports many kinds of HTML document features
3.9 +using intelligible plain text representations.
3.10 +
3.11 +########## The graph below shows the architecture of the system...
3.12 +
3.13 +{{{#!graphviz
3.14 +#format svg
3.15 +#transform notugly
3.16 +digraph architecture {
3.17 + node [shape=box,fontsize="13.0",fontname="Helvetica"];
3.18 + rankdir=LR;
3.19 +
3.20 + subgraph {
3.21 + rank=same;
3.22 + input [label="Input context",URL="Input"];
3.23 + markup [label="Moin content",shape=folder,style=filled,fillcolor=cyan];
3.24 + }
3.25 +
3.26 + parser [label="Parser",URL="Parsers"];
3.27 +
3.28 + subgraph {
3.29 + rank=same;
3.30 + tree [label="Document tree",shape=folder,style=filled,fillcolor=cyan];
3.31 + evaluation [label="Macro evaluation",shape=ellipse];
3.32 + }
3.33 +
3.34 + serialiser [label="Serialiser",URL="Serialisers"];
3.35 +
3.36 + theme [label="Theme",URL="Themes"];
3.37 +
3.38 + subgraph {
3.39 + rank=same;
3.40 + output [label="Output context",URL="Output"];
3.41 + pages [label="Web content",shape=folder,style=filled,fillcolor=cyan];
3.42 + }
3.43 +
3.44 + markup -> input -> parser -> tree -> evaluation -> tree -> serialiser ->
3.45 + theme -> output -> pages;
3.46 +}
3.47 +}}}
3.48 +
3.49 +##########
3.50 +
3.51 +Although it is obviously possible to use the MoinMoin software (hereafter
3.52 +referred to as Moin) to work such such content, there are a few advantages in
3.53 +developing independent tools instead:
3.54 +
3.55 + * To eliminate any dependency on the Moin code, its bundled libraries, or on
3.56 + its external dependencies (of which there are many for Moin 2.0)
3.57 +
3.58 + * To focus on areas of functionality that are considered priorities, such as
3.59 + the publishing of content as static Web sites, which may not be adequately
3.60 + or optimally supported by Moin
3.61 +
3.62 + * To provide other implementations of parsers and serialisers for the markup
3.63 + format, thus establishing it as more genuinely interoperable markup
3.64 + standard
3.65 +
3.66 + * To be able to work with the content more easily and to develop tools for
3.67 + doing so
3.68 +
3.69 +== Getting Started ==
3.70 +
3.71 +To convert a collection of wiki pages in a directory (with `pages` containing
3.72 +the original pages and `htdocs` being the desired output directory), run the
3.73 +`moinconvert` program as follows:
3.74 +
3.75 +{{{
3.76 +moinconvert --input-dir pages --output-dir htdocs --all
3.77 +}}}
3.78 +
3.79 +To convert a single file from such a collection (such as `FrontPage`), run the
3.80 +program as follows:
3.81 +
3.82 +{{{
3.83 +moinconvert --input-dir pages FrontPage
3.84 +}}}
3.85 +
3.86 +This will produce the serialised page on standard output rather than writing
3.87 +it to a file.
3.88 +
3.89 +Other options are typically useful when running the program, such as `--theme`
3.90 +for styling and wrapping the output, `--macros` for expanding macros in
3.91 +documents, and `--format` for choosing alternative output formats.
3.92 +
3.93 +== Abstractions and Architecture ==
3.94 +
3.95 +MoinLight provides a number of abstractions for working with Moin wiki content:
3.96 +
3.97 + * [[/Parsers]] interpret various forms of markup-related content, producing a
3.98 + document tree representation that can be inspected and processed
3.99 +
3.100 + * [[/Serialisers]] convert the document tree representation into other
3.101 + content formats such as HTML or even back into Moin format
3.102 +
3.103 + * [[/Themes]] augment serialised content with additional details and
3.104 + resources
3.105 +
3.106 + * [[/Macros]] define locations in documents where content is to be inserted
3.107 + or expanded
3.108 +
3.109 + * [[/Input]] contexts permit the interpretation of existing content in
3.110 + certain ways so that a collection of text files can be treated like a wiki
3.111 +
3.112 + * [[/Output]] contexts permit the publishing of content in certain
3.113 + ways so that wiki content can be shared on the Web
3.114 +
3.115 +A major objective with MoinLight is to be able to produce static files that
3.116 +can be served using a typical Web server without any need for scripts,
3.117 +applications or other kinds of dynamic content. Other objectives are described
3.118 +in the [[/Roadmap]] document.