Module:Changelog/doc

From Deadlock Wiki
Revision as of 19:49, 8 October 2024 by Sur (talk | contribs) (how to edit changelogs section)
Jump to navigation Jump to search

This is the documentation page for Module:Changelog

Overview

Generates changelog lines from data pages such as Data:Changelog_05-03-2024.json

How to edit changelogs

Each changelogs should be exactly as written on the forum post, so edits are rarely justified, below are some exceptions

  • Typos by the poster should have
    {{sic}}
    added so that readers know it was intentionally written verbosely by the wiki
  • While the written portion should be 1:1, sometimes an Ability name is old, or hyperlinks in the PageRef template calls are unnecessarily broken
    • For the line "Shadow Explosion now deals ...", note that the ability is now called "Shadow Transformation", meaning it was not picked up by the backend to have it be
      "{{PageRef|Shadow Transformation}} now deals...
      , as such, edit the line in the data page (browse changelog data pages at Changelog_Data (WIP)) to be
      "{{PageRef|Shadow Transformation|alt=Shadow Explosion}} now deals..."
    • This will then appear as Shadow Transformation, allowing the icon and hyperlink to Shadow Transformation page to function, while still showing it 1:1 as "Shadow Explosion"

Invokes

Invokes are callable by wikitext, i.e.

{{#invoke|Changelog|invokable_name|param1|paramN}}

test

not a final invoke, just used for testing purposes right now

Functions

Functions are callable by lua modules, i.e.

function_name(param1, paramN)

date_tag_to_lines

Given the data of a changelog and a specific tag, output the lines / bullet points of that changelog that pertain to that tag.

Parameters

  • date - Date of the changelog, in the format 05-03-2024
  • tag - Tag to search relevant changelogs for

Examples

For use in 1 row of Abrams/Update history

date_tag_to_lines('05-03-2024','Abrams')

Outputs

Lua error: bad argument #1 to 'mw.loadJsonData' ('Data:Changelog Dates.json' is not a valid JSON page).


For use on Heroes/Update history

date_tag_to_lines('05-03-2024','Heroes')

Outputs

Lua error: bad argument #1 to 'mw.loadJsonData' ('Data:Changelog Dates.json' is not a valid JSON page).

Notes

To see list of all tags, see Changelog Tags (WIP). To see all tags that aren't individual entities, see Changelogs (WIP). More notes will also be at these pages, not just a list of tags.

What are tags?

Each line in a changelog is parsed to have certain tags assigned to it. For example, if the forum post looks like Heroes: - Abrams: Shoulder Bash blah blah

The "Abrams: Shoulder Bash blah blah" line will be assigned tags, 'Shoulder Bash' since its named explicitly, and therefore 'Abilities', 'Abrams', and 'Heroes'. This will make this line added to all changelogs on pages Abrams/Update history, Shoulder Bash/Update history, Abilities/Update history, and Heroes/Update history.

Similarly, for the line "Warp Stone: Distance traveled blah blah", the tags assigned would be 'Warp Stone' since its named explicitly, along with the tags 'Items' and 'Weapon Items'.

Todo

Backend

  • Replace hyphens with asterisk to be bullet pointed by wikitext
  • Output list of all group-tags (Heroes, Abilities, Weapon Items, etc.)
  • Add functionality for a 'Weapon' tag maybe?
  • Don't remove the prefix "Mo & Krill: " from lines such as "No longer listed as a recommended new player hero" as it prevents the ability to determine the hero on pages other than Mo and Krill/Update history. Is this prefix removal necessary?
  • Switch
    {{Icon}} with {{PageRef}}
  • Find a non-inefficient way to expand {Icon}/{PageRef} templates for the icon and reference
  • Finish tag assignment logic to fix instances of "- Charge Shot damage increased from 95 to 105" only being assigned tags 'Heroes' and 'Grey Talon' but not 'Charge Shot' or 'Abilities'.

Frontend

  • Create a more generic icon template Template:PageRef for svg's with color inverting depending on light/dark mode, only parameter should be the entity name like 'Abrams', 'Hook', or 'Basic Magazine'.
  • Make a navbar for group-tags to be presented on Changelogs
  • Make a lua function to retrieve list of tags for Changelog Tags, no nav bar needed, this page is only really useful for editors, not viewers