Introduction
Preacher is a personal static website generator, which allows you to setup and maintain a personal website with zero configuration.
Fresh installation
To create a fresh website using Preacher, one can install it as follows:
composer create-project zero-config/static-website
When asked to remove the existing VCS, answer Y
.
Installation on top of existing website
composer require --dev zero-config/preacher
This installs the necessary files and packages. The next step is initiating a git repository, so Preacher can keep track of what needs to be published:
git init
Now all we need to do, is commit our first page and template:
git add index.md default.html.twig && git commit -m "My first Preacher page!"
To see what a basic .md page file and template can contain, have a look at Preacher's own index.md page and default.html.twig template.
By default, Preacher will look for the Twig template called default.html.twig
.
However, if a custom template is required, simply give it the same name as the
source file.
E.g.: articles/something-fancy.md
=> articles/something-fancy.html.twig
.
Generating pages
Preacher creates pages from the committed .md page files and .twig templates. It uses a single command to either generate the current directory and all its children, or one can (re)generate a single source file.
vendor/bin/preach [<source>]...
Optionally, if one wants to always generate output when a file is committed, try the following:
ln -s ../../vendor/bin/preach .git/hooks/post-commit
This will install Preacher as a post-commit hook and makes it run each time you commit one of your files.
The contents of vendor directories are skipped by interpreting the vendor-dir composer config.
If one wants to force the generation of files, add the --force
flag.
Standards
Preacher uses existing software with well-defined standards to create the most stable and user friendly experience at the same time.
Preacher is built with programmers in mind.
Component | Type | Package |
---|---|---|
Content parser | GitHub Flavored Markdown | erusev/parsedown |
Template engine | Twig 2 | twig/twig |
Version control | git | coyl/git |
Package manager | Composer | composer/composer |
Syntax highlighter | Prism | prismjs |
Documentation
For full documentation and a cookbook for Preacher, go to the Preacher homepage.