Mike Gerwitz

Activist for User Freedom

aboutsummaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorMike Gerwitz <mike@mikegerwitz.com>2013-05-29 20:51:08 -0400
committerMike Gerwitz <mike@mikegerwitz.com>2013-05-29 20:51:09 -0400
commitefad11371e0835b99f3eee352c4996cdf6f95558 (patch)
treea0dcdc1fbe19adb67dc7b26f9f762e270686c37b /tools
parent94f3e09af8d811dca0535f1fd969821eaf1a1f74 (diff)
downloadthoughts-efad11371e0835b99f3eee352c4996cdf6f95558.tar.gz
thoughts-efad11371e0835b99f3eee352c4996cdf6f95558.tar.bz2
thoughts-efad11371e0835b99f3eee352c4996cdf6f95558.zip
Added extfmt tool (repo2html msgfmt extensions for inlining images and code samples)
The inline image extension does not belong in repo2html (see comments), but the source code highlighting may be moved in (code samples do make sense in commit messages).
Diffstat (limited to 'tools')
-rwxr-xr-xtools/extfmt45
1 files changed, 45 insertions, 0 deletions
diff --git a/tools/extfmt b/tools/extfmt
new file mode 100755
index 0000000..a7fa233
--- /dev/null
+++ b/tools/extfmt
@@ -0,0 +1,45 @@
+#!/bin/bash
+#
+# Augments default repo2html message formatter
+#
+# Copyright (C) 2013 Mike Gerwitz
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+##
+
+# adds inline image and source code include support to default formatter (which
+# does not necessarily make sense in repo2html, since it styles commit
+# messages...if you try to inline an image in a commit message using this
+# format, then you should probably pretend the brackets are staples and lodge
+# them into your skull)
+"$msgfmt_default" "$@" \
+ | awk -vpath_root="$path_root" '
+ match($0, /\[img:([^:]+?)(:(.*?))?\]/, g) {
+ print "<div class=\"inline-img\">"
+ print " <img src=\"/images/" g[1] "\" alt=\"" g[3] "\" title=\"" g[3] "\" />"
+ print "</div>"
+
+ next
+ }
+
+ match($0, /\[src:(.*?):(.*?)\]/, g) {
+ c = "source-highlight -s" g[2] " -i" path_root "/" g[1]
+
+ print "<div class=\"listingblock\">"
+ while ( c | getline ) print
+ print "</div>"
+ }
+
+ { print }
+ '