mirror of
https://github.com/Patiun/com.gregkilmer.www.git
synced 2026-11-07 19:58:24 +00:00
Start the rebuild: note schema, vault kit and data migration
Phase 1 of the functional design plan. - Move the old site into legacy/, unchanged, for reference. It still builds from there until cutover. - Add packages/schema: the one definition of all 20 note types, with field titles and descriptions, note and vault checks, and JSON Schema export so later editing tools and the MCP server share it. - Add vault-kit: Obsidian templates generated from the schema, and the Site guide for 24.01_PersonalWebsite. - Add tools/migrate: turns the legacy JSON, collections, store data and page text into 545 Site folder notes and 84 images, and checks the result with the schema. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012aSbo2D1qP8cMFQCykf7kx
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
# Site guide
|
||||
|
||||
Everything in the `Site` folder can appear on GregKilmer.com. Nothing outside
|
||||
it ever can.
|
||||
|
||||
- **Going live.** A note is on the site only when its `publish` property is
|
||||
true. Turn it off and the page comes down; nothing is deleted.
|
||||
- **New notes.** Use a template from `Site/_templates`. Each note type has its
|
||||
own folder; the template's comments list the allowed values.
|
||||
- **Links.** Link notes the usual way, `[[Note name]]`. A post that links to
|
||||
a make shows up on that make, its craft and the Workshop page.
|
||||
- **Status updates.** Add a note in `Now/` with a kind from `Now/_kinds`, a
|
||||
date and the `[[note]]` it is about. The newest one per note wins.
|
||||
- **Images.** Put them in `Site/_attachments/` and link them by file name.
|
||||
- **Settings.** `_site.md`, `Now/_kinds.md` and `Store/_settings.md`.
|
||||
Opening and closing store orders is one property in `Store/_settings.md`.
|
||||
|
||||
If a change has a problem, the site keeps showing the last good version and
|
||||
the admin page explains what to fix.
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
type: "board-game"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
bggId:
|
||||
blurb:
|
||||
howItPlays: [] # optional. Like engine building, social deduction, co-op.
|
||||
owned: true # optional
|
||||
wantToPlay: false # optional
|
||||
lastPlayed: # optional
|
||||
---
|
||||
|
||||
<!-- Optional longer thoughts. -->
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
type: "campaign"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
system: # optional. Leave out for a playtest of an unreleased game.
|
||||
status: # one of: active, playtest, paused, finished
|
||||
schedule: # optional. Like Thursdays, every other week.
|
||||
platform: # optional. Like Foundry VTT.
|
||||
blurb: # optional
|
||||
---
|
||||
|
||||
<!-- Optional campaign notes for the page. -->
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
type: "card-game"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
stance: # Like Main event, Collecting, Getting into.
|
||||
blurb: # optional
|
||||
order: # optional
|
||||
---
|
||||
@@ -0,0 +1,13 @@
|
||||
---
|
||||
type: "craft"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
status: # one of: Practicing, Learning, Getting into, Paused
|
||||
blurb: # optional
|
||||
station: # optional
|
||||
tools: [] # optional
|
||||
order: # optional
|
||||
---
|
||||
|
||||
<!-- What you make with it, for the craft page. -->
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
type: "deck"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
game:
|
||||
format: # optional. Like Commander.
|
||||
archidektId: # optional
|
||||
listUrl: # optional. For games not on Archidekt.
|
||||
take: # optional. One line on the deck.
|
||||
---
|
||||
@@ -0,0 +1,16 @@
|
||||
---
|
||||
type: "experience"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
company:
|
||||
role:
|
||||
start:
|
||||
end: # optional. Leave out while it is your current role.
|
||||
location: # optional
|
||||
focus: # optional. One line under the role.
|
||||
bullets: []
|
||||
tech: [] # optional
|
||||
---
|
||||
|
||||
<!-- Optional longer notes; the resume uses the bullets. -->
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
type: "library-item"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
medium: # one of: book, light novel, webnovel, manga, manhwa, video game, anime, TV, movie
|
||||
state: # one of: now, up next, played, finished, caught up, dropped
|
||||
creator: # optional
|
||||
group: # optional. Where it sits in the list, like Cosmere, Marvel Cinematic Universe or Prestige Drama.
|
||||
year: # optional
|
||||
platform: # optional. Video games only, like Steam or PlayStation 5.
|
||||
verdict: # optional. A short review. No score.
|
||||
note: # optional. Context, like where you are or how you came to it.
|
||||
progress: # optional. Like 16/18 volumes. Synced from PersonalReader when linked.
|
||||
anilistId: # optional. Links the item to PersonalReader's progress.
|
||||
---
|
||||
|
||||
<!-- Optional longer thoughts. -->
|
||||
@@ -0,0 +1,12 @@
|
||||
---
|
||||
type: "make"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
craft:
|
||||
date: "{{date:YYYY-MM-DD}}" # optional
|
||||
photos: [] # optional
|
||||
blurb: # optional
|
||||
---
|
||||
|
||||
<!-- Optional story of the make. -->
|
||||
@@ -0,0 +1,10 @@
|
||||
---
|
||||
type: "page"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
page: # The page address this text belongs to, like /about.
|
||||
lede: # optional. The one line under the page title.
|
||||
---
|
||||
|
||||
<!-- The page's introduction. -->
|
||||
@@ -0,0 +1,17 @@
|
||||
---
|
||||
type: "post"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
date: "{{date:YYYY-MM-DD}}"
|
||||
topic: # one of: Making, Tabletop, Library, Work and tech, Life
|
||||
postType: "article" # optional. one of: article, build log, case study
|
||||
summary: # One or two sentences for lists and link previews.
|
||||
pinned: false # optional. Takes the top slot on the Blog.
|
||||
employer: # optional. Case studies only. Leave out for personal projects.
|
||||
role: # optional. Case studies only.
|
||||
period: # optional. Case studies only, like 2021 to now.
|
||||
tech: [] # optional
|
||||
---
|
||||
|
||||
<!-- The post itself. -->
|
||||
@@ -0,0 +1,18 @@
|
||||
---
|
||||
type: "product-line"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
category: # one of: Tabletop, Paper, Leather
|
||||
mode: # one of: made to order, in stock
|
||||
channel: # one of: here, Etsy, Patiun.com, coming soon
|
||||
channelUrl: # optional. For Etsy or Patiun.com lines.
|
||||
summary:
|
||||
icon: # optional
|
||||
order: # optional
|
||||
slots: # optional. Made to order lines only.
|
||||
quantity: # optional. In stock lines only.
|
||||
priceTiers: []
|
||||
---
|
||||
|
||||
<!-- Optional longer description for the product page. -->
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
type: "station"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
where: # Like the work counter and filament wall.
|
||||
goodFor: # optional
|
||||
order:
|
||||
---
|
||||
@@ -0,0 +1,11 @@
|
||||
---
|
||||
type: "status"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
kind: # One of the kinds listed in Now/_kinds.
|
||||
date: "{{date:YYYY-MM-DD}}"
|
||||
subject: # optional. The note this status is about, if there is one.
|
||||
note: # optional
|
||||
pinned: false # optional
|
||||
---
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
type: "tabletop-system"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
state: # one of: running, played, want to run, want to play, want to try
|
||||
blurb:
|
||||
order: # optional
|
||||
---
|
||||
@@ -0,0 +1,9 @@
|
||||
---
|
||||
type: "tool"
|
||||
title: "{{title}}"
|
||||
publish: false # Only notes set to true appear on the site.
|
||||
created: "{{date:YYYY-MM-DD}}" # optional
|
||||
kind: # one of: printer, cutter, casting, finishing, material, other
|
||||
station: # optional
|
||||
blurb: # optional
|
||||
---
|
||||
Reference in New Issue
Block a user