Hypertext sites generator
Find a file
2022-06-01 19:36:07 +02:00
less.php Initialize repository 2021-10-09 20:13:55 +02:00
parsedown Initialize repository 2021-10-09 20:13:55 +02:00
parsedown-extra Initialize repository 2021-10-09 20:13:55 +02:00
LICENSE Initialize repository 2021-10-09 20:13:55 +02:00
mkht.php Tidy HTML 2022-06-01 19:36:07 +02:00
README.md Better indentation 2022-06-01 17:33:32 +02:00
style.less Better indentation 2022-06-01 17:33:32 +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.

Usage

Place your pages tree in /src/*/*.(gmi|md).

Optional 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 /srccan 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+

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/.