zero-config / preacher
Personal static website generator using GitHub Flavored Markdown, Twig and Git.
Installs: 71
Dependents: 2
Suggesters: 0
Security: 0
Stars: 15
Watchers: 2
Forks: 1
Open Issues: 1
Type:project
Requires
- php: ^7.0
- ext-spl: ^7.0
- composer/composer: ^1.3.2
- coyl/git: ^0.1.4.9
- erusev/parsedown: ^1.6.1
- symfony/symfony: ^3.2.3
- twig/twig: ^2.1.0
Requires (Dev)
- mikey179/vfsstream: ^1.6.4
- phpmd/phpmd: ^2.6.0
- phpstan/phpstan: ^0.6.4
- phpunit/phpunit: ^5.7.9
- raveren/kint: ^1.0.10
- squizlabs/php_codesniffer: ^2.8.1
Suggests
- zero-config/preacher-plugin-commonmark: Use CommonMark as source reader.
README
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.
Documentation
For full documentation and a cookbook for Preacher, go to the Preacher homepage.