Skip to content

croaky/blog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

blog

Articles at https://dancroak.com

Setup

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

Write

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)

Modify theme

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>",
  }
}

Deploy

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.