HopperWiki:Developer dashboard

From HopperWiki
Jump to navigation Jump to search

Front page

These are templates that transclude content into the flex boxes of the forward facing page, but they may also be used elsewhere.

Front page templates

News

The news ecosystem on HopperWiki involves a data page where news items are stored and curated in JavaScript as well as two templates one for external news about our author, and one for news about the wiki itself pull information from those data pages and display them on forward facing pages.

Relevant pages

See other relevant pages here.

Featured

The Featured ecosystem on HopperWiki is a lightweight, extensible system for dynamically highlighting featured content — such as a person, resource, or species — on the front page or elsewhere across the wiki.

Each featured theme (e.g. person, resource, species) is built using the same modular structure and consists of:

  • A base template namespace (e.g. Template:Featured person)
  • A set of subpages — one per featured item (e.g. Template:Featured person/Koutaro Ould Maeno)
  • A centralized Lua module (Module:Featured) which dynamically selects and renders the most recent entry based on a date header
  • A bullet-list style index page (e.g. Template:Featured person/index) that lists all subpages in the theme
  • An automatically updating archive page (e.g. Template:Featured person/archive) that shows all previously featured entries

How It Works

Each featured item subpage must begin with a metadata line indicating when it was featured:

<!-- date_featured=YYYY-MM-DD -->

Each subpage is listed in a theme-specific index page using bullet-point slugs:

* Koutaro Ould Maeno
* Jane Doe

The module reads this index, fetches each subpage, parses its date_featured, and selects the most recent one to render on the front page. The archive page uses the same data to list all previous featured entries.

Output Options

  • To display the most recent featured item:
{{#invoke:Featured|render|person}}
  • To display an archive of all featured items:
{{#invoke:Featured|render_archive|person}}

Substitute person with resource, species, or other configured types as needed.

Advantages

  • 🔄 Dynamic and automatic — just update the index and subpage
  • 🧱 Clean, modular structure per theme
  • 🧼 Keeps front page uncluttered while preserving full archives
  • ✍️ Friendly for both advanced editors and casual contributors

See Also

📦 Core Module and Shared Templates

👤 Featured Person

🦗 Featured Species

📚 Featured Resource

Interface pages

These are pages that have been designed as additional graphical interfaces to allow users to access material in a way that is pertinent to a specific interest group.

Sandboxes

Sandboxes

Page standards

All page standards on wiki

Quality control links

Native MediaWiki quality control

Custom HopperWiki quality control

Content creation from structured data

Main content management template summary here

Across each 'theme' on the wiki there is usually a Lua Module which contains all the functions pertaining to that theme. Then, depending on need, various templates can access and display the results of any combination of the functions stored in the module.

Species

Main Module

Module:Species

Cargo and infobox

Page content management

HopperWiki:Species content management

Person

Main Module

Module:Person

Cargo and infobox

Page content management

HopperWiki:Person content management

Geography

Main Module

Module:Geography

Cargo and infobox

Page content management

HopperWiki:Geography content management

Other

GeoJson namespace

The GeoJson namespace is a namespace on the wiki that stores GeoJson files for use with maps.

Organization

Per our current schema there are two types of organizations: child organizations ("normal" organization of the wiki), and parent organizations.

Main module

Data pages

  • Data:Department: This is where all Cargo information for data is stored as departments do not have independent pages.

Cargo and Infobox

Page content management

HopperWiki:Organization content management

Resource

Per our current schema there are two types hierarchical levels in this theme resources and subresources. Only some resources are composed of subresources and this is when a resources is composed of multiple files or video links, etc. The

Main module

Data pages

  • Data:Subresource This simple page holds the Cargo template calls for all the subresources (basically declaring the parent resource they belong to).

Cargo and Infobox

Page content management

HopperWiki:Resource content management

Modules that store custom Lua helper functions

Other helper modules

Page standards for themes