From a44fcf7ba83ffbd3e490627307b51c3cde099542 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Thu, 2 Aug 2012 02:23:29 +0200 Subject: Adapt texts and graphs to produce alternative pages (not wiki pages or admin site). --- ikiroles.mdwn | 15 +++++---- ikiwiki/website.mdwn | 78 +++++++++++++++++++++++------------------------ ikiwiki/website/tech.mdwn | 10 +++--- 3 files changed, 50 insertions(+), 53 deletions(-) diff --git a/ikiroles.mdwn b/ikiroles.mdwn index 43f145a..c136c5e 100644 --- a/ikiroles.mdwn +++ b/ikiroles.mdwn @@ -12,9 +12,8 @@ the site can be live readable while evolving both content and style. * Html is expressed in a simple template format - similar to plain html. * Graphics and other rich media files are stored as-is. -The system builds two websites in parallel - one presented for normal reading, and -another one with edit links, only offered to designer and author (secured by -individual passwords). +The system can build multiple websites in parallel - e.g. a stable official site and an +alternate development draft site using different git branch for content and/or styling. [[graph height=8 width=8 src=""" { @@ -46,7 +45,7 @@ individual passwords). tmpl_stored media_stored } - {rank=same; webpages webpages_admin webpages_searchresult} + {rank=same; webpages webpages_alt webpages_searchresult} /* roles */ user [shape=house, label="Reader"] @@ -67,21 +66,21 @@ individual passwords). tmpl_stored [shape=box, label="Version-controlled html templates"] webpages [label="Static website"] - webpages_admin [label="(Admin-)editable website"] + webpages_alt [label="Alternate static website", color=grey] webpages_searchresult [label="Search results", style=dotted] user -> search_query -> search_db -> webpages_searchresult author -> txt -> txt_stored -> webpages - txt_stored -> webpages_admin + txt_stored -> webpages_alt [color=grey] designer -> txt designer -> tmpl -> tmpl_stored -> webpages - tmpl_stored -> webpages_admin + tmpl_stored -> webpages_alt [color=grey] designer -> media -> media_stored -> webpages - media_stored -> webpages_admin + media_stored -> webpages_alt [color=grey] } """]] diff --git a/ikiwiki/website.mdwn b/ikiwiki/website.mdwn index 5321240..d1c3e69 100644 --- a/ikiwiki/website.mdwn +++ b/ikiwiki/website.mdwn @@ -21,9 +21,9 @@ all readers of the website: { reader [shape=house, label="Reader"] - webpages_static [label="static pages"] + webpages [label="static pages"] - reader -> webpages_static + reader -> webpages [dir=back] } """]] @@ -41,29 +41,20 @@ each search: reader [shape=house, label="Reader"] /* targets */ - webpages_static [label="static pages"] + webpages [label="static pages"] webpages_searchresult [label="search results", style=dotted] - {rank=same; webpages_static webpages_searchresult} + {rank=same; webpages webpages_searchresult} search_query [shape=plaintext, label="search query"] search_db [shape=box, label="search index"] /* paths */ - reader -> webpages_static + reader -> webpages [dir=back] reader -> search_query -> search_db -> webpages_searchresult } """]] -## Administration access - -Websites are normally meant to be published to the whole world, but only -edited by a select few. - -ikiwiki-based websites have a separate address (typically replacing the -leading "www" with "admin") with administration access added on top of -all pages. - ## Administration roles Often the website owner writes the text content themselves, but hire @@ -83,9 +74,7 @@ ikiwiki-based websites are setup to reflect that: {rank=same; reader editor designer} /* targets */ - webpages_static [label="website"] - webpages_wiki [label="admin website"] - {rank=same; webpages_static webpages_wiki} + webpages [label="website"] /* input data */ txt [shape=plaintext, label="text"] @@ -96,26 +85,34 @@ ikiwiki-based websites are setup to reflect that: iki_engine [shape=box, label="web engine"] /* paths */ - reader -> webpages_static [dir=back] - editor -> txt -> iki_engine -> webpages_wiki + reader -> webpages [dir=back] + editor -> txt -> iki_engine designer -> media -> iki_engine designer -> tmpl -> iki_engine - iki_engine -> webpages_static + iki_engine -> webpages } """]] ## Editing -In addition to the main website, an additional website is generated, -with the main feature of Ikiwiki - [[wiki]]-like text editing - enabled: +Text content can be edited using a simple web interface. + +The static website is navigated to locate the page to edit, a dynamic +web-based edititing form is started for that page, and saving the form +causes the static web page to be regenerated. [[graph height=8 width=8 src=""" { + /* roles */ editor [shape=house, label="Editor"] - webpages_wiki [label="wiki pages"] + /* targets */ + webpages [label="static pages"] + webpage_new [label="new static pages"] + {rank=same; webpages webpage_new} - content_form [shape=plaintext, label="edit form"] + /* input data */ + content_form [label="dynamic edit form", style=dotted] /* stored data */ txt_stored [shape=box, label="text content"] @@ -124,27 +121,30 @@ with the main feature of Ikiwiki - [[wiki]]-like text editing - enabled: {rank=same; txt_stored media_stored tmpl_stored} /* paths */ - editor -> webpages_wiki - editor -> content_form -> txt_stored -> webpages_wiki - media_stored -> webpages_wiki - tmpl_stored -> webpages_wiki + editor -> webpages [dir=back] + editor -> content_form -> txt_stored -> webpage_new + media_stored -> webpage_new + tmpl_stored -> webpage_new } """]] -Whenever the wiki pages are edited, the static pages are also rebuilt: +Designer may prefer the more powerful git interface. + +Exact same processing, but editing the files directly on the desktop, +maybe even while offline. [[graph height=8 width=8 src=""" { /* roles */ - editor [shape=house, label="Editor"] + designer [shape=house, label="Designer"] /* targets */ - webpages_static [label="static pages"] - webpages_wiki [label="wiki pages"] - {rank=same; webpages_static webpages_wiki} + webpages [label="static pages"] + webpage_new [label="new static page"] + {rank=same; webpages webpage_new} /* input data */ - content_form [shape=plaintext, label="edit form"] + git [shape=plaintext] /* stored data */ txt_stored [shape=box, label="text content"] @@ -152,12 +152,10 @@ Whenever the wiki pages are edited, the static pages are also rebuilt: tmpl_stored [shape=box, label="html templates"] {rank=same; txt_stored media_stored tmpl_stored} - iki_engine [shape=box, label="html renderer (ikiwiki)"] - /* paths */ - editor -> content_form -> txt_stored -> iki_engine -> webpages_wiki - media_stored -> iki_engine - tmpl_stored -> iki_engine - iki_engine -> webpages_static + designer -> webpages [dir=back] + designer -> git -> txt_stored -> webpage_new + media_stored -> webpage_new + tmpl_stored -> webpage_new } """]] diff --git a/ikiwiki/website/tech.mdwn b/ikiwiki/website/tech.mdwn index 38bd42b..daa3417 100644 --- a/ikiwiki/website/tech.mdwn +++ b/ikiwiki/website/tech.mdwn @@ -16,10 +16,10 @@ and different kinds of users (see also the [[introduction|website]]): {rank=same; reader editor designer} /* targets */ - webpages_static [label="static pages"] - webpages_wiki [label="wiki pages"] + webpages [label="static pages"] + webpages_alt [label="alternative static pages", color=grey] webpages_searchresult [label="search results", style=dotted] - {rank=same; webpages_static webpages_wiki webpages_searchresult} + {rank=same; webpages webpages_alt webpages_searchresult} /* input data */ search_query [shape=plaintext, label="search query"] @@ -101,8 +101,8 @@ and different kinds of users (see also the [[introduction|website]]): 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 + editor -> txt_editor -> browser_editor -> txt_form -> vcs_txt -> txt_stored -> iki_engine -> webpages + iki_engine -> webpages_alt designer -> txt_designer -> browser_designer -> txt_form txt_designer -> vcs_txt_local -- cgit v1.2.3