summaryrefslogtreecommitdiff
path: root/doc/todo/adding_new_pages_by_using_the_web_interface.mdwn
blob: 57ee99eb05238eeba230027824cea9fa0783f1c9 (plain)

Perhaps I'm just too stupid to find the proper way to do this, but how would I add a new page to the wiki without selecting to edit an already installed one and frobbing the URL to direct to the to-be-created page? --[[ThomasSchwinge]]

Good point. Of course one way is to start with creating a link to the page, which also helps prevent orphans. But other wikis based on CGI do have this a bit easier, since they can detect an attempt to access a nonexistant page and show an edit page. Ikiwiki can't do that (unless its web server is configured to do smart things on a 404, like maybe call ikiwiki.cgi which could be modified to work as a smart 404 -> edit handler).

Some wikis also provide a UI means for creating a new page. If we can find something good, that can be added to ikiwiki's UI. --[[Joey]]

Hmm, maybe just a preprocessor directive that creates a form inside a page, like is used for blog posting already would suffice? Then the main page of a wiki could have a form for adding new pages, if that directive were included there. Won't work for subpages though, unless the directive were added to the parent page. However, unconnected subpages are surely an even rarer thing to want than unconnected top level pages. --[[Joey]]

Here is a simple plugin that does that. Perhaps options could be added to it, but I couldn't really think of any. http://jameswestby.net/scratch/create.diff -- JamesWestby

For what it's worth, the following works:
\[[!inline pages=!* rss=no atom=no postform=yes postformtext="Add a new page titled:"]]
Add rootpage=/ if you do this in index.mdwn to avoid creating subpages. --[[JeremieKoenig]]

Maybe a very simple PHP frontend for serving the statically generated pages, that would display a page editing form or something like that for non-existent pages, wouldn't be too bad a thing and resource hog? Just a thought... --[[Tuomov]]