Template:Recipe draw: Difference between revisions

From Captain of Industry Wiki
Jump to: navigation, search
NaK (talk | contribs)
Reworked the algorithm of determining if draw a vertical line at the left of pollution. Now recipe with both product and pollution such as Exhaust Scrubber can be displayed the same format in the game.
Vekking (talk | contribs)
No edit summary
 
(6 intermediate revisions by one other user not shown)
Line 22: Line 22:
-->{{#vardefine: pollution_3 | }}<!--
-->{{#vardefine: pollution_3 | }}<!--
-->{{#vardefine: pollution_4 | }}<!--
-->{{#vardefine: pollution_4 | }}<!--
  ** A short text to discriminate similar-looking buildings **
-->{{#vardefine: building_aux |<!--
  -->{{#switch: {{lc:{{{Building|}}}}}
      | assembly (electric) = Electric I
      | assembly (electric) ii = Electric II
      | assembly (manual) = Manual
      | assembly (robotic) = Robotic I
      | assembly (robotic) ii = Robotic II
      | concrete mixer = Tier I
      | concrete mixer ii = Tier II
      | concrete mixer iii = Tier III
      | microchip machine = Tier I
      | microchip machine ii = Tier II
      | mixer = Tier I
      | mixer ii = Tier II
      | cooling tower = Small
      | cooling tower (large) = Large
      | electrolyzer = Tier I
      | electrolyzer ii = Tier II
      | evaporation pond = Standard
      | evaporation pond (heated) = Heated
      | greenhouse = Tier I
      | greenhouse ii = Tier II
      | arc furnace = Tier I
      | arc furnace ii = Tier II
      | blast furnace = Tier I
      | blast furnace ii = Tier II
      | cooled caster = Tier I
      | cooled caster ii = Tier II
      | glass maker = Tier I
      | glass maker ii = Tier II
      | metal caster = Tier I
      | metal caster ii = Tier II
      | oxygen furnace = Tier I
      | oxygen furnace ii = Tier II
      | rotary kiln = Coal
      | rotary kiln (gas) = Gas
      | diesel generator = Tier I
      | diesel generator ii = Tier II
      | high-pressure turbine = Tier I
      | high-pressure turbine ii = Tier II
      | low-pressure turbine = Tier I
      | low-pressure turbine ii = Tier II
      | nuclear reactor = Tier I
      | nuclear reactor ii = Tier II
      | fast breeder reactor = FBR
      | chemical plant = Tier I
      | chemical plant ii = Tier II
      | smoke stack = Small
      | smoke stack (large) = Large
      | maintenance depot = Tier I
      | maintenance ii depot = Tier II
      | maintenance iii depot = Tier III
      | research lab = Tier I
      | research lab ii = Tier II
      | research lab iii = Tier III
      | research lab iv = Tier IV
      | research lab v = Tier V
      | #default =
    }}<!--
-->}}<!--


   ** Apply style **
   ** Apply style **
Line 33: Line 96:
   --><div class="block">[[File:Mining.png{{!}}{{#var: imgsz_large}}{{!}}link=Designations#Mining]]</div><!--
   --><div class="block">[[File:Mining.png{{!}}{{#var: imgsz_large}}{{!}}link=Designations#Mining]]</div><!--
   --><div class="block">{{#var: img_arrow}}</div><!--
   --><div class="block">{{#var: img_arrow}}</div><!--
   --><div class="block">[[File:{{{Output1Name}}}.png{{!}}{{#var: imgsz_large}}{{!}}link={{{Output1Name}}}]]</div><!--
   --><div class="block">[[File:{{{Output1Icon}}}.png{{!}}{{#var: imgsz_large}}{{!}}link={{{Output1Name}}}]]</div><!--
   -->{{#vardefine: special_output | yes}}<!--
   -->{{#vardefine: special_output | yes}}<!--
-->}}<!--
-->}}<!--
Line 40: Line 103:


-->{{#ifeq: {{lc:{{{Output1Name|}}}}} | dumping |<!--
-->{{#ifeq: {{lc:{{{Output1Name|}}}}} | dumping |<!--
   --><div class="block">[[File:{{{Input1Name}}}.png{{!}}{{#var: imgsz_large}}{{!}}link={{{Input1Name}}}]]</div><!--
   --><div class="block">[[File:{{{Input1Icon}}}.png{{!}}{{#var: imgsz_large}}{{!}}link={{{Input1Name}}}]]</div><!--
   --><div class="block">{{#var: img_arrow}}</div><!--
   --><div class="block">{{#var: img_arrow}}</div><!--
   --><div class="block">[[File:Dumping.png{{!}}{{#var: imgsz_large}}{{!}}link=Designations#Dumping]]</div><!--
   --><div class="block">[[File:Dumping.png{{!}}{{#var: imgsz_large}}{{!}}link=Designations#Dumping]]</div><!--
Line 84: Line 147:


-->{{#if: {{{HideBldg|}}}{{#varexists:hidebldg}} ||<!--
-->{{#if: {{{HideBldg|}}}{{#varexists:hidebldg}} ||<!--
   --><div class="block">[[File:{{{Building}}}.png{{!}}{{#var: imgsz_bldg}}{{!}}link={{{Building}}}]]</div><!--
   --><div class="block">[[File:{{{BuildingIcon}}}.png{{!}}{{#var: imgsz_bldg}}{{!}}link={{{Building}}}]]<small>{{#var: building_aux}}</small></div><!--
   --><div class="block colon">:</div><!--
   --><div class="block colon">:</div><!--
-->}}<!--
-->}}<!--
Line 97: Line 160:


-->{{#ifeq: {{#var: provides}} | yes |<!--
-->{{#ifeq: {{#var: provides}} | yes |<!--
   -->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Pollution = hide }}<!--
   -->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Icon = {{{Output1Icon|}}} | Pollution = hide }}<!--
   -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Icon = {{{Output2Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Icon = {{{Output3Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Icon = {{{Output4Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Icon = {{{Output5Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Icon = {{{Output6Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->|<!--
   -->|<!--
   -->{{Recipe item | Name = {{{Input1Name|}}} | Quantity = {{{Input1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input1Unit|}}} }} <!--
   -->{{Recipe item | Name = {{{Input1Name|}}} | Quantity = {{{Input1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input1Unit|}}} | Icon = {{{Input1Icon|}}} |}} <!--
   -->{{Recipe item | Name = {{{Input2Name|}}} | Quantity = {{{Input2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input2Unit|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input2Name|}}} | Quantity = {{{Input2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input2Unit|}}} | Icon = {{{Input2Icon|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input3Name|}}} | Quantity = {{{Input3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input3Unit|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input3Name|}}} | Quantity = {{{Input3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input3Unit|}}} | Icon = {{{Input3Icon|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input4Name|}}} | Quantity = {{{Input4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input4Unit|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input4Name|}}} | Quantity = {{{Input4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input4Unit|}}} | Icon = {{{Input4Icon|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input5Name|}}} | Quantity = {{{Input5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input5Unit|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input5Name|}}} | Quantity = {{{Input5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input5Unit|}}} | Icon = {{{Input5Icon|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input6Name|}}} | Quantity = {{{Input6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input6Unit|}}} | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Input6Name|}}} | Quantity = {{{Input6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Input6Unit|}}} | Icon = {{{Input6Icon|}}} | Plus = yes }}<!--
-->}}<!--
-->}}<!--


Line 148: Line 211:


-->{{#ifeq: {{#var: provides}} | yes ||<!--
-->{{#ifeq: {{#var: provides}} | yes ||<!--
   -->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Pollution = hide }}<!--
   -->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Icon = {{{Output1Icon|}}} | Pollution = hide }}<!--
   -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Icon = {{{Output2Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Icon = {{{Output3Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Icon = {{{Output4Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Icon = {{{Output5Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Pollution = hide | Plus = yes }}<!--
   -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Icon = {{{Output6Icon|}}} | Pollution = hide | Plus = yes }}<!--
   -->}}<!--
   -->}}<!--
    
    
Line 159: Line 222:


-->{{#vardefine: all_pollutions |<!--
-->{{#vardefine: all_pollutions |<!--
   -->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output1Name|}}} | Quantity = {{{Output1Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output1Unit|}}} | Icon = {{{Output1Icon|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output2Name|}}} | Quantity = {{{Output2Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output2Unit|}}} | Icon = {{{Output2Icon|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output3Name|}}} | Quantity = {{{Output3Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output3Unit|}}} | Icon = {{{Output3Icon|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output4Name|}}} | Quantity = {{{Output4Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output4Unit|}}} | Icon = {{{Output4Icon|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output5Name|}}} | Quantity = {{{Output5Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output5Unit|}}} | Icon = {{{Output5Icon|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Pollution = only }}<!--
   -->{{Recipe item | Name = {{{Output6Name|}}} | Quantity = {{{Output6Qty|}}} | Time = {{{Time|}}} | Unit = {{{Output6Unit|}}} | Icon = {{{Output6Icon|}}} | Pollution = only }}<!--
-->}}<!--
-->}}<!--
-->{{#if: {{#var: all_pollutions}} |<!--
-->{{#if: {{#var: all_pollutions}} |<!--

Latest revision as of 15:15, 20 May 2025

Template documentation (for the above template, sometimes hidden or invisible) [view] [edit] [history] [refresh]
Purpose
This template provides a method to rapidly illustrate crafting recipes without in-depth knowledge of wiki syntax or manual repetition/copy-pasting.
Basic usage
The following 2 templates are provided for making a recipe.
Both templates can be used with the format written in #Examples in this document.
Parameters
The template accepts the following parameters:
  • Building: Name of buildings (example: Blast Furnace). No need to specify on pages using Template:Infobox machine because the building is automatically detected.
  • Input1Name, Input2Name, ..., Input6Name: Name of materials (example: Iron Ore)
    • Input1Name = Mining (optional): Applies special format for mining.
  • Output1Name, Output2Name, ... Output6Name: Name of products (example: Molten Iron)
    • Output1Name = Dumping (optional): Applies special format for dumping.
  • Input1Qty, ..., Input6Qty, Output1Qty, ..., Output6Qty: Amount of materials or products per 1 cycle of recipe.
  • Time: Cycle time of recipe.
  • Input1Unit, ..., Input6Unit, Output1Unit, ..., Output6Unit (optional): Adds unit (for Electricity and Mechanical Power)
  • HideBldg (optional, rare): Hides building in recipe. No need to specify on pages using Template:Infobox machine (the building is automatically hidden).
  • Unreleased = yes (optional, rare): Applies special format for unreleased recipe
Limitations
This template can accept up to 6 inputs, 6 outputs, and 1 time value per recipe. The output can include only 1 pollution.

Examples

Example usage for mining
Markup Renders as
  {{Recipe
    | Input1Name  = Mining
    | Output1Name = Copper Ore
  }}
[[File:{{{Output1Icon}}}.png|64x64px|link=Copper Ore]]
Example usage for dumping loose materials
Markup Renders as
  {{Recipe
    | Output1Name = Dumping
    | Input1Name  = Rock
  }}
[[File:{{{Input1Icon}}}.png|64x64px|link=Rock]]
Example usage for a machine with both inputs and outputs without pollution (most recipes)
Markup Renders as
  {{Recipe
    | Building    = Rotary Kiln
    | Input1Name  = Limestone
    | Input1Qty   = 12
    | Input2Name  = Coal
    | Input2Qty   = 2
    | Time        = 10
    | Output1Name = Cement
    | Output1Qty  = 4
    | Output2Name = Exhaust
    | Output2Qty  = 8
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Rotary Kiln]]Coal
:
12
72
2
12
10 
60 
4
24
8
48
Example for buildings that "provide" materials (Groundwater Pump, Air Separator, etc.)
Markup Renders as
  {{Recipe
    | Building    = Groundwater Pump
    | Time        = 10
    | Output1Name = Water
    | Output1Qty  = 8
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Groundwater Pump]]
:
PROVIDES
8
48
/ 10 

/ 60 
Example usage for dumping/flaring/venting non-polluting liquids/gasses
Markup Renders as
  {{Recipe
    | Building    = Smoke Stack
    | Input1Name  = Oxygen
    | Input1Qty   = 200
    | Time        = 20
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Smoke Stack]]Small
:
ACCEPTS
200
600
/ 20 

/ 60 
Example usage for recipe with pollution
Markup Renders as
  {{Recipe
    | Building    = Liquid Dump
    | Input1Name  = Waste Water
    | Input1Qty   = 2
    | Time        = 2
    | Output1Name = Water Pollution
    | Output1Qty  = 2
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Liquid Dump]]
:
ACCEPTS
2
60
/ 2 

/ 60 
2
60
  {{Recipe
    | Building    = Exhaust Scrubber
    | Input1Name  = Exhaust
    | Input1Qty   = 30
    | Input2Name  = Water
    | Input2Qty   = 4
    | Time        = 10
    | Output1Name = Sulfur
    | Output1Qty  = 1
    | Output2Name = Carbon Dioxide
    | Output2Qty  = 12
    | Output3Name = Steam Lo
    | Output3Qty  = 4
    | Output4Name = Air Pollution
    | Output4Qty  = 4
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Exhaust Scrubber]]
:
30
180
4
24
10 
60 
1
6
12
72
4
24
4
24
Example usage for Mechanical Power and Electricity recipes with units
Markup Renders as
  {{Recipe
    | Building    = Low-pressure Turbine
    | Input1Name  = Steam Lo
    | Input1Qty   = 4
    | Time        = 5
    | Output1Name = Mechanical Power
    | Output1Qty  = 1
    | Output1Unit = MW
    | Output2Name = Steam Depleted
    | Output2Qty  = 4
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Low-pressure Turbine]]Tier I
:
4
48
60 
 
1 MW
4
48
Example usage for instantaneous recipes
Markup Renders as
  {{Recipe
    | Building    = Power Generator
    | Input1Name  = Mechanical Power
    | Input1Qty   = 500
    | Input1Unit  = KW
    | Time        = 0
    | Output1Name = Electricity
    | Output1Qty  = 250
    | Output1Unit = KW
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Power Generator]]
:
 
500 KW
 
250 KW
Example usage for recipes with variable quantity
Markup Renders as
  {{Recipe
    | Building    = Waste Collection
    | Time        = 60
    | Output1Name = Waste
    | Output1Unit = ?
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Waste Collection]]
:
PROVIDES
?
?
/ 60 

/ 60 
Example usage for hiding the building (automatically happens on pages using Template:Infobox machine)
Markup Renders as
  {{Recipe
    | Building    = Mixer
    | HideBldg    = yes
    | Input1Name  = Sand
    | Input1Qty   = 18
    | Input2Name  = Limestone
    | Input2Qty   = 4
    | Input3Name  = Salt
    | Input3Qty   = 4
    | Time        = 20
    | Output1Name = Glass Mix
    | Output1Qty  = 14
  }}
18
54
4
12
4
12
20 
60 
14
42
Example usage for unreleased recipe
Markup Renders as
  {{Recipe
    | Building    = Crusher
    | Input1Name  = Gravel
    | Input1Qty   = 18
    | Time        = 20
    | Output1Name = Gold
    | Output1Qty  = 14
    | Unreleased  = yes
  }}
[[File:{{{BuildingIcon}}}.png|72x72px|link=Crusher]]
:
20
60
20 
60 
1
3
UNRELEASED
The above text is transcluded from Template:Recipe draw/doc; you can change it or view its history. (How does this work?)
If you're done making changes, please refresh the text. (Why?)
You can experiment in this template's sandbox (edit | diff) and testcases (create) pages.
Please add categories and interwikis to Template:Recipe draw/doc. (View all subpages of this page.)