Hearthstone Wiki:Editor's Handbook

From Hearthstone Wiki
Jump to navigation Jump to search
"Our work now shapes the wiki as we know it."

Welcome to the Editor's Handbook. This page aims to help new editors learn how the wiki works, and to provide a useful reference for more experienced editors. The first part of the page comprises an overview of the basic systems on the wiki, while the second part provides step by step guides for performing common tasks.

Some things to bear in mind:

  • The guidelines on this page are not rules; they document current working practices on the wiki, and where appropriate provide explanations for these conventions.
  • While this page aims to be up to date, wiki conventions tend to evolve over time, meaning this handbook has the potential to grow out of date. In many cases, the simplest method for adhering to conventions is to check those in place on similar pages. However, this page offers more extensive listings for many current conventions, as well as explanations for their design.
  • This page can also provide a good grounding in the wiki's overall data system. However, in many cases learning is better achieved through exploring current pages and examining the systems in place.

While this guide can help editors learn to perform various maintenance tasks on the wiki, in case of problems, feel free to post a message on the talk page for the article in question, or for more general topics, the Community noticeboard. For problems that require admin actions, use the Admin noticeboard.

For a style guide and basic editing tips, see Help:Style guide.

Editing[edit source]

Before we begin, here is the Wiki editing template, as you may be looking for other pages regarding editing:

How it works[edit source]

Cards[edit source]

Cards are represented on the wiki through two types of pages, the content page and the card image or images, as well as cargo tables.

Content pages[edit source]

Content pages are the normal card pages as seen on the wiki. Each content page calls {{Card template v2}} to display the image/s and basic information for the card, shown at the top-right of the article. This information is primarily drawn from cargo tables, and often some values provided through the {{Card template v2}} template itself at the top of the content page. The cargo tables and images are stored separately in their own pages.

For information on {{Card template v2}}, see below.

Images[edit source]

The wiki stores images for all cards, as well as many other things. While images in general have no strict system, card images do.

By default, each card accesses appropriate images based on file name. This is precisely the same as the ID of the card. For example,  Drek'Thar, a card with the ID AV_100 (shown on the bottom of the Card template), has the corresponding image AV_100.png. Images are often uploaded by admins using tools, but missing images can be uploaded directly from the Firestone API, using this link: https://static.firestoneapp.com/cards/enUS/512/id.png where the id.png is replaced with the card ID, e.g. AV_100.png.

Different types of links are used for e.g. Battlegrounds images and different qualities of card, so use whichever is appropriate:

https://static.firestoneapp.com/cards/enUS/512/id.png https://static.firestoneapp.com/cards/enUS/512/id_golden.png https://static.firestoneapp.com/cards/enUS/512/id_diamond.png https://static.firestoneapp.com/cards/enUS/512/id_signature.png https://static.firestoneapp.com/cards/bgs/enUS/512/id.png https://static.firestoneapp.com/cards/bgs/enUS/512/id_golden.png

If you see anything wrong with images and aren't sure what to do, you can always inform admins in the talk pages of any article.

Cargo tables[edit source]

Cargo tables are complex storing tables that use the extension Cargo. Cargo tables are used to store most of the technical data on the wiki. Most cargo tables are updated automatically by tools only available to admins, but some cargo tables require manual inputs. Those cargo tables are explored in sections below.

If you are completely unfamiliar with cargo tables, or don't know exactly what you're doing, please inform admins at the Community portal, Admin noticeboard, or the Discord, so they can correct any wrong data instead of trying to do it yourself.

For cards, their data is mainly taken from 4 different tables: {{Card table}}, {{CardTag table}}, {{DerivedCard table}}, and {{CustomCard table}}. Card and CardTag tables receive their data entirely from Blizzard's API, and these should not be edited outside regular table updates in almost any circumstances. DerivedCard is a table with keys that have default values based on the official data we get. These values can be edited, but it is recommended to keep them at their default values. CustomCard is a table with completely made-up keys that are non-existent or unrelated to official data, but prove to be useful. You can edit these keys freely without being afraid of disrupting official data.

Most cargo data is not edited by directly going to the cargo page itself, but rather by using templates. For example CustomCard data is edited by going to a card's page, such as  Drek'Thar, and changing one of the parameters in the Card template that features the word custom, such as custom_mechanicTags. These values are then stored into the CustomCard table through the Card template.

Card types[edit source]

The wiki definition of a 'card' is much broader than the game definition. For wiki purposes, a 'card' includes: cards, Mercenaries, Hero Powers, heroes (including bosses), enchantments. All of these are treated as cards by the wiki, complete with content and usually images, but with some differences.

While most cards are currently in the game, some are either upcoming or removed, which again affects how they are handled on the wiki.

The main differences for these types are summarised below. Adding new cards provides a detailed guide to creating cards of most of these types; those not covered in that guide have links of their own in their sections.

Upcoming and removed[edit source]

Cards are frequently added to the wiki following reveals for new content, long before they are added to the live game itself. Similarly, the wiki documents some removed cards, which are not in the current game. Upcoming cards are handled by admins using {{CardsOfficial table/upcoming}}, and removed cards are done manually using cargo tables. Upcoming cards can be seen in card lists even when they haven't been released yet, while removed cards are usually confined to Removed card.

Boss and Tavern Brawl cards[edit source]

Cards exclusive to adventures and Tavern Brawls use {{DerivedCard table}}'s format value to keep them separate from cards available in regular play. They are listed separately, on pages like Boss card and Tavern Brawl card, and have their own content page conventions, mostly referring readers to the main encounter or Brawl page.

Card template v2[edit source]

{{Card template v2}} is the template that allows cards to be recognised as cards by the wiki, and thus included in listings and searches, and is one of the most central and important on the site. It is used to integrate cargo tables and images into each card content page, as well as to display the infobox itself. It also sets numerous values which will decide how the card is sorted and tagged. It is included at the top of every card content page.

The template transcludes the contents of the associated cargo tables, adds the page to a number of important categories, and renders the visual infobox itself, displaying various information and images for the card. The data and categories added by this template then allow the card to be sorted and searched for by listings templates.

It is often necessary to pass arguments directly to the template, primarily to add certain types of information not included in the automatic Card and CardTag cargo tables, such as tags.

A guide to some of the key points is provided below. For additional details on the template's function, see {{Card template v2}} and Help:Style guide/Card.

Parameters[edit source]

Data displayed in card infoboxes (called through {{Card template v2}}) is a combination of the data on cargo tables, and specific parameters passed through {{Card template v2}} via the content page itself. For full listings of parameters, see {{Card template v2}}.

Arguments passed from the content page can be used to override or add to data to the cargo tables, but more importantly can be used for certain purposes which cannot be achieved through the data page, but only through the content page. Data-type parameters often used on regular cards include:

|custom_onBlizzardApi=1 |custom_racesInArt= |custom_races= |custom_mechanicTags= |custom_refTags= |custom_hiddenTags= |derived_relatedCardDbfIds=

And article-type parameters often include:

|article_notes= |article_tipsUsing= |article_tipsAgainst= |article_history= |article_lore= |article_trivia |article_gallery=

For more detailed instructions, see Help:Style guide/Card.

Article sections[edit source]

If a custom layout on a card is not used, article sections are also generated through the Card template itself. For example, if you want to add a Lore section to an article, you should add the parameter article_lore to the Card template. Most cards from late 2021 and onwards do not use custom layouts for card articles, meaning sections should be added like this.

For more detailed instructions, see Help:Style guide/Card.

MechanicTags, refTags, and hiddenTags[edit source]

MechanicTags, refTags, and hiddenTags are three different types of properties that can be set through {{Card template v2}}.

As a rule:

  • MechanicTags are active things the card does. This chiefly includes keywords like Charge and Battlecry, but can also include things like draw cards and restore Health.
  • refTags are groupings and labels appropriate to the card. These primarily describe the type of things the card does, or how it does them, for example triggered effect, random and area of effect. All "-related" and "-generating" labels are tags, such as Secret-related or Dragon-generating.
  • hiddenTags are for internal wiki purposes, and are not shown to readers. Hiddentags are used primarily to sort within tags, such as different type of triggered effect, without cluttering the infobox or confusing readers; this allows cards to be listed in multiple separate tables, or only cards of a specific subtype to be listed. Hiddentags are rarely needed, and should be used sparingly. Since they are not displayed, and because the divisions are often numerous, hiddentags are often lengthy, and care must be taken to match the wording precisely.

For all three types, it is important that all examples use the precise same wording; cards will otherwise fail to appear in list and tables. The best way to find the right terms is to check similar cards. However, be careful only to copy those terms which are appropriate. For example, as a healing card  Reno Jackson uses the "Restore Health" ability, but the "Health-related" tag is specific to his behaviour (restoring an amount of Health equal to the character's maximum Health value), and is not shared with most other healing effects.

With the addition of new cards and divisions, it is occasionally necessary to add new terms. If doing so, try to match the phrasing of existing terms as much as possible. All current abilities and tags should be listed on Abilities, and abilities in {{Game terms}}.

For more detailed instructions, see both Help:Style guide/Card and Help:Style guide/Tag.

Listings[edit source]

The wiki lists cards in several ways, based on a variety of user-specified search parameters. Most are automated, based on the properties set for each card through cargo tables and {{Card template v2}}. This is useful because it allows lists to update themselves as cards are added or removed from the relevant lists, without needing maintenance.

Therefore, as a rule, to add or remove a card from a list, simply edit the properties for that card, rather than the list. Whereas to change the nature or parameters for the search itself, edit the list. For information on adding properties through the content page, see Card template v2.

Several different templates are used for lists, depending on the situation. The most common template is {{Card query}}, which combines a visual and table display. Cards can also be listed only visually or only in tables.

As a rule, {{Card}} is useful for listing individual cards, or short lists that will not or must not change. If the list is expected or desired to change over time, an automated list should be used, so that the display will update itself without needing maintenance.

Visual[edit source]

Visual displays lack the sorting capabilities of tables, but present cards visually for quicker recognition and full representation.

Card images can be visually listed manually through {{Card}}. For example, {{Card|Acolyte of Pain}} produces:


Acolyte of Pain

Card query[edit source]

The main approach used for listings is {{Card query}}, makes use of cargo tables to produce visual or table listings of cards.

For example, the following query:

{{Card query|layout=image|format=Standard|cost=6|attack=6|rarities=Legendary|collectible=Yes}}

lists cards using an image layout, in Standard, that cost 6, have 6 attack, are Legendary in rarity, and are collectible. It would produce a visualization like this:


Swipe left or right to see the cards.
YOG 530.png
TOY 830.png
WW 421.png
ETC 386.png

Card query has many parameters that can be edited to list almost any group of cards. More information can be seen at {{Card query}}.

Artists[edit source]

Artists and artist data are sorted on the wiki much like cards.

Each card page has a defined artist, taken from official Blizzard data and stored in {{DerivedCard table}}. Although some cards may not have an artist stored, and can be set in {{Card template v2}} using derived_artist.

Each individual artist has their own page, which uses {{Artist article cards}} to search for all cards tagged for that artist, and display them.

Finally, Artist displays a series of tables listing card counts for each artist on the wiki, based on the values generated by the individual artist pages.

Unknown artist lists all cards without a specific artist set, useful for finding cards that are yet to be credited to the artist responsible.

Voice actors[edit source]

Voice actors use a very similar system to that for artists. For an overview, see Artists.

The only differences are the specific templates and pages: card pages use custom_voiceActor, individual voice actor pages use {{Voice actor article cards}}, and the number of credits for each actor are collated on Voice actor.

There is no equivalent "Unknown voice actor" article, since the voice actors are currently unknown for the vast majority of cards, and this is likely to remain the case.

Card art[edit source]

Full art for each card is displayed in the "Gallery" section, if available. This is uploaded to the wiki whenever possible, usually following the format "File:NAME full" preferably as a jpg. The file itself should be documented using {{Card artwork}}.

The various card art subpages list all regular cards featuring characters or creatures of the stated race or type. Card art is categorised in two ways:

For example,  Wilfred Fizzlebang is included in Category:Gnomes (for Fizzlebang himself) and Category:Demon art (for the large demon shown standing behind him); while  Mind Blast is included in Category:Gnome art and Category:Forsaken art.

Note that card art categories do not always match minion type, but are based on the underlying lore. For example,  Wrathion is a well-known dragon, but is not of the Dragon minion type. Consequently he is not listed on Dragon, but is included in Category:Dragons, and thus listed on Dragon art.

Categories to cards can be added by including custom_races to set the card's race(s), and custom_racesInArt to set the races seen in the art. For example,  Mind Blast has custom_racesInArt=Gnome&&Forsaken, giving it the categories Category:Gnome art and Category:Forsaken art.

Card art categories are based on what is visible within the art shown on the card itself, not the full art. They are also based on the regular version, rather than the golden, signature, or diamond versions, which are made separately and sometimes add additional characters. In both cases this is in order to reflect the main art seen within the game itself, which is also that shown in the card art pages' visual lists.

Not every race and type has its own art page. Category:Uncategorised art is used for others, as well as for characters of uncertain race. This makes it easier for editors to later find such cards when creating new pages in the future.

For further policy discussions, see Talk:Card art.

Hidden sections[edit source]

A few specific types of section are hidden by default, with readers able to click to expand the section if desired:

the example section
You lookin' at me, punk?

Such sections are usually confined to a few specific articles and templates, but can be appropriate for lengthy, optional content, such as in Mean Streets of Gadgetzan#Narrative, where they can provide a far more accessible alternative to creating a separate page.

The sections are implemented through divs. For example, the above section was created using the following template:

{{Collapsible|the example section|
[[File: Big-Time Racketeer full.jpg|thumb|center|400px|You lookin' at me, punk?]]
}}

References[edit source]

When including information that is not readily apparent, or directly observable in the game itself, references should be used to cite the source of the information, like this:

This statement needs a citation.<ref>[http://www.website.com/page.html Article about subject]</ref>

Any page with references must have a "References" section to the bottom of the page to display all those references cited on the page, like this:

==References==
{{reflist}}

For cards, this section may be added automatically if they do not use a custom layout.

Adding good references can be made more convenient through certain templates, such as {{cite web}}, {{cw}} and {{tw}}. See individual template pages for details.

How to[edit source]

New patches[edit source]

Updates are periodically made to Hearthstone through patches. All patches and patch changes should be documented. Patches are copied from Blizzard's official patch notes, while card changes are done either automatically by admins using {{CardChange table}}, or by inserting custom data into CardChange tables.

  • Create a new page at Patch X. Make sure the numbers are correct; they can be found in the launcher following the patch’s installation.
    • Copy the {{Patch infobox}} from a recent patch page, changing the values to represent the new patch.
  • Official patch notes should be available from the official site. Copy/paste this into the "Patch notes" section, preferably using VisualEditor's source mode, since this can convert the styling into a more wiki-appropriate design.
  • Add [[Category:Patches]] and {{Patches}} to the bottom of the page.
    • If the patch is the first of a new release era, go to {{Patches}} and add a new section for the new expansion, following previous examples on the template.
  • Create a new patch template. Open the template for a recent patch (e.g. {{Patch 28.0.0.189017}}) and copy it into a template for the new patch number, taking care to replace relevant data.
  • Card changes that change values on cards, such as their attack, cost, name, artist, etc., are handled automatically using {{CardChange table}} by admins.
    • Bug fixes and other changes that aren't represented by data changes need to be manually declared. These can be done by creating a new template page, titled Template:CardChange table/<build>/custom (replacing the <build> with the 6-digit build number of the patch). For example, Template:CardChange table/189017/custom.
      • In this page, you can then add multiple templates like these: {{CardChange table|build=|dbfId=|type=|new=}} to represent the card changes. More information on what parameters you can use can be gound at {{CardChange table}}.
        • For example, a correctly added custom card change would look something like this: {{CardChange table|build=189017|dbfId=98361|type=custom|new=Fixed a bug with Omen’s Hero Power animation.}}
        • These changes will then be added to the card's page.
    • For broader changes to how a specific ability or card type works, these should be added to the ability or type page.
    • For changes to major systems or game modes, these should be added to the system/mode page.

Adding new cards[edit source]

Main article: Hearthstone Wiki:Boilerplates/Card

Usually, new cards are added automatically by admins using tools. However, older cards from 2021 and earlier may be missing from the wiki due to not having the proper tools we have today, and can be simply added using {{Card template v2}} and using the dbfId of the card.

Adding new Tavern Brawls[edit source]

Main article: Hearthstone Wiki:Boilerplates/New Tavern Brawl

Several steps need to be taken each week when the latest Tavern Brawl goes live. If the latest Tavern Brawl is entirely new, some additional steps need to be taken.

  • Tavern Brawl:
    • Tables:
    • Sections:
      • Move the current contents of the "Latest Tavern Brawl" section down into the "Previous Tavern Brawls" section.
      • If the Brawl is a repeat, find the matching section and move it up to the "Latest Tavern Brawl" section.
      • If the Brawl is new, a new section needs to be made for it. Copy that used for the latest Tavern Brawl and adjust it accordingly.
      • If the Brawl is new, download the official banner art and upload it for use in the Tavern Brawl article.
  • Individual Brawl article:
    • If the Brawl is a repeat:
      • Update the "History" section.
      • Check the article to make sure it’s up to date and reflects any changes to the Brawl since last time, and check if there’s anything that needs improving.
    • If the Brawl is new:
      • Create a new article, using that of a recent Tavern Brawl as a template.
      • Upload a clean screenshot of the Tavern Brawl screen this week. Match the size and style of previous screenshots.
  • {{Brawls}} template:
    • If the Brawl is new, add it to the Brawls template, in the appropriate section.
  • Brawl cards:
    • If the Brawl includes cards not already documented on the wiki, create pages for them. See Adding new cards.
    • Check through all related Tavern Brawl cards and make sure that they:

Every so often it will be necessary to dock the lists, to ensure the article doesn't become too lengthy.

  • Entries in the "History" section are not deleted, but are moved to the hidden "Older Tavern Brawls" section.
  • Specific Brawl sections can be moved down to below the start of the 'hidden section' comment.

New expansions[edit source]

Main article: Hearthstone Wiki:Boilerplates/Card set

All new cards and content for upcoming expansions should be added to the wiki as quickly as possible. The most important element is the cards themselves, but other content and information should also be added whenever possible.

Upcoming cards are handled using {{CardsOfficial table/upcoming}}, and the page for the set itself can be done using the boilerplate, linked above.

Changing card voicelines[edit source]

If you're on a card page and you think that its voicelines in the "Sounds" section are incorrect, or they're entirely missing and you want to add them, there are two options on how to add them:

  • Basic guide:
    • Visual editor:
      • Go to the card page, e.g.  Drek'Thar, then click on "Edit"
      • Click anywhere on the main body of the page, bringing up the "Generated from: Card template v2" popup. Click the "Edit" on this popup.
      • Scroll down on the left side of the window, where the fields are listed, and find the "sound transcript" fields.
      • Toggle open whichever one of these you're looking to change, then simply write the new transcript in the text box that opens up on the right.
    • Source editor:
      • Go to the card page, e.g.  Drek'Thar, then click on "Edit source"
      • Add a new parameter inside the {{Card template v2}} template, e.g. article_soundsTRANSCRIPT_attack, if you're looking to change the attack sound.
      • Type the new transcript into the parameter.
    • Hit "Save changes"
    • Any data added this way will not be immediately presented, but will be temporarily stored so that admins can place the transcripts in a storing table, after which they will be presented normally.
  • Advanced guide:
    • Go to the cargo storing table that contains the AudioText for that voiceline.
      • To find the correct table, you can use any page, such as a personal sandbox page, and input this text there: {{#cargo_query:tables=AudioText|where=file LIKE "%ID%"}}. (The page doesn't need to be saved, you can review your edit and see the results in the preview mode.) Of course, remember to replace the ID with the ID of the card, such as AV_100. It will then list all storing tables that have AudioText transcripts for that card.
        • If you want to search for one specific sound file instead of all sounds that card, you can simply replace the ID part with the sound file, e.g. VO_AV_100_Male_Orc_Play_01.wav
    • Edit the template in source mode, then CTRL+F to find the card using its ID (if you can't find it, it's in another table).
    • Edit the "text" parameter to add or correct the transcript.
    • If the card ID or sound you're looking for is truly nowhere to be seen in any of the tables (Cargo query returns no results), you can add it to {{AudioText table/custom1}} manually.
    • Data added this way will be immediately presented in the card article (after purging cache), but only do this if you know exactly what you're doing.

Adding "How to get" data[edit source]

Most data in the "How to get" sections of cards is presented automatically, but some need to be manually declared, such as log-in rewards.

  • Go to {{CustomReward table/store1}} or make a new storing page
  • Follow previous examples on the page, making a new {{CustomReward table}} template, filling the necessary sections.
  • If added correctly, it should now be displayed on the card page after purging cache.
  • As with other cargo tables, only do this if you know exactly what you're doing.

Adding achievements[edit source]

Adding achievements to card pages from 2023 onwards is done using {{CustomAchievement table}}.

  • Go to a storing page, e.g. {{CustomAchievement table/store1}}
  • Follow previous examples on the page, making new {{CustomAchievement table}} templates, adding the Achievement ID and any dbfIds of cards that relate to that achievement.
    • As a note, if for example an achievement relates to a keyword, don't list every single card using that keyword.
    • Instead, if a card references a single card or a small group of cards that is not expected to change in the future, use those dbfIds instead.
  • The Achievement IDs can be seen if you go to your preferences -> Gadgets -> Enable AdvancedEditor, then go to an achievement listing page such as Achievement/Gameplay - Titans, and you will see the ID next to the achievement's name.

Making disambiguation pages[edit source]

Disambiguation pages use {{Disambiguation template}}, which makes use of the custom_characs tag in {{Card template v2}}.

  • All parameters for the Disambiguation template can be seen at {{Disambiguation template}}, but the most used ones are card_charac, card_name, and shows_postfix. An example page using these 3 is Ambassador Faelin (disambiguation).
  • If there are multiple cards using the exact same name, that can be input in the card_name part for less manual work. This will add all cards with that exact name into the disambiguation page. On Ambassador Faelin's disambiguation page, that can be seen as all cards with the name "Ambassador Faelin" being listed, when card_name=Ambassador Faelin is inside the Disambiguation template.
    • Note that this is the name of the card, not the name of the page.
    • Multiple different names can be listed in card_name (separated by &&), if there is more than 1 name that is used multiple times, such as "Scabbs" and "Scabbs Cutterbutter".
      • This is where shows_postfix comes in. As you can see, each different Ambassadoor Faelin has a seperate tag in parentheses after the card name. This is taken from the page name, and helps greatly in making disambiguation pages look more organized. So shows_postfix should almost always be enabled. (by shows_postfix=1).
  • Finally is card_charac. This uses custom_characs on {{Card template v2}} and is used for any remaining cards that can't be easily added just by using the Disambiguation template. This includes all depictions of that character that don't use an exact name pattern such as Ambassador Faelin. For those cards, such as  Young Faelin, you can see that there is a custom_characs=Ambassador Faelin added into that card's Card template, which then allows it to be listed in the disambiguation page, when card_charac=Ambassador Faelin is used.
    • Note that custom_characs does not need to be added to cards that share a common name, such as every card named exactly "Ambassador Faelin", since card_name pulls all of those.

To find out which names are used a lot and could use a disambiguation page, you can use this query: {{#cargo_query:tables=Card|fields=Card.name, COUNT(Card.name)|group by=Card.name|order by=COUNT(*) DESC|limit=5000}} (Input that text into any page, such as a personal sandbox page. The page doesn't need to be saved, you can review your edit and see the results in the preview mode.) This will list the most used names on cards, and you can make new pages based on card names that are used a lot, but don't have a disambiguation page yet.

Ongoing maintenance[edit source]

Main article: Category:Wiki maintenance

The following is a list of some of the tasks involved in the ongoing maintenance of the wiki. Tasks are divided roughly by priority; this is not a strict breakdown but can help with prioritising. Most tasks are explained in more detail below; clicking on a task will take you to the appropriate section.

High priority[edit source]

Low priority[edit source]

  • Collect developer notes and trivia from Twitter, reddit, interviews and blogs.
  • Create pages for newly confirmed Team 5 members.
  • Update Team 5 pages for promotions, departures, etc.
  • Add information on upcoming features to In development, and update/remove older listings. (This is a surprisingly high traffic page, so an effort should be made to keep it reasonably up to date.)
  • Add major events to the Hearthstone timeline. One day your grandkids will thank you.
Miscellaneous/ongoing[edit source]
  • Patrol edits for vandalism and spam
  • Check for and correct errors