Schema
- for module schema, see Module Schema (Private)
version: 1
imports: [module]
schemas:
- id: pkg
desc: a package
parent: root
namespace: true
children:
- module.qa
- module.quickstart
- module.concepts
- module.architecture
- module.tips
- module.faq
- module.topic
- module.ops
- module.dev
- module.changelog
- module.config
- module.advanced
- module.best
Wildcards
Wildcards are nodes that can be put as the children of anything. They can also live as sections inside a note
Nodes
- Cook: Guide on how to accomplish a specific task
- alias: howto
- eg: Cook
- Tip: Optimizations on doing things better
- eg: Tips
- Gotchas: Things to watch out for
- eg: Gotchas
Types
Wildcard as Child of Note
- hiearchy: {module}.dev.cook
- how to do X in a certain module
Wildcard as Section of Note
- {module}.dev
## Cook
### Adding a new command to plugin-core
...
Choosing betwen Child vs Section
Following the Amoeba pattern (Private), wildcards should start of as sections of existing notes. If the content needs to be used in multiple places or exceeds 800 lines of text, it should be refactored into a child
Ref vs Topic
A topic is a major component that requires its own module
hiearchy to properly document. For example, Lookup is a topic of plugin-core
.
A reference is a minor component that should hang as a leaf and should be self contained. For example, Decorations is a reference in plugin-core
because it is specific to VSCode.
Examples of using the schema
How do I get started developing?
- schema:
{module}.quickstart
- eg: Dendron Plugin Quickstart
How do I write or read logs?
- schema:
{module}.ops.logs
How do I handle errors?
- schema:
{module}.ops.errors
How do I create a new {X} in {Y}?
- schema:
{module}.dev.cook
- eg: Add a new Command
Architecture
What is lifecycle of a given command?
- schema:
{module}.arch.lifecycle
Testing
How do I write a test?
- schema: `{module}.qa.test
How do I debug a test?
- schema: `{module}.qa.debug
Backlinks