mkht.php/README.md

69 lines
2.4 KiB
Markdown
Raw Normal View History

# mkht.php
2021-10-12 00:03:18 +02:00
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.
2021-10-09 20:13:55 +02:00
## Usage
2021-10-09 20:13:55 +02:00
Place your pages tree in `/src/*/*.(gmi|md)`.
2022-06-01 17:33:32 +02:00
Optional files:
2021-10-09 20:13:55 +02:00
* `/config.ini`
* `/style.less`
* `/logo.png`
* `/head.inc.html`
* `/footer.inc.html`
2021-10-12 00:03:18 +02:00
`mkht.php <site path> <destination>`
2021-10-09 20:13:55 +02:00
`destination` is optionnal and can be:
* `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.
2021-10-09 20:13:55 +02:00
Files starting with a dot or not ending in `.gmi`, `.md` or `.html` are ignored.
2021-10-09 20:13:55 +02:00
Files containing `draft` in their name are ignored for Atom feeds.
## Output
2021-10-09 20:13:55 +02:00
* `/*/*.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 always executed first.)
## Data persistence
IDs are attributed to titles according to their content, therefor modifying a title breaks links to page sections.
### For atom feeds
* Make sure modification timestamps of source files are preserved. For example, `cp --preserve=timestamps` must be used instead of just `cp` when backing up or migrating.
* Renaming/moving a page creates a new page and delete the older.
2021-10-09 20:13:55 +02:00
## External dependencies
2021-10-09 20:13:55 +02:00
* PHP
* gzip
* pandoc
2021-10-09 20:13:55 +02:00
## Internal libraries used
2021-10-09 20:13:55 +02:00
2021-10-12 00:03:18 +02:00
| Name | Description | Repository |
| --------------- | ---------------------------- | ----------------------------------------- |
| less.php | Less compiler in PHP | https://github.com/wikimedia/less.php |
2021-10-09 20:13:55 +02:00
## License
2021-10-09 20:13:55 +02:00
[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.
2021-10-12 00:03:18 +02:00
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/>.