Also allow manual id overrides from the JSON config. Quoting avoids errors like: Bad value '#Possible bugs' for attribute href on element a: Whitespace in fragment component. Use %20 in place of spaces. from http://validator.w3.org. --- devel/nmbug/nmbug-status | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/devel/nmbug/nmbug-status b/devel/nmbug/nmbug-status index 3597389..9bdb34f 100755 --- a/devel/nmbug/nmbug-status +++ b/devel/nmbug/nmbug-status @@ -154,12 +154,14 @@ class HtmlPage (Page): super(HtmlPage, self)._write_header(views=views, stream=stream) stream.write('<ul>\n') for view in views: + if 'id' not in view: + view['id'] = quote(view['title']) stream.write( - '<li><a href="#{title}">{title}</a></li>\n'.format(**view)) + '<li><a href="#{id}">{title}</a></li>\n'.format(**view)) stream.write('</ul>\n') def _write_view_header(self, view, stream): - stream.write('<h3 id="{title}">{title}</h3>\n'.format(**view)) + stream.write('<h3 id="{id}">{title}</h3>\n'.format(**view)) if 'comment' in view: stream.write(view['comment']) stream.write('\n') -- 1.8.5.2.8.g0f6c0d1