A system to write Markdown and have it published and hosted via Cloudflare Workers
- Python 3
- Install
wrangler
- Run
pip3 install workdown
- Run
wrangler config
and configure with your Cloudflare credentials - Run
wrangler generate --type="javascript" site https://github.com/eldridgea/workdown-example-site
. This will generate a folder calledsite
containing the folder structureworkdown
requires to work. - Configure
wrangler.toml
with your Cloudflare details and haveworkers_dev = false
. - Make sure your route ends in a wildcard e.g.
route = "https://example.com/*"
- Run
wrangler kv:namespace create pages
andwrangler kv:namespace create css
and paste the bindings into yourwrangler.toml
. - Edit
content/index.md
file. - From the
site
folder (or whatever you named it) runworkdown
- Done!
CSS should go in the css/
directory. They will be available as their full filename under css
. For example if you make main.css
, it will be example.com/css/main.css
Here is where you can customize the header and footer of pages in HTML. Currently all partials apply to all pages generated. Good things to do here would be if you have a static CSS file in css/
or would like to include a a fonts CDN, add it into the <head>
in the partials/header.html
so it will be usable on your pages.
The path for content will be the name of the markdown file with no extension. For example if you make contact.md
, it will be example.com/contact
.
Also, Workers only work on (sub)domains proxied by Cloudflare. So make sure you have your domain that you used in your wrangler.toml
path proxied.
pip3 install git+https://github.com/eldridgea/workdown
git clone https://github.com/eldridgea/workdown
cd workdown
python3 setup.py install