0.9.0 • Published 5 months ago
@benchristel/mdsite v0.9.0
@benchristel/mdsite
A modern generator for old-school static sites. Under construction!
mdsite generates an HTML website from any tree of Markdown files.
Quick Start
Create a directory for your project to live in:
mkdir my-first-mdsite
cd my-first-mdsiteCreate a markdown file in a src directory:
mkdir src
cat <<<'
# Welcome to My Website
Pretty cool, right?
' > src/welcome.mdCompile it to HTML:
npx @benchristel/mdsitemdsite will create a docs folder with the compiled HTML. You'll see a warning about a missing template file; that's okay.
Serve the website locally:
npx http-server -c-1 -o docs -p 8080The site should open in your browser automatically. If it doesn't, visit http://localhost:8080.
Installation
npm install -g @benchristel/mdsiteAfter installing, you should be able to run mdsite anywhere.
Documentation
See benchristel.github.io/mdsite.
Development
TODO
- Change
template.htmlconvention to_template.html,order.txtto_order.txt, to avoid conflicting with first-party files, and to make these special files more visible in an explorer/tree view. - Allow raw HTML: if file starts with
<htmlor<!doctype(case-insensitive), don't templatize it. - Authors should be able to customize the home URL and link text on a
{{breadcrumb}}. E.g.{{breadcrumb --home-url /hello.html --home-text "🛖"}} - Authors should have some way to use different templates or different CSS files per page/subtree
- Proposal 1:
_template.htmlper directory, applies to .md files within that directory.
- Proposal 1:
Tools
yarn # install dependencies and set up repo for development
yarn test # run unit tests
yarn serve # start dev server
yarn ts # start typechecker
yarn verify # run all checksReleasing
# 1. build
yarn build:release
# 2. manually check that docs look okay
# 3. commit
git add dist docs; git commit -m "Build for release"
# 4. tag new version
yarn version