diff options
Diffstat (limited to 'ikiwiki/website')
-rw-r--r-- | ikiwiki/website/tech.mdwn | 124 |
1 files changed, 124 insertions, 0 deletions
diff --git a/ikiwiki/website/tech.mdwn b/ikiwiki/website/tech.mdwn new file mode 100644 index 0000000..38bd42b --- /dev/null +++ b/ikiwiki/website/tech.mdwn @@ -0,0 +1,124 @@ +# Ikiwiki for regular websites - technical details + +Here's a graph of the interaction between the various parts of ikiwiki itself +and different kinds of users (see also the [[introduction|website]]): + +[[graph height=8 width=8 src=""" +{ +// rankdir=LR +// rotate=90 + center=1 + + /* roles */ + reader [shape=house, label="Reader"] + editor [shape=house, label="Editor"] + designer [shape=house, label="Designer"] + {rank=same; reader editor designer} + + /* targets */ + webpages_static [label="static pages"] + webpages_wiki [label="wiki pages"] + webpages_searchresult [label="search results", style=dotted] + {rank=same; webpages_static webpages_wiki webpages_searchresult} + + /* input data */ + search_query [shape=plaintext, label="search query"] + txt_editor [shape=plaintext, label="Markdown text"] + txt_designer [shape=plaintext, label="Markdown text"] + media [shape=plaintext, label="graphics files"] + tmpl [shape=plaintext, label="html templates"] +// {rank=same; search_query txt_editor txt_designer tmpl media} + + /* user tool */ + browser_reader [label="web browser"] + browser_editor [label="web browser"] + browser_designer [label="web browser"] + vcs_txt_local [shape=egg, label="Git repository"] + vcs_tmpl_local [shape=egg, label="Git repository"] + fs_local [shape=egg, label="filesystem"] + + /* user interface */ + txt_form [shape=box, label="web text editor (ikiwiki)"] + search_form [shape=box, label="search form (ikiwiki)"] + {rank=same; search_form txt_form} + + /* storage types */ + search_db [shape=egg, label="search index (Hyper Estraier)"] + vcs_txt [shape=egg, label="VCS repository (Git)"] + vcs_tmpl [shape=egg, label="VCS repository (Git)"] + fs [shape=egg, label="filesystem"] +// {rank=same; search_db vcs_txt vcs_tmpl fs} + + /* stored data */ + txt_stored [shape=plaintext, label="version-controlled Markdown text"] + media_stored [shape=plaintext, label="graphics files"] + tmpl_stored [shape=plaintext, label="version-controlled html templates"] +// {rank=same; txt_stored media_stored tmpl_stored} + + /* engines */ + iki_engine [shape=box, label="html renderer (Ikiwiki)"] + search_engine [shape=box, label="search engine (Hyper Estraier)"] + {rank=same; iki_engine search_engine} + + /* groupings */ + subgraph cluster_clitools { + label="commandline editing" + style=dashed + txt_designer + tmpl + media + vcs_tmpl_local + vcs_txt_local + fs_local + } + subgraph cluster_webtools { + label="web editing" + style=dashed + txt_editor + search_query + { + rank=same + browser_reader + browser_editor + browser_designer + } + } + subgraph cluster_storage { + label="server storage" + style=dashed + vcs_tmpl + vcs_txt + fs + search_db + txt_stored + tmpl_stored + media_stored + } + + /* paths */ + + reader -> search_query -> browser_reader -> search_form -> search_engine -> webpages_searchresult + search_db -> search_engine + search_db -> iki_engine [dir=back] + + editor -> txt_editor -> browser_editor -> txt_form -> vcs_txt -> txt_stored -> iki_engine -> webpages_static + iki_engine -> webpages_wiki + + designer -> txt_designer -> browser_designer -> txt_form + txt_designer -> vcs_txt_local + + vcs_txt_local -> vcs_txt [dir=both] + + designer -> tmpl -> vcs_tmpl_local + vcs_tmpl_local -> vcs_tmpl [dir=both] + vcs_tmpl -> tmpl_stored -> iki_engine + + designer -> media -> fs_local + fs_local -> fs [dir=both] + fs -> media_stored -> iki_engine +} +"""]] + +---- + +See also the simpler graphs focusing on [[roles|ikiroles]] and on the [[design|ikidesign]]. |