Extension:StructuredNavigation
StructuredNavigation Release status: stable |
|
---|---|
![]() |
|
Implementation | ContentHandler , Tag |
Description | Allows creating machine-readable navigation templates |
Author(s) | |
Latest version | 2.0.0 |
MediaWiki | 1.34+ |
Database changes | No |
License | MIT License |
Download | |
|
|
|
|
Translate the StructuredNavigation extension if it is available at translatewiki.net | |
The StructuredNavigation extension allows users to create machine-readable navigation templates.
Installation[edit]
- Download and place the file(s) in a directory called
StructuredNavigation
in yourextensions/
folder. - Only when installing from git run Composer to install PHP dependencies, by issuing
composer install --no-dev
in the extension directory. (See task T173141 for potential complications.) - Add the following code at the bottom of your LocalSettings.php:
wfLoadExtension( 'StructuredNavigation' );
Done – Navigate to Special:Version on your wiki to verify that the extension is successfully installed.
Usage[edit]
You can play with an example in /docs/examples
(from the source code repository). For this example, let's try using wikipedia-en-dontnod-entertainment.json
.
- Create a new page at
Navigation:Dontnod Entertainment
, import the JSON into that page, then save your edit. - At a separate wikitext page, add
<mw-navigation title="Dontnod Entertainment">
and press save.
History[edit]
In December 2018, I thought that creating navigations were annoying, especially considering every wiki had a different way of creating those navigations. This resulted in me creating the StructuredNavigation extension. However, there are some pitfalls:
- This XKCD is really relevant here: https://xkcd.com/927/
- Currently, there is no caching in place
- There is no warning yet if you try delete a navigation and it's currently embedded on existing pages
- As far as I know for, since the content is written in JSON:
- It's currently impossible to add categories to the navigation page itself when it exists in the Navigation namespace.
- all the links (as far as I know) are not tracked in the pagelinks table. This in turn, makes links in a navigation not included/considered in the following:
- Special pages: Special:WhatLinksHere, Special:MostLinked, Special:LonelyPages, Special:DeadendPages(?), Special:Export(?), Special:WantedPages(?)
- API modules: API:Alllinks, API:Backlinks, API:Links
- There is no custom visual editor/UI to edit these navigations, which may pose difficulties to editors who are not familiar with JSON
This extension is still stable and currently works. Please note that this extension is free and open source, and I only work on this extension when I have free time. However, if you like this extension and enjoy using it, or have any feedback, please let me know and post them on the discussion page. Thank you!
- Stable extensions
- ContentHandler extensions
- Tag extensions
- MIT licensed extensions
- Extensions in Wikimedia version control
- BeforeDisplayNoArticleText extensions
- CodeEditorGetPageLanguage extensions
- ParserFirstCallInit extensions
- UserGetReservedNames extensions
- All extensions
- Extensions requiring Composer with git