summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rwxr-xr-xgmi2html.awk3
-rwxr-xr-xgmi2htmldir.sh35
2 files changed, 37 insertions, 1 deletions
diff --git a/gmi2html.awk b/gmi2html.awk
index 42334ac..e1850a3 100755
--- a/gmi2html.awk
+++ b/gmi2html.awk
@@ -1,4 +1,5 @@
-# gmi2html.awk
+#
+# gmi2html.awk -- AWK script to convert a file from text/gemini to text/html
 #
 # Copyright (c) 2021 Rodrigo S. Canibano (dracometallium)
 # Copyright (c) 2021 Jeremy Potter (jwinnie)
diff --git a/gmi2htmldir.sh b/gmi2htmldir.sh
new file mode 100755
index 0000000..bdd0234
--- /dev/null
+++ b/gmi2htmldir.sh
@@ -0,0 +1,35 @@
+#
+# gmi2htmldir.sh -- POSIX shell script to convert a folder of Gemini files to HTML files
+#
+# Copyright (c) 2021 Jeremy Potter (jwinnie)
+#
+# Permission is hereby granted, free of charge, to any person obtaining a copy of this
+# software and associated documentation files (the "Software"), to deal in the Software
+# without restriction, including without limitation the rights to use, copy, modify,
+# merge, publish, distribute, sublicense, and/or sell copies of the Software, and to
+# permit persons to whom the Software is furnished to do so.
+#
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+# INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
+# PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+# HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+#
+# usage:
+#   $ sh gmi2htmldir.sh <folder> <params>
+#
+# parameters:
+#   <folder>: the folder of Gemini files to be converted; the HTML files are outputted
+#             to the same directory, unless the directory contains the string 'gemini' -
+#             in that case, the string 'gemini' is replaced with 'html' in the output
+#             path (this is the recommended approach for separating input and output files)
+#   <params>: parameters to pass to gmi2html.awk; see gmi2html.awk for more details
+
+folder=$1
+params=$2
+
+for f in $(find $folder -name "*.gmi"); do
+  HTML_FILENAME=$(echo $f | sed s/gmi/html/g | sed s/gemini/html/g)
+  awk -f gmi2html -- $params < $f > $HTML_FILENAME
+done