This is an old revision of the document!
Table of Contents
AutoStartPage Plugin
Compatible with DokuWiki
hrun, weatherwax, elenor of tsort, detritus, frusterick manners
This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.
Installation
Install the plugin using the Plugin Manager and the download URL above, which points to latest version of the plugin. Refer to Plugins on how to install plugins manually.
Usage
Simply create a template file to use for your start pages. You can place an underscore before the name of the file so that it doesn't show up in the sitemap, but you will have to create the text file on the server manually (see Namespace Templates for more). Whenever a new namespace is created, a new start page for that namespace will be created as well. If you create a start page in a new namespace, the automatic one will be overwritten by yours. Generally this will be useful if you want your start pages to be navigational to other pages in the namespace (in which case, look at dir or pageindex to generate the content dynamically).
This functions a little differently from page templates, as it actually creates the page instead of autofilling the edit window when you go to create the page. Thus, the two features should be compatible.
Note that creating top-level pages doesn't call IO_NAMESPACE_CREATED
, even if no other pages exist. You'll have to make the top-level one by hand.
A note about permissions
As of the most recent update, these pages are created by the user who created the first page in the namespace. If the user does not have permissions to create the start page, it will not be created. This can be overridden in the settings, but introduces a security risk.
Syntax
Template files are standard wiki syntax and can use (roughly) the same replacement patterns as namespace templates:
@ID@ | full ID of the page |
---|---|
@NS@ | namespace of the page |
@PAGE@ | page name (ID without namespace and underscores replaced by spaces) |
@!PAGE@ | same as above but with the first character uppercased |
@!!PAGE@ | same as above but with the first character of all words uppercased |
@!PAGE!@ | same as above but with all characters uppercased |
@FILE@ | page name (ID without namespace, underscores kept as is) |
@!FILE@ | same as above but with the first character uppercased |
@!FILE!@ | same as above but with all characters uppercased |
@USER@ | ID of user who is creating the page |
@NAME@ | name of user who is creating the page |
@MAIL@ | mail address of user who is creating the page |
@DATE@ | date and time when edit session started |
I've added a few more custom ones:
@!NS@ | namespace of the page (with spaces) but with the first character uppercased |
---|---|
@!!NS@ | same as above but with the first character of all words uppercased |
@!!NS!@ | same as above but with all characters uppercased |
@PARENT@ | the name of the parent namespace. Blank if parent is top |
@DATE=STRFTIME@ | Where STRFTIME is a strftime() configure string of page creation time, e.g. %a %d-%m-%y ⇒ Thu 06-12-12 |
Configuration
There are two configuration options:
- Ordered List Item
templatefile
points to the file to use as the template for new start pages. silent
hides alerts when the page is created. Uncheck for error messages if something is not working.
Change Log
- add seeking maintainer notice (2020-06-08 17:20)
- removed debug line (2015-01-02 17:35)
- Added ability to force creation in spite of permissions (2015-01-02 17:15)
- removed test code (2015-01-02 16:56)
- added parent key (2015-01-02 16:51)
- Fixed creating as server issue (2015-01-02 16:02)
- updated last change date (2015-01-02 15:18)
- added configurable date shortcut (2015-01-02 15:17)
- 2013-07-19
- Initial release
- 2015-01-02
- New shortcut:
@DATE=STRFTIME@
- New shortcut:
@PARENT@
- Pages now are created as user
- Added force create option
- Fixed constantly outdated issue
- Other minor fixes
ToDo/Wish List
I plan to add support for strftime dates like namespace templatesdone- I also want to be able to have different templates for different namespaces
Could you also add support for the parent namespace? That way you could make a navigation page that automatically links to the previous namespace.done
Discussion
Registers as IO_NAMESPACE_CREATED.
At first: Thanks for your plugin It helped me a lot.
I've seen you have written, that we should trigger io_wikipage_write if we can.
How about setting your function “AFTER” IO_NAMESPACE_CREATED instead of “BEFORE”?
Then we could use the functionsaveWikiText($id, $wikitext, "autostartpage", $minor = false);> which triggers that event…
Greetings — StefanL 2014/01/21 09:16Hi Stefan, thanks for the suggestion. I'm not sure why I didn't do that in the first place.
It's been fixed now, and the docs have been updated. Cheers, charlesjuliank 2015/01/02 11:27