X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build.py;h=6d343b61c60f50f3bfea302446a8e7ca02b05974;hb=0fec8c5f7c5fc1fac85b40d025d230b26435579b;hp=5d6ecfd1fe5af0666c38f3596b12c61220826555;hpb=c26b7c1f3feb0c4124335c4e7511855543956436;p=ardour-manual
diff --git a/build.py b/build.py
index 5d6ecfd..6d343b6 100755
--- a/build.py
+++ b/build.py
@@ -189,6 +189,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=' > '+ fs[pos]['title'] + ''+ breadcrumbs
+
+ breadcrumbs = '- Home
' + breadcrumbs + '
'
+ return breadcrumbs
+
+
#
# Make an array of children attached to each node in the file structure
# (It's a quasi-tree structure, and can be traversed as such.)
@@ -418,9 +448,9 @@ for header in fileStruct:
elif level == 2:
toc = toc + ' ' + header['title'] + '
\n'
elif level == 3:
- toc = toc + ' ' + header['title'] + '
\n'
+ toc = toc + ' ' + header['title'] + '
\n'
elif level == 4:
- toc = toc + ' ' + header['title'] + '
\n'
+ toc = toc + ' ' + header['title'] + '
\n'
# Make the 'this thing contains...' stuff
if HaveChildren(fileStruct, pageNumber):
@@ -431,17 +461,28 @@ for header in fileStruct:
more = '\n' + '
This section contains the following topics:
\n' + '
\n' + '
\n'
+ parent = GetParent(fileStruct, pageNumber)
+
# Make the 'Previous' & 'Next' content
nLink = ''
pLink = ''
+ uLink = ''
if pageNumber > 0:
- pLink = ' < Previous '
+ pLink = ' ← Previous '
if pageNumber < len(fileStruct) - 1:
- nLink = ' Next > '
+ nLink = ' Next → '
- prevnext = ''
+ if level > 0:
+ uLink = ' ↑ Up '
+ else:
+ uLink = ' ↑ Up '
+
+ prevnext = ''
+
+ # Make the BreadCrumbs
+ breadcrumbs = GetBreadCrumbs(fileStruct, pageNumber)
# Create the link sidebar
sidebar = CreateLinkSidebar(fileStruct, pageNumber, nodeChildren)
@@ -473,7 +514,7 @@ for header in fileStruct:
# Add header information to the page if in dev mode
if devmode and 'link' in header:
- content = 'link: ' + header['link'] + '\n
\n' + content
+ content = 'link: ' + header['link'] + '
\n
\n' + content
# Set up the actual page from the template
if 'style' not in header:
@@ -486,6 +527,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('{% breadcrumbs %}', breadcrumbs)
page = page.replace('{{ content }}', content + more)
# Create the directory for the index.html file to go into (we use makedirs,
@@ -509,6 +551,7 @@ 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('{% breadcrumbs %}', '')
os.mkdir(siteDir + 'toc', 0o775)
tocFile = open(siteDir + 'toc/index.html', 'w')
@@ -517,3 +560,4 @@ tocFile.close()
if not quiet:
print('Processed ' + str(fileCount) + ' files.')
+