这里会显示出您选择的修订版和当前版本之间的差别。
— |
indexmenu_plugin [2019/12/07 21:07] (当前版本) |
||
---|---|---|---|
行 1: | 行 1: | ||
+ | ====== IndexMenu Plugin ====== | ||
+ | |||
+ | ---- plugin ----\\ | ||
+ | description: | ||
+ | author | ||
+ | email : samuele@samuele.netsons.org\\ | ||
+ | type : syntax, | ||
+ | lastupdate : 2015-08-26\\ | ||
+ | compatible : rincewind, angua, adora belle, Weatherwax, Binky, Ponder Stibbons, Hrun, Detritus, Elenor Of Tsort, Frusterick Manners, Greebo\\ | ||
+ | depends | ||
+ | conflicts | ||
+ | similar | ||
+ | tags : navigation, menu, listing, namespace, ajax, index | ||
+ | |||
+ | sourcerepo : https:// | ||
+ | bugtracker : https:// | ||
+ | downloadurl: | ||
+ | donationurl: | ||
+ | ---- | ||
+ | |||
+ | This plugin allows you to insert a fully customizable index or a list of pages starting from a specified namespace.\\ | ||
+ | It should be useful in DokuWiki sites where pages are organized by [[: | ||
+ | Main features are:\\ | ||
+ | * Fully customizable with a lot of [[.: | ||
+ | * Built-in support of Navigation features like highlighting the current location or dynamically displaying the tree of the current namespace.\\ | ||
+ | * Easily themeable with prebuilt [[.: | ||
+ | * Assign [[.: | ||
+ | * Sortable by date, title and custom metadata information.\\ | ||
+ | * AJAX support to speed up sites with many pages.\\ | ||
+ | * Customizable [[.: | ||
+ | * TOC pages preview.\\ | ||
+ | * [[.: | ||
+ | * Hide namespaces/ | ||
+ | |||
+ | Themed indexmenu based on the Javascript index builder: | ||
+ | {{http:// | ||
+ | Indexmenu based on Dokuwikis index builder: | ||
+ | {{http:// | ||
+ | |||
+ | * You can test it at the playground page of the [[http:// | ||
+ | * Thanks to Geir Landrö and his JavaScript [[http:// | ||
+ | * Thanks also to Roland Hellebart and his Tree plugin for the dTree idea.\\ | ||
+ | * **Many many thanks to indexmenu users**, the most useful work is done by them (look at the [[.: | ||
+ | * Feel free to [[.: | ||
+ | |||
+ | \\ | ||
+ | ===== Donation ===== | ||
+ | |||
+ | The indexmenu plugin is not sponsored by anyone but I develop and support it for free during my spare time.\\ | ||
+ | If want to offer me a friendly beer (({{http:// | ||
+ | |||
+ | ====Examples: | ||
+ | |Root namespace. Expands all |'' | ||
+ | |Current namespace. Show only current level, don't expand any nodes. |'' | ||
+ | |Parent namespace. Show parent namespace (" | ||
+ | |'' | ||
+ | |||
+ | \\ | ||
+ | ====== Syntax ====== | ||
+ | |||
+ | Basic syntax usage: | ||
+ | |||
+ | ^ Main ^ Options | ||
+ | | **%%{{%%indexmenu> | ||
+ | Arguments inside '' | ||
+ | |||
+ | :!: All the syntax options can be easily accessed with the indexmenu picker in the [[:edit window|]] [[: | ||
+ | |||
+ | \\ | ||
+ | ===== Full syntax ===== | ||
+ | |||
+ | Settings **before the " | ||
+ | ^Main ^Action ^Note|\\ | ||
+ | ^ //'' | ||
+ | ^ //''# | ||
+ | ^ //'' | ||
+ | |||
+ | Optional settings **after the " | ||
+ | ^Option ^Action ^Note|\\ | ||
+ | ^ '' | ||
+ | ^ //''# | ||
+ | | Next options are available with or without //**js**// option. |||\\ | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | | Next options are //only// available with //**js**// option. |||\\ | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | |||
+ | \\ | ||
+ | ===== Examples ===== | ||
+ | |||
+ | A sample of an indexmenu JS index that could be used inside a navigation sidebar. Its initial status is blocked by the nocookie option, so, when the page is reloaded, it doesn' | ||
+ | \\ | ||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | JS navigation index with " | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | Standard DokuWiki index showing only pages inside wiki: | ||
+ | |||
+ | {{indexmenu>: | ||
+ | |||
+ | </ | ||
+ | |||
+ | Js tree showing pages and namespaces both sorted by reverse title. For example,if " | ||
+ | |||
+ | {{indexmenu>: | ||
+ | |||
+ | </ | ||
+ | |||
+ | Standard index showing the tree of the current context ((the namespace of the page displayed by a user who is navigating your site)) opened at the second level .< | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | Show all current namespace pages .< | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | JS tree showing all (and only) the namespaces of the " | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Metadata tag syntax ==== | ||
+ | |||
+ | By default nodes on the same tree level are sorted by name (or by title/date if you use the tsort/dsort syntax), but you can also specify a custom sort number for every page inserting a metadata tag in the pages with this syntax:< | ||
+ | |||
+ | {{indexmenu_n> | ||
+ | |||
+ | </ | ||
+ | |||
+ | Where '' | ||
+ | Then you need to use the " | ||
+ | If you have the '' | ||
+ | |||
+ | **Examples: | ||
+ | |||
+ | You can change the order of this tree containing a mix of standard and [[config: | ||
+ | |||
+ | -\Root | ||
+ | |_don\\ | ||
+ | |_Mirror sessions | ||
+ | |_pachuco\\ | ||
+ | |_At the radar station | ||
+ | |_van\\ | ||
+ | |_vliet\\ | ||
+ | |||
+ | </ | ||
+ | |||
+ | in this way:< | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | -\Root | ||
+ | |_vliet | ||
+ | |_van | ||
+ | |_don | ||
+ | |_Mirror sessions | ||
+ | |_pachuco\\ | ||
+ | |_At the radar station | ||
+ | |||
+ | </ | ||
+ | |||
+ | Pages without sort number, like the last three pages, are sorted by page name as default, but you can force a different sort:< | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | -\Root | ||
+ | |_vliet | ||
+ | |_van | ||
+ | |_don | ||
+ | |_At the radar station | ||
+ | |_Mirror sessions | ||
+ | |_pachuco\\ | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ====== Configuration options====== | ||
+ | |||
+ | Indexmenu is fully configurable from [[plugin: | ||
+ | |||
+ | ==== Default options===== | ||
+ | Default options let you define settings that are applied to all the indexmenu indexes included in pages. To undo any syntax option, use the inverse version of the option. Normally that option is the same but with or without '' | ||
+ | |||
+ | ==== Only admins ==== | ||
+ | |||
+ | It prevents no-admin users from inserting indexmenu trees, removing every indexmenu syntax in the page. It affects only the edit mode, so that standard users are still able to view indexmenu tree in a page edited by admins. | ||
+ | |||
+ | This is useful to deny to insert indexmenu trees to your users, but pay attention that if you let them to edit a page containing an indexmenu tree inserted by the admin, this tree will be removed as soon as a standard user saves the page. | ||
+ | |||
+ | |||
+ | ==== ACL Cache ==== | ||
+ | |||
+ | Optimize the cache of indexmenu according to ACLs and prevents to display unauthorized nodes. | ||
+ | |||
+ | The choice of the method affects only the visualization of nodes on the indexmenu tree, not the page authorizations. The **Groups** option is the default setting. | ||
+ | * **None**: Standard. It is the faster method and it does not create further cache files, but the nodes with denied permission could be showed to unauthorized users or vice versa. Recommended when you don't deny pages access by ACL or you don't care how the tree is displayed or you use the %%~~NOCACHE~~%% syntax in the indexmenu page. | ||
+ | * **User**: Per-User login. Slower method and it creates a lot of cache files (depending on the amount of your DokuWiki site users, so for sites with few users it's not a problem), but it always hides correctly denied pages. Recommended when you have page ACLs that depend on users login. | ||
+ | * **Groups**: Per-groups membership. Good compromise between the previous methods, but in case that you deny pages read ACL to a single user login, he could anyway displays that nodes in the tree. Recommended when your whole site ACLs depend on groups membership. | ||
+ | |||
+ | If wrongly set, this option could display to a group of users (ie. the anonymous user) the cached tree of another group (ie: the admin user), thus displaying randomly different trees containing less or more (un)authorized nodes. | ||
+ | |||
+ | There are also important issues in [[.: | ||
+ | |||
+ | |||
+ | ==== Namespaces title and link (headpages) ==== | ||
+ | |||
+ | == Titles for page headings == | ||
+ | |||
+ | First of all, if you want that the whole tree displays the heading title of pages instead of their name, you need to set the config setting [[config: | ||
+ | |||
+ | == Title for namespaces headings == | ||
+ | |||
+ | Next, if you want that the namespace nodes display a heading title instead of the namespace name, you need to select the page from which these are retrieved with the config option '' | ||
+ | |||
+ | Every namespace will retrieve its title from the heading title of that page, called headpage, and will be linked directly to it. No longer you can open the node by clicking the header (in the js version you can still use the plus before namespace). | ||
+ | |||
+ | You can choose a name for the page from which retrieve the title or use a self defined value: | ||
+ | |||
+ | ^Value | ||
+ | |**any value** | The page inside the namespace | public(ns): | ||
+ | |**: | ||
+ | |**:same:** | a page with the same name of namespace, at the same level of the namespace | public(page) <=> public(ns) |\\ | ||
+ | |**: | ||
+ | |||
+ | You can specify more than one option using "," | ||
+ | |||
+ | == Hide headpages in tree == | ||
+ | |||
+ | To get a better visualization you could use the '' | ||
+ | |||
+ | \\ | ||
+ | ==== Page index ==== | ||
+ | |||
+ | When this option is not empty, the DokuWiki default [[:index|]] page is replaced with a custom page, which you can fill yourself. For example you can add the indexmenu tree of your site. | ||
+ | |||
+ | Set this option with a DokuWiki page ID (i.e: '' | ||
+ | \\ | ||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | or< | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | You may also want to hide this page in any indexmenu trees with the [[.: | ||
+ | |||
+ | |||
+ | ==== Empty message ==== | ||
+ | |||
+ | You can show a custom message in place of the menu tree if it can not be rendered (i.e namespace doesn' | ||
+ | |||
+ | The alias **%%{{ns}}%%** is a shortcut for the requested namespace. | ||
+ | |||
+ | Message supports the wiki syntax, so it's fully customizable. Don't use HTML code. | ||
+ | |||
+ | |||
+ | ==== Skip Namespaces in Index ==== | ||
+ | |||
+ | The configuration setting '' | ||
+ | |||
+ | Just fill this option with the ids of namespaces to skip using [[http:// | ||
+ | :!: Till V4.5, a namespaces full path has to be declared as a file system path (i.e.: " | ||
+ | |||
+ | There are also some issues [[.: | ||
+ | |||
+ | **Simple examples:** | ||
+ | Skip any namespace whose ID contains the word '' | ||
+ | |||
+ | / | ||
+ | |||
+ | </ | ||
+ | Skip the namespace whose ID is exactly '' | ||
+ | |||
+ | / | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== Skip Files in index==== | ||
+ | |||
+ | This configuration option '' | ||
+ | Just fill this option with the ids of pages to skip using [[http:// | ||
+ | :!: Till v4.5, pages are checked as DokuWiki text files (i.e.: start.txt). A page full path have to be declared as a file system path (i.e.: " | ||
+ | |||
+ | There are also some issues [[.: | ||
+ | |||
+ | |||
+ | ==== Show sort ==== | ||
+ | |||
+ | If you sorted a page with the [[.: | ||
+ | |||
+ | The message is displayed **only** to wiki admins when they view the page. | ||
+ | |||
+ | |||
+ | ====== How to install ====== | ||
+ | |||
+ | Search and install the plugin using the [[plugin: | ||
+ | |||
+ | Alternative download link: http:// | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ===== Changelog ===== | ||
+ | |||
+ | |:!: You could need to purge your browser and server cache after upgrading it, following these [[.: | ||
+ | |||
+ | ^Many thanks to [[user> | ||
+ | |||
+ | \\ | ||
+ | ==== Github changelog ==== | ||
+ | |||
+ | {{rss> | ||
+ | |||
+ | \\ | ||
+ | ==== Release changelog ==== | ||
+ | |||
+ | * **2014-08-01**\\ | ||
+ | * Default options can be configured in Config Manager for whole wiki\\ | ||
+ | * Supports nolatin pagenames better\\ | ||
+ | * remove more empty nodes (only with indexmenu indexer, which is used when one of sort options added)\\ | ||
+ | * contextmenu can be translated as well | ||
+ | |||
+ | * **2013-04-24 Version 5.0**:\\ | ||
+ | * Reformat of all code to Dokuwiki code style\\ | ||
+ | * Rewrite all javascript to jQuery instead of old js api (includes improvements from [[tindexmenu|]] plugin)\\ | ||
+ | * Added a new toolbar wizard\\ | ||
+ | * Used Dokuwikis javascript include mechanism\\ | ||
+ | * add '' | ||
+ | * Rewrite the ajax stuff into action plugin (not theme handling stuff)\\ | ||
+ | * Change configuration via menu js files to one file.\\ | ||
+ | * add option '' | ||
+ | * Improved support for [[config: | ||
+ | * Added syntax option to add '' | ||
+ | * Adding curid span like DokuWiki performs on internal links.\\ | ||
+ | * Fixed: When only had indexmenu syntax in sidebar, in js rendered index the backup index wasn't hidden.\\ | ||
+ | * Fixed: Ajax completion supports Korean characters too. - by [[user> | ||
+ | |||
+ | * **2009-08-29 Version 4.6**:\\ | ||
+ | * :!: //New Feature//: Namespace declaration complies with DokuWiki [[: | ||
+ | * //New Feature//: Added the //context// option. It resolves relative requested namespaces starting from the current user location instead of the page containing the indexmenu syntax.\\ | ||
+ | * :!: //New Feature//: Changed skip_file and skip_index syntax to use DokuWiki ID instead of system paths. Thanks to Dmitry Katsubo.\\ | ||
+ | * //New Feature//: Metatada titles are not rendered when recursively building the indexmenu tree. This will speed up the page loading when cache expires, but could not display the heading title for nodes without metadata information.\\ | ||
+ | * //New Feature//: Added the nojs button in the edit toolbar and toolbar CSS classes.\\ | ||
+ | * //New Feature//: The right JS context menu is closed by any document click. Thanks to Urban.\\ | ||
+ | * //Bug//: Fixed a bug which prevents page caching when it contains only indexmenu syntax.\\ | ||
+ | * //Bug//: Disable JS indexmenu cookies in preview mode.\\ | ||
+ | * //Bug//: Fixed an ACL issue.\\ | ||
+ | * //Bug//: Fixed UTF8 TOC preview bug. | ||
+ | |||
+ | \\ | ||
+ | ===== Development ===== | ||
+ | |||
+ | For development separated branches of the code are created to test features and bug fixes. See the list of current branches: https:// | ||
+ | |||
+ | Before installing a development version be sure to have first manually deleted the old indexmenu directory. Also be sure that, as last step, server/ | ||
+ | |||
+ | ===== Translations ===== | ||
+ | |||
+ | At this moment some languages are supported , but I'll be glad if you want translate indexmenu in your own language. Please refer to translation tool at http:// | ||
+ | |||
+ | \\ | ||
+ | ====== JavaScript themes ====== | ||
+ | |||
+ | With the option '' | ||
+ | When the '' | ||
+ | |||
+ | Inside the Admin panel on the Indexmenu Utilities page you can manage the available themes on your installation and install themes from the public indexmenu repository. To download themes directly into your DokuWiki server, you need that the indexmenu images directory is writable by the web user.\\ | ||
+ | \\ | ||
+ | Instead of installing you can also simply download a theme into your PC with the '' | ||
+ | |||
+ | The JavaScript tree menu is based on [[http:// | ||
+ | |||
+ | ==== Theme tutorial ==== | ||
+ | |||
+ | You can create custom themes for every index rendered with the [[http:// | ||
+ | |||
+ | Simply create a subdirectory, | ||
+ | ^ Icon ^ Type ^ Example: theme ' | ||
+ | | base.gif | ||
+ | | folderopen.gif | ||
+ | | folder.gif | ||
+ | | folderhopen.gif | ||
+ | | folderh.gif | ||
+ | | page.gif | ||
+ | | plus.gif | ||
+ | | minus.gif | ||
+ | | nolines_plus.gif | ||
+ | | nolines_minus.gif | ||
+ | | minusbottom.gif | ||
+ | | plusbottom.gif | ||
+ | | join.gif | ||
+ | | joinbottom.gif | ||
+ | | line.gif | ||
+ | | empty.gif | ||
+ | |||
+ | Use your theme with **'' | ||
+ | |||
+ | You can also customize a theme style further by creating its [[.: | ||
+ | |||
+ | The default icons file format is GIF, but PNG and JPG are also supported. To use them in place of GIF, you have to name your theme directory with the appropriate image extension. For example: '' | ||
+ | |||
+ | \\ | ||
+ | ===== The context menu ===== | ||
+ | |||
+ | An action menu is displayed when using the context mouse menu click (the right one in many cases). On Opera you can use the CTRL+left click to display it. When in editing mode, by default an " | ||
+ | |||
+ | In the April 2013 release of the plugin the contextmenu definition is bundled in '' | ||
+ | Be aware this file is overwritten on update of the plugin. Therefore an additional file '' | ||
+ | |||
+ | Since the April 2013 plugin release you can add the **'' | ||
+ | |||
+ | Modification of menu in performed in '' | ||
+ | (You can rename the example file from '' | ||
+ | |||
+ | * Overriding menu entry \\ <code javascript> | ||
+ | indexmenu_contextmenu[' | ||
+ | |||
+ | </ | ||
+ | * Adding menu entry <code javascript> | ||
+ | indexmenu_contextmenu[' | ||
+ | 3, | ||
+ | 0, | ||
+ | [' | ||
+ | ); | ||
+ | |||
+ | </ | ||
+ | * Removing menu entry: | ||
+ | * Override with empty array: '' | ||
+ | * Or use '' | ||
+ | |||
+ | Some details about '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | |||
+ | **How to write utf8 chars, like èåäö, in the context menu file?** | ||
+ | A solution is to encode them yourself: Find your char at http:// | ||
+ | |||
+ | ------ | ||
+ | In the releases //before April// 2013, you could fully customize those menus by editing these files in the ' | ||
+ | |||
+ | ^File ^Loaded by^ | ||
+ | |" | ||
+ | |" | ||
+ | |" | ||
+ | |||
+ | And to prevent to load the context menu, simply remove the indexmenu_contextmenu variable declared in the above menu files. | ||
+ | |||
+ | \\ | ||
+ | ====== CSS Style ====== | ||
+ | |||
+ | You can override styling from the [[https:// | ||
+ | |||
+ | \\ | ||
+ | Some styles are:\\ | ||
+ | ^Tag ^Comment | ||
+ | |a.nodeFdUrl | ||
+ | |a.node | ||
+ | |a.nodeUrl | ||
+ | |a.nodeSel | ||
+ | |a.navSel | ||
+ | |a.indexmenu_idx_head |link style of a namespace with URL (headpage) | ||
+ | |a.indexmenu_idx | ||
+ | |.indexmenu_arrow | ||
+ | |.indexmenu_toc | ||
+ | |||
+ | \\ | ||
+ | ===== Custom theme CSS style ===== | ||
+ | |||
+ | If you want to apply a different style then the global one to a js theme, you need to create a '' | ||
+ | |||
+ | \\ | ||
+ | FIXME check if this example is still up-to-date. For example you could add for the ' | ||
+ | <code css lib/ | ||
+ | /*Custom style for the thread theme*/ | ||
+ | |||
+ | .dtree.thread{\\ | ||
+ | font-family: | ||
+ | } | ||
+ | |||
+ | .dtree.thread a.navSel {\\ | ||
+ | background-color: | ||
+ | color: #fff\\ | ||
+ | }\\ | ||
+ | |||
+ | </ | ||
+ | |||
+ | Existing example for ' | ||
+ | |||
+ | Note: in about June 2014 the css of some '' | ||
+ | |||
+ | |||
+ | ====== FAQ and Notes ====== | ||
+ | |||
+ | ==== The tree is not working as expected ==== | ||
+ | |||
+ | * If you installed for the first time the indexmenu plugin or upgraded it from a previous release, it could be merely a cache issue. Example of symptoms are: tree is not displayed (or a static DokuWiki index is displayed in its place), context menu is not working, any new release feature reported in the [[.indexmenu# | ||
+ | * When an updated indexmenu plugin fails in a // | ||
+ | Please check whether all plugins and your theme don't use the old javascript functions. Since the Weatherwax release, these deprecated functions are missing (some plugins still require an update) and will break the javascript rendering. | ||
+ | Check for errors: | ||
+ | - in console of browser e.g. as part of the Developer \toolbar | ||
+ | - by disabling all plugins and enabling one by \one | ||
+ | * If you think that indexmenu are still not fitting your needs, be sure to using a correct [[.indexmenu# | ||
+ | * You are sure that the syntax is correct. Perhaps you missed something in this [[.indexmenu# | ||
+ | * Still no solution? Check if someone reported your issue at the [[https:// | ||
+ | * Okay, now I believe that indexmenu is really not working as needed. Please report a detailed bug at the [[https:// | ||
+ | |||
+ | |||
+ | ==== The tree is not displayed ==== | ||
+ | |||
+ | Follows these instructions: | ||
+ | - To have installed an indexmenu release compatible with your DokuWiki version as described in [[indexmenu# | ||
+ | - To have the last indexmenu version installed. For example check that its date is the same of [[.: | ||
+ | - To have used a correct [[.: | ||
+ | - To have purged your browser cache. Use '' | ||
+ | - To have purged server cache following the [[: | ||
+ | - To have purged CSS and JavaScript as cached by DokuWiki. Go to the Configuration Manager and just resave, to refresh this caching. | ||
+ | - When you try the javascript version of the indexmenu and it fails, please disable all the self-installed plugins check if now works. Nextly, you enable the plugins one-by-one to find the bad one. | ||
+ | If problem still persists, please, report the bug with details of your configuration in [[.: | ||
+ | |||
+ | ==== I see nothing in sidebar when I login like user ==== | ||
+ | |||
+ | Check your ACL settings, please note that the user needs at least READ permissions to the page " | ||
+ | ==== DokuWiki is getting slow ==== | ||
+ | |||
+ | If your site contains a large amount of pages, and you're using indexmenu as a navigation sidebar, you could notice random slowdowns in the page loading. | ||
+ | |||
+ | This happens when cache is purged and the whole indexmenu tree has to be rebuilt. | ||
+ | |||
+ | To avoid this problem you may use the [[plugin: | ||
+ | |||
+ | |||
+ | ==== Indexmenu ID conflict ==== | ||
+ | |||
+ | I have in my sidebar the following code< | ||
+ | |||
+ | {{indexmenu> | ||
+ | |||
+ | </ | ||
+ | |||
+ | and I get after saving this message: '' | ||
+ | |||
+ | |||
+ | > A conflict happens when there are two indexmenu tree with the same ID in a web page. | ||
+ | > | ||
+ | > When you just edited the sidebar page, your sidebar & your content page are the same, so its content is displayed twice. When it contains a indexmenu, this index is also shown twice. This is no problem because normally you don't visit the sidebar as normal wiki page. | ||
+ | > | ||
+ | > When you have a sidebar defined a sidebar, but it is used as normal page too e.g. an index page, it is recommended to create a separate page for the index page. A separate page prevents displaying same index twice so they can not conflict anymore. The index page may have the same syntax options as the sidebar, but when you use id with a self defined id# | ||
+ | |||
+ | >> A workaround to get rid of the warning message, is to use the [[: | ||
+ | |||
+ | ==== Can I sort the tree nodes (filename or page heading or creation time)? ==== | ||
+ | |||
+ | Yes, You can sort pages with the tsort, dsort or msort [[.: | ||
+ | |||
+ | ==== How can I activate the indexmenu as sidebar for every page? ==== | ||
+ | - Enable the sidebar function in your template. See [[faq: | ||
+ | - Add the indexmenu to the page used as sidebar. | ||
+ | |||
+ | Indexmenu provides only the index, for configuration of e.g. visibility of the sidebar itself you have to look in the features of the different sidebar solutions. | ||
+ | |||
+ | |||
+ | ==== The tree is not updated ==== | ||
+ | |||
+ | The tree is always immediately updated. So you have not to worry to use %%~~NOCACHE~~%% instruction, | ||
+ | |||
+ | To purge cache either wait for the automatic [[config: | ||
+ | |||
+ | |||
+ | ==== JS does not remember its previous state ==== | ||
+ | |||
+ | Every //**js**// indexmenu has an identifier (randomly generated by default) used by cookies to remember the current tree state (the selected, open and closed nodes). When the page cache expires or is purged, this information is reset because a new cookie (and consequently a new identifier) is generated. | ||
+ | |||
+ | This is not a problem because cache purge is not frequent, but if indexmenu is called inside an uncached page or directly inside PHP code, every time an user loads the page, indexmenu behaviour is to not remember its previous state just like when '' | ||
+ | |||
+ | In this case, the solution is to force a permanent identifier through the // | ||
+ | The identifier can be any number or the string " | ||
+ | |||
+ | ==== I don't like the tree sliding arrow ==== | ||
+ | |||
+ | Create your own arrow in GIF format with an image editor, then override the default one in '' | ||
+ | Change the height and width of the .indexmenu_arrow property in the [[.: | ||
+ | |||
+ | You could need a browser cache purging. | ||
+ | |||
+ | |||
+ | ==== About ACLs ==== | ||
+ | |||
+ | |:!: First of all, you could need to correctly set the [[.: | ||
+ | |||
+ | Indexmenu tree behaviour depends also on the [[config: | ||
+ | |||
+ | * **Enabled**: | ||
+ | |||
+ | * **Disabled**: | ||
+ | |||
+ | In both cases, unauthorized pages are never showed. There are also some issues [[.: | ||
+ | This namespace behaviour in presence of ACLs can not be changed until it's not changed in the DokuWiki core itself. | ||
+ | |||
+ | Example:< | ||
+ | \\ | ||
+ | +-Mysite | ||
+ | +-private | ||
+ | | ||
+ | | ||
+ | | ||
+ | +-public | ||
+ | | ||
+ | +-public2 | ||
+ | | ||
+ | -start | ||
+ | -start2 | ||
+ | |||
+ | </ | ||
+ | |||
+ | **Enabled** will display:\\ | ||
+ | < | ||
+ | +-Mysite | ||
+ | +-public | ||
+ | | ||
+ | +-public2 | ||
+ | | ||
+ | -start | ||
+ | |||
+ | </ | ||
+ | |||
+ | **Disabled** will display:\\ | ||
+ | < | ||
+ | +-Mysite | ||
+ | +-private | ||
+ | | ||
+ | | ||
+ | +-public | ||
+ | | ||
+ | +-public2 | ||
+ | | ||
+ | -start | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | ==== About empty namespaces ==== | ||
+ | |||
+ | Empty namespace can occur when: | ||
+ | |||
+ | * All its pages were deleted. DokuWiki never does really remove empty namespaces as it stores them as file system directories.\\ | ||
+ | * All its pages and namespaces are skipped by [[.: | ||
+ | * All its pages and namespaces are denied to users by [[ACLs|]] settings.\\ | ||
+ | * It has got only a child page, this page is its headpage and hide_headpage option is enabled. | ||
+ | |||
+ | When the '' | ||
+ | |||
+ | **Why do you need a sort option to correctly hide empty namespaces? | ||
+ | When any of the sort options '' | ||
+ | |||
+ | **Why will sneaky_index hide forbidden namespaces**\\\\ | ||
+ | Enabling the '' | ||
+ | |||
+ | \\ | ||
+ | ==== I'm using " | ||
+ | |||
+ | The text used for the nodes in the tree is retrieved from DokuWiki' | ||
+ | |||
+ | \\ | ||
+ | ====== Reporting feature requests and bugs====== | ||
+ | |||
+ | Please refer to https:// | ||
+ | |||
+ | See also for additional info:\\ | ||
+ | * [[.: | ||
+ | * and [[plugin: | ||
+ | |||
+ | \\ | ||
+ | ====== Discussion ====== | ||
+ | |||
+ | Please, use the [[.: | ||
+ | |||