plugin:acmenu
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
plugin:acmenu [2017-11-12 23:01] – New release torpedo | plugin:acmenu [2024-02-09 23:25] (current) – [AcMenu Plugin] torpedo | ||
---|---|---|---|
Line 2: | Line 2: | ||
---- plugin ---- | ---- plugin ---- | ||
- | description: | + | description: |
- | author | + | author |
- | email : dcstoyanov@gmail.com | + | email : dcstoyanov@gmail.com |
type : syntax | type : syntax | ||
- | lastupdate : 2017-11-12 | + | lastupdate : 2023-11-22 |
- | compatible : 2017-02-19 " | + | compatible : 2017-02-19 " |
depends | depends | ||
conflicts | conflicts | ||
Line 13: | Line 13: | ||
tags : menu, navigation | tags : menu, navigation | ||
- | downloadurl: | + | downloadurl: |
- | bugtracker : https://bitbucket.org/Tormec/acmenu/issues? | + | bugtracker : https://github.com/tormec/AcMenu/issues |
- | sourcerepo : https://bitbucket.org/Tormec/acmenu/src | + | sourcerepo : https://github.com/tormec/AcMenu |
donationurl: | donationurl: | ||
Line 22: | Line 22: | ||
- | ===== Notice | + | ===== Description |
- | :!: The url to the repository is changed | + | AcMenu provides an accordion menu that lists the content of namespaces |
- | + | ||
- | + | ||
- | ===== Description ===== | + | |
- | AcMenu provides an accordion menu which lists the content of namespaces in a tree-like format. | + | The namespace |
- | The tree is built starting from the namespace where the AcMenu' | + | |
- | This plugin respects the [[:ACL]] rules and, moreover, | + | This plugin respects the [[:ACL]] rules besides |
===== Installation ===== | ===== Installation ===== | ||
- | Install | + | Search and install the plugin using the [[plugin:extension|Extension Manager]]. Refer to [[:plugin_installation_instructions|Plugin Installation Instructions]] on how to install plugins manually. |
===== Syntax ===== | ===== Syntax ===== | ||
- | In the sidebar page, use the syntax: | + | In the [[config:sidebar|sidebar]] |
< | < | ||
< | < | ||
Line 50: | Line 46: | ||
===== Examples ===== | ===== Examples ===== | ||
- | Just some screenshots to give you an overall idea of the final result. | + | Just some screenshots to give an overall idea of the final result. |
- | Suppose you want to split your main wiki in two sub-wiki independent between them, as follows: | + | It is supposed the following |
< | < | ||
+--sidebar.txt | +--sidebar.txt | ||
+--start.txt | +--start.txt | ||
- | +--branch-a | + | +--products |
- | | +--sidebar.txt | + | |
| +--start.txt | | +--start.txt | ||
- | | +--products | + | | +--product_a.txt |
- | | | +--start.txt | + | +--services |
- | | | + | | +--start.txt |
- | | | + | | +--service_a.txt |
- | | +--private | + | +--branch |
- | | | + | |
- | | | + | |
- | +--branch-b | + | |
| | ||
| | ||
+ | | ||
+ | | ||
+ | | ||
| | ||
| | ||
+ | | ||
| | ||
- | | ||
- | | ||
+--start.txt | +--start.txt | ||
- | +--confidential.txt | + | +--service_b.txt |
</ | </ | ||
- | Than you can populate each '' | + | where the two '' |
* in '': | * in '': | ||
< | < | ||
</ | </ | ||
- | * in '': | + | * in '': |
- | [[..:start| Back to Main]] | + | [[..: |
< | < | ||
- | </ | + | </ |
- | * in '' | + | |
- | [[..:start| Back to Main]] | + | When a visitor is in '': |
- | < | + | |
- | </ | + | |
- | When a visitor | + | If the visitor |
- | If the visitor decides | + | To deny access |
- | If the visitor is a guest and he doesn't have the permission to enter in any '' | + | Furthermore, |
+ | - alternative matches must be separated by '' | ||
+ | - to match a word at the end of a line the '' | ||
+ | - to be sure that the word to match is preceded by '' | ||
- | If the visitor is a user registered and has the permission to enter in any '': | + | With that syntax, |
+ | * '': | ||
+ | | ||
+ | * '': | ||
+ | Whereas | ||
+ | * '': | ||
- | Furthermore it's possible to hide all '' | + | Even if the hidden pages are not listed among the search results, they will still be reachable by typing their exact path in the search bar (eg. '' |
+ | )) using the [[config: | ||
< | < | ||
- | ^:(?:.*sidebar) | + | (?<=:)sidebar$|(?<=.:)start$|other-matches |
</ | </ | ||
- | {{ https://bitbucket.org/Tormec/acmenu/downloads/acmenu.png? | + | The following image is the behavior of the AcMenu plugin in action. |
+ | {{ https://raw.githubusercontent.com/tormec/AcMenu/ | ||
- | Since this plugin uses cookies to remember the pages visited (they are automatically deleted as soon as the window browser is closed) if the visitor | + | Since this plugin uses cookies to remember the pages visited (they are automatically deleted as soon as the window browser is closed) if the visitor |
The order in which the directory tree is presented is the following: | The order in which the directory tree is presented is the following: | ||
Line 112: | Line 114: | ||
This means that, if the option [[config: | This means that, if the option [[config: | ||
+ | Note also that the [[config: | ||
- | ===== Configuration and Settings ===== | ||
- | ==== Menu behaviour ==== | ||
- | The navigation through namespaces and the links to the relative pages work as follows: | + | ===== Customization ===== |
- | * on namespace: | + | |
- | * one click: shows/hides the relative content; | + | |
- | * double click: opens the relative start page; | + | |
- | * on page: | + | |
- | * one click: opens the relative page. | + | |
- | ==== Hide namespaces | + | If doesn' |
- | First, set the appropriate permissions in your [[:ACL]] management. | + | For instance, the list item markers can be changed with the following code: |
- | Then, use the options: | + | <code css userstyle.css> |
- | * [[config: | + | .acmenu ul.idx li.closed { |
- | * [[config: | + | list-style-image: url(../ |
+ | } | ||
+ | .acmenu ul.idx li.open { | ||
+ | list-style-image: | ||
+ | } | ||
+ | </ | ||
- | ===== Troubleshooting ===== | + | It's also possible to change the DokuWiki' |
+ | <code css userstyle.css> | ||
+ | .dokuwiki .acmenu .aside a:visited { | ||
+ | background-color: | ||
+ | } | ||
- | **Symptom:** AcMenu doesn' | + | .dokuwiki .acmenu span.curid a { |
+ | background-color: silver; | ||
+ | color: black; | ||
+ | } | ||
+ | </code> | ||
- | **Possible solution:** be sure that JavaScript is enabled in your browser, otherwise | + | Use the Inspect Tool provided with your browser |
- | ---- | + | |
- | **Symptom: | ||
- | **Possible solution:** be sure that cookies are enabled on one's browser, otherwise AcMenu forgets the namespaces untoggled whenever a page is loaded. | + | ===== Troubleshooting |
- | ---- | + | |
- | + | ||
- | + | ||
- | ===== Development | + | |
- | + | ||
- | + | ||
- | ==== Known Bugs and Issues ==== | + | |
- | + | ||
- | Please, use the relative bug tracker or write here and then I will move there.\\ --- [[dcstoyanov@gmail.com|Torpedo]] // | + | |
+ | **Symptom: | ||
- | ==== ToDo/Wish List ==== | + | **Possible solution:** be sure that JavaScript and cookies are enabled in your browser, otherwise AcMenu forgets the previously namespaces untoggled whenever a page is loaded. |
- | Let me know what do you think about this plugin and how can I improve its functionality.\\ --- [[dcstoyanov@gmail.com|Torpedo]] // | ||
- | > | ||
- | >>The purpose of this plugin is to provide a menu whose items are shown or hidden at user discretion rather than offer a static menu.\\ For a menu that always stays open it's better to use plugins that create a list of pages belong to a given namespace.\\ Also notice that since this plugin //i)// create the menu in the sidebar, which doesn' |
plugin/acmenu.1510524084.txt.gz · Last modified: 2017-11-12 23:01 by torpedo