]> Shamusworld >> Repos - ardour-manual/blobdiff - build.py
Adding a link to edit in GitHub
[ardour-manual] / build.py
index 5d0b0bbd853db46127ab5b3cb4f6386ba8eecf4e..baf1f63e150f3428105174bce6aa1e00b0ee0bbf 100755 (executable)
--- a/build.py
+++ b/build.py
@@ -23,6 +23,7 @@ import argparse
 cleanString = re.compile(r'[^a-zA-Z0-9 \._-]+')
 # This matches new 'unbreakable' links, up to the closing quote or anchor
 findLinks = re.compile(r'@@[^#"]*')
+githuburl = 'https://github.com/Ardour/manual/edit/master/include/'
 
 #
 # Create an all lowercase filename without special characters and with spaces
@@ -444,13 +445,13 @@ for header in fileStruct:
        if level == 0:
                toc = toc + '<h2>Part ' + num2roman(levelNums[level]) + ': ' + header['title'] + '</h2>\n';
        elif level == 1:
-               toc = toc + '  <p id=chapter>Ch. ' + str(levelNums[level]) + ':&nbsp;&nbsp;<a href="/' + header['filename'] + '/">' + header['title'] + '</a></p>\n'
+               toc = toc + '  <p class="chapter">Ch. ' + str(levelNums[level]) + ':&nbsp;&nbsp;<a href="/' + header['filename'] + '/">' + header['title'] + '</a></p>\n'
        elif level == 2:
-               toc = toc + '    <a id=subchapter href="/' + header['filename'] + '/">' + header['title'] + '</a><br>\n'
+               toc = toc + '    <p class="subchapter"><a href="/' + header['filename'] + '/">' + header['title'] + '</a></p>\n'
        elif level == 3:
-               toc = toc + '      <a id=section href="/' + header['filename'] + '/">' + header['title'] + '</a><br>\n'
+               toc = toc + '      <p class="section"><a href="/' + header['filename'] + '/">' + header['title'] + '</a></p>\n'
        elif level == 4:
-               toc = toc + '      <a id=subsection href="/' + header['filename'] + '/">' + header['title'] + '</a><br>\n'
+               toc = toc + '      <p class="subsection"><a href="/' + header['filename'] + '/">' + header['title'] + '</a></p>\n'
 
        # Make the 'this thing contains...' stuff
        if HaveChildren(fileStruct, pageNumber):
@@ -468,6 +469,7 @@ for header in fileStruct:
        pLink = ''
        uLink = ''
 
+
        if pageNumber > 0:
                pLink = '<li><a title="' + fileStruct[pageNumber - 1]['title'] + '" href="/' + fileStruct[pageNumber - 1]['filename'] + '/" class="previous"> &larr; Previous </a></li>'
 
@@ -479,7 +481,7 @@ for header in fileStruct:
        else:
                uLink = '<li><a title="Ardour Table of Contents" href="/toc/index.html" class="active"> &uarr; Up </a></li>'
 
-       prevnext = '<ul class=pager>' + pLink + uLink + nLink + '</ul>'
+       prevnext = '<ul class="pager">' + pLink + uLink + nLink + '</ul>'
 
        # Make the BreadCrumbs
        breadcrumbs = GetBreadCrumbs(fileStruct, pageNumber)
@@ -491,9 +493,11 @@ for header in fileStruct:
        # Chapters, subchapters, sections & subsections can all have content,
        # but the basic fundamental organizing unit WRT content is still the
        # chapter.
+       githublink = ''
        if level > 0:
                if 'include' in header:
                        srcFile = open('include/' + header['include'])
+                       githublink = '<div style="float:right;"><a title="Edit in GitHub" href="' + githuburl + header['include'] + '"><img src="/images/github.png"></a></div>'
                        content = srcFile.read()
                        srcFile.close()
 
@@ -534,6 +538,7 @@ for header in fileStruct:
        page = page.replace('{{ page.title }}', header['title'])
        page = page.replace('{% tree %}', sidebar)
        page = page.replace('{% prevnext %}', prevnext)
+       page = page.replace('{% githublink %}', githublink)
        page = page.replace('{% breadcrumbs %}', breadcrumbs)
        page = page.replace('{{ content }}', content + more)