Squarkdown is built for any project that has a Svelte/Kit↗ site using MDsveX↗.
It takes Markdown content scattered across your repo, and preprocesses it to be consumed by SvelteKit via MDsveX. For instance, it could be a CLI tool for which you’d like to have docs online as well as in the repo.1
Those are the 2 prerequisites: SvelteKit and MDsveX.2 How you use the Markdown beyond that is completely up to you!
Project Structure
Squarkdown expects a project structure like this:
/project/
squarkup.toml
...
site/
vite.config.ts
src/
routes/
... squarkup.toml contains your squarkup configuration. site/ is a SvelteKit project.
Alternatively, you can place your squarkup config under a .squarkdown/ folder:
/project/
+ .squarkdown/
+ squarkup.toml
...
site/
src/
vite.config.ts
...
routes/
... Squarkdown doesn’t care where your .md files are located – it will recursively scan for them (configurable via paths.sources, paths.include, paths.exclude).
You will, however, need to add <!-- #SQUARK live! --> (a charm squark) to .md files you want Squarkdown to process.