DokuWiki

It's better when it's simple

User Tools

Site Tools


plugin:nspages

This is an old revision of the document!


nspages Plugin

Compatible with DokuWiki

2017-02-19, 2016-06-26a, 2009-12-25, Anteater, Rincewind, Angua, Adora Belle, Weatherwax, Binky, ponder stibbons, Hrun, Detritus, Greebo

plugin Present a table of contents of the pages of a selected namespace

Last updated on
2018-07-04
Provides
Syntax
Repository
Source

This extension has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues.

Similar to catlist, dir, dirlisting, minimap, nsindex, nstoc, pageindex, pagelist, pagequery, pglist, subpages

Tagged with listing, menu, namespace, navigation

Needed for flat

Description

This plugin nicely displays a table of content of the pages -and optionally the subnamespaces- of a given (sub)namespace.

Using this plugin is easy: just write

<nspages>

and see the result. (You may also use the button from the toolbar.)

The general syntax is

<nspages path_to_a_namespace -option1 -option2 ...>

where:

  • path_to_a_namespace represents the path to the wanted namespace. It can be an absolute (ex: namespace1:subnamespace) or a relative path (ex: .:subnamespace). If no path is specified, the current namespace is selected.
  • -option may be one of the following (it is possible to specify several options):
Common options
-subns
displays the subnamespaces of the selected namespace (and provide links to their main page)
-nopages
do not list the pages of the selected namespace (of course this option is useful only if you use -subns)
-exclude:nameOfPage
won't include the page nameOfPage. This option may be use several times in order to exclude several pages
-exclude:subNs:
won't include the subnamespace subNs. This option may also be used more than once
-exclude
won't include the current page
-h1
will display the first h1 title found. If a page doesn't contain such a title, the name of the page is used instead
-textPages="some text"
some text will be displayed instead of the default text, to introduce the pages list
-textNS="some text"
some text will be displayed instead of the default text, to introduce the namespaces list
-title
alias of -h1
-simpleList
display the list on a single column
-numberedList
display the list on a single column, as an ordered list
-simpleLine
display the list on a single line (incompatible with -simpleList)
-simpleLineBreak
display the list on a single column, separated only by line breaks (incompatible with the previous flags)
-usePictures
display the first image of each page
-nbCol=3
Change the number of columns to use (default is 3)
-sortId
Sort the pages according to their id, even if -title is used
Less common options
-reverse
Sort the pages in reverse order
-naturalOrder
Sort the pages in natural order
-sortByDate
Sort the pages by date of last modification
-sortByCreationDate
Sort the pages by date of creation
-pagesInNs
The pages will appear among the namespaces
-r
recurse : display elements of the subnamespaces. You may use just -r to check every subnamespace, or e.g. -r=3 to have a depth limit to 3 levels
-exclude:[page1 subNs: page2]
an easier syntax to exclude several pages/subnamespaces
-pregPagesOn
-pregPagesOff
-pregNSOn
-pregNSOff
Enable the use of regex to select the documents that should be displayed. Eg: -pregPagesOn=“/doku/i” will display only pages which contains “doku” in their id.
Several options may be used, and each of them may be used several times.
-pregPagesTitleOn
-pregPagesTitleOff
-pregNsTitleOn
-pregNsTitleOff
Behaves like -pregPagesOn and -pregPagesOff & Co, but filters on the title (instead of the id).
-anchorName=myName
Add anchors on each title-letters, to let link directly to them. Anchors will look like, e.g. for the letter A: nspages_myName_A
-actualTitle
print an actual html title (not just a bold and underlined text)
-actualTitle=n
print an actual html title <hn>
-idAndTitle
Use the format “id of the item - title of the item”
-nbItemsMax=n
Display at most n pages or subnamespaces
-hideNoPages
Hide page header and “no pages” message if no pages present
-hideNoSubns
Hide subnamespace header and “no subnamespace” message if no subns present
-defaultPicture
Specify the picture to display when -usePictures is used and a page doesn't contain any picture. Can be used to point at either a local file (
-defaultPicture="{{:my:picture.png}}"

) or remote one (

-defaultPicture="https://some/picture.png"

)

-showhidden
Include pages that are normally excluded from search with the hidepages config parameter. Useful for creating table of contents for hidden namespaces.

ex: <nspages path_to_a_namespace -exclude> or <nspages -subns -nopages> will work.

Installation

Search and install the plugin using the Extension Manager. Refer to Plugins on how to install plugins manually.

Some (important) points

  • With version older than 2014-08-10, you should put ~~NOCACHE~~ in the pages where you use this plugin, to make sure that if you create or remove a page in the namespace, it will be taken into account. Now, nspages automatically deactivate the cache on the pages where it is used (you can deactivate this behaviour on the admin panel).
  • The CSS sheet should be taken into account in order for this plugin to work correctly; but because of the cache system it may not be the case the first time you use this plugin (even if ~~NOCACHE~~ is specified). The easier way to resolve this is to make sure your cache is invalidated by touching conf/local.php (eg. by resaving your configuration)
  • Currently, you may not use a '>' in the -textPages and -textNS options, since it is understood as the end of the <nspages> tag
  • When you change the default markup inserted by the toolbar button (throught the admin dashboard), you may need to purge your caches to have this change taken into effect (see also the bug report):
    • Clean the cache of you DokuWiki
    • Force your browser to reload it's cache, typically by pressing Ctrl+F5, or Shift+F5

Charityware

nspages is a personal open source project started in 2008. I have put hundreds of hours to maintain and enhance it.

It is provided as a charityware. It can be downloaded and installed at no charge. If you found it useful and would like to support its development, you may make a donation to a non-profit charitable organization.

To who

The preference goes to the World Wildlife Fund (WWF) because the are both protecting biodiversity and fighting climate change effectively.

If it isn't possible, any association acting for the environment would do the trick.

How

Forwarding me (address available at the top of the page) the confirmation email you send or receive will ensure your kind gesture will motivate me to continue developing this software.

I can't give money

Making sure you have a positive impact would already be awesome:

  • Volunteer to an NGO near you. Give some of your time
  • Ride you bike instead of taking your car
  • Buy local organic food
  • Use a reusable bag and stop using plastic straws
  • Plant trees
  • Take only what you need, not what you can
plugin/nspages.1530734548.txt.gz · Last modified: 2018-07-04 22:02 by gturri

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki