Using a custom tagging system

There are some limitations you face when using the default World Anvil article templates. You are unable to change the names of predetermined fields or alter the order in which they appear on the sidebar.   An alternative is to not use any of the fields on the article templates apart from the vignette (or 1st content-box) and the sidebar fields under the sections tab for your content. Instead of using tags and tagged links to display your sidebar information or similar stylings inside your main article content.  

Tags

Every article can be tagged with multiple tags, located either on the right-hand side of the default article view (under the save changes button) or under the navigation tab in the same editor. Please see the notes in the sidebar about how tags work and operate.  

Tagged Lists

A tagged list can form a list of all articles tagged with a specific tag, it can also display them as a block. They are written like this in the code editor [tagged:tag-name|list|Title] with tag-name replaced by your own tag and title with what you want the title to be, you can select none if you don't want a title. list can be swapped with block if that's more your style.   This CSS code below is to change the title and item sidebar content to look similar to the below. The Key refers to the tile and the value the item or items.  
.user-css .phrase-key {
  color:black;
}
.user-css .phrase-value {
  padding-bottom: 0px;
  margin-top: -2px;
  margin-bottom:2px;
}
 

Sidebar Content

You can display tagged lists in the sidebar the same way you can declare them in the main article content. The sidebar areas can be found under the sections tab of the article edit screen.   If you want something to display in the sidebar (or main content) that isn't a tagged list you can use this code structure --Title::Item-- where the title is the first line of text, usually with different styling and the second part is the item. You can have multiple items in a list like this, you have to separate them with [br] tags, making sure to not have any line breaks or it won't work.   You can make these look more similar to each other using some CSS, they will appear different on every theme by default. This is the CSS to 'shrink' the tagged list options down. The first rule is for the list format and the second rule is for the block format.  
.user-css .tagged-articles-list .tagged-articles-list-header {
  color: black;
  font-size: 1.1em;
  border-bottom: none !important;
  margin: 5px 0px -3px 0px;
  font-weight: 600;
  text-transform: none;
  padding-top: 0px;
}
.user-css .tagged-articles-list .article-panel {
  margin-bottom: 5px ;
  margin-top:5px;
  padding:5px;
}
 

Example Tagging System

This is a quick overview of an example tagging system you could use for your world or campaign. This is briefly touched upon in the sidebar and we will be expanding on this below. Please keep in mind this is just one example and making tweaks or leaving some things out may benefit your writing style much better.   We will be making several abbreviations in this section and these are listed here:
Location will become l, Professions will become p, Buildings will become b, Race will become r  
Locations
It might make sense for a location to be tagged with it's parent location and have that parent reference the child in a tagged list.   For example if Gloomhallow is located within The Dragontide Coast, then Gloomhallow should be tagged dragontide-coast-l. The Dragontide Coast would then feature a tagged list as such [tagged:dragontide-coast-l|list|Included Locations] which would then display a link to Gloomhallow.   Any future article tagged dragontide-coast-l would then automatically show up in this list. Any child articles would then feature a single link to the parent article in the sidebar using something like this --Parent Location::Dragontide Coast-- but linked using the mention system.   Buildings can be used in a similar fashion and you could still stick with the lowercase l abbreviation and add another layer or use a new abbreviation such as b. If a building The Mouldy Anchor is located within Gloomhallow then the Mouldy Anchor would be tagged gloomhallow-l and you can repeat the steps above to link parent and child.   Because buildings can generally be grouped by type, it can make sense to include this type in the tag so that those specific groups can be referenced in the parent articles. If The Mouldy Anchor is a tavern, then it could feature a tag like this gloomhallow-l-tavern. The parent article could then pull in all child locations with [tagged:gloomhallow-l|list|Included Buildings] OR just a list of the taverns using [tagged:gloomhallow-l-tavern|list|Taverns]  
Characters
Depending on what is important to you and your setting you may wish to define a character with a racial marker as well as a profession. These can both be combined with locations in their tags for more selective referencing if they apply.   In keeping with above examples, this character Arthur Redridge is the owner of the Mouldy Anchor tavern. They could then be tagged with gloomhallow-p-tavernkeep and a parent child relationship established as described above.   This character is a human, they could also be tagged gloomhallow-r-human. This method allows you to call all humans or all humans in Gloomhallow in a tagged list.  

Advanced

If you have many layers to your tagging then it may be necessary to come up with slightly more complicated webs of tags and tagged lists. Make sure you have a good understanding of the above before attempting to understand this section of the article.   If you want to reference a specific tag in many layers or iterations there are two techniques for doing this.   The first method is using quite long tags to encompass every layer, in this example we will be using the type first then the nested locations working largest to smallest. Using tavern-l-dragontide-coast-gloomhallow means that you can have all taverns with tavern-l, all taverns in the dragontide coast with tavern-l-dragontide-coast and all taverns in Gloomhallow with the full tag tavern-l-dragontide-coast-gloomhallow. The obvious downside is how long these tags could get.   The other way to do it is to use secondary grouping tags to group articles when necessary rather than an all in one solution. Using the same tagging system as mentioned in the locations section above, if you wanted to list all taverns located in the dragontide coast you couldn't but you could add another tag to any tavern in the dragontide coast such as dragontide-coast-l-tavern and then have that called as a tagged list on the dragontide coast article.

Warnings

A tagged list will pull in any tag that partly matches the request. A tagged list requesting the tag 'farm' would also pull in anything tagged 'farmer' for example.   Tags can not have spaces in them but they can feature other punctuation like hyphens and underscores  

Tips

When thinking about how to tag things, think about what kind of categories break your world up into sections and use those as tagging structures. For example in my world I tend to break things up by location, race and profession mostly.   Using the tag locationA-profession-blacksmith means that using tagged lists, you can target blacksmiths only in locationA or if you use just profession-blacksmith you would pull in blacksmiths from all locations (that follow this tagging rule).   Tags using this method can get a bit wordy so consider using abbreviations where possible. Replacing professions with p for example makes the above example much shorter using locationA-p-blacksmith or p-blacksmith as the tag.

Example Sidebar Content

Title
Item

Master tag lists

It might be beneficial to have an article that has one or multiple tagged lists of every article in a specific category. If this is to be an approach you take then it can be good to generically tag your articles for these lists. Tagging all professions with profession, characters with character, location with location etc and setting up the tagged lists to pull these in.
These are all generated tagged lists based off of the custom tagging system which will automatically update when new articles with tags are added

Locations at Dragontide Coast

Gloomhallow
Hollowrock
Mosshelm

Tavern workers in Gloomhallow

Arthur Redridge

Comments

Please Login in order to comment!