Static site build system for datagirl.xyz. https://datagirl.xyz/
Go to file
2024-02-07 10:39:09 -08:00
build.pl build: Use MultiMarkdown + Text::FrontMatter::YAML 2024-02-07 10:39:09 -08:00
LICENSE Add LICENSE 2022-02-06 22:52:45 -08:00
ptouch.pl commit code crimes for better footnote formatting 2022-03-21 19:01:21 -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.