diff --git a/README.md b/README.md index feda52d..a0c9e7b 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ Each research topic is a **directory** at the vault root with an `index.md` entr ``` - **Small topics**: just `index.md` alone in the directory. -- **Big topics**: split into detail files as they grow. Link them from `index.md` with `[[wikilinks]]`. +- **Big topics**: split into detail files as they grow. Link them from `index.md` with path-qualified wikilinks (e.g. `[[topic-slug/sources|Sources]]`) to avoid ambiguous basenames across topics. - Detail file names are up to you — `sources`, `analysis`, `methodology`, `notes`, `summary`, `next-steps` are common patterns. ### Frontmatter (in `index.md`) @@ -33,15 +33,21 @@ Each research topic is a **directory** at the vault root with an `index.md` entr ```yaml --- title: One-line summary +description: Short description for search results and link previews status: exploring | active | concluded | shelved category: market | technical | competitive | legal | scientific | exploratory tags: [] +draft: true created: YYYY-MM-DD updated: YYYY-MM-DD origin: buzz:/// --- ``` +- `description` — improves search results, link previews, RSS, and SEO when published via Quartz. +- `draft: true` — excludes the topic from the published site. Set `draft: false` when ready to publish. +- `created` / `updated` — Quartz recognizes these for date display and sorting. + ### Categories Categories are in frontmatter, not folders — every topic lives at the vault root. @@ -69,11 +75,13 @@ exploring → active → concluded ## Bases -Open `Research Base` (in `bases/research-base.md`) to see all topics as a filterable, sortable table — by status, category, tags, or date. Only `index.md` files appear; detail files are excluded via the `file.name.is("index")` filter. +Open `Research Base` (in `bases/research-base.base`) to see all topics as a filterable, sortable table — by status, category, tags, or date. Only `index.md` files appear; detail files are excluded via the `file.name == "index.md"` filter. ## Graph View -Wikilinks between detail files within a topic, and between topics via shared tags, create a knowledge graph visible in Obsidian's graph view. Cross-links to [[index|Idea Dump]] entries (e.g., research that feeds a product idea) work natively since both vaults live under the same Obsidian vault. +Wikilinks between detail files within a topic, and between topics, create a knowledge graph visible in Obsidian's graph view. Use path-qualified links (`[[topic-slug/sources|Sources]]`) to avoid ambiguous basenames. Tags make topics discoverable and filterable but do not themselves create graph edges — only links do. + +Note: cross-vault wikilinks (e.g. to idea-dump entries) only work if both vaults are directories within the same Obsidian vault. If publishing via Quartz, links can only resolve within the same content tree — use public URLs for cross-site references. ## Publishing (Future) @@ -82,4 +90,4 @@ The vault is structured for eventual publication as a public knowledge base: - **Quartz** (recommended) — free static site generator for Obsidian vaults. Preserves wikilinks, backlinks, graph view, and full-text search. Self-hostable via NixOS. - **Obsidian Publish** — paid, simplest, but not self-hosted. -The `index.md` + wikilink structure means the published site will render as a connected knowledge graph, not a flat list of documents. +The `index.md` + wikilink structure means the published site will render as a connected knowledge graph, not a flat list of documents. The `draft` frontmatter field controls which topics are published. diff --git a/bases/research-base.base b/bases/research-base.base new file mode 100644 index 0000000..6479722 --- /dev/null +++ b/bases/research-base.base @@ -0,0 +1,31 @@ +filters: + and: + - file.name == "index.md" +formulas: + age_days: '((now() - file.ctime) / 86400000).floor()' +properties: + title: + displayName: Title + status: + displayName: Status + category: + displayName: Category + tags: + displayName: Tags + created: + displayName: Created + updated: + displayName: Updated + formula.age_days: + displayName: Age +views: + - type: table + name: Research + order: + - title + - status + - category + - tags + - created + - updated + - formula.age_days diff --git a/bases/research-base.md b/bases/research-base.md deleted file mode 100644 index b9eb4a4..0000000 --- a/bases/research-base.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -filters: - and: - - file.name.is("index") -formulas: - age_days: 'date(now) - file.ctime' -properties: - status: - input: select - options: - - exploring - - active - - concluded - - shelved - category: - input: select - options: - - market - - technical - - competitive - - legal - - scientific - - exploratory - tags: - input: tags - created: - input: date - updated: - input: date - origin: - input: text ---- - -# Research Base - -All research topics, filterable by status, category, tags, and date. Detail files are excluded — only `index.md` per topic directory appears here. - -| Title | Status | Category | Tags | Created | Updated | -|-------|--------|----------|------|---------|---------| -| {{title}} | {{status}} | {{category}} | {{tags}} | {{created}} | {{updated}} | diff --git a/templates/research-template.md b/templates/research-template.md index 39e8089..efffada 100644 --- a/templates/research-template.md +++ b/templates/research-template.md @@ -1,8 +1,10 @@ --- title: +description: status: exploring category: tags: [] +draft: true created: {{date:YYYY-MM-DD}} updated: {{date:YYYY-MM-DD}} origin: @@ -18,6 +20,10 @@ One or two sentences on what this research investigates. What specific question are we trying to answer? +## Scope + +What is included, excluded, and what would count as a sufficient answer? + ## Key Findings - @@ -30,17 +36,21 @@ Key references, links, and data sources. For a full list, see [[sources]] if the ## Detail Files -Optional — create these only when research grows and you want to modularize: +Optional — create these only when research grows and you want to modularize. Use path-qualified links to avoid ambiguous basenames across topics: -- [[sources]] — links, references, data sources, API docs -- [[analysis]] — deep analysis, findings, comparisons -- [[methodology]] — how the research was conducted, tools used -- [[notes]] — working notes, raw observations, intermediate results -- [[summary]] — final synthesis (when concluded) -- [[next-steps]] — follow-up questions, gaps, future research +- [[topic-slug/sources|Sources]] — links, references, data sources, API docs +- [[topic-slug/analysis|Analysis]] — deep analysis, findings, comparisons +- [[topic-slug/methodology|Methodology]] — how the research was conducted, tools used +- [[topic-slug/notes|Notes]] — working notes, raw observations, intermediate results +- [[topic-slug/summary|Summary]] — final synthesis (when concluded) +- [[topic-slug/next-steps|Next Steps]] — follow-up questions, gaps, future research For small topics, keep everything in `index.md` and delete this section. +## Related Research + +- + ## Discussion Notes from the Buzz channel discussion. Link back to the thread with the origin URL. @@ -51,4 +61,4 @@ Notes from the Buzz channel discussion. Link back to the thread with the origin ## Conclusion -What did we find? (concluded / shelved — update the frontmatter status too) +What did we find? (concluded / shelved — update the frontmatter status and set `draft: false` if publishing)