Static site build system for datagirl.xyz. https://datagirl.xyz/
Go to file
snow flurry fb0d94a2c0 Add Markdent GFM extensions
- Per-image classes, to restrict what images a CSS selector acts on
  (in-post vs out-of-post)
- Fenced aside blocks (`!!!`-enclosed, like code blocks)
- Footnotes are handled by the Markdown parser, instead of manually
2024-10-05 17:24:16 -07:00
lib Add Markdent GFM extensions 2024-10-05 17:24:16 -07:00
build.pl Add Markdent GFM extensions 2024-10-05 17:24:16 -07:00
LICENSE Add LICENSE 2022-02-06 22:52:45 -08:00
ptouch.pl Change Markdown templating engine 2024-06-15 21:10:34 -07:00
README.md build: Use MultiMarkdown + Text::FrontMatter::YAML 2024-02-07 10:39:09 -08:00

dg-x

Static site build system for datagirl.xyz.

Dependencies

build.pl uses the following modules:

  • Cwd
  • File::Copy::Recursive
  • File::Path
  • File::Slurp
  • Text::FrontMatter::YAML
  • Text::MultiMarkdown
  • Text::Template

ptouch.pl uses the following modules:

  • Tie::File
  • Getopt::Std

How to use

Make an initial directory with the following structure:

  • site_dir/
    • posts/
    • pages/ - Templated pages
    • assets/ - Static assets
    • templates/ - Templates you can call with include_tmpl

Either clone this repository to site_dir/scripts/, or add this repository as a git submodule.

To make a new post, create a file with the following format in the posts/ folder:

title=Your blog title
desc=[Not yet implemented] Description for the RSS feed
---
This is some content.

## About this content
Markdown is supported.

There is no set schema for tags, so you can put whatever you want as a tag. However, it may not be used by the build script.

Once you're happy with your post, use the ptouch script to set the created tag:

$ ./scripts/ptouch.pl -n posts/your_new_post

And then compile the site:

$ ./scripts/build.pl

The site can then be pushed with rsync, sftp, netcat, etc.