====== instructions Plugin ====== ---- plugin ---- description: Provides highly customizable, standardized instructions author : Juergen_aus_Zuendorf email : H-J-Schuemmer@Web.de type : syntax lastupdate : 2022-04-20 compatible : Hogfather, Greebo, Frusterick Manners depends : conflicts : similar : textinsert, wrap tags : formatting, macro, replace downloadurl: https://github.com/Juergen-aus-Koeln/dokuwiki-plugin-instructions/archive/master.zip bugtracker : https://github.com/Juergen-aus-Koeln/dokuwiki-plugin-instructions/issues sourcerepo : https://github.com/Juergen-aus-Koeln/dokuwiki-plugin-instructions/ donationurl: screenshot_img : https://github.com/Juergen-aus-Koeln/dokuwiki-plugin-instructions/blob/master/plugin_instructions_01.png?raw=true ---- ===== Installation ===== Install the plugin using the [[plugin:plugin|Plugin Manager]] and the download URL above, which points to latest version of the plugin. Refer to [[:Plugins]] on how to install plugins manually. ===== Examples/Usage ===== In combination with a special template, this code generates a print preview button: ~~INSTR~~cms_preview~~|-mynamespace:mypage_for_preview~~END~~ {{https://raw.githubusercontent.com/Juergen-aus-Koeln/dokuwiki-plugin-instructions/master/plugin_instructions_05.png}} Or with this code: ~~INSTR~~warning~~ |- Warning |- Title of the warning |- Description of the warning |- Therefore: |- • make this |+ • and perhaps this |+ • and some more things ~~END~~ ... the result with a certain template could be like this simple hint: {{https://raw.githubusercontent.com/Juergen-aus-Koeln/dokuwiki-plugin-instructions/master/plugin_instructions_03.png}} ===== Syntax ===== ==== Wiki-Syntax ==== First the syntax within the wiki page: ((There is an alternative, old syntax:\\ ''%%{{INSTR<[template]>|-[parameter 1]|-[parameter n]}}%%''\\ But this might be deleted in future releases because there are problems using this syntax in combination with the ckgedit plugin.))\\ ~~INSTR~~[template]~~ |- [parameter 1] |- [parameter 2a] |+ [parameter 2b] |- [parameter n] ~~END~~ //or the same in one line:// ~~INSTR~~[template]~~|-[parameter 1]|- ... |-[parameter n]~~END~~ a) The leading syntax tag is ''INSTR''. b) After this you have to reference to a specific template (see later) c) The listed parameters can be normal text. Each parameter is defined in one line that is prefixed by ''|-''. In addition there are some special markups (does only work for whole words): * Marking text with wiki syntax as **bold**, //italic// or ''code'' is accepted. ((Underline is often used in "normal" text so the wiki syntax would unexpectedly change this if supported by this plugin.)) * Two spaces are interpreted as indentation or gap. * Wiki-Links are understood with this syntax: ''%%[[namespace:page#section|description]]%%'' (description is necessary). * If you want to have a line break within one parameter, you can achieve this by inserting a new line prefixed by ''|+''. If the template (see below) supports more parameter as from the requesting page shall be passed, the supernumerary parameters will remain empty in the output. ==== Template ==== To work correctly, you have to define a template. This is built as HTML-text and defines the look of the instruction. If necessary, the HTML-text may contain JavaScript code. a) The first line in the template file has to be the code "%%%%", followed by an optional short description (not more than one line). b) After this, the file contains all parameters that should be processed within the wiki page. When a parameter shall be inserted in the HTML content, just insert a new line and write "param-1" (or "param-2" and so on). c) At the end of the HTML file, you have to append a line with the code "". With the tags <%%html%%> and at the beginning and the end, you can test the content in a normal wiki testing page. The template has to be placed in a subfolder to ".../lib/plugins/instructions/tpl". The subfolder name will be the name of the template. The HTML file name in that folder is "html.txt". Besides this you can provide images in this folder which can be addressed by your HTML code with "lib/plugins/instructions/tpl/your_template/image_file" //Note://\\ If a parameter is passed empty, a subsequent line feed defined in the template (marked with "
") will be suppressed. ==== Placeholders ==== In addition you can use some placeholders in the wiki page: | ''@PAGE@'' | page name | | ''@ID@'' | ID of the page | | ''@NS@'' | namespace of the page | | ''@CURNS@'' | current sub-namespace | | ''@NSMAIN@'' | namespace of main page when using in a sidebar | | ''%%@URL_DOKU@%%'' | base URL of the wiki installation | | ''%%@URL_PAGE@%%'' | complete URL of the current page | //Example:// ~~INSTR~~my_template~~ |- @ID@ |- @PAGE@ |- @NS@ |- @CURNS@ |- @URL_DOKU@ |- @URL_PAGE@ ~~END~~ ==== Examples ==== === Example "Warning" === Here is an example with 5 parameters (screenshot see above): //Code:// ~~INSTR~~warning~~ |- Warning |- Title of the warning |- Description of the warning |- Therefore: |- • make this |+ • and perhaps this |+ • and some more things ~~END~~ //Template:// WARNING
param-1
07 param-2
param-3
param-4
param-5
This code is placed here: "lib/plugins/instructions/tpl/warning/html.txt", and in addition there is an image in the same folder: "lib/plugins/instructions/tpl/warning/symbol.png". === Example "Immediate print" === The next example shows a code without parameters to print out a page in the moment it is opened: //Syntax:// {{INSTR}} //Template:// immediate_print ===== Development ===== === Change Log === * **2022-04-20**: Better support for empty parameters * **2022-03-25**: New parameter @NSMAIN@ * **2020-01-16**: Support for plugin CKGEdit with a new syntax * **2019-11-15**: Syntax for placeholders added * **2019-10-19**: Initial release === Known Bugs and Issues === === ToDo/Wish List === ===== FAQ ===== ===== Discussion =====