plugin:indexmenu
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
plugin:indexmenu [2016-02-29 10:24] – 14.215.134.131 | plugin:indexmenu [2024-02-08 00:38] (current) – Klap-in | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Socket代理协议说明 | + | ====== IndexMenu Plugin ====== |
- | 香港棋牌客户端请求PHP接口方式,由客户端发接口给Socket Server,Socket Server转发给PHP,PHP处理完毕返回结果给Socket Server再转回给客户端。 | + | ---- plugin ---- |
+ | description: | ||
+ | author | ||
+ | email : samuele@samuele.netsons.org | ||
+ | type : syntax, | ||
+ | lastupdate : 2024-01-05 | ||
+ | compatible : !Greebo, !Hogfather, Igor, Jack Jackrum, Kaos | ||
+ | depends | ||
+ | conflicts | ||
+ | similar | ||
+ | tags : navigation, menu, listing, namespace, index | ||
- | 【客户端】 <---- 长连接 | + | sourcerepo : https:// |
+ | bugtracker : https:// | ||
+ | downloadurl: | ||
+ | donationurl: | ||
+ | ---- | ||
- | 地方棋牌PHP在使用标准REST接口的基础上,接收返回数据时做了处理,以保证接口完全兼容新版斗地主的协议。下面对兼容前后的请求方式举例说明。 | + | ^ :!: Since December 2023 two JavaScript trees are available for Indexmenu' |
- | REST请求(POST源内容): | + | ===== Description ===== |
- | REST返回:(如请求数据中存在字段“compatible”则返回结果格式则与半透明转发时一致) | + | 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 [[:namespaces]]. | |
- | < | + | Main features are: |
+ | * Fully customizable with a lot of [[.:indexmenu# | ||
+ | * Built-in support of Navigation features like highlighting the current location or dynamically displaying the tree of the current namespace. | ||
+ | * Easily themeable with prebuilt [[.:indexmenu# | ||
+ | * Assign [[.:indexmenu# | ||
+ | * Sortable by date, title and custom metadata information. | ||
+ | * AJAX support to speed up sites with many pages. | ||
+ | * Customizable [[.:indexmenu# | ||
+ | * TOC pages preview. | ||
+ | * [[.: | ||
+ | * Hide namespaces/pages according to [[ACLs]] and plugin [[.indexmenu# | ||
- | ===== Socket代理协议说明 ===== | + | 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 [[.:indexmenu:discussion]] page). | ||
+ | * Feel free to [[.: | ||
- | ''' | ||
- | ''' | + | ===== Donation ===== |
- | ''' | + | The indexmenu plugin is not sponsored by anyone but I develop and support it for free during my spare time. |
- | ===== Socket代理协议说明 ===== | + | If you want to offer me a friendly beer (({{https:// |
- | ''' | + | ====Examples: |
- | <pre>{" | + | |Root namespace. Expands all |'' |
- | '' | + | |Current namespace. Expands all |'' |
- | ==== Socket代理协议说明 ==== | + | |Current namespace. Show only current level, don't expand any nodes. |'' |
- | asdadasdad | + | |Parent namespace. Show parent namespace (" |
- | ===== Socket代理协议说明 ===== | + | |'' |
- | ==== Socket代理协议说明 ==== | ||
- | 香港棋牌客户端请求PHP接口方式,由客户端发接口给Socket Server,Socket Server转发给PHP,PHP处理完毕返回结果给Socket Server再转回给客户端。 | + | ====== Syntax ====== |
- | 【客户端】 <---- 长连接 ----> 【Socket Server】 <.... 短连接 ....> 【PHP】(半透明转发协议) | + | **Basic syntax usage:** |
- | 地方棋牌PHP在使用标准REST接口的基础上,接收返回数据时做了处理,以保证接口完全兼容新版斗地主的协议。下面对兼容前后的请求方式举例说明。 | + | ^ Main ^ Options |
+ | | **%%{{%%indexmenu> | ||
+ | Arguments inside '' | ||
- | REST请求(POST源内容): | + | :!: All the syntax options can be easily accessed with the indexmenu picker in the [[:edit window]] [[: |
- | REST返回: | ||
- | |||
- | < | ||
- | ===== Socket代理协议说明 ===== | + | **Minimum syntax: |
- | < | + | '' |
- | '' | + | That means this '' |
- | ''' | ||
- | ''' | + | ===== Full syntax ===== |
- | ''' | + | Settings **before the " |
- | ===== Socket代理协议说明 ===== | + | ^Main ^Action ^Note| |
+ | ^ //'' | ||
+ | ^ //'' | ||
+ | ^ //'' | ||
- | ''' | + | Optional settings **after the " |
- | < | + | ^Option ^Action ^Note| |
- | '' | + | ^ '' |
- | ==== Socket代理协议说明 ==== | + | ^ //''# |
- | asdadasdad | + | | Next options are available with or without //**js**// option. ||| |
- | ===== Socket代理协议说明 ===== | + | ^ '' |
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | | Next options are //only// available with //**js**// option -- with '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | ^ '' | ||
+ | | \\ Next options are //only// available with //**js**// option -- with '' | ||
+ | ^ '' | ||
- | ==== Socket代理协议说明 ==== | ||
- | 香港棋牌客户端请求PHP接口方式,由客户端发接口给Socket Server,Socket Server转发给PHP,PHP处理完毕返回结果给Socket Server再转回给客户端。 | + | ===== Temporary multiple js trees ===== |
+ | The js option uses so far the JavaScript [[http:// | ||
- | 【客户端】 <---- 长连接 ----> 【Socket Server】 <.... 短连接 | + | To replace it, the JavaScript [[https:// |
- | 地方棋牌PHP在使用标准REST接口的基础上,接收返回数据时做了处理,以保证接口完全兼容新版斗地主的协议。下面对兼容前后的请求方式举例说明。 | + | ===== Examples ===== |
- | REST请求(POST源内容): | + | 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>:# | ||
+ | </ | ||
- | REST返回:(如请求数据中存在字段“compatible”则返回结果格式则与半透明转发时一致) | + | JS navigation index with " |
- | + | <code> | |
- | <pre>{" | + | {{indexmenu> |
+ | </code> | ||
- | ===== Socket代理协议说明 ===== | + | Standard DokuWiki index showing only pages inside wiki: |
+ | < | ||
+ | {{indexmenu>: | ||
+ | </ | ||
- | < | + | JS tree showing pages and namespaces both sorted by reverse title. For example, if "archive" |
- | '' | + | < |
+ | {{indexmenu>: | ||
+ | </code> | ||
- | ''' | + | 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 " |
- | ===== Socket代理协议说明 ===== | + | < |
+ | {{indexmenu> | ||
+ | </ | ||
- | ''' | + | |
- | <pre>{"status":0,"type":0,"msg":""," | + | ==== Metadata tag syntax ==== |
- | '' | + | |
- | ==== Socket代理协议说明 | + | 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: |
- | asdadasdad | + | < |
- | ===== Socket代理协议说明 | + | {{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: | ||
+ | |||
+ | <file> | ||
+ | -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.: "mydir/ | ||
+ | |||
+ | 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 [[.:indexmenu# | ||
+ | |||
+ | |||
+ | ==== 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> | ||
+ | |||
+ | |||
+ | |||
+ | ===== 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 '' | ||
+ | |||
+ | The indexmenu has already a couple of themes included. Adding another theme is simply as adding another folder with the theme name filled with the relevant files. (As long as it is still available you can use the admin page for installing themes). If you share your theme, we can add it to the collection as well. Please offer the files by opening an issue at [[https:// | ||
+ | |||
+ | 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 [[#Custom theme CSS style|own css style]] as '' | ||
+ | |||
+ | 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 "Insert as DWlink" | ||
+ | |||
+ | 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^ | ||
+ | |"menu.js" | ||
+ | |" | ||
+ | |" | ||
+ | |||
+ | 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 // | ||
+ | * 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 CSS and JavaScript and more as cached by DokuWiki. Go to the [[plugin: | ||
+ | - To have purged your browser cache. Use '' | ||
+ | - 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>:# | ||
+ | </code> | ||
+ | |||
+ | 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. | ||
+ | |||
+ | The name of the graphic is no longer | ||
+ | To ensure that the changes are not lost during an update, it is better to make an entry in '' | ||
+ | For example, the graphic disappears as follows: | ||
+ | '' | ||
+ | Or you can insert another graphic as follows: | ||
+ | '' | ||
+ | ==== 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 | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | **Enabled** will display: | ||
+ | < | ||
+ | +-Mysite | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | **Disabled** will display: | ||
+ | < | ||
+ | +-Mysite | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | | ||
+ | </ | ||
+ | |||
+ | |||
+ | ==== 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' | ||
+ | |||
+ | |||
+ | ====== | ||
+ | |||
+ | Please refer to https:// | ||
+ | |||
+ | See also for additional info: | ||
+ | * [[.: | ||
+ | * and [[plugin: | ||
+ | |||
+ | |||
+ | ====== Discussion ====== | ||
+ | |||
+ | Please, use the [[.: |
plugin/indexmenu.1456737842.txt.gz · Last modified: 2016-02-29 10:24 by 14.215.134.131