Hypertext sites generator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

57 lines
2.1 KiB

mkht.php is a PHP script for building Gemini, Markdown and HTML/CSS sites from source documents in Gemini, Markdown Extra, HTML, PHP, CSS and Less.
# Usage
Place your pages tree in `/src/*/*.(gmi|md)`.
Optionnal files:
* `/config.ini`
* `/style.less`
* `/logo.png`
* `/head.inc.html`
* `/footer.inc.html`
`mkht.php <site path> <destination>`
`destination` is optionnal and can be:
* `dns` if you want local links without exensions
* `onion` if you want links ending with .onion when available
# Input
Pages in `/src`can use Gemini (if using `gmi` extension), Markdown, HTML and PHP.
# Output
* `/*/*.gmi` (if using `.gmi` extension in /src)
* `/*/*.md`
* `/*/*.html`
* `/*/*.gz`
Note that format translation is only done in the following order:
Gemini > Markdown > HTML, which means that the last of these formats you will use will be the first that will be readable by hypertext browsers. (PHP is executed before.)
# External dependencies
* PHP
* gzip
* find
# Internal libraries used
| Name | Description | Repository |
| --------------- | ---------------------------- | ----------------------------------------- |
| less.php | Less compiler in PHP | https://github.com/wikimedia/less.php |
| parsedown | Markdown compiler in PHP | https://github.com/erusev/parsedown |
| parsedown-extra | Extension for Markdown Extra | https://github.com/erusev/parsedown-extra |
# License
[AGPLv3+](LICENSE)
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details.
You should have received a copy of the GNU Affero General Public License along with this program. If not, see <https://www.gnu.org/licenses/>.