https://github.com/sup2point0/stranger-quarkdown
Markdown preprocessing automation for Svelte/Kit projects
https://github.com/sup2point0/stranger-quarkdown
markdown mdsvex quark quarkdown quarkup ruby squark squarkdown squarkup sup svelte sveltekit
Last synced: 6 months ago
JSON representation
Markdown preprocessing automation for Svelte/Kit projects
- Host: GitHub
- URL: https://github.com/sup2point0/stranger-quarkdown
- Owner: Sup2point0
- License: mit
- Created: 2024-07-01T07:18:24.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-04T21:23:01.000Z (about 1 year ago)
- Last Synced: 2025-03-04T22:27:08.505Z (about 1 year ago)
- Topics: markdown, mdsvex, quark, quarkdown, quarkup, ruby, squark, squarkdown, squarkup, sup, svelte, sveltekit
- Language: Ruby
- Homepage: https://sup2point0.github.io/stranger-quarkdown/docs
- Size: 5.17 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/Sup2point0/stranger-quarkdown/actions/workflows/test.yml)
[](https://github.com/Sup2point0/stranger-quarkdown/actions/workflows/site.yml)
---
[Quickstart](docs/walkthrough/quickstart.md) · [Docs](docs/) · [Site](https://sup2point0.github.io/stranger-quarkdown/docs)
**Stranger Quarkdown** (*Squarkdown*) is a successor to [*Quarkdown*](https://github.com/Sup2point0/Quarkdown), for integration with [Svelte↗](https://svelte.dev), [SvelteKit↗](https://svelte.dev/docs/kit/introduction) and [MDsveX↗](https://mdsvex.pngwn.io).
Write content for a site with [Squarkdown-Flavoured Markdown](docs/walkthrough/quickstart.md) anywhere in your project repo, then use Squarkdown to automatically export them to `.svx` files in your SvelteKit project directory.
## Features
### Core
- Automates several parts of the build process for SvelteKit projects
- Multiple configuration options and Rake tasks for flexibility
- Intelligently handles directories for more versatile navigation
### Extra
- Moves assets from a different folder to the SvelteKit `static/` directory
- Collects fonts to build the [Google Fonts↗](https://fonts.google.com) `` tag
- Collects global `.scss` files to build an `scss-config.js` file
### Future
- Search root directory without recursively searching every directory
- Allow arbitrary JSON data in squark charm
- Correct internal relative links to correct absolute links in production
## Directory
| folder | notes |
| :----- | :---- |
| [`squarkdown`](squarkdown/) | source code |
| [`cli`](cli/) | source code (CLI) |
| [`tests`](tests/) | unit tests |
| [`docs`](docs/) | documentation |
| [`site`](site/) | project site |
| [`.github/scripts`](.github/scripts/) | helper scripts for generating docs and site |
## Usage
> [!Tip]
> See [Using Squarkdown in a SvelteKit project](docs/walkthrough/quickstart.md) for a full detailed walkthrough.
This project is designed to be used as a [Git submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules).
Add it to a repo:
```console
git submodule add https://github.com/Sup2point0/stranger-quarkdown
```
Make sure you’ve got your [repo config](docs/squarkup-config.md) in `./.squarkdown/squarkup.json`.
Run `rake` in the `./stranger-quarkdown/` directory to start the squarkup process. You can add this to your `npm run build` definition in `package.json`, so that it executes whenever you build the site:
```diff
{
"scripts": {
+ "build": "cd stranger-quarkdown && rake && cd .. && vite build"
}
}
```
Squarkdown will recursively look for all `.md` files starting from the root of the repo, and export them to `.svx` files in `src/routes`.
Many additional configurations are available to customise this process (although the defaults should actually cover most projects!).
For more, visit [the docs](docs/) in this repo, or view them on [the website](https://sup2point0.github.io/stranger-quarkdown/docs).
## License
MIT. It’s not that even that good code, lmao.