diff options
| author | Paul Buetow <paul@buetow.org> | 2023-04-30 16:46:58 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2023-04-30 16:46:58 +0300 |
| commit | e09cdf450d8ec10cf16578dda64964076e705967 (patch) | |
| tree | 9523097303c0bde37e33062ff241d621eebfa263 /gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md | |
| parent | 4ba625d6a06c09464df633b014de5c118ff6bede (diff) | |
Update content for md
Diffstat (limited to 'gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md')
| -rw-r--r-- | gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md | 92 |
1 files changed, 92 insertions, 0 deletions
diff --git a/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md b/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md index b6743054..1df5b15c 100644 --- a/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md +++ b/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md @@ -90,6 +90,98 @@ Other related posts are: [2023-03-25 Gemtexter 2.0.0 - Let's Gemtext again²](./2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.md) [2022-08-27 Gemtexter 1.1.0 - Let's Gemtext again (You are currently reading this)](./2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md) [2021-06-05 Gemtexter - One Bash script to rule it all](./2021-06-05-gemtexter-one-bash-script-to-rule-it-all.md) +# Gemtexter 1.1.0 - Let's Gemtext again + +> Published at 2022-08-27T18:25:57+01:00 + +``` +-=[ typewriter ]=- 1/98 + + .-------. + _|~~ ~~ |_ + =(_|_______|_)= + |:::::::::| + |:::::::[]| + |o=======.| + jgs `"""""""""` +``` + +I proudly announce that I've released Gemtexter version `1.1.0`. What is Gemtexter? It's my minimalist static site generator for Gemini Gemtext, HTML and Markdown written in GNU Bash. + +[https://codeberg.org/snonux/gemtexter](https://codeberg.org/snonux/gemtexter) + +It has been around a year since I released the first version `1.0.0`. Although, there aren't any groundbreaking changes, there have been a couple of smaller commits and adjustments. I was quite surprised that I received a bunch of feedback and requests about Gemtexter so it means that I am not the only person in the universe actually using it. + +## What's new? + +### Automatic check for GNU version requirements + +Gemtexter relies on the GNU versions of the tools `grep`, `sed` and `date` and it also requires the Bash shell in version 5 at least. That's now done in the `check_dependencies()` function: + +```bash +check_dependencies () { + # At least, Bash 5 is required + local -i required_version=5 + IFS=. read -ra version <<< "$BASH_VERSION" + if [ "${version[0]}" -lt $required_version ]; then + log ERROR "ERROR, \"bash\" must be at least at major version $required_version!" + exit 2 + fi + + # These must be the GNU versions of the commands + for tool in $DATE $SED $GREP; do + if ! $tool --version | grep -q GNU; then + log ERROR "ERROR, \"$tool\" command is not the GNU version, please install!" + exit 2 + fi + done +} +``` + +Especially macOS users didn't read the `README` carefully enough to install GNU Grep, GNU Sed and GNU Date before using Gemtexter. + +### Backticks now produce `inline code blocks` in the HTML output + +The Gemtext format doesn't support inline code blocks, but Gemtexter now produces `inline code blocks` (means, small code fragments can be placed in the middle of a paragraph) in the HTML output when the code block is enclosed with Backticks. There were no adjustments required for the Markdown output format, because Markdown supports it already out of the box. + +### Cache for Atom feed generation + +The Bash is not the most performant language. Gemtexter already takes a couple of seconds only to generate the Atom feed for around two hand full of articles on my slightly underpowered Surface Go 2 Linux tablet. Therefore, I introduced a cache, so that subsequent Atom feed generation runs finish much quicker. The cache uses a checksum of the Gemtext `.gmi` file to decide whether anything of the content has changed or not. + +### Input filter support + +Once your capsule reaches a certain size, it can become annoying to re-generate everything if you only want to preview the HTML or Markdown output of one single content file. The following will add a filter to only generate the files matching a regular expression: + +```sh +./gemtexter --generate '.*hello.*' +``` + +### Revamped `git` support + +The Git support has been completely rewritten. It's now more reliable and faster too. Have a look at the `README` for more information. + +### Addition of `htmlextras` and web font support + +The `htmlextras` folder now contains all extra files required for the HTML output format such as cascading style sheet (CSS) files and web fonts. + +### Sub-section support + +It's now possible to define sub-sections within a Gemtexter capsule. For the HTML output, each sub-section can use its own CSS and web font definitions. E.g.: + +[The foo.zone main site](https://foo.zone) +[The notes sub-section (with different fonts)](https://foo.zone/notes) + +### More + +Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made. + +Overall I think it's a pretty solid `1.1.0` release without anything groundbreaking (therefore no major version jump). But I am happy about it. + +Other related posts are: + +[2023-03-25 Gemtexter 2.0.0 - Let's Gemtext again²](./2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.md) +[2022-08-27 Gemtexter 1.1.0 - Let's Gemtext again (You are currently reading this)](./2022-08-27-gemtexter-1.1.0-lets-gemtext-again.md) +[2021-06-05 Gemtexter - One Bash script to rule it all](./2021-06-05-gemtexter-one-bash-script-to-rule-it-all.md) [2021-04-24 Welcome to the Geminispace](./2021-04-24-welcome-to-the-geminispace.md) E-Mail your comments to hi@paul.cyou :-) |
