Push new filter infrastructure and a more printable logo. - tgtimes - The Gopher Times HTML git clone git://bitreich.org/tgtimes git://enlrupgkhuxnvlhsf6lc3fziv5h2hhfrinws65d7roiv6bfj7d652fid.onion/tgtimes DIR Log DIR Files DIR Refs DIR Tags DIR README --- DIR commit ab8073181d221ca5572653bf5c219c8037e15a0b DIR parent 79cdcd13e863b43d9a850533fc59fbca84cfb232 HTML Author: Christoph Lohmann <20h@r-36.net> Date: Tue, 8 Aug 2023 15:45:14 +0200 Push new filter infrastructure and a more printable logo. Diffstat: M Makefile | 21 +++++++++++++++++---- A filters/markdown.filter | 48 +++++++++++++++++++++++++++++++ A filters/title-boxes.filter | 34 +++++++++++++++++++++++++++++++ M opus7/0-xxx-header.raw | 32 ++++++++++++++++---------------- M opus7/1-article-athas-shell-redire… | 1 + M opus7/2-article-bitreich-library-o… | 2 -- M opus7/4-article-tgtimes-most-minim… | 18 ++++++++++++------ M opus7/6-article-bitreich-dj-vlad-o… | 2 -- M opus7/6-b-article-bitreich-gopher-… | 9 +++++---- 9 files changed, 133 insertions(+), 34 deletions(-) --- DIR diff --git a/Makefile b/Makefile @@ -11,12 +11,25 @@ all: ${tgtimes}.pdf mdfiles=$(wildcard opus${v}/*.md) mdptxtfiles=${mdfiles:.md=.ptxt} .md.ptxt: - cat $< | fold -s | boxes -d boxquote -p a1 -s 70x > $<.ptxt + cat $< \ + | ./filters/markdown.filter \ + | par-format "78" \ + | { \ + boxes -d boxquote -p a1 -s80x; \ + printf "\n"; \ + } \ + | ./filters/title-boxes.filter > $<.ptxt txtfiles=$(filter-out ${tgtimes}.txt, $(wildcard opus${v}/*.txt)) txtptxtfiles=${txtfiles:.txt=.ptxt} .txt.ptxt: - cat $< | fold -s | boxes -d boxquote -p a1 -s 70x > $<.ptxt + cat $< \ + | fold -s \ + | { \ + boxes -d boxquote -p a1 -s80x; \ + printf "\n"; \ + } \ + | ./filters/title-boxes.filter > $<.ptxt rawfiles=$(wildcard opus${v}/*.raw) rawptxtfiles=${rawfiles:.raw=.ptxt} @@ -31,9 +44,9 @@ ${tgtimes}.txt: ${mdptxtfiles} ${txtptxtfiles} ${rawptxtfiles} ${tgtimes}.pdf: ${tgtimes}.txt u2ps --header="The Gopher Times Opus ${v}" \ -f Liberation \ - --wrap --mark \ + --wrap \ --footer="page #" ${tgtimes}.txt ${tgtimes}.ps - 9 ps2pdf ${tgtimes}.ps ${tgtimes}.pdf + ps2pdf ${tgtimes}.ps ${tgtimes}.pdf clean: rm -f ${tgtimes}.pdf ${tgtimes}.txt opus${v}/*.ptxt DIR diff --git a/filters/markdown.filter b/filters/markdown.filter @@ -0,0 +1,48 @@ +#!/bin/sh + +export TERM=linux + +reset="$(tput sgr0)" +italicformat="$(tput sitm)" +italicreset="$(tput ritm)" +boldformat="$(tput bold)" +boldreset="$(echo -ne "\033[22m")" +underlineformat="$(tput smul)" +underlinereset="$(tput rmul)" +reverseformat="$(tput rev)" +reversereset="$(echo -ne "\033[27m")" + +redcolor="$(tput setaf 1)" +greencolor="$(tput setaf 2)" +yellowcolor="$(tput setaf 3)" +bluecolor="$(tput setaf 4)" +purplecolor="$(tput setaf 5)" +cyancolor="$(tput setaf 6)" +whitecolor="$(tput setaf 7)" +darkgreycolor="$(tput setaf 8)" +brightredcolor="$(tput setaf 9)" +brightgreencolor="$(tput setaf 10)" +brightyellowcolor="$(tput setaf 11)" +brightbluecolor="$(tput setaf 12)" +brightpurplecolor="$(tput setaf 13)" +brightcyancolor="$(tput setaf 14)" +brightwhitecolor="$(tput setaf 14)" + +while IFS= read -r line; +do + case "${line}" in + "## "*) + nline="$(printf "%s\n" "${line}" \ + | sed 's,^## ,,')" + printf "${boldformat}${underlineformat}%s${reset}\n" \ + "${nline}" + ;; + " "*) + printf "${redcolor}%s${reset}\n" "${line}" + ;; + *) + printf "%s\n" "${line}" + ;; + esac +done + DIR diff --git a/filters/title-boxes.filter b/filters/title-boxes.filter @@ -0,0 +1,34 @@ +#!/bin/bash + +export TERM=linux + +line0="" +line1="" +line2="" + +i=0 +while IFS= read -r line; +do + case "${i}" in + 0) + line0="${line}" + ;; + 1) + line1="${line}" + ;; + 2) + line2="${line}" + nline2="$(printf "%s\n" "${line2}" \ + | sed 's,^|[ #]*\(.*\)$,\1,')" + nline0="$(printf "%s\n" "${line0}" \ + | sed "s,\[ \],\[$(tput smul)$(tput bold)${nline2}$(tput sgr0)\],")" + printf "%s\n" "${nline0}" + printf "%s\n" "${line1}" + ;; + *) + printf "%s\n" "${line}" + ;; + esac + i=$((i + 1)) +done + DIR diff --git a/opus7/0-xxx-header.raw b/opus7/0-xxx-header.raw @@ -1,16 +1,16 @@ - ______________________________________________________________________ -| _______ _ ____ _ | -||--. .--|| | ,',' '| | | | -| | | | |,--. ,---. | | .---. -----. | |,--. ,---. --,--.| -| | | | | `. || |_|_| | | ___| | | || | | || | `. || |_|_|| | '"| -| | | | | | || | | | | || | | || | | || | | || | | | | -| '---' --- --- `---' ``--'' `---' | :--' --- --- `---' --- | -| _______ _ | | | -| |--. .--|(_) --- _ | -| | | --. --,--.,--. ,---. ,--.: _,-' )_ | -| | | | | | |`. |`. || |_|_|| '-. (_,-' _,-' )_ | -| | | | | | | | | | || | `-. | (_,-' _,-' ) | -| '---' --- --- --- --- `---' '---' (_,-' | -|______________________________________________________________________| -| Opus 7 Gopher News and More Published on Bitreich.org | - ---------------------------------------------------------------------- +,______________________________________________________________________________, +| ,_______,,_, _____ ,_, | +| |#######||#| __ ___ ,'#####| ___ ____ |#| __ ___ _ __ | +| |#| |#|/##\ /###\ |#| /###\ /####\ |#|/##\ /###\ \\/##\ | +| |#| |#|/ \#||#|_|#| |#| ___|#| |#||#| |#||#|/ \#||#|_|#||#| || | +| ,|#|, |#| |#||#|___ |#|__|#||#|_|#||#|_|#||#| |#||#|___ |#| | +| \###/ \#/ \#/ \###/ \#####/ \###/ |#:70/ \#/ \#/ \###/ \#/ | +| ,_______, _ |#| | +| |#######|(o) _ __ __ ___ ___ \#/ _,-' ) | +| |#| /#\ \\/##\/##\ /###\ /###\ ( ,-' _,-' ) | +| |#| |#| |#| |#| |#||#|_|#||#|__ ( ,-' _,-' ) | +| ,|#|, |#| |#| |#| |#||#|___ _\##| ( ,-' | +| \###/ \#/ \#/ \#/ \#/ \###/ |###/ gophers://bitreich.org/1/tgtimes | +|______________________________________________________________________________| +| Opus 7 Gopher News and More Published by Bitreich.org | +`------------------------------------------------------------------------------` DIR diff --git a/opus7/1-article-athas-shell-redirections.md b/opus7/1-article-athas-shell-redirections.md @@ -17,6 +17,7 @@ try the rather obvious possibility of having the input and output file be the same: $ sort < numbers > numbers + But disaster strikes: the file is empty! The user has lost their precious collection of numbers - let's hope they had a backup. Losing data this way is almost a rite of passage for Unix users, but let us DIR diff --git a/opus7/2-article-bitreich-library-of-babel.md b/opus7/2-article-bitreich-library-of-babel.md @@ -1,7 +1,5 @@ # Library of Babel now available on gopherspace. by Bitreich -What is the Library of Babel? - The Library of Babel is a place for scholars to do research, for artists and writers to seek inspiration, for anyone with curiosity or a sense of humor to reflect on the weirdness of existence - in short, it's just like DIR diff --git a/opus7/4-article-tgtimes-most-minimal-gopher-server.md b/opus7/4-article-tgtimes-most-minimal-gopher-server.md @@ -13,35 +13,41 @@ Which cost would we end-up for building a minimal piece of hardware able to host the Gopher protocol acheiving all of the above? The Gopher Times investigates. -## "Communication" +## Communication + While WiFi is inexpensive and fits moving device gracefully, the reliability of Ethernet is indicated for a server. Ethernet adds 1 USD of cost for the transceiver handling the electricial characteristics of Ethernet. These typically expose an RGMII interface. -## "Processing" +## Processing + A microcontroller featuring an Ethernet peripheral (with an RGMII interface) could be the popular STM32F103, or an alternative compatible part. Enough processing power would be present for an embedded TCP/IP and a TLS stack. -## "Automation" +## Automation + In addition, most microcontrollers feature a large range of built-in peripheral such as timers and communication or analog interfaces, enabling automation of devices such as lighting, heating, laundry, motors, or an entire car, through external modules. This would come for no extra cost. -## "Storage" +## Storage + A slot for a MicroSD card would allow storing and updating the static content to serve, and storing network configuration. -## "Scripting" +## Scripting + There exist project to fit programming languages onto microcontrollers. Separate projects for supporting a subset of each of Python, Ruby, Javscript, Go, Rust, Lua, Forth and more. -## "Power" +## Power + By letting power supply happen through the USB port, a large range of power source can be used, such as battery, solar panels, wind turbine, hydropower, or power outlet. DIR diff --git a/opus7/6-article-bitreich-dj-vlad-on-2023-03-11.md b/opus7/6-article-bitreich-dj-vlad-on-2023-03-11.md @@ -1,7 +1,5 @@ # DJ Vlad Session on Bitreich Radio on 2023-03-11 by Bitreich -New DJ Vlad Session from Serbia on Bitreich Radio on 2023-03-11T20:00 CET. - Our residing DJ Vlad (not from Russia or Ukraine) has found a new sound and will present it to us at 2023-03-11T20:00 CET exclusively on Bitreich Radio! DIR diff --git a/opus7/6-b-article-bitreich-gopher-pearls.md b/opus7/6-b-article-bitreich-gopher-pearls.md @@ -10,17 +10,17 @@ Get ready to search for the pearls: The archive of gopherspace from 2007 from archive.org is now available on Bitreich for research. - The pearl list begins with - of course! - the gopher manifesto: - gopher://bitreich.org/0/gopher2007/2007-gopher-mirror/gopher-arch/gopher/seanm.ca/70/0/nerd/gopher-manifesto.txt + gopher://bitreich.org/0/gopher2007/2007-gopher-mirror/\ + gopher-arch/gopher/seanm.ca/70/0/nerd/gopher-manifesto.txt See the 'What we need' section. We completed nearly all points there. :-D - A second pearl example: - gopher://bitreich.org/0/gopher2007/2007-gopher-mirror/gopher-arch/gopher/seanm.ca/70/0/nerd/language_parable.txt + gopher://bitreich.org/0/gopher2007/2007-gopher-mirror/gopher-arch/\ + gopher/seanm.ca/70/0/nerd/language_parable.txt And each language could be heard to mumble as it tromped and tromped @@ -43,5 +43,6 @@ considered a pearl to: Sincerely yours, 20h + Chief Archive Officer (CAO)