Articles at https://dancroak.com
Install Go. Then, run:
go install ./...
This installs a blog
command-line program from main.go:
usage:
blog serve
blog build
It expects a file layout like this:
.
├── articles
│ └── example.md
├── images
│ └── example.png
└-─ theme
├── public
│ └── favicon.ico
├── article.html
└── index.html
Edit articles/example.md
in a text editor.
It is a GitHub-Flavored Markdown file
with no front matter.
The first line of the file is the article title.
It must be an <h1>
tag:
# Example Article
Preview at http://localhost:2000 with:
blog serve
Add images to the images
directory.
Refer to them in articles:
![alt text](/images/example.png)
All theme/public
files are copied to public
.
The theme/index.html
template is pure HTML.
It is up to the author to decide how to lay out their index
and link to their articles.
The theme/article.html
file is parsed as a Go template.
Syntax highlighting is generated at build time (no client-side JavaScript highlighting).
theme/article.html
accepts a data structure like this:
{
Article: {
ID: "example-article",
Title: "Example Article",
LastUpdatedOn: "April 15, 2018",
Body: "<p>Hello, world.</p>",
}
}
Create a static site on Cloudflare Pages:
- Repository:
https://github.com/croaky/blog
- Production branch:
main
- Build command:
git fetch --unshallow && go run main.go build
- Build output directory:
public
To deploy the site, commit and push to the GitHub repo.
View deploy logs in the Cloudflare web interface.