This project contains the content and tools to build the sqitch.org web site. It relies on Hugo for building the site and a short Perl script to build the documentation pages from the Pod files in the Sqitch repository.
Builds the site by taking the following steps:
- Builds the Sqitch documentation Markdown pages (see
- Updates the
publicsubdirectory, which is a submodule pointing to the published site repository
- Removes all the files from the
hugoto build the site in the
Builds the Sqitch manual content pages from the Pod files in the Sqitch repository by taking the following steps:
- Updates the
sqitchsubdirectory, which is a submodule pointing to the Sqitch repository's main branch, on the assumption that it represents the current stable release
- Removes the files matching
gen_manual, a Perl script that searches for all the Sqitch documentation Pod files matching
/^sqitch/, runs each through [Pod::Markdown], and writes the resulting file to
Note that Git ignores files matching
content/docs/manual/sqitch*, so the
generated documentation pages should never be committed to the repository.
Builds the site and publishes it by taking the following steps:
- Builds the site (see
make buildabove) in the
- Commits the updated site and pushes it to the published site repository
Following a deploy, sqitch.org should be updated within a few minutes.
Builds the manual (see
make manual above) and then runs a test server serving
the site for testing at
http://localhost:1313/. The site is dynamically
generated, not written to disk, and the server watches for changes to files and
triggers browser reloads when they do, making it ideal for experimenting with
CSS and templating changes.
This server is provided by Hugo and binds to all available network addresses, so that you can connect from other devices if you know the IP address of the host. Useful for browser and device compatibility testing.
Uses ImageMagick to build a Favicon file containing set of 16x16, 32x32 and
48x48 images in ICO format from
should be generated from the Sqitch Sketch file. Likely only to be needed if
the image files get regenerated.
hugo new command to create new content pages. For example, to add
a new top-level page for news to be served from
hugo new content/news.md
Or to create a directory:
hugo new content/news/index.md
If you need to create a section that other pages will be added to:
hugo new content/news/_index.md
Refer to the Hugo docs for all the details.