DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:addnewpage

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin:addnewpage [2023-05-07 14:21] – Taking over the plugin's maintenance 2a02:1210:5a79:9100:9421:91d3:a5a7:44ffplugin:addnewpage [2024-02-15 21:47] (current) Aleksandr
Line 3: Line 3:
 ---- plugin ---- ---- plugin ----
 description: Put ‘add new page’ forms within pages, with optional namespace selection description: Put ‘add new page’ forms within pages, with optional namespace selection
-author     : Damien Regad, Sam Wilson and other contributors+author     : Damien Regad, Benjamin Santalucia, Sam Wilson and other contributors
 email      : dregad@mantisbt.org email      : dregad@mantisbt.org
 type       : syntax type       : syntax
-lastupdate : 2015-11-02 +lastupdate : 2023-05-10 
-compatible : Jack Jackrum+IgorHogfatherGreeboFrusterick Manners, Elenor of Tsort, DetritusHrunPonder StibbonsAdora BelleAnguaRincewind+compatible : RincewindAnguaAdora BellePonder StibbonsHrun, Detritus, Elenor of Tsort, Frusterick MannersGreeboHogfatherIgorJack JackrumKaos
 depends    :  depends    : 
 conflicts  conflicts 
 similar    : new_page_dialog, npd, catlist similar    : new_page_dialog, npd, catlist
 tags       : button, form, create tags       : button, form, create
-screenshot_img: :plugin:addnewpage_ns_nothidden.png+
 downloadurl: https://github.com/dregad/dokuwiki-plugin-addnewpage/zipball/master downloadurl: https://github.com/dregad/dokuwiki-plugin-addnewpage/zipball/master
 bugtracker : https://github.com/dregad/dokuwiki-plugin-addnewpage/issues bugtracker : https://github.com/dregad/dokuwiki-plugin-addnewpage/issues
 sourcerepo : https://github.com/dregad/dokuwiki-plugin-addnewpage sourcerepo : https://github.com/dregad/dokuwiki-plugin-addnewpage
 +donationurl: https://github.com/sponsors/dregad
 +
 +screenshot_img: :plugin:addnewpage_ns_nothidden.png
 ---- ----
  
Line 26: Line 29:
 This plugin allows you to add new-page forms to wiki pages, so that users can simply enter the title of a new page and go straight to the editing form (rather than first creating a link to the page, or typing the URL directly). This plugin allows you to add new-page forms to wiki pages, so that users can simply enter the title of a new page and go straight to the editing form (rather than first creating a link to the page, or typing the URL directly).
  
-The target namespace for the new page can either be selected from a drop-down list in the new-page form, or specified in the form [[#syntax|syntax]]. Only namespaces to which the user is permitted to write are shown.+The target namespace for the new page can either be selected from a drop-down list in the new-page form, or specified in the form [[#syntax]]. Only namespaces to which the user is permitted to write are shown
 + 
 +The plugin can pair with the [[plugin:newpagetemplate|newpagetemplate Plugin]] to start with a predefined template instead of an empty page.
  
 The form submit button is disabled if there is no text in the title field. The form submit button is disabled if there is no text in the title field.
Line 58: Line 63:
 This is configured in the main wiki configuration manager. This is configured in the main wiki configuration manager.
 If ''@PAGE@'' (or ''@NS@'') is given, the current page ID (or its namespace) will be used (e.g. for use in [[:namespace templates]]; see below). If ''@PAGE@'' (or ''@NS@'') is given, the current page ID (or its namespace) will be used (e.g. for use in [[:namespace templates]]; see below).
 +
 +==== Creating a namespace ====
 +
 +It is possible to use the ''@INPUT@'' placeholder to reference the user's input in the namespace specification. For example,
 +
 +  {{NEWPAGE>foo:@INPUT@:start}}
 +
 +will create a new namespace within the //foo// namespace. 
 +
 +
 +==== Date/time-based naming ====
 +
 +The plugin supports usage of [[https://www.php.net/manual/en/function.strftime.php|strftime placeholders]] in the namespace config. This allows adding date elements to the namespace specification
 +
 +  {{NEWPAGE>project:notes:@INPUT@_%Y-%m-%d}}
 +  {{NEWPAGE>reports:%Y:week_%W}}
 +
 +When used together with the [[#configuration_and_settings|autopage]] option to hide the input field, a daily page can be created with a single button click: 
 +
 +  {{NEWPAGE>journal:%Y-%m-%d?autopage}}
 +
 +==== Configuration overrides ====
 +
 +It is possible to override the plugin's [[#configuration_and_settings|configuration]] for a single usage of the syntax, by specifying a ''?'' followed by the config's name with an optional ''no'' prefix to negate it. Values for non-boolean configs can be provided with ''='', separated by '';''. Multiple overrides can be given, separated by '','' or ''&''
 +
 +General syntax:
 +
 +  ?[no]<option_1>[=value_1[;value_2]...][,[no]<option_2>]...
 +
 +Examples:
 +
 +  * overwrite the default hide setting <code>
 +{{NEWPAGE>namespace?nohide}}
 +</code>
 +  * custom namespace exclusion and hide root <code>
 +{{NEWPAGE>namespace?exclude=project;reports&noshowroot}}
 +</code>
  
 ==== New-page templates ==== ==== New-page templates ====
  
-This plugin is also compatible with the [[:plugin:newpagetemplate|New Page Template]] plugin (note that this is a separate feature to the [[#namespace templates]] described below). To specify a template to be used with the new page, use one of the following syntaxes:+This plugin is also compatible with the [[:plugin:newpagetemplate|newpagetemplate plugin]] (note that this is a separate feature to the [[#namespace templates]] described below). To specify a template to be used with the new page, use one of the following syntaxes:
  
 | ''%%{{NEWPAGE#newtpl}}%%'' | Use the ''newtpl'' template | | ''%%{{NEWPAGE#newtpl}}%%'' | Use the ''newtpl'' template |
Line 89: Line 131:
 You can configure the plugin in the Config Manager of DokuWiki. There are four settings: You can configure the plugin in the Config Manager of DokuWiki. There are four settings:
  
-  - **Excluded namespaces** — A semicolon-separated list of namespaces that should be excluded from the namespace selection list. Default: ''wiki;playground''+  - **Excluded namespaces** (''exclude''— A semicolon-separated list of namespaces that should be excluded from the namespace selection list. Default: ''wiki;playground''
-  - **Show root namespace** — Whether to show the wiki's root namespace in the namespace selection list. Default: true. +  - **Show root namespace** (''showroot''— Whether to show the wiki's root namespace in the namespace selection list. Default: true. 
-  - **Hide namespace selection** — Hide the namespace selection list. Only applies if a namespace is given (see [[#syntax|above]]). Default: true. +  - **Hide namespace selection** (''hide''— Hide the namespace selection list. Only applies if a namespace is given (see [[#syntax|above]]). Default: true. 
-  - **Hide "access denied" message** — Do not show the "You are not allowed to add pages" message when the user doesn't have permission to create pages. Default: false (i.e. do show the message)..+  - **Hide "access denied" message** (''hideACL''— Do not show the "You are not allowed to add pages" message when the user doesn't have permission to create pages. Default: false (i.e. do show the message). 
 +  - **Hide the input box** (''autopage'') — The preconfigured namespace is treated as a full page IDUse with [[#date_time-based_naming|date placeholders]]). Default: false. 
 + 
  
 =====FAQ===== =====FAQ=====
 +
 +=== Why is a privileged user not allowed to add pages? ===
 +
 +Logged in as administrator, why do I get a //You are not allowed to add pages// error message ?
 +
 +> This is a [[https://github.com/dregad/dokuwiki-plugin-addnewpage/issues/38|known problem]], caused by caching. As a workaround, add ''%%~~NOCACHE~~%%'' to the page that contains the form.
 +
  
 === Addnewpage form on the admin page? === === Addnewpage form on the admin page? ===
Line 158: Line 209:
 ===== History / Credits ===== ===== History / Credits =====
  
-The plugin's complete history and original authors are lost in the mists of time.  +The plugin was [[plugin:addnewpage_old?rev=1366805333|originally written]] by Benjamin Santalucia (aka iDo) in 2006. 
-It is based on the [[plugin:addnewpage_old?rev=1366805333|old addnewpage plugin]], and was forked from it after the 2009-02-14 release of Dokuwiki.+It was forked after the 2009-02-14 release of Dokuwiki, and moved to GitHub by [[https://github.com/hamstar|Robert McLeod]] in 2012. 
 +Refer to the [[#legacy_releases|Legacy Releases]] section for details on what happened in those early, pre-GitHub years.
  
-Records begin in 2011 when [[https://github.com/hamstar|Robert McLeod]] moved the code to GitHub. All that is known of previous activity is listed in the above [[#legacy_releases|Legacy Releases]] section.+In 2013, [[https://github.com/samwilson|Sam Wilson]] picked up the plugin's maintenance and actively supported it until he stopped using DokuWiki at the end of 2016During this time, he merged several improvements and fixes contributed by these fine people:
  
-In 2013, [[https://github.com/samwilson|Sam Wilson]] picked up the plugin and actively supported it until he stopped using DokuWiki at the end of 2016.+  * Michael Braun 
 +  * Róbert Toth (FurloSK) 
 +  * Gerrit Uitslag ([[user>Klap-in]]) added support for [[plugin:newpagetemplate]] plugin in 2014 
 +  * Albert Chern, disabling of restricted parent namespaces in 2015
  
 In May 2023, Damien Regad decided to take over the plugin's maintenance. In May 2023, Damien Regad decided to take over the plugin's maintenance.
- 
-The following additional people were credited as authors: 
-  * Benjamin Santalucia 
-  * Michael Braun 
-  * Gerrit Uitslag 
-  * Albert Chern 
  
 Thanks to [[https://github.com/dregad/dokuwiki-plugin-addnewpage/graphs/contributors|all the people who contributed]] to this plugin over the years. Thanks to [[https://github.com/dregad/dokuwiki-plugin-addnewpage/graphs/contributors|all the people who contributed]] to this plugin over the years.
plugin/addnewpage.1683462088.txt.gz · Last modified: 2023-05-07 14:21 by 2a02:1210:5a79:9100:9421:91d3:a5a7:44ff

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki