Harden archive-world setup and refresh site links
All checks were successful
Build Org Website / build (push) Successful in 39s
0
assets/audio/archive-world/v2/attack.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/boss-attack.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/damage.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/dialogue.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/enemy-defeat.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/item.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/portal.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/puzzle.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/quest.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/step.wav
Normal file → Executable file
0
assets/audio/archive-world/v2/town-ambient.ogg
Normal file → Executable file
0
assets/audio/archive-world/v2/vault-ambient.ogg
Normal file → Executable file
0
assets/audio/archive-world/v2/victory.wav
Normal file → Executable file
0
assets/images/play/archive-world/v2/archive-town.webp
Normal file → Executable file
|
Before Width: | Height: | Size: 2.7 MiB After Width: | Height: | Size: 2.7 MiB |
0
assets/images/play/archive-world/v2/areas.webp
Normal file → Executable file
|
Before Width: | Height: | Size: 2.1 MiB After Width: | Height: | Size: 2.1 MiB |
0
assets/images/play/archive-world/v2/cast-atlas.png
Normal file → Executable file
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
0
assets/images/play/archive-world/v2/item-atlas.png
Normal file → Executable file
|
Before Width: | Height: | Size: 1.1 MiB After Width: | Height: | Size: 1.1 MiB |
0
assets/images/play/archive-world/v2/traveler-berry.png
Normal file → Executable file
|
Before Width: | Height: | Size: 1012 KiB After Width: | Height: | Size: 1012 KiB |
0
assets/images/play/archive-world/v2/traveler-brass.png
Normal file → Executable file
|
Before Width: | Height: | Size: 696 KiB After Width: | Height: | Size: 696 KiB |
0
assets/images/play/archive-world/v2/traveler-moss.png
Normal file → Executable file
|
Before Width: | Height: | Size: 998 KiB After Width: | Height: | Size: 998 KiB |
0
assets/scripts/pages/archive-world-audio.js
Normal file → Executable file
0
assets/scripts/pages/archive-world-data.js
Normal file → Executable file
0
assets/scripts/pages/archive-world-scenes.js
Normal file → Executable file
0
assets/scripts/pages/archive-world-state.js
Normal file → Executable file
0
assets/scripts/pages/archive-world-systems.js
Normal file → Executable file
0
assets/scripts/pages/archive-world-ui.js
Normal file → Executable file
36
assets/scripts/pages/archive-world.js
Normal file → Executable file
@@ -93,6 +93,7 @@
|
|||||||
function bindSetup() {
|
function bindSetup() {
|
||||||
const dialog = controller.root.querySelector("[data-world-setup]");
|
const dialog = controller.root.querySelector("[data-world-setup]");
|
||||||
const form = controller.root.querySelector("[data-world-setup-form]");
|
const form = controller.root.querySelector("[data-world-setup-form]");
|
||||||
|
if (!dialog || !form) return;
|
||||||
dialog.addEventListener("cancel", (event) => event.preventDefault());
|
dialog.addEventListener("cancel", (event) => event.preventDefault());
|
||||||
form.addEventListener("submit", (event) => {
|
form.addEventListener("submit", (event) => {
|
||||||
event.preventDefault();
|
event.preventDefault();
|
||||||
@@ -114,6 +115,10 @@
|
|||||||
|
|
||||||
function openSetup(message) {
|
function openSetup(message) {
|
||||||
const dialog = controller.root.querySelector("[data-world-setup]");
|
const dialog = controller.root.querySelector("[data-world-setup]");
|
||||||
|
if (!dialog) {
|
||||||
|
status(message || "Traveler setup could not open. Reload the page to try again; the plain directory remains available.");
|
||||||
|
return;
|
||||||
|
}
|
||||||
if (message) {
|
if (message) {
|
||||||
controller.root.querySelector("[data-world-setup-error]").textContent = message;
|
controller.root.querySelector("[data-world-setup-error]").textContent = message;
|
||||||
status(message);
|
status(message);
|
||||||
@@ -140,20 +145,20 @@
|
|||||||
button.addEventListener("pointerdown", down);
|
button.addEventListener("pointerdown", down);
|
||||||
["pointerup", "pointercancel", "pointerleave"].forEach((name) => button.addEventListener(name, up));
|
["pointerup", "pointercancel", "pointerleave"].forEach((name) => button.addEventListener(name, up));
|
||||||
});
|
});
|
||||||
controller.root.querySelector("[data-world-interact]").addEventListener("click", () => {
|
bindClick("[data-world-interact]", () => {
|
||||||
if (controller.scene) controller.scene.interact();
|
if (controller.scene) controller.scene.interact();
|
||||||
});
|
});
|
||||||
controller.root.querySelector("[data-world-attack]").addEventListener("click", () => {
|
bindClick("[data-world-attack]", () => {
|
||||||
if (controller.scene) controller.scene.attack(controller.scene.time.now);
|
if (controller.scene) controller.scene.attack(controller.scene.time.now);
|
||||||
});
|
});
|
||||||
controller.root.querySelector("[data-world-item]").addEventListener("click", useSelectedItem);
|
bindClick("[data-world-item]", useSelectedItem);
|
||||||
controller.root.querySelector("[data-world-menu]").addEventListener("click", openMenu);
|
bindClick("[data-world-menu]", openMenu);
|
||||||
controller.root.querySelector("[data-world-quests]").addEventListener("click", () => controller.ui.openMenu(controller.state, "quests"));
|
bindClick("[data-world-quests]", () => controller.ui.openMenu(controller.state, "quests"));
|
||||||
controller.root.querySelector("[data-world-inventory]").addEventListener("click", () => controller.ui.openMenu(controller.state, "inventory"));
|
bindClick("[data-world-inventory]", () => controller.ui.openMenu(controller.state, "inventory"));
|
||||||
controller.root.querySelector("[data-world-journal-open]").addEventListener("click", () => controller.ui.openMenu(controller.state, "journal"));
|
bindClick("[data-world-journal-open]", () => controller.ui.openMenu(controller.state, "journal"));
|
||||||
controller.root.querySelector("[data-world-sound]").addEventListener("click", toggleSound);
|
bindClick("[data-world-sound]", toggleSound);
|
||||||
controller.root.querySelector("[data-world-fullscreen]").addEventListener("click", toggleFullscreen);
|
bindClick("[data-world-fullscreen]", toggleFullscreen);
|
||||||
controller.root.querySelector("[data-world-reset]").addEventListener("click", () => controller.ui.openMenu(controller.state, "settings"));
|
bindClick("[data-world-reset]", () => controller.ui.openMenu(controller.state, "settings"));
|
||||||
|
|
||||||
document.addEventListener("fullscreenchange", updateFullscreen);
|
document.addEventListener("fullscreenchange", updateFullscreen);
|
||||||
document.addEventListener("visibilitychange", () => {
|
document.addEventListener("visibilitychange", () => {
|
||||||
@@ -348,14 +353,16 @@
|
|||||||
text("[data-world-player]", state.name);
|
text("[data-world-player]", state.name);
|
||||||
text("[data-world-level]", `Lv ${state.level}`);
|
text("[data-world-level]", `Lv ${state.level}`);
|
||||||
text("[data-world-health-text]", `${Math.ceil(state.health)} / ${state.maxHealth}`);
|
text("[data-world-health-text]", `${Math.ceil(state.health)} / ${state.maxHealth}`);
|
||||||
controller.root.querySelector("[data-world-health-bar]").style.width = `${(state.health / state.maxHealth) * 100}%`;
|
const healthBar = controller.root.querySelector("[data-world-health-bar]");
|
||||||
|
if (healthBar) healthBar.style.width = `${(state.health / state.maxHealth) * 100}%`;
|
||||||
text("[data-world-objective]", Systems.currentObjective(state));
|
text("[data-world-objective]", Systems.currentObjective(state));
|
||||||
text("[data-world-discovery-count]", `${state.discovered.length} / 8`);
|
text("[data-world-discovery-count]", `${state.discovered.length} / 8`);
|
||||||
text("[data-world-sigil-count]", `${state.sigils.length} / 8`);
|
text("[data-world-sigil-count]", `${state.sigils.length} / 8`);
|
||||||
text("[data-world-sound]", state.settings.soundEnabled ? "Sound: on" : "Sound: muted");
|
text("[data-world-sound]", state.settings.soundEnabled ? "Sound: on" : "Sound: muted");
|
||||||
const selected = Data.ITEMS[state.selectedItem];
|
const selected = Data.ITEMS[state.selectedItem];
|
||||||
text("[data-world-selected-item]", selected ? `${selected.name} ×${Systems.itemQuantity(state, state.selectedItem)}` : "None");
|
text("[data-world-selected-item]", selected ? `${selected.name} ×${Systems.itemQuantity(state, state.selectedItem)}` : "None");
|
||||||
controller.root.querySelector("[data-world-badge]").hidden = !state.complete;
|
const badge = controller.root.querySelector("[data-world-badge]");
|
||||||
|
if (badge) badge.hidden = !state.complete;
|
||||||
controller.root.classList.toggle("is-restored", state.story.ending);
|
controller.root.classList.toggle("is-restored", state.story.ending);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -394,6 +401,11 @@
|
|||||||
if (node) node.textContent = value;
|
if (node) node.textContent = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function bindClick(selector, handler) {
|
||||||
|
const node = controller.root.querySelector(selector);
|
||||||
|
if (node) node.addEventListener("click", handler);
|
||||||
|
}
|
||||||
|
|
||||||
Object.assign(controller, {
|
Object.assign(controller, {
|
||||||
setState, renderHud, status, setPrompt, showBoss, hideBoss, openDefeat, openEnding,
|
setState, renderHud, status, setPrompt, showBoss, hideBoss, openDefeat, openEnding,
|
||||||
openLandmark, openNpc, openChallenge, openMenu, travel, useSelectedItem, cycleItem
|
openLandmark, openNpc, openChallenge, openMenu, travel, useSelectedItem, cycleItem
|
||||||
|
|||||||
0
blogs/2025/2025-list.org
Normal file → Executable file
@@ -88,6 +88,7 @@ See the categories: @@html:<a href="../home/categories.html">Categories</a>@@
|
|||||||
* 2025
|
* 2025
|
||||||
|
|
||||||
** December 2025
|
** December 2025
|
||||||
|
- [[file:2025/2025-list.org][2025 Writing]] @@html:<span class="post-date">31-12-2025 00:00</span>@@
|
||||||
- [[file:2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] @@html:<span class="post-date">28-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"><span class="post-tag">review</span></a>@@
|
- [[file:2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]] @@html:<span class="post-date">28-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"><span class="post-tag">review</span></a>@@
|
||||||
- [[file:2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] @@html:<span class="post-date">21-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"><span class="post-tag">review</span></a>@@
|
- [[file:2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]] @@html:<span class="post-date">21-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"><span class="post-tag">review</span></a>@@
|
||||||
- [[file:2025/12-december/14-12-week-review.org][[14-12-2025] - Weekly Review]] @@html:<span class="post-date">09-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"><span class="post-tag">review</span></a>@@
|
- [[file:2025/12-december/14-12-week-review.org][[14-12-2025] - Weekly Review]] @@html:<span class="post-date">09-12-2025 12:12</span>@@ @@html:<a href="/tags/review.html"><span class="post-tag">review</span></a>@@
|
||||||
|
|||||||
@@ -766,3 +766,9 @@ at <ScriptBlock>, /home/zaine/master-folder/org-platform/org_web/build-logs/gite
|
|||||||
2026-07-29T15:18:06.0538065+01:00 [INFO] Running authoring server tests with /home/zaine/master-folder/org-platform/authoring-service/.venv/bin/python.
|
2026-07-29T15:18:06.0538065+01:00 [INFO] Running authoring server tests with /home/zaine/master-folder/org-platform/authoring-service/.venv/bin/python.
|
||||||
2026-07-29T15:18:06.1955865+01:00 [INFO] Authoring server tests passed: ran=0, failures=0, errors=0, skipped=0, exit=0
|
2026-07-29T15:18:06.1955865+01:00 [INFO] Authoring server tests passed: ran=0, failures=0, errors=0, skipped=0, exit=0
|
||||||
2026-07-29T15:18:06.5283574+01:00 [INFO] Sent authoring server test notification.
|
2026-07-29T15:18:06.5283574+01:00 [INFO] Sent authoring server test notification.
|
||||||
|
2026-07-30T01:00:59.3997427+01:00 [INFO] Prepared current build status for zaine/org_web: severity=Info, status=success
|
||||||
|
2026-07-30T01:00:59.4073111+01:00 [INFO] Fetching recent Gitea Actions runs for zaine/org_web.
|
||||||
|
2026-07-30T01:01:00.6585047+01:00 [INFO] Sent build status notification with 1 embed(s).
|
||||||
|
2026-07-30T01:01:00.6776757+01:00 [INFO] Running authoring server tests with /home/zaine/master-folder/org-platform/authoring-service/.venv/bin/python.
|
||||||
|
2026-07-30T01:01:00.7510165+01:00 [INFO] Authoring server tests passed: ran=0, failures=0, errors=0, skipped=0, exit=0
|
||||||
|
2026-07-30T01:01:01.0172871+01:00 [INFO] Sent authoring server test notification.
|
||||||
|
|||||||
16
play/rpg.org
Normal file → Executable file
@@ -142,12 +142,12 @@
|
|||||||
<noscript><p class="archive-world__noscript">The RPG needs JavaScript, but every destination remains available in the plain directory above.</p></noscript>
|
<noscript><p class="archive-world__noscript">The RPG needs JavaScript, but every destination remains available in the plain directory above.</p></noscript>
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
<script src="/assets/scripts/vendor/phaser-4.1.0.min.js" defer></script>
|
<script src="/assets/scripts/vendor/phaser-4.1.0.min.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world-data.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world-data.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world-state.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world-state.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world-systems.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world-systems.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world-audio.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world-audio.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world-ui.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world-ui.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world-scenes.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world-scenes.js?v=archive-world-2.0.1" defer></script>
|
||||||
<script src="/assets/scripts/pages/archive-world.js" defer></script>
|
<script src="/assets/scripts/pages/archive-world.js?v=archive-world-2.0.1" defer></script>
|
||||||
#+END_EXPORT
|
#+END_EXPORT
|
||||||
|
|||||||
@@ -4,7 +4,7 @@
|
|||||||
See the categories: @@html:<a href="../home/categories.html">Categories</a>@@
|
See the categories: @@html:<a href="../home/categories.html">Categories</a>@@
|
||||||
|
|
||||||
* Posts:
|
* Posts:
|
||||||
- [[file:career/career-list.org][Career List]] @@html:<span class="post-date">29-07-2026 14:58</span>@@
|
- [[file:career/career-list.org][Career List]] @@html:<span class="post-date">29-07-2026 21:47</span>@@
|
||||||
- [[file:career/cross-site-scripting-xss.org][Cross-Site Scripting (XSS)]] @@html:<span class="post-date">01-06-2026 10:21</span>@@ @@html:<a href="/tags/learning.html"><span class="post-tag">learning</span></a>@@ @@html:<a href="/tags/notes.html"><span class="post-tag">notes</span></a>@@
|
- [[file:career/cross-site-scripting-xss.org][Cross-Site Scripting (XSS)]] @@html:<span class="post-date">01-06-2026 10:21</span>@@ @@html:<a href="/tags/learning.html"><span class="post-tag">learning</span></a>@@ @@html:<a href="/tags/notes.html"><span class="post-tag">notes</span></a>@@
|
||||||
- [[file:career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]] @@html:<span class="post-date">11-03-2026 17:18</span>@@ @@html:<a href="/tags/learning.html"><span class="post-tag">learning</span></a>@@ @@html:<a href="/tags/notes.html"><span class="post-tag">notes</span></a>@@
|
- [[file:career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]] @@html:<span class="post-date">11-03-2026 17:18</span>@@ @@html:<a href="/tags/learning.html"><span class="post-tag">learning</span></a>@@ @@html:<a href="/tags/notes.html"><span class="post-tag">notes</span></a>@@
|
||||||
- [[file:career/javascript.org][Understands the Javascript language]] @@html:<span class="post-date">11-03-2026 16:52</span>@@ @@html:<a href="/tags/learning.html"><span class="post-tag">learning</span></a>@@ @@html:<a href="/tags/notes.html"><span class="post-tag">notes</span></a>@@
|
- [[file:career/javascript.org][Understands the Javascript language]] @@html:<span class="post-date">11-03-2026 16:52</span>@@ @@html:<a href="/tags/learning.html"><span class="post-tag">learning</span></a>@@ @@html:<a href="/tags/notes.html"><span class="post-tag">notes</span></a>@@
|
||||||
|
|||||||
505
sitemap.org
@@ -16,205 +16,255 @@ flowchart TD
|
|||||||
n3 --> n5
|
n3 --> n5
|
||||||
n6["Blogs List"]
|
n6["Blogs List"]
|
||||||
n3 --> n6
|
n3 --> n6
|
||||||
n7{{"home"}}
|
n7{{"2025"}}
|
||||||
root --> n7
|
n3 --> n7
|
||||||
n8["Countdown"]
|
n8["2025 Writing"]
|
||||||
n7 --> n8
|
n7 --> n8
|
||||||
n9["Backlog"]
|
n9{{"08-august"}}
|
||||||
n7 --> n9
|
n7 --> n9
|
||||||
n10["Competency Status Board"]
|
n10["Zettelkasten Method"]
|
||||||
n7 --> n10
|
n9 --> n10
|
||||||
n11["hidden-soul"]
|
n11["What Do I Want To Do With Emacs"]
|
||||||
n7 --> n11
|
n9 --> n11
|
||||||
n12["Wird Tracker"]
|
n12["Wacom With Arch"]
|
||||||
n7 --> n12
|
n9 --> n12
|
||||||
n13["Contact"]
|
n13["09-08-2025: Website Changes"]
|
||||||
n7 --> n13
|
n9 --> n13
|
||||||
n14["Service"]
|
n14["Hilbert's Hotel"]
|
||||||
n7 --> n14
|
n9 --> n14
|
||||||
n15["Notes"]
|
n15["Benefits of Reading"]
|
||||||
n7 --> n15
|
n9 --> n15
|
||||||
n16["Categories"]
|
n16["Third Time"]
|
||||||
n7 --> n16
|
n9 --> n16
|
||||||
n17{{"guide"}}
|
n17{{"11-november"}}
|
||||||
n7 --> n17
|
n7 --> n17
|
||||||
n18["Setup"]
|
n18{{"[[file:blogs/2025/11-november/02-11-week-review.org][[02-11-2025] - Weekly Review]]"}}
|
||||||
n17 --> n18
|
n17 --> n18
|
||||||
n19["Wird Tracker — Technical Guide"]
|
n19{{"[[file:blogs/2025/11-november/09-11-week-review.org][[09-11-2025] - Weekly Review]]"}}
|
||||||
n17 --> n19
|
n17 --> n19
|
||||||
n20{{"lima"}}
|
n20{{"[[file:blogs/2025/11-november/16-11-week-review.org][[16-11-2025] - Weekly Review]]"}}
|
||||||
root --> n20
|
n17 --> n20
|
||||||
n21["Lima"]
|
n21{{"[[file:blogs/2025/11-november/23-11-week-review.org][[23-11-2025] - Weekly Review]]"}}
|
||||||
n20 --> n21
|
n17 --> n21
|
||||||
n22{{"posts"}}
|
n22{{"[[file:blogs/2025/11-november/30-11-week-review.org][[30-11-2025] - Weekly Review]]"}}
|
||||||
root --> n22
|
n17 --> n22
|
||||||
n23["Posts Introduction"]
|
n23{{"12-december"}}
|
||||||
n22 --> n23
|
n7 --> n23
|
||||||
n24["Posts List"]
|
n24{{"[[file:blogs/2025/12-december/07-12-week-review.org][[07-12-2025] - Weekly Review]]"}}
|
||||||
n22 --> n24
|
n23 --> n24
|
||||||
n25{{"career"}}
|
n25{{"[[file:blogs/2025/12-december/14-12-week-review.org][[14-12-2025] - Weekly Review]]"}}
|
||||||
n22 --> n25
|
n23 --> n25
|
||||||
n26["SOLID Principles"]
|
n26{{"[[file:blogs/2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]]"}}
|
||||||
n25 --> n26
|
n23 --> n26
|
||||||
n27["OWASP Top Ten"]
|
n27{{"[[file:blogs/2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]]"}}
|
||||||
n25 --> n27
|
n23 --> n27
|
||||||
n28["Retrospectives"]
|
n28{{"home"}}
|
||||||
n25 --> n28
|
root --> n28
|
||||||
n29["Lean"]
|
n29["Countdown"]
|
||||||
n25 --> n29
|
n28 --> n29
|
||||||
n30["Invest Principles"]
|
n30["Backlog"]
|
||||||
n25 --> n30
|
n28 --> n30
|
||||||
n31["Career Introduction"]
|
n31["Competency Status Board"]
|
||||||
n25 --> n31
|
n28 --> n31
|
||||||
n32["Management of self training"]
|
n32["hidden-soul"]
|
||||||
n25 --> n32
|
n28 --> n32
|
||||||
n33["Wireframe Designs"]
|
n33["Wird Tracker"]
|
||||||
n25 --> n33
|
n28 --> n33
|
||||||
n34["Requirements, features, user stories, tasks, walking skeletons"]
|
n34["Contact"]
|
||||||
n25 --> n34
|
n28 --> n34
|
||||||
n35["Benefits of Normalisation"]
|
n35["Service"]
|
||||||
n25 --> n35
|
n28 --> n35
|
||||||
n36["Datamarts, Airflow and DAG's"]
|
n36["Notes"]
|
||||||
n25 --> n36
|
n28 --> n36
|
||||||
n37["Probation Objectives:"]
|
n37["Categories"]
|
||||||
n25 --> n37
|
n28 --> n37
|
||||||
n38["Database Permissions, Roles, and Accounts"]
|
n38{{"guide"}}
|
||||||
n25 --> n38
|
n28 --> n38
|
||||||
n39["Monitoring and Logging"]
|
n39["Setup"]
|
||||||
n25 --> n39
|
n38 --> n39
|
||||||
n40["Pipelines and how they work (as well as CI/CD)"]
|
n40["Wird Tracker — Technical Guide"]
|
||||||
n25 --> n40
|
n38 --> n40
|
||||||
n41["Restful API"]
|
n41{{"lima"}}
|
||||||
n25 --> n41
|
root --> n41
|
||||||
n42["Understands the Javascript language"]
|
n42["Lima"]
|
||||||
n25 --> n42
|
n41 --> n42
|
||||||
n43["High Availability, Disaster Recovery and Business Continuity"]
|
n43{{"tags"}}
|
||||||
n25 --> n43
|
root --> n43
|
||||||
n44["Cross-Site Scripting (XSS)"]
|
n44["Tag: review"]
|
||||||
n25 --> n44
|
n43 --> n44
|
||||||
n45["Career List"]
|
n45["Tag: life"]
|
||||||
n25 --> n45
|
n43 --> n45
|
||||||
n46{{"tags"}}
|
n46["Tag: introduction"]
|
||||||
root --> n46
|
n43 --> n46
|
||||||
n47["Tag: review"]
|
n47["Tag: learning"]
|
||||||
n46 --> n47
|
n43 --> n47
|
||||||
n48["Tag: life"]
|
n48["Tag: notes"]
|
||||||
n46 --> n48
|
n43 --> n48
|
||||||
n49["Tag: introduction"]
|
n49["Tag: review"]
|
||||||
n46 --> n49
|
n43 --> n49
|
||||||
n50["Tag: learning"]
|
n50["Tag: website"]
|
||||||
n46 --> n50
|
n43 --> n50
|
||||||
n51["Tag: notes"]
|
n51["Tag: update"]
|
||||||
n46 --> n51
|
n43 --> n51
|
||||||
n52["Tag: review"]
|
n52["Tag: life"]
|
||||||
n46 --> n52
|
n43 --> n52
|
||||||
n53["Tag: website"]
|
n53["Tag: education"]
|
||||||
n46 --> n53
|
n43 --> n53
|
||||||
n54["Tag: life"]
|
n54["Tag: insights"]
|
||||||
n46 --> n54
|
n43 --> n54
|
||||||
n55["Tag: update"]
|
n55["Tag: reading"]
|
||||||
n46 --> n55
|
n43 --> n55
|
||||||
n56["Tag: insights"]
|
n56["Tag: emacs"]
|
||||||
n46 --> n56
|
n43 --> n56
|
||||||
n57["Tag: emacs"]
|
n57["Tag: maths"]
|
||||||
n46 --> n57
|
n43 --> n57
|
||||||
n58["Tag: education"]
|
n58{{"play"}}
|
||||||
n46 --> n58
|
root --> n58
|
||||||
n59["Tag: reading"]
|
n59["Sigil Press"]
|
||||||
n46 --> n59
|
n58 --> n59
|
||||||
n60["Tag: maths"]
|
n60["Ink Pond"]
|
||||||
n46 --> n60
|
n58 --> n60
|
||||||
n61{{"play"}}
|
n61["Bookshelf Sort"]
|
||||||
root --> n61
|
n58 --> n61
|
||||||
n62["Sigil Press"]
|
n62["Constellation Desk"]
|
||||||
n61 --> n62
|
n58 --> n62
|
||||||
n63["Ink Pond"]
|
n63["Memory Cabinet"]
|
||||||
n61 --> n63
|
n58 --> n63
|
||||||
n64["Bookshelf Sort"]
|
n64["Play"]
|
||||||
n61 --> n64
|
n58 --> n64
|
||||||
n65["Constellation Desk"]
|
n65["Archive Terminal"]
|
||||||
n61 --> n65
|
n58 --> n65
|
||||||
n66["Memory Cabinet"]
|
n66["Study Lamp"]
|
||||||
n61 --> n66
|
n58 --> n66
|
||||||
n67["Play"]
|
n67["Marginalia Machine"]
|
||||||
n61 --> n67
|
n58 --> n67
|
||||||
n68["Archive Terminal"]
|
n68["The Rain Index"]
|
||||||
n61 --> n68
|
n58 --> n68
|
||||||
n69["Study Lamp"]
|
n69["The House of Pages"]
|
||||||
n61 --> n69
|
n58 --> n69
|
||||||
n70["Marginalia Machine"]
|
n70["The Archive World"]
|
||||||
n61 --> n70
|
n58 --> n70
|
||||||
n71["The Rain Index"]
|
n71{{"posts"}}
|
||||||
n61 --> n71
|
root --> n71
|
||||||
n72["The House of Pages"]
|
n72["Posts Introduction"]
|
||||||
n61 --> n72
|
n71 --> n72
|
||||||
n73["The Archive World"]
|
n73["Posts List"]
|
||||||
n61 --> n73
|
n71 --> n73
|
||||||
|
n74{{"career"}}
|
||||||
|
n71 --> n74
|
||||||
|
n75["SOLID Principles"]
|
||||||
|
n74 --> n75
|
||||||
|
n76["OWASP Top Ten"]
|
||||||
|
n74 --> n76
|
||||||
|
n77["Retrospectives"]
|
||||||
|
n74 --> n77
|
||||||
|
n78["Lean"]
|
||||||
|
n74 --> n78
|
||||||
|
n79["Invest Principles"]
|
||||||
|
n74 --> n79
|
||||||
|
n80["Career Introduction"]
|
||||||
|
n74 --> n80
|
||||||
|
n81["Management of self training"]
|
||||||
|
n74 --> n81
|
||||||
|
n82["Wireframe Designs"]
|
||||||
|
n74 --> n82
|
||||||
|
n83["Requirements, features, user stories, tasks, walking skeletons"]
|
||||||
|
n74 --> n83
|
||||||
|
n84["Benefits of Normalisation"]
|
||||||
|
n74 --> n84
|
||||||
|
n85["Datamarts, Airflow and DAG's"]
|
||||||
|
n74 --> n85
|
||||||
|
n86["Probation Objectives:"]
|
||||||
|
n74 --> n86
|
||||||
|
n87["Database Permissions, Roles, and Accounts"]
|
||||||
|
n74 --> n87
|
||||||
|
n88["Monitoring and Logging"]
|
||||||
|
n74 --> n88
|
||||||
|
n89["Pipelines and how they work (as well as CI/CD)"]
|
||||||
|
n74 --> n89
|
||||||
|
n90["Restful API"]
|
||||||
|
n74 --> n90
|
||||||
|
n91["Understands the Javascript language"]
|
||||||
|
n74 --> n91
|
||||||
|
n92["High Availability, Disaster Recovery and Business Continuity"]
|
||||||
|
n74 --> n92
|
||||||
|
n93["Cross-Site Scripting (XSS)"]
|
||||||
|
n74 --> n93
|
||||||
|
n94["Career List"]
|
||||||
|
n74 --> n94
|
||||||
click n1 "index.html" "Home"
|
click n1 "index.html" "Home"
|
||||||
click n2 "recently-updated.html" "Recently Updated"
|
click n2 "recently-updated.html" "Recently Updated"
|
||||||
click n4 "blogs/blogs-intro.html" "Blogs Introduction"
|
click n4 "blogs/blogs-intro.html" "Blogs Introduction"
|
||||||
click n5 "blogs/publish-pages.html" "How to publish pages using Org Publish"
|
click n5 "blogs/publish-pages.html" "How to publish pages using Org Publish"
|
||||||
click n6 "blogs/blogs-list.html" "Blogs List"
|
click n6 "blogs/blogs-list.html" "Blogs List"
|
||||||
click n8 "home/countdown.html" "Countdown"
|
click n8 "blogs/2025/2025-list.html" "2025 Writing"
|
||||||
click n9 "home/backlog.html" "Backlog"
|
click n10 "blogs/2025/08-august/zettelkasten.html" "Zettelkasten Method"
|
||||||
click n10 "home/status.html" "Competency Status Board"
|
click n11 "blogs/2025/08-august/what-do-i-want-to-do-with-emacs.html" "What Do I Want To Do With Emacs"
|
||||||
click n11 "home/hidden-soul.html" "hidden-soul"
|
click n12 "blogs/2025/08-august/wacom-with-arch.html" "Wacom With Arch"
|
||||||
click n12 "home/wird-tracker.html" "Wird Tracker"
|
click n13 "blogs/2025/08-august/spending-the-whole-day-on-this-website.html" "09-08-2025: Website Changes"
|
||||||
click n13 "home/contact.html" "Contact"
|
click n14 "blogs/2025/08-august/hilberts.hotel.html" "Hilbert's Hotel"
|
||||||
click n14 "home/services.html" "Service"
|
click n15 "blogs/2025/08-august/benefits-of-reading.html" "Benefits of Reading"
|
||||||
click n15 "home/notes.html" "Notes"
|
click n16 "blogs/2025/08-august/third-time.html" "Third Time"
|
||||||
click n16 "home/categories.html" "Categories"
|
click n29 "home/countdown.html" "Countdown"
|
||||||
click n18 "home/guide/setup.html" "Setup"
|
click n30 "home/backlog.html" "Backlog"
|
||||||
click n19 "home/guide/wird-tracker-guide.html" "Wird Tracker — Technical Guide"
|
click n31 "home/status.html" "Competency Status Board"
|
||||||
click n21 "lima/lima-list.html" "Lima"
|
click n32 "home/hidden-soul.html" "hidden-soul"
|
||||||
click n23 "posts/posts-intro.html" "Posts Introduction"
|
click n33 "home/wird-tracker.html" "Wird Tracker"
|
||||||
click n24 "posts/posts-list.html" "Posts List"
|
click n34 "home/contact.html" "Contact"
|
||||||
click n26 "posts/career/solid-principles.html" "SOLID Principles"
|
click n35 "home/services.html" "Service"
|
||||||
click n27 "posts/career/owasp.html" "OWASP Top Ten"
|
click n36 "home/notes.html" "Notes"
|
||||||
click n28 "posts/career/retrospectives.html" "Retrospectives"
|
click n37 "home/categories.html" "Categories"
|
||||||
click n29 "posts/career/lean.html" "Lean"
|
click n39 "home/guide/setup.html" "Setup"
|
||||||
click n30 "posts/career/invest-principles.html" "Invest Principles"
|
click n40 "home/guide/wird-tracker-guide.html" "Wird Tracker — Technical Guide"
|
||||||
click n31 "posts/career/career-intro.html" "Career Introduction"
|
click n42 "lima/lima-list.html" "Lima"
|
||||||
click n32 "posts/career/management-of-self.html" "Management of self training"
|
click n44 "tags/review.sync-conflict-20260328-203248-VT6366A.html" "Tag: review"
|
||||||
click n33 "posts/career/wireframe-designs.html" "Wireframe Designs"
|
click n45 "tags/life.sync-conflict-20260417-233423-VT6366A.html" "Tag: life"
|
||||||
click n34 "posts/career/requirements-features.html" "Requirements, features, user stories, tasks, walking skeletons"
|
click n46 "tags/introduction.html" "Tag: introduction"
|
||||||
click n35 "posts/career/normalisation.html" "Benefits of Normalisation"
|
click n47 "tags/learning.html" "Tag: learning"
|
||||||
click n36 "posts/career/airflow.html" "Datamarts, Airflow and DAG's"
|
click n48 "tags/notes.html" "Tag: notes"
|
||||||
click n37 "posts/career/probation-objectives.html" "Probation Objectives:"
|
click n49 "tags/review.html" "Tag: review"
|
||||||
click n38 "posts/career/database-permissions.html" "Database Permissions, Roles, and Accounts"
|
click n50 "tags/website.html" "Tag: website"
|
||||||
click n39 "posts/career/monitoring-and-logging.html" "Monitoring and Logging"
|
click n51 "tags/update.html" "Tag: update"
|
||||||
click n40 "posts/career/pipelines.html" "Pipelines and how they work (as well as CI/CD)"
|
click n52 "tags/life.html" "Tag: life"
|
||||||
click n41 "posts/career/restful-api.html" "Restful API"
|
click n53 "tags/education.html" "Tag: education"
|
||||||
click n42 "posts/career/javascript.html" "Understands the Javascript language"
|
click n54 "tags/insights.html" "Tag: insights"
|
||||||
click n43 "posts/career/ha-dr.html" "High Availability, Disaster Recovery and Business Continuity"
|
click n55 "tags/reading.html" "Tag: reading"
|
||||||
click n44 "posts/career/cross-site-scripting-xss.html" "Cross-Site Scripting (XSS)"
|
click n56 "tags/emacs.html" "Tag: emacs"
|
||||||
click n45 "posts/career/career-list.html" "Career List"
|
click n57 "tags/maths.html" "Tag: maths"
|
||||||
click n47 "tags/review.sync-conflict-20260328-203248-VT6366A.html" "Tag: review"
|
click n59 "play/sigil.html" "Sigil Press"
|
||||||
click n48 "tags/life.sync-conflict-20260417-233423-VT6366A.html" "Tag: life"
|
click n60 "play/ink.html" "Ink Pond"
|
||||||
click n49 "tags/introduction.html" "Tag: introduction"
|
click n61 "play/bookshelf.html" "Bookshelf Sort"
|
||||||
click n50 "tags/learning.html" "Tag: learning"
|
click n62 "play/constellation.html" "Constellation Desk"
|
||||||
click n51 "tags/notes.html" "Tag: notes"
|
click n63 "play/memory.html" "Memory Cabinet"
|
||||||
click n52 "tags/review.html" "Tag: review"
|
click n64 "play/play.html" "Play"
|
||||||
click n53 "tags/website.html" "Tag: website"
|
click n65 "play/terminal.html" "Archive Terminal"
|
||||||
click n54 "tags/life.html" "Tag: life"
|
click n66 "play/study.html" "Study Lamp"
|
||||||
click n55 "tags/update.html" "Tag: update"
|
click n67 "play/poem.html" "Marginalia Machine"
|
||||||
click n56 "tags/insights.html" "Tag: insights"
|
click n68 "play/the-rain-index.html" "The Rain Index"
|
||||||
click n57 "tags/emacs.html" "Tag: emacs"
|
click n69 "play/house.html" "The House of Pages"
|
||||||
click n58 "tags/education.html" "Tag: education"
|
click n70 "play/rpg.html" "The Archive World"
|
||||||
click n59 "tags/reading.html" "Tag: reading"
|
click n72 "posts/posts-intro.html" "Posts Introduction"
|
||||||
click n60 "tags/maths.html" "Tag: maths"
|
click n73 "posts/posts-list.html" "Posts List"
|
||||||
click n62 "play/sigil.html" "Sigil Press"
|
click n75 "posts/career/solid-principles.html" "SOLID Principles"
|
||||||
click n63 "play/ink.html" "Ink Pond"
|
click n76 "posts/career/owasp.html" "OWASP Top Ten"
|
||||||
click n64 "play/bookshelf.html" "Bookshelf Sort"
|
click n77 "posts/career/retrospectives.html" "Retrospectives"
|
||||||
click n65 "play/constellation.html" "Constellation Desk"
|
click n78 "posts/career/lean.html" "Lean"
|
||||||
click n66 "play/memory.html" "Memory Cabinet"
|
click n79 "posts/career/invest-principles.html" "Invest Principles"
|
||||||
click n67 "play/play.html" "Play"
|
click n80 "posts/career/career-intro.html" "Career Introduction"
|
||||||
click n68 "play/terminal.html" "Archive Terminal"
|
click n81 "posts/career/management-of-self.html" "Management of self training"
|
||||||
click n69 "play/study.html" "Study Lamp"
|
click n82 "posts/career/wireframe-designs.html" "Wireframe Designs"
|
||||||
click n70 "play/poem.html" "Marginalia Machine"
|
click n83 "posts/career/requirements-features.html" "Requirements, features, user stories, tasks, walking skeletons"
|
||||||
click n71 "play/the-rain-index.html" "The Rain Index"
|
click n84 "posts/career/normalisation.html" "Benefits of Normalisation"
|
||||||
click n72 "play/house.html" "The House of Pages"
|
click n85 "posts/career/airflow.html" "Datamarts, Airflow and DAG's"
|
||||||
click n73 "play/rpg.html" "The Archive World"
|
click n86 "posts/career/probation-objectives.html" "Probation Objectives:"
|
||||||
|
click n87 "posts/career/database-permissions.html" "Database Permissions, Roles, and Accounts"
|
||||||
|
click n88 "posts/career/monitoring-and-logging.html" "Monitoring and Logging"
|
||||||
|
click n89 "posts/career/pipelines.html" "Pipelines and how they work (as well as CI/CD)"
|
||||||
|
click n90 "posts/career/restful-api.html" "Restful API"
|
||||||
|
click n91 "posts/career/javascript.html" "Understands the Javascript language"
|
||||||
|
click n92 "posts/career/ha-dr.html" "High Availability, Disaster Recovery and Business Continuity"
|
||||||
|
click n93 "posts/career/cross-site-scripting-xss.html" "Cross-Site Scripting (XSS)"
|
||||||
|
click n94 "posts/career/career-list.html" "Career List"
|
||||||
#+end_src
|
#+end_src
|
||||||
|
|
||||||
* Pages
|
* Pages
|
||||||
@@ -224,6 +274,27 @@ flowchart TD
|
|||||||
- [[file:blogs/blogs-intro.org][Blogs Introduction]]
|
- [[file:blogs/blogs-intro.org][Blogs Introduction]]
|
||||||
- [[file:blogs/publish-pages.org][How to publish pages using Org Publish]]
|
- [[file:blogs/publish-pages.org][How to publish pages using Org Publish]]
|
||||||
- [[file:blogs/blogs-list.org][Blogs List]]
|
- [[file:blogs/blogs-list.org][Blogs List]]
|
||||||
|
- 2025
|
||||||
|
- [[file:blogs/2025/2025-list.org][2025 Writing]]
|
||||||
|
- 08-august
|
||||||
|
- [[file:blogs/2025/08-august/zettelkasten.org][Zettelkasten Method]]
|
||||||
|
- [[file:blogs/2025/08-august/what-do-i-want-to-do-with-emacs.org][What Do I Want To Do With Emacs]]
|
||||||
|
- [[file:blogs/2025/08-august/wacom-with-arch.org][Wacom With Arch]]
|
||||||
|
- [[file:blogs/2025/08-august/spending-the-whole-day-on-this-website.org][09-08-2025: Website Changes]]
|
||||||
|
- [[file:blogs/2025/08-august/hilberts.hotel.org][Hilbert's Hotel]]
|
||||||
|
- [[file:blogs/2025/08-august/benefits-of-reading.org][Benefits of Reading]]
|
||||||
|
- [[file:blogs/2025/08-august/third-time.org][Third Time]]
|
||||||
|
- 11-november
|
||||||
|
- [[file:blogs/2025/11-november/02-11-week-review.org][[02-11-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/11-november/09-11-week-review.org][[09-11-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/11-november/16-11-week-review.org][[16-11-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/11-november/23-11-week-review.org][[23-11-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/11-november/30-11-week-review.org][[30-11-2025] - Weekly Review]]
|
||||||
|
- 12-december
|
||||||
|
- [[file:blogs/2025/12-december/07-12-week-review.org][[07-12-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/12-december/14-12-week-review.org][[14-12-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/12-december/21-12-week-review.org][[21-12-2025] - Weekly Review]]
|
||||||
|
- [[file:blogs/2025/12-december/28-12-week-review.org][[28-12-2025] - Weekly Review]]
|
||||||
- home
|
- home
|
||||||
- [[file:home/countdown.org][Countdown]]
|
- [[file:home/countdown.org][Countdown]]
|
||||||
- [[file:home/backlog.org][Backlog]]
|
- [[file:home/backlog.org][Backlog]]
|
||||||
@@ -239,6 +310,34 @@ flowchart TD
|
|||||||
- [[file:home/guide/wird-tracker-guide.org][Wird Tracker — Technical Guide]]
|
- [[file:home/guide/wird-tracker-guide.org][Wird Tracker — Technical Guide]]
|
||||||
- lima
|
- lima
|
||||||
- [[file:lima/lima-list.org][Lima]]
|
- [[file:lima/lima-list.org][Lima]]
|
||||||
|
- tags
|
||||||
|
- [[file:tags/review.sync-conflict-20260328-203248-VT6366A.org][Tag: review]]
|
||||||
|
- [[file:tags/life.sync-conflict-20260417-233423-VT6366A.org][Tag: life]]
|
||||||
|
- [[file:tags/introduction.org][Tag: introduction]]
|
||||||
|
- [[file:tags/learning.org][Tag: learning]]
|
||||||
|
- [[file:tags/notes.org][Tag: notes]]
|
||||||
|
- [[file:tags/review.org][Tag: review]]
|
||||||
|
- [[file:tags/website.org][Tag: website]]
|
||||||
|
- [[file:tags/update.org][Tag: update]]
|
||||||
|
- [[file:tags/life.org][Tag: life]]
|
||||||
|
- [[file:tags/education.org][Tag: education]]
|
||||||
|
- [[file:tags/insights.org][Tag: insights]]
|
||||||
|
- [[file:tags/reading.org][Tag: reading]]
|
||||||
|
- [[file:tags/emacs.org][Tag: emacs]]
|
||||||
|
- [[file:tags/maths.org][Tag: maths]]
|
||||||
|
- play
|
||||||
|
- [[file:play/sigil.org][Sigil Press]]
|
||||||
|
- [[file:play/ink.org][Ink Pond]]
|
||||||
|
- [[file:play/bookshelf.org][Bookshelf Sort]]
|
||||||
|
- [[file:play/constellation.org][Constellation Desk]]
|
||||||
|
- [[file:play/memory.org][Memory Cabinet]]
|
||||||
|
- [[file:play/play.org][Play]]
|
||||||
|
- [[file:play/terminal.org][Archive Terminal]]
|
||||||
|
- [[file:play/study.org][Study Lamp]]
|
||||||
|
- [[file:play/poem.org][Marginalia Machine]]
|
||||||
|
- [[file:play/the-rain-index.org][The Rain Index]]
|
||||||
|
- [[file:play/house.org][The House of Pages]]
|
||||||
|
- [[file:play/rpg.org][The Archive World]]
|
||||||
- posts
|
- posts
|
||||||
- [[file:posts/posts-intro.org][Posts Introduction]]
|
- [[file:posts/posts-intro.org][Posts Introduction]]
|
||||||
- [[file:posts/posts-list.org][Posts List]]
|
- [[file:posts/posts-list.org][Posts List]]
|
||||||
@@ -263,31 +362,3 @@ flowchart TD
|
|||||||
- [[file:posts/career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]]
|
- [[file:posts/career/ha-dr.org][High Availability, Disaster Recovery and Business Continuity]]
|
||||||
- [[file:posts/career/cross-site-scripting-xss.org][Cross-Site Scripting (XSS)]]
|
- [[file:posts/career/cross-site-scripting-xss.org][Cross-Site Scripting (XSS)]]
|
||||||
- [[file:posts/career/career-list.org][Career List]]
|
- [[file:posts/career/career-list.org][Career List]]
|
||||||
- tags
|
|
||||||
- [[file:tags/review.sync-conflict-20260328-203248-VT6366A.org][Tag: review]]
|
|
||||||
- [[file:tags/life.sync-conflict-20260417-233423-VT6366A.org][Tag: life]]
|
|
||||||
- [[file:tags/introduction.org][Tag: introduction]]
|
|
||||||
- [[file:tags/learning.org][Tag: learning]]
|
|
||||||
- [[file:tags/notes.org][Tag: notes]]
|
|
||||||
- [[file:tags/review.org][Tag: review]]
|
|
||||||
- [[file:tags/website.org][Tag: website]]
|
|
||||||
- [[file:tags/life.org][Tag: life]]
|
|
||||||
- [[file:tags/update.org][Tag: update]]
|
|
||||||
- [[file:tags/insights.org][Tag: insights]]
|
|
||||||
- [[file:tags/emacs.org][Tag: emacs]]
|
|
||||||
- [[file:tags/education.org][Tag: education]]
|
|
||||||
- [[file:tags/reading.org][Tag: reading]]
|
|
||||||
- [[file:tags/maths.org][Tag: maths]]
|
|
||||||
- play
|
|
||||||
- [[file:play/sigil.org][Sigil Press]]
|
|
||||||
- [[file:play/ink.org][Ink Pond]]
|
|
||||||
- [[file:play/bookshelf.org][Bookshelf Sort]]
|
|
||||||
- [[file:play/constellation.org][Constellation Desk]]
|
|
||||||
- [[file:play/memory.org][Memory Cabinet]]
|
|
||||||
- [[file:play/play.org][Play]]
|
|
||||||
- [[file:play/terminal.org][Archive Terminal]]
|
|
||||||
- [[file:play/study.org][Study Lamp]]
|
|
||||||
- [[file:play/poem.org][Marginalia Machine]]
|
|
||||||
- [[file:play/the-rain-index.org][The Rain Index]]
|
|
||||||
- [[file:play/house.org][The House of Pages]]
|
|
||||||
- [[file:play/rpg.org][The Archive World]]
|
|
||||||