This is an old revision of the document!
Table of Contents
AcMenu Plugin
Compatible with DokuWiki
2017-02-19 "Frusterick Manners", 2018-04-22 "Greebo"
This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.
Description
AcMenu provides an accordion menu which lists the content of namespaces in a tree-like format. The tree is built starting from the namespace where the AcMenu's syntax lives till the very end namespace.
This plugin respects the ACL rules and, moreover, the sneaky_index and hidepages options that come with your DokuWiki configuration.
Installation
Search and install the plugin using the Extension Manager. Refer to Plugin Installation Instructions on how to install plugins manually.
Syntax
In the sidebar page, use the syntax:
<acmenu>
Examples
Just some screenshots to give you an overall idea of the final result.
Suppose you want to create a sub-wiki in your main one, independent from it, as follows:
+--sidebar.txt +--start.txt +--products | +--start.txt | +--product_a.txt +--services | +--start.txt | +--service_a.txt +--branch +--sidebar.txt +--start.txt +--private | +--start.txt | +--confidential.txt +--products | +--start.txt | +--product_b.txt +--services +--start.txt +--service_b.txt
Than you can populate each sidebar.txt
in the following manner:
- in
:sidebar.txt
<acmenu>
- in
:branch:sidebar.txt
[[..:start| Go Back]] <acmenu>
where the
Go Back
link is made according to the namespaces criterion.
When a visitor is in :start.txt
, the plugin shows the complete namespace tree collapsed except the namespace in which the sidebar.txt
, with AcMenu's syntax, is. Only if the visitor's browser has JavaScript disabled all namespaces will reveal their content so that it will be possible to continue the navigation.
If the visitor decides to open the sub-wiki :branch
, the AcMenu plugin shows only its sidebar.
To deny the access to certain namespaces or pages you should set the appropriate rule in the ACL management. In addition, it's possible to conceal those namespaces for which the visitor has no permission setting up the sneaky_index option in your Configuration Manager.
Furthermore it's possible to hide all sidebar.txt
pages using the hidepages option in your Configuration Manager:
(sidebar|other-pages)
The following image is the behaviour of the AcMenu plugin from the perspective of a user registered.
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 comes back to :start.txt
every namespaces untoggled will remain so.
The order in which the directory tree is presented is the following:
- first, folders from
0-9A-Za-z
- then, files from
0-9A-Za-z
This means that, if the option useheading is enabled, it's possible to force the order of files using a progressive numeration in the first heading of each file.
Note that the startpage is intentionally always kept on top of its menu, in order to provide a visual reference for the navigation and, moreover, it's never renamed with its first heading.
Configuration and Settings
Hide namespaces and pages
First, set the appropriate permissions in your ACL management. Then, use the options:
- sneaky_index: to hide namespaces.
- hidepages: to hide pages;
Troubleshooting
Symptom: AcMenu doesn't show/hide namespace's content.
Possible solution: be sure that JavaScript is enabled in your browser, otherwise all namespaces remain open showing their content.
Symptom: AcMenu doesn't keep untoggled any namepsace after have opened any link.
Possible solution: be sure that cookies are enabled in your browser, otherwise AcMenu forgets the namespaces untoggled whenever a page is loaded.
Development
Known Bugs and Issues
Please, use the relative bug tracker or write here and then I will move there.
— Torpedo 2017-03-09 16:32
Looks like AcMenu does not handle international characters well. I get %-displays in the menu for headings containing 'åöäÅÖÄ'.
thoni56 2020-01-20I've tested your example and it is displayed correctly. The very last release of AcMenu fixed an issue relative to non-ASCI filenames (which is just your case), so be sure to have upgraded the plugin. If the problem persists, let me know here Diacritic and Diaeresis Characters are not printed correctly.
— Torpedo 2020-01-27 15:17