namespace_templates
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| namespace_templates [2016-11-03 02:21] – old revision restored (2016-03-11 07:57) ach | namespace_templates [2024-12-17 05:09] (current) – Clean up some grammar 97.126.178.21 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Namespace Templates ====== | ====== Namespace Templates ====== | ||
| - | Sometimes you might want to have every page in a certain namespace based on a common skeleton. For example, in the '' | + | Dokuwiki supports scaffolding. |
| When a page is created, [[DokuWiki]] looks up whether a template file exists and it shows it within the editor window. The templates therefore are .txt files and should contain wiki markup. | When a page is created, [[DokuWiki]] looks up whether a template file exists and it shows it within the editor window. The templates therefore are .txt files and should contain wiki markup. | ||
| ===== Template files ===== | ===== Template files ===== | ||
| + | |||
| Two kinds of template files can be used: | Two kinds of template files can be used: | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| + | |||
| + | If both (normal and inherited) templates are present in the same namespace, | ||
| - | If both (inherited | + | **NOTE:** Any changes to template files will //only affect newly created pages// |
| - | One way to create the template file is to | + | One way to create the template file is to: |
| - use the wiki to save a page with the content that you want to use as a template into the appropriate namespace | - use the wiki to save a page with the content that you want to use as a template into the appropriate namespace | ||
| - | - use FTP or WebDAV to rename it as _template.txt, then | + | - use FTP or WebDAV to rename it as _template.txt |
| - | - Note: ((These changes only apply to new pages that you create in the namespace.)) | + | |
| + | However, one should prefer the [[plugin: | ||
| ===== Syntax ===== | ===== Syntax ===== | ||
| The content of the file is just standard [[wiki: | The content of the file is just standard [[wiki: | ||
| Line 25: | Line 28: | ||
| Inside of the file, you may also use some replacement patterns to make the template a little more dynamic. | Inside of the file, you may also use some replacement patterns to make the template a little more dynamic. | ||
| - | ^ @ID@ | + | ^ @ID@ | full ID of the page | |
| - | ^ @NS@ | + | ^ @NS@ | namespace of the page |
| - | ^ @PAGE@ | + | ^ @CURNS@ |
| - | ^ @!PAGE@ | + | ^ @!CURNS@ |
| - | ^ @!!PAGE@ | same as above but with the first character of all words uppercased | + | ^ @!!CURNS@ |
| - | ^ @!PAGE!@ | same as above but with all characters uppercased | + | ^ @!CURNS!@ |
| - | ^ @FILE@ | + | ^ @PAGE@ |
| - | ^ @!FILE@ | + | ^ @!PAGE@ |
| - | ^ @!FILE!@ | same as above but with all characters uppercased | + | ^ @!!PAGE@ |
| - | ^ @USER@ | + | ^ @!PAGE!@ |
| - | ^ @NAME@ | + | ^ @FILE@ |
| - | ^ @MAIL@ | + | ^ @!FILE@ |
| - | ^ @DATE@ | + | ^ @!FILE!@ |
| - | ^ %a %d-%m-%y etc. | e.g. Thu 06-12-12. [[phpfn>Strftime]] placeholders are replaced by page creation time | | + | ^ @USER@ |
| - | ^ %% | + | ^ @NAME@ |
| + | ^ @MAIL@ | ||
| + | ^ @DATE@ | ||
| + | ^ %a %d-%m-%y etc. | e.g. Thu 06-12-12. [[phpfn>strftime]] placeholders are replaced by page creation time | | ||
| + | ^ %% | a literal '' | ||
| - | In addition you may also use any [[phpfn> | ||
| ===== Still editing templates via wiki===== | ===== Still editing templates via wiki===== | ||
| You can't edit the '' | You can't edit the '' | ||
| - | * the easiest is using the [[plugin: | + | * the easiest is using the [[plugin: |
| * or by setting up through symbolic links | * or by setting up through symbolic links | ||
| Line 73: | Line 79: | ||
| ===== Plugins ===== | ===== Plugins ===== | ||
| + | |||
| Additional template features are implemented by plugins. | Additional template features are implemented by plugins. | ||
| Line 80: | Line 87: | ||
| * '' | * '' | ||
| * '' | * '' | ||
| - | * and variants for deeper namespaces too and some other templates e.g. for '' | + | * and variants for deeper namespaces too and some other templates e.g. for '' |
| + | All these plugins are only editable via the file system. | ||
| * [[plugin: | * [[plugin: | ||
| Line 88: | Line 96: | ||
| * [[plugin: | * [[plugin: | ||
| + | ==== Troubleshooting ==== | ||
| - | ===== @GROUPS@ support ===== | + | Problem: An unexpected error occurs "no timestamp" |
| - | + | ||
| - | It may be interesting to have support for the '' | + | |
| - | + | ||
| - | <code unidiff> | + | |
| - | Index: dokuwiki-2009-02-14/inc/ | + | |
| - | =================================================================== | + | |
| - | --- dokuwiki-2009-02-14.orig/inc/common.php | + | |
| - | +++ dokuwiki-2009-02-14/inc/ | + | |
| - | @@ -840,6 +840,7 @@ | + | |
| - | '@USER@', | + | |
| - | '@NAME@', | + | |
| - | '@MAIL@', | + | |
| - | + | + | |
| - | '@DATE@', | + | |
| - | ), | + | |
| - | array( | + | |
| - | @@ -855,6 +856,7 @@ | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | + implode(" | + | |
| - | | + | |
| - | ), $tpl); | + | |
| - | + | ||
| - | </code> | + | 1. Solution: Before establishing the hidden template file, first create a dummy page via the DokuWiki GUI, like so: '' |
| - | | + | 2. Solution: The admin ''< |
namespace_templates.1478136108.txt.gz · Last modified: by ach
