For folks that don't like the default templates for whatever reason. --- NEWS | 18 ++++++++++++++++++ devel/nmbug/nmbug-status | 37 +++++++++++++++++++++---------------- 2 files changed, 39 insertions(+), 16 deletions(-) diff --git a/NEWS b/NEWS index 5d85733..ab6f9e4 100644 --- a/NEWS +++ b/NEWS @@ -1,3 +1,21 @@ +Notmuch 0.19 (UNRELEASED) +========================= + +nmbug-status +------------ + +`nmbug-status` can now optionally load header and footer templates +from the config file. Use something like: + + { + "meta": { + "header": "<!DOCTYPE html>\n<html lang="en">\n...", + "footer": "</body></html>", + ... + }, + ... + }, + Notmuch 0.18 (2014-05-06) ========================= diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status index c0bdd1b..f0809f1 100755 --- a/devel/nmbug/nmbug-status +++ b/devel/nmbug/nmbug-status @@ -275,20 +275,8 @@ parser.add_argument('--get-query', help='get query for view', args = parser.parse_args() config = read_config(path=args.config) -now = datetime.datetime.utcnow() -context = { - 'date': now, - 'datetime': now.strftime('%Y-%m-%d %H:%M:%SZ'), - 'title': config['meta']['title'], - 'blurb': config['meta']['blurb'], - 'encoding': _ENCODING, - 'inter_message_padding': '0.25em', - 'border_radius': '0.5em', - } -_PAGES['text'] = Page() -_PAGES['html'] = HtmlPage( - header='''<!DOCTYPE html> +header_template = config['meta'].get('header', '''<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset={encoding}" /> @@ -338,13 +326,30 @@ _PAGES['html'] = HtmlPage( {blurb} </p> <h3>Views</h3> -'''.format(**context), - footer=''' +''') + +footer_template = config['meta'].get('footer', ''' <hr> <p>Generated: {datetime} </body> </html> -'''.format(**context), +''') + +now = datetime.datetime.utcnow() +context = { + 'date': now, + 'datetime': now.strftime('%Y-%m-%d %H:%M:%SZ'), + 'title': config['meta']['title'], + 'blurb': config['meta']['blurb'], + 'encoding': _ENCODING, + 'inter_message_padding': '0.25em', + 'border_radius': '0.5em', + } + +_PAGES['text'] = Page() +_PAGES['html'] = HtmlPage( + header=header_template.format(**context), + footer=footer_template.format(**context), ) if args.list_views: -- 1.9.1.353.gc66d89d