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
Old | New |
---|---|
abilities | customTags |
tags | customReferencedTags |
hiddentags | customHiddenTags |
link | customHearthpwnId |
abilities | customTags |
tags | customReferencedTags |
hiddentags | customHiddenTags |
exclusions | customExclusions |
original_ver | customOriginalDbfId |
core_ver | customCoreDbfId |
classic_ver | customClassicDbfId |
relatedcards | customRelatedCardsDbfId |
choicecards | customChoiceCardsDbfId |
category | customCategory |
- 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
andarticleGallery
. Instead of putting card art in Gallery section, you can put it incustomFullArt
(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 (Cariel boss).
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:
- Hearthstone Wiki:Project 1/new: This page lists all cards from official data that haven't been used yet in our Wiki (or at least, yes but they didn't assign dbfIds yet)
- Hearthstone Wiki:Project 1/old: This page lists all card articles of our Wiki that haven't assigned any dbfIds yet.
What you need to do for me is:
- Create a data file (.txt, .csv,... or anything), list all card articles and the
dbfId
s 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. - 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.