Difference between revisions of "Template:AKTOC"

From Pathfinder Wiki
Line 1: Line 1:
 
<includeonly>
 
<includeonly>
 
{{#vardefine:landing|{{#titleparts:{{{page|{{PAGENAME}}}}}|2}}}}
 
{{#vardefine:landing|{{#titleparts:{{{page|{{PAGENAME}}}}}|2}}}}
{{#vardefine:page|{{#var:landing}}/Requirements}}
+
{{#vardefine:reqpage|{{#var:landing}}/Requirements}}
 
{{#vardefine: primary | 1 }}<ol>
 
{{#vardefine: primary | 1 }}<ol>
 
{{#while:
 
{{#while:
  | {{#vardefineecho:req|{{#lst:{{#var:page}}|req{{#var:primary}}}}}}
+
  | {{#vardefineecho:req|{{#lst:{{#var:reqpage}}|req{{#var:primary}}}}}}
 
  | <nowiki />{{reqreqlink|page={{#var:landing}}|num={{#var:primary}}|dispreq=<li>}}</li>
 
  | <nowiki />{{reqreqlink|page={{#var:landing}}|num={{#var:primary}}|dispreq=<li>}}</li>
 
{{#vardefine:secondary|1}}<ol style="list-style-type:lower-alpha">
 
{{#vardefine:secondary|1}}<ol style="list-style-type:lower-alpha">
 
{{#while:
 
{{#while:
 
|{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}}}}}
 
|{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}}}}}
{{#vardefineecho:req|{{#lst:{{#var:page}}|req{{#var:reqnum}}}}}}
+
{{#vardefineecho:req|{{#lst:{{#var:reqpage}}|req{{#var:reqnum}}}}}}
 
|<nowiki />{{reqreqlink|page={{#var:landing}}|num={{#var:reqnum}}|dispreq=<li>}}<li/>
 
|<nowiki />{{reqreqlink|page={{#var:landing}}|num={{#var:reqnum}}|dispreq=<li>}}<li/>
 
{{#vardefine:tertiary|1}}<ol style="list-style-type:lower-roman">
 
{{#vardefine:tertiary|1}}<ol style="list-style-type:lower-roman">
 
{{#while:
 
{{#while:
 
|{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}|{{#var:tertiary}}}}}}
 
|{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}|{{#var:tertiary}}}}}}
{{#vardefineecho:req|{{#lst:{{#var:page}}|req{{#var:reqnum}}}}}}
+
{{#vardefineecho:req|{{#lst:{{#var:reqpage}}|req{{#var:reqnum}}}}}}
 
|<nowiki />{{reqreqlink|page={{#var:landing}}|num={{#var:reqnum}}|dispreq=<li>}}<li/>
 
|<nowiki />{{reqreqlink|page={{#var:landing}}|num={{#var:reqnum}}|dispreq=<li>}}<li/>
 
{{#vardefine:tertiary|{{#expr: {{#var:tertiary}} + 1 }} }} }}</ol>
 
{{#vardefine:tertiary|{{#expr: {{#var:tertiary}} + 1 }} }} }}</ol>
Line 23: Line 23:
 
</includeonly><noinclude>
 
</includeonly><noinclude>
  
Create an Answer Key's Table of Contents
+
Create an Answer Key's Table of Contents.
 +
==Parameters==
 +
;page: This should be the title of an honor's landing page.  If omitted, the template will assume that it has been invoked from a landing page or a subpage of one and construct a page title for the landing page from the first two elements of <nowiki>{{PAGENAME}}</nowiki>.  Note that language detection is based on the invoking page rather than on the <nowiki>{{{page}}}</nowiki> parameter.
 +
 
 +
==Mechanics==
 +
The template starts by defining two variables to sort out the page title of the landing page and the requirements page.
 +
 
 +
After that it has three nested while loops.  The outer loop is for the primary requirement numbers (1), then the secondary (1.b), and finally, the tertiary (1.b.iii)
 +
 
 +
Within each loop, it determines if the proposed requirement exists or not with this fragment:
 +
:<nowiki>{{#vardefineecho:req|{{#lst:{{#var:reqpage}}|req{{#var:primary}}}}}}</nowiki>
 +
This snippet defines a variable and echos the definition.  The echo is important, because this line of code serves as the condition for the while loop.  As long as this snippet returns a non-empty string, the loop will continue.  The requirement is extracted from the requirements page by transcluding a labeled section with <nowiki>{{#lst:...}}</nowiki>.  The section label is simply "req" with the requirement number as a suffix.
 +
 
 +
For the two inner loops it's slightly more complex since the label will be of the form "1b" or "1biii", but the loops must operate on numeric quantities.  To do this, the loop variables (primary, secondary, and tertiary) are numeric, and we rely on [[:template:boiler]] to convert them to the form "1biii".  For the secondary requirements this is done with this fragment:
 +
:<nowiki>{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}}}}}</nowiki>
 +
and for the tertiary:
 +
:<nowiki>{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}|{{#var:tertiary}}}}}}</nowiki>
 +
 
 +
Once the while condition has been specified, we have the body to execute when the condition is true.  This is simply:
 +
:<nowiki>{{reqreqlink|page={{#var:landing}}|num={{#var:reqnum}}|dispreq=<li>}}<li/></nowiki>
 +
plus the loop variable incrementer:
 +
:<nowiki>{{#vardefine:tertiary|{{#expr: {{#var:tertiary}} + 1 }} }}</nowiki>
 +
Note that the "dispreq" parameter to reqreqlink is simply an html list element.
 +
 
 +
Each loop is nested inside an order list tag &lt;ol&gt;, and the tag speficies how the list elements should be rendered.  For the primary loop, we rely on the default of decimal.  For the secondary we specify &lt;ol style="list-style-type:lower-alpha">, and for the tertiary &lt;style="list-style-type:lower-roman">
 +
 
 +
[[:template:reqreqlink]] returns a link to an anchor within the answer key (created by [[:template:ansreq]].
 +
 
 +
==Example==
 +
<nowiki>{{</nowiki>AKTOC|page=AY Honors/Biblical Archaeology}}
  
 
{{AKTOC|page=AY Honors/Biblical Archaeology}}
 
{{AKTOC|page=AY Honors/Biblical Archaeology}}
  
 
</noinclude>
 
</noinclude>

Revision as of 15:00, 6 March 2021


Create an Answer Key's Table of Contents.

Parameters

page
This should be the title of an honor's landing page. If omitted, the template will assume that it has been invoked from a landing page or a subpage of one and construct a page title for the landing page from the first two elements of {{PAGENAME}}. Note that language detection is based on the invoking page rather than on the {{{page}}} parameter.

Mechanics

The template starts by defining two variables to sort out the page title of the landing page and the requirements page.

After that it has three nested while loops. The outer loop is for the primary requirement numbers (1), then the secondary (1.b), and finally, the tertiary (1.b.iii)

Within each loop, it determines if the proposed requirement exists or not with this fragment:

{{#vardefineecho:req|{{#lst:{{#var:reqpage}}|req{{#var:primary}}}}}}

This snippet defines a variable and echos the definition. The echo is important, because this line of code serves as the condition for the while loop. As long as this snippet returns a non-empty string, the loop will continue. The requirement is extracted from the requirements page by transcluding a labeled section with {{#lst:...}}. The section label is simply "req" with the requirement number as a suffix.

For the two inner loops it's slightly more complex since the label will be of the form "1b" or "1biii", but the loops must operate on numeric quantities. To do this, the loop variables (primary, secondary, and tertiary) are numeric, and we rely on template:boiler to convert them to the form "1biii". For the secondary requirements this is done with this fragment:

{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}}}}}

and for the tertiary:

{{#vardefine:reqnum|{{boiler|{{#var:primary}}|{{#var:secondary}}|{{#var:tertiary}}}}}}

Once the while condition has been specified, we have the body to execute when the condition is true. This is simply:

{{reqreqlink|page={{#var:landing}}|num={{#var:reqnum}}|dispreq=<li>}}<li/>

plus the loop variable incrementer:

{{#vardefine:tertiary|{{#expr: {{#var:tertiary}} + 1 }} }}

Note that the "dispreq" parameter to reqreqlink is simply an html list element.

Each loop is nested inside an order list tag <ol>, and the tag speficies how the list elements should be rendered. For the primary loop, we rely on the default of decimal. For the secondary we specify <ol style="list-style-type:lower-alpha">, and for the tertiary <style="list-style-type:lower-roman">

template:reqreqlink returns a link to an anchor within the answer key (created by template:ansreq.

Example

{{AKTOC|page=AY Honors/Biblical Archaeology}}



  1. Define archeology and differentiate it from paleontology.
  2. Define the following terms:
    1. Papyrology
    2. Egyptologist
    3. Assyriology
    4. Orientalist
    5. Cuneiform
    6. Hieroglyphic
    7. Paleography
    8. Antiquarian
    9. Archeological site
    10. Stratigraphy
    11. Tel, tell, and Khirbet
    12. Replica
  3. Define maximalism and minimalism
  4. Describe or illustrate ten tools that are used in an archaeological excavation. If possible demonstrate how several of the tools are used.
  5. Describe the principal techniques of dating an archaeological artifact.
  6. Name three benefits that biblical archaeology can provide a student of the Bible.
  7. Report on the history of archaeology (minimum of 20 events of significance) by:
    1. Writing a two-page research report
    2. Illustrating a detailed timeline
    3. Creating an electronic presentation
    4. Other presentation method approved by your instructor
  8. Share with a group or instructor the significance of each of the following famous archaeologists (or other archaeologists relevant to your region, country, or division). Be detailed and specific.
    1. Jean-Francois Champollion
    2. Edward Robinson
    3. William Foxwell Albright
  9. Assemble a folder with ten archaeological discoveries that have connected with the biblical history of the Old and New Testament. The folder should have the following characteristics: :a. In order by chronological dates or geography :b. Organized according to the Old and New Testament :c. Photos :d. Texts :e. Bibliography sources :f. Personal commentary about every artifact or discovery
  10. Discover information from available resources (video, books, magazines, journals, etc.) about five excavations that are happening at this point in time, around the world, that are relevant for the comprehension of events in the Bible. Explain why every excavation is relevant for the comprehension of the Biblical text.
  11. Do one of the following:
    1. Assemble a simple model of Jerusalem observing the following:
      1. Relief
      2. Different perimeters of the city in the time of the First Temple (David and Solomon), of the Second Temple (Herod and Jesus Christ) and the current Jerusalem
      3. The major archaeological sites
      4. The main points of religious visitation
    2. Simulate an archaeological dig (often referred to online as a “schoolyard dig”). Either set up the dig OR participate in a meaningful way at all stages of the dig process including:
      1. Collecting tools
      2. Laying out the grid/area for excavation
      3. Digging
      4. Identifying artifacts
      5. Identifying artifact context
      6. Recording data
      7. Assessing the importance of the dig process