#!/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 . ## # 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) # # XXX: These do little to prevent against malicious code execution since, well, # they are used for my own personal content...you've been warned (they are also # strongly bias toward allowing only Unix-like paths) "$msgfmt_default" "$@" \ | awk -vpath_root="$path_root" ' match($0, /\[img:([a-z/.-]+?)(:(.*?))?\]/, g) { print "
" print " \""" print "
" next } match($0, /\[src:([a-z/.-]+?):(.*?)\]/, g) { c = "source-highlight -s" g[2] " -i" path_root "/" g[1] print "
" while ( c | getline ) print print "
" next } match($0, /\[cat:([a-z/.-]+?)\]/, g) { c = "cat -- " path_root "/" g[1] while ( c | getline ) print next } { print } '