Module:Changelog/doc

From Deadlock Wiki
Revision as of 19:35, 8 October 2024 by Sur (talk | contribs) (more info added to todo, and new article 'What are tags?')
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

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?
  • 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