diff options
Diffstat (limited to 'gemfeed')
| -rw-r--r-- | gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html | 79 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 82 | ||||
| -rw-r--r-- | gemfeed/index.html | 1 |
3 files changed, 161 insertions, 1 deletions
diff --git a/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html b/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html new file mode 100644 index 00000000..d4c4f10a --- /dev/null +++ b/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html @@ -0,0 +1,79 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Gemtexter 1.1.0 - Let's Gemtext again</title> +<link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> +<link rel="stylesheet" href="../style.css" /> +<link rel="stylesheet" href="style-override.css" /> +</head> +<body> +<h1>Gemtexter 1.1.0 - Let's Gemtext again</h1> +<p class="quote"><i>Published by Paul at 2022-08-27</i></p> +<pre> +-=[ typewriter ]=- 1/98 + + .-------. + _|~~ ~~ |_ + =(_|_______|_)= + |:::::::::| + |:::::::[]| + |o=======.| + jgs <span class="inlinecode">"""""""""</span> +</pre><br /> +<p>I am proud to announce that I've released Gemtexter version <span class="inlinecode">1.1.0</span>. What is Gemtexter? It's my static site generator written in GNU Bash:</p> +<a class="textlink" href="./2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html">Gemtexter - One Bash script to rule it all</a><br /> +<a class="textlink" href="https://codeberg.org/snonux/gemtexter">https://codeberg.org/snonux/gemtexter</a><br /> +<p>It has been around a year since I released the first version <span class="inlinecode">1.0.0</span>. 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.</p> +<h2>What's new?</h2> +<h3>Automatic check for GNU version requirements</h3> +<p>Gemtexter relies on the GNU versions of the tools <span class="inlinecode">grep</span>, <span class="inlinecode">sed</span> and <span class="inlinecode">date</span> and it also requires the Bash shell in version 5 at least. That's now done in the <span class="inlinecode">check_dependencies()</span> function:</p> +<pre> +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 +} +</pre><br /> +<p>Especially macOS users didn't read the <span class="inlinecode">README</span> carefully enough to install GNU Grep, GNU Sed and GNU Date before using Gemtexter.</p> +<h3>Backticks now produce <span class="inlinecode">inline code blocks</span> in the HTML output</h3> +<p>The Gemtext format doesn't support inline code blocks, but Gemtexter now produces <span class="inlinecode">inline code blocks</span> (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.</p> +<h3>Cache for Atom feed generation</h3> +<p>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 <span class="inlinecode">.gmi</span> file to decide whether anything of the content has changed or not.</p> +<h3>Input filter support</h3> +<p>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:</p> +<pre> +./gemtexter --generate '.*hello.*' +</pre><br /> +<h3>Revamped <span class="inlinecode">git</span> support</h3> +<p>The Git support has been completely rewritten. It's now more reliable and faster too. Have a look at the <span class="inlinecode">README</span> for more information.</p> +<h3>Addition of <span class="inlinecode">htmlextras</span> and web font support</h3> +<p>The <span class="inlinecode">htmlextras</span> folder now contains all extra files required for the HTML output format such as cascading style sheet (CSS) files and web fonts.</p> +<h3>Sub-section support</h3> +<p>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.:</p> +<a class="textlink" href="https://foo.zone">The foo.zone main site</a><br /> +<a class="textlink" href="https://foo.zone/notes">The notes sub-section (with different fonts)</a><br /> +<h3>More</h3> +<p>Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made. </p> +<p>Overall, it's a pretty solid <span class="inlinecode">1.1.0</span> release without anything groundbreaking (therefore no major version jump). But I am happy about it.</p> +<p>E-Mail me your comments to paul at buetow dot org!</p> +<a class="textlink" href="../">Go back to the main site</a><br /> +<p class="footer"> +Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter</a> | +served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | +<a href="https://www.foo.zone/site-mirrors.html">Site Mirrors</a> +</p> +</body> +</html> diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 62ca1936..bc087014 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,12 +1,92 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2022-07-30T12:14:31+01:00</updated> + <updated>2022-08-27T18:31:27+01:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="https://foo.zone/gemfeed/atom.xml" rel="self" /> <link href="https://foo.zone/" /> <id>https://foo.zone/</id> <entry> + <title>Gemtexter 1.1.0 - Let's Gemtext again</title> + <link href="https://foo.zone/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html" /> + <id>https://foo.zone/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html</id> + <updated>2022-08-27T18:25:57+01:00</updated> + <author> + <name>Paul C. Buetow</name> + <email>comments@mx.buetow.org</email> + </author> + <summary>I am proud to announce that I've released Gemtexter version . What is Gemtexter? It's my static site generator written in GNU Bash:. .....to read on please visit my site.</summary> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + 1c1 +< -rw-r--r--. 1 paul paul 4091 Aug 27 18:28 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html +--- +> -rw-r--r--. 1 paul paul 4084 Aug 27 18:31 ../foo.zone-content/gemtext/gemfeed/2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html +<h1>Gemtexter 1.1.0 - Let's Gemtext again</h1> +<p class="quote"><i>Published by Paul at 2022-08-27</i></p> +<pre> +-=[ typewriter ]=- 1/98 + + .-------. + _|~~ ~~ |_ + =(_|_______|_)= + |:::::::::| + |:::::::[]| + |o=======.| + jgs <span class="inlinecode">"""""""""</span> +</pre><br /> +<p>I am proud to announce that I've released Gemtexter version <span class="inlinecode">1.1.0</span>. What is Gemtexter? It's my static site generator written in GNU Bash:</p> +<a class="textlink" href="https://foo.zone/gemfeed/2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html">Gemtexter - One Bash script to rule it all</a><br /> +<a class="textlink" href="https://codeberg.org/snonux/gemtexter">https://codeberg.org/snonux/gemtexter</a><br /> +<p>It has been around a year since I released the first version <span class="inlinecode">1.0.0</span>. 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.</p> +<h2>What's new?</h2> +<h3>Automatic check for GNU version requirements</h3> +<p>Gemtexter relies on the GNU versions of the tools <span class="inlinecode">grep</span>, <span class="inlinecode">sed</span> and <span class="inlinecode">date</span> and it also requires the Bash shell in version 5 at least. That's now done in the <span class="inlinecode">check_dependencies()</span> function:</p> +<pre> +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 +} +</pre><br /> +<p>Especially macOS users didn't read the <span class="inlinecode">README</span> carefully enough to install GNU Grep, GNU Sed and GNU Date before using Gemtexter.</p> +<h3>Backticks now produce <span class="inlinecode">inline code blocks</span> in the HTML output</h3> +<p>The Gemtext format doesn't support inline code blocks, but Gemtexter now produces <span class="inlinecode">inline code blocks</span> (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.</p> +<h3>Cache for Atom feed generation</h3> +<p>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 <span class="inlinecode">.html</span> file to decide whether anything of the content has changed or not.</p> +<h3>Input filter support</h3> +<p>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:</p> +<pre> +./gemtexter --generate '.*hello.*' +</pre><br /> +<h3>Revamped <span class="inlinecode">git</span> support</h3> +<p>The Git support has been completely rewritten. It's now more reliable and faster too. Have a look at the <span class="inlinecode">README</span> for more information.</p> +<h3>Addition of <span class="inlinecode">htmlextras</span> and web font support</h3> +<p>The <span class="inlinecode">htmlextras</span> folder now contains all extra files required for the HTML output format such as cascading style sheet (CSS) files and web fonts.</p> +<h3>Sub-section support</h3> +<p>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.:</p> +<a class="textlink" href="https://foo.zone">The foo.zone main site</a><br /> +<a class="textlink" href="https://foo.zone/notes">The notes sub-section (with different fonts)</a><br /> +<h3>More</h3> +<p>Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made. </p> +<p>Overall, it's a pretty solid <span class="inlinecode">1.1.0</span> release without anything groundbreaking (therefore no major version jump). But I am happy about it.</p> +<p>E-Mail me your comments to paul at buetow dot org!</p> + </div> + </content> + </entry> + <entry> <title>Let's Encrypt with OpenBSD and Rex</title> <link href="https://foo.zone/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html" /> <id>https://foo.zone/gemfeed/2022-07-30-lets-encrypt-with-openbsd-and-rex.html</id> diff --git a/gemfeed/index.html b/gemfeed/index.html index b22063fa..9b373d1d 100644 --- a/gemfeed/index.html +++ b/gemfeed/index.html @@ -10,6 +10,7 @@ <body> <h1>Gemfeed of foo.zone</h1> <h2>To be in the .zone!</h2> +<a class="textlink" href="./2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html">2022-08-27 - Gemtexter 1.1.0 - Let's Gemtext again</a><br /> <a class="textlink" href="./2022-07-30-lets-encrypt-with-openbsd-and-rex.html">2022-07-30 - Let's Encrypt with OpenBSD and Rex</a><br /> <a class="textlink" href="./2022-06-15-sweating-the-small-stuff.html">2022-06-15 - Sweating the small stuff - Tiny projects of mine</a><br /> <a class="textlink" href="./2022-05-27-perl-is-still-a-great-choice.html">2022-05-27 - Perl is still a great choice</a><br /> |
