Help:Add new Honor

From Pathfinder Wiki
Revision as of 02:24, 16 February 2024 by Jomegat (talk | contribs)

This page describes how to add a new honor to the wiki. To understand which pages are important for an honor, read the section about the Structure of an Honor.

Create an entry in Localization:Honors

The honor name is extracted from the Localization:Honors page. If this step is omitted, the page name will show up as "AY Honor" with no honor name. Add the honor to the localization page, using the Template:SaveLocalizationHonors template, specifying its English name as both the id and the text arguments. Then mark the page for translation and translate the text field into the languages of interest (ideally, all the languages supported by the wiki).

Create the Honor Landing Page

That is the first page that needs to be created. It has the following structure: The Honor Navigation, followed by an Overview and the Challenging-Part-Section. On the right side it has the infobox that is displaying the most important information about an honor.

To create the honor landing page, type AY Honors/<honorname> into the search. If the honor doesn't exist there should be the following text at the top of the page: Create the page "AY Honors/<honorname>" on this wiki! See also the search results found.

Just click on it and follow with the rest of the tutorial.

The source code will have the following structure: Template call of HonorLanding followed by the Overview and the Challenging-Part-Section. The content ends with a call of the CloseHonorPage-Template Use the following code as a starting point and set the needed arguments of the HonorLanding Template, they are described in the documentation of the template, and write an awesome overview. Then the Landing Page should be finished.

{{HonorLanding
|skill=2
|year=Unknown
|category=Regional
|authority=Florida Conference
|insignia=Scrapbooking (FL) AY Honor.png
|insignia_source=FL
|primary=AY Honors/Scrapbooking
}}

== {{Localize|Overview}}==
WRITE AN AWESOME OVERVIEW HERE :)

== {{Localize|The Challenging Part}} ==
{{Localize|Challenging Part}}

{{#lst:{{#titleparts:{{PAGENAME}}|2|1}}/Requirements{{GetLangSuffix}} |challenge}}
{{CloseHonorPage}}


Upload Honor Patch

To add the image for the honor page, click on "Tools" in the bottom left and select "Upload File". Follow the process and select the correct license. For the filename we have the following convention <honorname> AY Honor.png.

Create the Requirements Page

To create the requirement page, just use the link to the requirements page on the newly created honor landing page. Use the following code as a template for the requirements page.

{{HonorSubpage}}

<section begin=Body />

<b>1. <section begin=req1 /><noinclude></noinclude>The first Requirement of this honor.
<noinclude></noinclude><section end=req1 /></b>

<section begin=challenge />
<b>N. <section begin=reqN /><noinclude></noinclude>The N-th Requirement of this honor
<noinclude></noinclude><section end=reqN /></b>
<section end=challenge />

<section end=Body />

{{CloseHonorPage}}

The page needs to start with the Template-Call of HonorSubpage. It generates the Honor-Navigation, Language Switcher, the Infobox and the basic page structure. At the end of the page, the Template CloseHonorPage needs to be called, to close the HTML-Page-Structure. Between the two Template calls the -Tag and the -Tag is needed. The section-tags enable the wiki to include the enclosed content on other pages, by simply supplying the name of the section. Each section name must be unique on the page.

The requirements are also enclosed by section-tags. The names of these start with "req", followed by the requirement number. Between the section-tags the translate-tags need to be opened and closed. To prevent them from being included on other pages they need to be surrounded by noinclude-tags. For the sake of styling the whole requirement is surrounded by the b-tags to make the text bold.

Next, one needs to define the requirement that is the challenging part of the honor. That is again done by using the section-tags using the section name "challenge". In the example that would be the N-th requirement. The challenging part of an honor may include sub-requirements.

Create the Answer Key's Page

As with the Requirements page, open the honors landing page and click on the answer key page, to create it. The following code is the template for the new page.

{{HonorSubpage}}

{{ansreq|page={{#titleparts:{{PAGENAME}}|2|1}}|num=1}}
<noinclude></noinclude>
<!-- The text of the first requirement, helps to know what it is about. -->
The answer of the first requirement

<noinclude></noinclude>
{{CloseReq}}
{{ansreq|page={{#titleparts:{{PAGENAME}}|2|1}}|num=N}}
<noinclude></noinclude>
<!-- The text of the N-th requirement, helps to know what it is about. -->
The answer of the N-th requirement.

<noinclude></noinclude>
{{CloseReq}}

{{CloseHonorPage}}

The page needs to start with the Template-Call of HonorSubpage. It generates the Honor-Navigation, Language Switcher, the Infobox and the basic page structure. At the end of the page, the Template CloseHonorPage needs to be called, to close the HTML-Page-Structure.

Rather than retyping the requirement on the answer key, we include the requirement from the Requirements page directly so that if the requirement changes, it only has to be update in one place. To include the requirement from the requirements page add the ansreq-template with the num-Argument set to the number of the wanted requirement. After that, the opening translate-tag is needed, surrounded by noinclude-tags. For the readability it is common to add the text of the requirement inside of an HTML Comment after that. Now the answer can be written. After the answer the closing translate-tag needs to be added, again surrounded by noinclude-tags. Then the CloseReq-Template needs to be called.

This section needs to be repeated for each of the requirements. If there are sub-requirements just add another requirement section where the answer goes, but nest the sub-requirements between the parent requirement's ansreq and CloseReq templates.