Hearthstone Wiki:Project 1

From Hearthstone Wiki
Jump to navigation Jump to search
Project #1: Card infobox to Card template
Completed
Author: Use25
Working: Use25

Use Card template instead of Card infobox

Ever since Mercenaries was released, I was trying to find a way to organize thousands of card articles without having to manually create data by ourshelves. You see, Patch 21.4.0.95431 striked us with over 2000 new cards at once, not to mention that Mercenaries cards were involved in too many related data (Equipments, Abilities for each Mercenary for example). The wiki was also taking advantage of the most powerful database tool ever, Cargo, very poorly. If this was used at its full potential, we would save tons of time managing the card articles, especially articles with a summary or statistic table, like Card set.

I was considering this through very carefully, I would like to officially revamp all card articles. From now on, all card articles will use {{Card template}} instead of {{Card infobox}}. {{Card template}} is an extremely powerful template that basically creates an infobox AND a formatted paragraph for you, as long as you have data officially imported and stored in Template:CardsOfficial2 table. This table is imported directly from Hearthstone data (How to import? I will explain it in another article. For now, I will try to import the data as much as possible each time a new patch is released.). That also means, in the future, we won't have to create any more data pages like Data:Cards/"Confiscated" Goods(92518) anymore.

What is a card template?

I put a guide of what you need to know and how to edit this template here: Help:Style guide/Card.

{{Card template}} features a lot of pre-coded layouts. You can manually declare a layout to use using articleLayout, or just leave it empty to let the template decide. It will take a look at setsId and typeId of the card to consider the layout. If you want to test what bugs may cause the template not to function properly, use |articleLayout=debug to check it.

What to do

Rename parameters

While we are going to revamp the card articles, I also want to take this opportunity to rename some of current parameters to tell the idea how they serve the information better, as well as remove some unnecessary parameters.

While this can be easily done with AutoWikiBrowser, I want to inform this to you guys so that returning editors will at least know what has changed since they left.

Parameters to remove
  • data_page
  • targetpage
  • has_diamond
  • current
  • devonly
  • chosenfrom
Renamed parameters
OldNew
abilitiescustomTags
tagscustomReferencedTags
hiddentagscustomHiddenTags
linkcustomHearthpwnId
abilitiescustomTags
tagscustomReferencedTags
hiddentagscustomHiddenTags
exclusionscustomExclusions
original_vercustomOriginalDbfId
core_vercustomCoreDbfId
classic_vercustomClassicDbfId
relatedcardscustomRelatedCardsDbfId
choicecardscustomChoiceCardsDbfId
categorycustomCategory
  • customHearthpwnId will now store only the id, not the full sublink anymore. For example, you would store 123 instead of /cards/123-card-name.
  • Everything else works exactly like we used to know.
  • I renamed these parameters to distinguish custom parameters, which are added by us, from official data's parameters.
  • abilities was renamed in order not to confuse with abilities from Mercenaries.
  • All parameters that are not in official data should start with custom from now on.
  • All parameters that depict a list of ids or integers should have its delimiter as &&.

Put article content into according article parameters

For example, usually we write the Lore section like this:

==Lore==
{{fromwow}}
:''{{wow|Caria Felsoul}} was a [[Night elf art|night elf]] [[demon hunter]] and one of [[Illidan Stormrage|Illidan]]'s most cunning pupils. Though held in regard as one of the most cunning and adept demon hunters of the {{wow|Illidari}} Caria would ultimately turn against them by joining the {{wow|Burning Legion}}, enticed by their promises of power. Impressed by her skill, {{wow|Kil'jaeden}} granted her the famous [[Aldrachi Warblades]]. During the {{wow|Battle for the Broken Shore}}, Caria was summoned by [[Gul'dan]] to the {{wow|Tomb of Sargeras}}.

Now we put it into articleLore parameter inside {{Card template}}, like this:

|articleLore={{fromwow}}
:''{{wow|Caria Felsoul}} was a [[Night elf art|night elf]] [[demon hunter]] and one of [[Illidan Stormrage|Illidan]]'s most cunning pupils. Though held in regard as one of the most cunning and adept demon hunters of the {{wow|Illidari}} Caria would ultimately turn against them by joining the {{wow|Burning Legion}}, enticed by their promises of power. Impressed by her skill, {{wow|Kil'jaeden}} granted her the famous [[Aldrachi Warblades]]. During the {{wow|Battle for the Broken Shore}}, Caria was summoned by [[Gul'dan]] to the {{wow|Tomb of Sargeras}}.
  • These sections should apply the same: How to get, Notes, Sounds, Achievements, History, Lore, Trivia, Gallery.
  • Gallery section will have two parts: customFullArt and articleGallery. Instead of putting card art in Gallery section, you can put it in customFullArt (for querying purposes). articleGallery can be used for something like concept arts, sketch arts, etc,...

Too lazy to put article content?

You can just write |articleCustom=<nowiki> </nowiki> to prevent the template from using pre-coded layout formats, though I wouldn't recommend this though, especially after you manually edit. However, if you wish to use a format entirely, it's perfectly fine to do like this. For example, many boss card articles like  Tamsin Roame.

About Patch changes section

From this now on, this section will also be automatic like How to get section. To clarify, all card changes and bug fixes will now be stored in {{CardChange table}} instead. I will also write a documentation how to edit there. Most of time, I will use a special method to compare card data (or tables) between two patches, then store them in that template.

Progress

By March 13, 2022, ALL collectible cards, uncollectible cards related to them, Battlegrounds, Duels, and Mercenaries cards have been revamped to use {{Card template}} instead of {{Card infobox}}. This also means that they now have dbfId and id attached, which are the official Ids from Blizzard's database. Without these 2 attributes, it would be extremely hard to manage our database (as well as tracking hidden changes).

The only cards remaining I haven't revamped yet are boss cards, Tavern Brawl cards, Credits cards and some of old removed cards. They all don't have any ids, so it will be hard to detect the right dbfIds from official data.

I've created two pages:

What you need to do for me is:

  1. Create a data file (.txt, .csv,... or anything), list all card articles and the dbfIds you want to assign. The structure of each row in that file can be something like this:
    |<article name>=<dbfId>

    You can see an example like Template:Use25/dbfId.
  2. Send that file to me (preferably on Discord: https://discord.gg/pJCYXfuaDs)

The two pages will help you in writing this kind of data. There are over 2700 articles left, so I expect it will take quite a long time to finish.

Examples