X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build.py;h=144760df2b95cd0766d5c6206447c9b2e0722cc8;hb=bc89d6d2a84d5d65739ea7ce31488d91d8aa0d09;hp=5d6ecfd1fe5af0666c38f3596b12c61220826555;hpb=c26b7c1f3feb0c4124335c4e7511855543956436;p=ardour-manual
diff --git a/build.py b/build.py
index 5d6ecfd..144760d 100755
--- a/build.py
+++ b/build.py
@@ -9,7 +9,7 @@
# Remnants (could go into the master document as the first header)
-#bootstrap_path: /bootstrap-2.2.2
+#bootstrap_path: /bootstrap-3.3.7
#page_title: The Ardour Manual
import os
@@ -22,7 +22,8 @@ import argparse
# This matches all *non* letter/number, ' ', '.', '-', and '_' chars
cleanString = re.compile(r'[^a-zA-Z0-9 \._-]+')
# This matches new 'unbreakable' links, up to the closing quote or anchor
-findLinks = re.compile(r'@@[^#"]*')
+findLinks = re.compile(r'"@@[^#"]*"')
+githuburl = 'https://github.com/Ardour/manual/edit/master/include/'
#
# Create an all lowercase filename without special characters and with spaces
@@ -189,6 +190,36 @@ def GetChildren(fs, pos):
return children
+#
+# Get the parent at this level
+#
+def GetParent(fs, pos):
+ thisLevel = fs[pos]['level']
+ pos = pos - 1
+
+ while pos >= 0 and fs[pos]['level'] >= thisLevel:
+ pos = pos - 1
+
+ return pos
+
+
+#
+# Creates the BreadCrumbs
+#
+def GetBreadCrumbs(fs, pos):
+ # The > is for Bootstrap pre-3.0
+ breadcrumbs = '
'+ fs[pos]['title'] + '
'
+
+ while pos >= 0:
+ pos = GetParent(fs, pos)
+
+ if pos >= 0:
+ breadcrumbs='
'
+
+ # Make the BreadCrumbs
+ breadcrumbs = GetBreadCrumbs(fileStruct, pageNumber)
# Create the link sidebar
sidebar = CreateLinkSidebar(fileStruct, pageNumber, nodeChildren)
@@ -450,9 +492,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.
+ githubedit = ''
if level > 0:
if 'include' in header:
srcFile = open('include/' + header['include'])
+ githubedit = ''
content = srcFile.read()
srcFile.close()
@@ -472,8 +516,15 @@ for header in fileStruct:
content = FixInternalLinks(links, content, header['title'])
# Add header information to the page if in dev mode
- if devmode and 'link' in header:
- content = '
link: ' + header['link'] + '\n
\n' + content
+ if devmode:
+ devnote ='' + content
# Set up the actual page from the template
if 'style' not in header:
@@ -486,6 +537,8 @@ for header in fileStruct:
page = page.replace('{{ page.title }}', header['title'])
page = page.replace('{% tree %}', sidebar)
page = page.replace('{% prevnext %}', prevnext)
+ page = page.replace('{% githubedit %}', githubedit)
+ page = page.replace('{% breadcrumbs %}', breadcrumbs)
page = page.replace('{{ content }}', content + more)
# Create the directory for the index.html file to go into (we use makedirs,
@@ -509,6 +562,8 @@ page = page.replace('{{ page.title }}', 'Ardour Table of Contents')
page = page.replace('{% tree %}', sidebar)
page = page.replace('{{ content }}', toc)
page = page.replace('{% prevnext %}', '')
+page = page.replace('{% githubedit %}', '')
+page = page.replace('{% breadcrumbs %}', '')
os.mkdir(siteDir + 'toc', 0o775)
tocFile = open(siteDir + 'toc/index.html', 'w')