diff -urP mkws/4.0.13/mkws/README mkws/4.0.14/mkws/README
--- mkws/4.0.13/mkws/README Tue Sep 14 02:10:07 2021
+++ mkws/4.0.14/mkws/README Tue Sep 14 22:00:12 2021
@@ -1,14 +1,12 @@
# `mkws`
-A simple static site generator using `sh` as a
-templating language.
+A simple static site generator using `sh` as a templating language.
## Requirements
-We provide statically compiled binaries for
-[Linux](https://mkws.sh/mkws@4.0.13.tgz),
-[macOS](https://mkws.sh/mkws-darwin@4.0.13.tgz),
-or [OpenBSD](mkws-openbsd@4.0.13.tgz). It can also run on
+We provide binaries for [Linux](https://mkws.sh/mkws@4.0.14.tgz),
+[macOS](https://mkws.sh/mkws-darwin@4.0.14.tgz),
+or [OpenBSD](mkws-openbsd@4.0.14.tgz). It can also run on
[Windows](https://www.microsoft.com/windows) via the
[Windows Subsystem for Linux](https://docs.microsoft.com/en-us/windows/wsl/install-win10)
for other UNIX like operating systems, you
@@ -17,97 +15,15 @@
## Install `mkws`
On a Linux machine, just download the archive from
-[https://mkws.sh/mkws@4.0.13.tgz](https://mkws.sh/mkws@4.0.13.tgz) or in
-the terminal, assuming `wget` is installed, type:
+[https://mkws.sh/mkws@4.0.14.tgz](https://mkws.sh/mkws@4.0.14.tgz) or in
+the terminal, assuming `curl` is installed, type:
- wget -O - https://mkws.sh/mkws@4.0.13.tgz | tar -xzvf -
+ curl -so - https://mkws.sh/mkws@4.0.14.tgz | tar -xzvf -
-## File Hierarchy
+On macOS, the command would be:
-Inside the downloaded archive you will find the following file structure:
+ curl -so - https://mkws.sh/mkws-darwin@4.0.14.tgz | tar -xzvf -
- .
- |-- bin
- | |-- lmt
- | |-- mkws
- | `-- pp
- `-- share
- |-- l.upphtml
- |-- man
- | `-- man1
- | |-- lmt.1
- | |-- mkws.1
- | `-- pp.1
- |-- s.uppcss
- `-- sitemap.uppxml
-
-* `.`
-The root directory, it holds the template files and other generated
-files, including `*.html`, `*.css`, `*.js` and `sitemap.xml` files.
- * `./bin`
- Holds the static site generator's binaries, they're used to generate
- the static site.
- * `./bin/lmt`
- Small utility part of [`lts`](https://mkws.sh/lts.html) for
- printing a file's last modification time used to generate
- timestamps.
- * `./bin/mkws`
- The _main_ script, the actual static site generator, when called
- from the command line via `./bin/mkws <url>`, it scans the `.`
- root directory for `*.upptml` files, `mkws`'s template files,
- preprocesses them via [`pp`](https://mkws.sh/pp.html) and
- renders them inside the `share/l.upphtml` layout file outputing
- an `HTML` file for each one. `index.upphtml` is transformed to
- `index.html`, `docs.upphtml` is transformed to `docs.html`,
- etc. It also creates the main `CSS` file, `s.css` from
- `share/s.uppcss` and the `sitemap.xml` file from
- `share/sitemap.uppxml`.
- * `./bin/pp`
- The [`pp`](https://mkws.sh/pp.html) preprocessor, it allows
- nesting `sh` code in any text file. It it used by the _main_
- `./bin/mkws` script to preprocess any `.upp*` file.
- * `./share`
- Holds any files that are shared between different components of the
- static site generator.
- * `./share/l.upphtml`
- The main layout file, it holds the common parts of your website.
- Elements like `html`, `body`, `head` are located here. The standard
- layout file found in the archive, which is also part of the `base` theme is:
-
- <!doctype html>
- <html lang=${LANG%%_*}>
-
- <head>
-
- <title>My website</title>
-
- <meta charset=${LANG##*.}>
- <meta name=viewport content='width=device-width, initial-scale=1'>
-
- <link rel=icon href=favicon.ico type=image/x-icon>
- <link rel=stylesheet
- href=s.css?$(lmt -f '%Y-%m-%dT%H:%M:%SZ' s.css | cut -d' ' -f1)>
-
- </head>
-
- <body>
-
- #!
- pp "$1"
- #!
-
- </body>
-
- </html>
-
- * `./share/man`
- `man` pages
- * `./share/s.upcss`
- `CSS` template. It's also processed via
- [`pp`](https://mkws.sh/pp.html) so it's scriptable via `sh` code.
- * `./share/sitemap.uppxml`
- `sitemap.xml` template.
-
## Generate the Static Site
Rename the directory you unarchived earlier to your site's name:
@@ -256,3 +172,89 @@
<meta charset=UTF-8>
<meta name=viewport content='width=device-width, initial-scale=1'>
+
+## File Hierarchy
+
+A typical `mkws` project has the following file structure:
+
+ .
+ |-- bin
+ | |-- lmt
+ | |-- mkws
+ | `-- pp
+ `-- share
+ |-- l.upphtml
+ |-- man
+ | `-- man1
+ | |-- lmt.1
+ | |-- mkws.1
+ | `-- pp.1
+ |-- s.uppcss
+ `-- sitemap.uppxml
+
+* `.`
+The root directory, it holds the template files and other generated
+files, including `*.html`, `*.css`, `*.js` and `sitemap.xml` files.
+ * `./bin`
+ Holds the static site generator's binaries, they're used to generate
+ the static site.
+ * `./bin/lmt`
+ Small utility part of [`lts`](https://mkws.sh/lts.html) for
+ printing a file's last modification time used to generate
+ timestamps.
+ * `./bin/mkws`
+ The _main_ script, the actual static site generator, when called
+ from the command line via `./bin/mkws <url>`, it scans the `.`
+ root directory for `*.upptml` files, `mkws`'s template files,
+ preprocesses them via [`pp`](https://mkws.sh/pp.html) and
+ renders them inside the `share/l.upphtml` layout file outputing
+ an `HTML` file for each one. `index.upphtml` is transformed to
+ `index.html`, `docs.upphtml` is transformed to `docs.html`,
+ etc. It also creates the main `CSS` file, `s.css` from
+ `share/s.uppcss` and the `sitemap.xml` file from
+ `share/sitemap.uppxml`.
+ * `./bin/pp`
+ The [`pp`](https://mkws.sh/pp.html) preprocessor, it allows
+ nesting `sh` code in any text file. It it used by the _main_
+ `./bin/mkws` script to preprocess any `.upp*` file.
+ * `./share`
+ Holds any files that are shared between different components of the
+ static site generator.
+ * `./share/l.upphtml`
+ The main layout file, it holds the common parts of your website.
+ Elements like `html`, `body`, `head` are located here. The standard
+ layout file found in the archive, which is also part of the `base` theme is:
+
+ <!doctype html>
+ <html lang=${LANG%%_*}>
+
+ <head>
+
+ <title>My website</title>
+
+ <meta charset=${LANG##*.}>
+ <meta name=viewport content='width=device-width, initial-scale=1'>
+
+ <link rel=icon href=favicon.ico type=image/x-icon>
+ <link rel=stylesheet
+ href=s.css?$(lmt -f '%Y-%m-%dT%H:%M:%SZ' s.css | cut -d' ' -f1)>
+
+ </head>
+
+ <body>
+
+ #!
+ pp "$1"
+ #!
+
+ </body>
+
+ </html>
+
+ * `./share/man`
+ `man` pages
+ * `./share/s.upcss`
+ `CSS` template. It's also processed via
+ [`pp`](https://mkws.sh/pp.html) so it's scriptable via `sh` code.
+ * `./share/sitemap.uppxml`
+ `sitemap.xml` template.