diff --git a/case.md b/case.md
index 3da05ae..021a0ed 100644
--- a/case.md
+++ b/case.md
@@ -1,3 +1,21 @@
+---
+Make:
+ AP Mount Top:
+ template: printing.md
+ stl-file: models/AP_Mount_for_1430New_v1.5_Top.stl
+ stlname: AP_Mount_for_1430New_v1.5_Top.stl
+ material: PLA
+ weight-qty: 40g
+ supports: "Yes"
+ AP Mount Bottom:
+ template: printing.md
+ stl-file: models/AP_Mount_for_1430New_v1.5_Top.stl
+ stlname: AP_Mount_for_1430New_v1.5_Top.stl
+ material: PLA
+ weight-qty: 40g
+ supports: "Yes"
+---
+
# Prepare the case
{{BOM}}
@@ -7,7 +25,7 @@
## Construct the lid insert {pagestep}
-* Join [AP Mount Top](fromstep){qty:1,cat:printed} and [AP Mount Bottom](fromstep){qty:1,cat:printed} together using two [M4x10mm countersunk screws]{qty: 2,cat: mech} and a [3mm Allen key](parts/metric_allen_keys.md){qty: 1,cat: tool}
+* Join [AP Mount Top]{make, qty:1,cat:printed} and [AP Mount Bottom]{make, qty:1,cat:printed} together using two [M4x10mm countersunk screws]{qty: 2,cat: mech} and a [3mm Allen key](parts/metric_allen_keys.md){qty: 1,cat: tool}
* Using three more [M4x10mm countersunk screws]{qty: 3,cat: mech} attach the brackets that came with your three UniFi Access Points to the holes just below the join between the two prints.
## Attach to case{pagestep}
diff --git a/config.md b/config.md
index 75f60b5..d60b748 100644
--- a/config.md
+++ b/config.md
@@ -1,18 +1,10 @@
# Your Nimble Configuration
-You nimble configuration includes a [printed rack and shelf system](printing.md){step}
+The nimble is a modular rack-and-shelf system. The first part of construction is to 3D print the custom parts, and then to assemble the shelves.
-Your shelves from bottom to to are:
+The shelves in your system are:
-* Stuff shelf - This is where we bundle excess cables and dongles
-* [Raspberry Pi shelf](pi_shelf.md){step} - For a raspberry pi computer.
-* [SSD shelf](ssd_shelf.md){step} - For your storage drive
-* [USB power shelf](usb_shelf.md){step} - To expose a number of USB ports for power
-* [NUC shelf](nuctall_shelf.md){step} - For a tall NUC form factor computer
-* [Netgate shelf](netgate_shelf.md){step} - For a Netgate 1100 firewall appliance
-* [Switch shelf](switch_shelf.md){step} - For a UniFi flex switch
-* [Patch panel](patch_panel.md){step} - To expose ports the back plane
-* [omni-charge shelf](omnicharge_shelf.md){step} - For a portable power supply
+{{listpages, tag:shelf}}
Once you have assembled each shelf, you will [construct the rack](construction.md){step} and [prepare the case](case.md){step} before finally [wiring up the system](wiring.md){step} and [setting it up](setup.md){step}.
diff --git a/construction.md b/construction.md
index 487178a..efeae93 100644
--- a/construction.md
+++ b/construction.md
@@ -1,3 +1,25 @@
+---
+Make:
+ bottom:
+ template: printing.md
+ stl-file: models/bottom_v1.3.stl
+ stlname: bottom_v1.3.stl
+ material: PLA
+ weight-qty: 50g
+ rack legs:
+ template: printing.md
+ stl-file: models/Rack_Leg_21_Units.stl
+ stlname: Rack_Leg_21_Units.stl
+ material: PLA
+ weight-qty: 60g
+ stuff shelf:
+ template: printing.md
+ stl-file: models/Stuff_Shelf_1.0.stl
+ stlname: Stuff_Shelf_1.0.stl
+ material: PLA
+ weight-qty: 50g
+---
+
# Construct the and populate the rack
{{BOM}}
@@ -7,7 +29,7 @@
## Attach the legs to the bottom{pagestep}
-* Get the [bottom](fromstep){qty:1, cat:printed} and the four [rack legs](fromstep){qty:4, cat:printed} that you printed earlier.
+* Get the [bottom]{make, qty:1, cat:printed} and the four [rack legs]{make, qty:4, cat:printed} that you printed earlier.
* Get an [3mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool} ready
* Use four [M4x10mm countersunk screws]{qty:4} to attach a leg to each corner of the bottom.
@@ -16,14 +38,14 @@
## Add the NUC and Netgate shelves {pagestep}
-* Lightly screw two [M4x10mm cap screws]{qty:2, cat:mech} into the top two holes of the [Assembled NUC Shelf](fromstep){qty:1, cat: prev} until they first start to bite.
+* Lightly screw two [M4x10mm cap screws]{qty:2, cat:mech} into the top two holes of the [Assembled NUC Shelf](nuctall_shelf.md){make, qty:1, cat: prev} until they first start to bite.
* Check the screws are not protruding through the back of the shelf-front
* Slide the shelf over the legs and down to the bottom of the rack
* Don't tighten the screws up yet!

-* Repeat the same process with the [Assembled Netgate Shelf](fromstep){qty:1, cat: prev} and two more [screws][M4x10mm cap screws]{qty:2, cat:mech}.
+* Repeat the same process with the [Assembled Netgate Shelf](netgate_shelf.md){make, qty:1, cat: prev} and two more [screws][M4x10mm cap screws]{qty:2, cat:mech}.

@@ -31,19 +53,19 @@
## Mount the Omni on top of the rack {pagestep}
-* Take the [Assembled Omni Shelf](fromstep){qty:1, cat: prev} and place it on top of the rack so the screen on the omni face the front of the rack.
+* Take the [Assembled Omni Shelf](omnicharge_shelf.md){make, qty:1, cat: prev} and place it on top of the rack so the screen on the omni face the front of the rack.
* Use four [M4x10mm countersunk screws]{qty:4} to attach the shelf to the four legs of the rack

## Mount the Patch Panel and Switch {pagestep}
-* Slide the [Assembled Patch panel](fromstep){qty:1, cat: prev} into the rack as high as it will go.
+* Slide the [Assembled Patch panel](patch_panel.md){make, qty:1, cat: prev} into the rack as high as it will go.
* Use two [M4x10mm cap screws]{qty:2, cat:mech} to secure it in place.

-* Now slide the [Assembled UniFi Switch Shelf](fromstep){qty:1, cat: prev} underneath the patch pannel.
+* Now slide the [Assembled UniFi Switch Shelf](switch_shelf.md){make, qty:1, cat: prev} underneath the patch pannel.
* Use two [M4x10mm cap screws]{qty:2, cat:mech} to secure it in place.

@@ -58,10 +80,10 @@
## Insert the remaining shelves {pagestep}
* Insert the final four shelves into the remain space in the following order (from top to bottom)
- * [Assembled USB Power Shelf](fromstep){qty:1, cat: prev}
- * [Assembled SSD shelf](fromstep){qty:1, cat: prev}
- * [Assembled Raspberry Pi Shelf](fromstep){qty:1, cat: prev}
- * [Stuff Shelf](fromstep){qty:1, cat: printed}
+ * [Assembled USB Power Shelf](usb_shelf.md){make, qty:1, cat: prev}
+ * [Assembled SSD shelf](ssd_shelf.md){make, qty:1, cat: prev}
+ * [Assembled Raspberry Pi Shelf](pi_shelf.md){make, qty:1, cat: prev}
+ * [Stuff Shelf]{make, qty:1, cat: printed}
* Secure each in place with two [M4x10mm cap screws]{qty:8, cat:mech}

diff --git a/netgate_shelf.md b/netgate_shelf.md
index eac6d37..cae9a3b 100644
--- a/netgate_shelf.md
+++ b/netgate_shelf.md
@@ -1,4 +1,17 @@
-# Assemble the Netgate 1100 Shelf
+---
+Tags: shelf
+Make:
+ Netgate Shelf:
+ template: printing.md
+ stl-file: models/SG-1100_Shelfv1.1.stl
+ stlname: SG-1100_Shelfv1.1.stl
+ material: PLA
+ weight-qty: 50g
+---
+
+# The Netgate 1100 Shelf
+
+## Assembling the Netgate 1100 Shelf
{{BOM}}
@@ -6,7 +19,7 @@
## Prepare the tray {pagestep}
-* Take the [Netgate Shelf](fromstep){qty:1, cat:printed} you printed earlier and a [2.5mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool}.
+* Take the [Netgate Shelf]{make, qty:1, cat:printed} you printed earlier and a [2.5mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool}.
* Lightly screw a [M3x12mm cap screw][M3x12mm cap screws]{qty:2} into the top hole of each of the two rear posts.
* Make sure each screw is inserted less than half way.
@@ -25,4 +38,3 @@

-[Assembled Netgate Shelf]{output, qty:1, hidden}
diff --git a/nuctall_shelf.md b/nuctall_shelf.md
index b531c3c..380e671 100644
--- a/nuctall_shelf.md
+++ b/nuctall_shelf.md
@@ -1,4 +1,17 @@
-# Assemble the NUC computer shelf
+---
+Tags: shelf
+Make:
+ NUC Shelf:
+ template: printing.md
+ stl-file: models/Tall_NUC_Shelf_v1.2.stl
+ stlname: Tall_NUC_Shelf_v1.2.stl
+ material: PLA
+ weight-qty: 50g
+---
+
+# The NUC computer shelf
+
+## Assembling the NUC computer shelf
{{BOM}}
@@ -6,7 +19,7 @@
## Position the computer{pagestep}
-* Take the [NUC Shelf](fromstep){qty:1, cat:printed} you printed earlier
+* Take the [NUC Shelf]{make, qty:1, cat:printed} you printed earlier
* Position the [NUC computer](parts/NUC_Computer.md){qty:1, cat:net} on the shelf so that front of the computer sits just behind where the shelf narrows

@@ -22,4 +35,3 @@

-[Assembled NUC Shelf]{output, qty:1, hidden}
\ No newline at end of file
diff --git a/omnicharge_shelf.md b/omnicharge_shelf.md
index 6aec8ab..9fb0a41 100644
--- a/omnicharge_shelf.md
+++ b/omnicharge_shelf.md
@@ -1,5 +1,23 @@
-# Assemble the OmniCharge shelf
-
+---
+Tags: shelf
+Make:
+ Omni Shelf:
+ template: printing.md
+ stl-file: models/Omni_20_v1.5.stl
+ stlname: Omni_20_v1.5.stl
+ material: PLA
+ weight-qty: 50g
+ Omni Shelf Lid:
+ template: printing.md
+ stl-file: models/Omni_20_Top_v1.5.stl
+ stlname: Omni_20_Top_v1.5.stl
+ material: PLA
+ weight-qty: 25g
+---
+
+# The OmniCharge shelf
+
+## Assembling the OmniCharge shelf
{{BOM}}
@@ -9,7 +27,7 @@
>i Note that this shelf forms the top of the rack, so looks a bit different.
-* Take the [Omni Shelf](fromstep){qty:1, cat:printed} you printed earlier.
+* Take the [Omni Shelf]{make, qty:1, cat:printed} you printed earlier.
* Position the [Omni 20C+](parts/Omni20Cplus.md){qty:1, cat:net} so that the front of the device is not blocked

@@ -17,11 +35,10 @@
## Secure the OmniCharge{pagestep}
-* Take the [Omni Shelf Lid](fromstep){qty:1, cat:printed} you printed earlier and place it over the Omni, aligning the three countersunk holes with the holes on the shelf.
+* Take the [Omni Shelf Lid]{make, qty:1, cat:printed} you printed earlier and place it over the Omni, aligning the three countersunk holes with the holes on the shelf.
* Use three [M4x10mm countersunk screws]{qty:3} and an [3mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool} to secure the computer in place



-[Assembled Omni Shelf]{output, qty:1, hidden}
diff --git a/3dprinter.md b/parts/3dprinter.md
similarity index 100%
rename from 3dprinter.md
rename to parts/3dprinter.md
diff --git a/patch_panel.md b/patch_panel.md
index 33845b1..1b38461 100644
--- a/patch_panel.md
+++ b/patch_panel.md
@@ -1,5 +1,17 @@
-# Assemble the Patch Pannel
+---
+Tags: shelf
+Make:
+ Patch panel:
+ template: printing.md
+ stl-file: models/Keystone_Patch_Panel_2_Unitsv2.1.stl
+ stlname: Keystone_Patch_Panel_2_Unitsv2.1.stl
+ material: PLA
+ weight-qty: 50g
+---
+# The Patch Pannel
+
+## Assembling the Patch Pannel
{{BOM}}
@@ -13,7 +25,7 @@
## Attach the Ethernet Keystones{pagestep}
-* Take the [Patch panel](fromstep){qty:1, cat:printed} you printed earlier and three [ethernet keystones][Ethernet Keystones](parts/EthernetKeystone.md){qty:3, cat:net}
+* Take the [Patch panel]{make, qty:1, cat:printed} you printed earlier and three [ethernet keystones][Ethernet Keystones](parts/EthernetKeystone.md){qty:3, cat:net}
* These will be clipped into the three left hand panels

@@ -40,4 +52,3 @@

-[Assembled Patch panel]{output, qty:1, hidden}
diff --git a/pi_shelf.md b/pi_shelf.md
index d0238ba..05ac2a7 100644
--- a/pi_shelf.md
+++ b/pi_shelf.md
@@ -1,4 +1,17 @@
-# Assemble the Pi Shelf
+---
+Tags: shelf
+Make:
+ Raspberry Pi Shelf:
+ template: printing.md
+ stl-file: models/RPi_4B_Shelf_v1.3.stl
+ stlname: RPi_4B_Shelf_v1.3.stl
+ material: PLA
+ weight-qty: 50g
+---
+
+# The Pi Shelf
+
+## Assembling the Pi Shelf
{{BOM}}
@@ -6,7 +19,7 @@
## Position the Raspberry Pi {pagestep}
-* Take the [Raspberry Pi Shelf](fromstep){qty:1, cat:printed} you printed earlier
+* Take the [Raspberry Pi Shelf]{make, qty:1, cat:printed} you printed earlier

@@ -21,5 +34,3 @@
* Using four [M2.5x6mm cap screws]{qty:4} and a [2mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool}, secure the pi to the shelf.

-
-[Assembled Raspberry Pi Shelf]{output, qty:1, hidden}
\ No newline at end of file
diff --git a/printing.md b/printing.md
index e8b369f..4077f27 100644
--- a/printing.md
+++ b/printing.md
@@ -2,30 +2,20 @@
{{BOM}}
+[PLA]:parts/filament.md "{cat:consumable}"
## Print the custom components {pagestep}
-You will need a [3d printer](3dprinter.md){qty:1, cat: tool} and about 1kg of [PLA filament](parts/filament.md){qty:1kg, cat:consumable}.
-
-Using the slicer that comes with your printer, print the following parts. Some require support. A brim is advised for all parts.
-
-|Name| STL file| Qty | Supports
Required?|
-|---|---|---|---|
-| [bottom]{output, qty:1}|[bottom_v1.3.stl](models/bottom_v1.3.stl){previewpage}|1|No|
-| [rack legs]{output, qty:4}|[Rack_Leg_21_Units.stl](models/Rack_Leg_21_Units.stl){previewpage}|4|No|
-| [Netgate Shelf]{output, qty:4}|[SG-1100_Shelfv1.1.stl](models/SG-1100_Shelfv1.1.stl){previewpage}|1|No|
-| [NUC Shelf]{output, qty:4}|[Tall_NUC_Shelf_v1.2.stl](models/Tall_NUC_Shelf_v1.2.stl){previewpage}|1|No|
-| [Omni Shelf]{output, qty:4}|[Omni_20_v1.5.stl](models/Omni_20_v1.5.stl){previewpage}|1|No|
-| [Omni Shelf Lid]{output, qty:4}|[Omni_20_Top_v1.5.stl](models/Omni_20_Top_v1.5.stl){previewpage}|1|No|
-| [Patch panel]{output, qty:4}|[Keystone_Patch_Panel_2_Unitsv2.1.stl](models/Keystone_Patch_Panel_2_Unitsv2.1.stl){previewpage}|1|No|
-| [SSD shelf]{output, qty:4}|[Dual_SSD_Shelf-_v2.0.stl](models/Dual_SSD_Shelf-_v2.0.stl){previewpage}|1|No|
-| [UniFi Switch Shelf]{output, qty:4}|[USW-Flex_Shelfv1.2.stl](models/USW-Flex_Shelfv1.2.stl){previewpage}|1|No|
-| [USB Power Shelf]{output, qty:4}|[USB_Hub_Shelf_v1.2.stl](models/USB_Hub_Shelf_v1.2.stl){previewpage}|1|No|
-| [Raspberry Pi Shelf]{output,qty:1}| [RPi_4B_Shelf_v1.3.stl](models/RPi_4B_Shelf_v1.3.stl){previewpage}{previewpage}|1|No|
-| [Stuff Shelf]{output,qty:1}| [Stuff_Shelf_1.0.stl](models/Stuff_Shelf_1.0.stl){previewpage}|1|No|
-| [Power Box]{output,qty:1}| [Power_Box_v1.3.stl](models/Power_Box_v1.3.stl){previewpage}|1|No|
-| [AP Mount Top]{output,qty:1}| [AP_Mount_for_1430New_v1.5_Top.stl](models/AP_Mount_for_1430New_v1.5_Top.stl){previewpage}|1|Yes|
-| [AP Mount Bottom]{output,qty:1}| [AP_Mount_for_1430New_v1.5_Bottom.stl](models/AP_Mount_for_1430New_v1.5_Bottom.stl){previewpage}|1|Yes|
+
+Using the slicer that comes with your [3d printer](parts/3dprinter.md){qty:1, cat: tool}, slice thent the following parts, and then print them.
+
+Some parts require support. A brim is advised for all parts.
+
+
+| Qty | Item | Material | File | Supports
Required?|
+|-----|------|----------|------|----------------------|
+{{foreachmakeitem: "| {{qty}} | {{id}} | {{weight-qty}} of [{{material}}]{qty:{{weight-qty}}} | [{{stlname}}]({{stl-file}}){previewpage}|{{supports, default: No}}|"}}
+
You can [download all of the STLs as a single zipfile](all-stls.zip){zip, pattern:"*.stl"}
diff --git a/ssd_shelf.md b/ssd_shelf.md
index 75fc32e..ebc17dd 100644
--- a/ssd_shelf.md
+++ b/ssd_shelf.md
@@ -1,4 +1,17 @@
-# Assemble the SSD Shelf
+---
+Tags: shelf
+Make:
+ SSD shelf:
+ template: printing.md
+ stl-file: models/Dual_SSD_Shelf-_v2.0.stl
+ stlname: Dual_SSD_Shelf-_v2.0.stl
+ material: PLA
+ weight-qty: 50g
+---
+
+# The SSD Shelf
+
+## Assembling the SSD Shelf
{{BOM}}
@@ -6,7 +19,7 @@
## Position the drives {pagestep}
-* Take the [SSD shelf](fromstep){qty:1, cat:printed} you printed earlier
+* Take the [SSD shelf]{make, qty:1, cat:printed} you printed earlier
* Position two [2.5 inch SSD drives](parts/SSD.md){qty:2, cat:net} on the shelf so that the conectores are visible at the rear

@@ -17,5 +30,3 @@
* Lift the dive so that it aligns with the holes. Secure the screw with a [2.5mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool}

-
-[Assembled SSD shelf]{output, qty:1, hidden}
\ No newline at end of file
diff --git a/switch_shelf.md b/switch_shelf.md
index 49bbac7..a8674ba 100644
--- a/switch_shelf.md
+++ b/switch_shelf.md
@@ -1,4 +1,17 @@
-# Assemble the UniFi Flex Switch Shelf
+---
+Tags: shelf
+Make:
+ UniFi Switch Shelf:
+ template: printing.md
+ stl-file: models/USW-Flex_Shelfv1.2.stl
+ stlname: USW-Flex_Shelfv1.2.stl
+ material: PLA
+ weight-qty: 50g
+---
+
+# The UniFi Flex Switch Shelf
+
+## Assembling the UniFi Flex Switch Shelf
{{BOM}}
@@ -6,7 +19,7 @@
## Prepare the tray {pagestep}
-* Take the [UniFi Switch Shelf](fromstep){qty:1, cat:printed} you printed earlier and UniFi Switch Mounting Bracket (This should come with the switch)
+* Take the [UniFi Switch Shelf]{make, qty:1, cat:printed} you printed earlier and UniFi Switch Mounting Bracket (This should come with the switch)
* Place the bracket on the tray so that the extended flat raised section faced the front of the tray

@@ -26,5 +39,3 @@



-
-[Assembled UniFi Switch Shelf]{output, qty:1, hidden}
\ No newline at end of file
diff --git a/usb_shelf.md b/usb_shelf.md
index 624c3d8..0382427 100644
--- a/usb_shelf.md
+++ b/usb_shelf.md
@@ -1,5 +1,17 @@
-# Assemble the USB Power Shelf
+---
+Tags: shelf
+Make:
+ USB Power Shelf:
+ template: printing.md
+ stl-file: models/USB_Hub_Shelf_v1.2.stl
+ stlname: USB_Hub_Shelf_v1.2.stl
+ material: PLA
+ weight-qty: 50g
+---
+# The USB Power Shelf
+
+## Assembling the USB Power Shelf
{{BOM}}
@@ -7,7 +19,7 @@
## Prepare the tray {pagestep}
-* Take the [USB Power Shelf](fromstep){qty:1, cat:printed} you printed earlier and a [2.5mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool}.
+* Take the [USB Power Shelf]{make, qty:1, cat:printed} you printed earlier and a [2.5mm Allen key](parts/metric_allen_keys.md){qty:1, cat:tool}.
* Lightly screw a [M3x12mm cap screw][M3x12mm cap screws]{qty:4} into the top hole of each of the 4 side-posts.
* Make sure each screw is inserted less than half way.
@@ -24,5 +36,3 @@
*{warning} Do not over tighten the screws in this step as this may damage the plastic.

-
-[Assembled USB Power Shelf]{output, qty:1, hidden}
\ No newline at end of file
diff --git a/wiring.md b/wiring.md
index 01916ea..6dc90e2 100644
--- a/wiring.md
+++ b/wiring.md
@@ -1,3 +1,13 @@
+---
+Make:
+ Power Box:
+ template: printing.md
+ stl-file: models/Power_Box_v1.3.stl
+ stlname: Power_Box_v1.3.stl
+ material: PLA
+ weight-qty: 60g
+---
+
# Wiring The Nimble
>!! **TODO**
@@ -9,6 +19,9 @@
{{BOM}}
+
+Once done must mention [Power Box]{make, qty:1,cat:printed}
+

