# dg-x Static site build system for [datagirl.xyz](https://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.