Extension:StructuredNavigation

The StructuredNavigation extension allows users to create machine-readable navigation templates.

Usage
You can play with an example in (from the source code repository). For this example, let's try using.


 * 1) Create a new page at , import the JSON into that page, then save your edit.
 * 2) At a separate wikitext page, add   and press save.

History
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 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!