X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=build.py;h=34698537b9c7941469449e69ae253138aa72aa81;hb=ae13870226eb5b5a00fb87f442ae77fde6ed9e29;hp=75a13f18122c462dcf9ec97e00f242fadca6fa1a;hpb=4f1a3a5e3b221492f935e969b68d956bd9d65a55;p=ardour-manual
diff --git a/build.py b/build.py
index 75a13f1..3469853 100755
--- a/build.py
+++ b/build.py
@@ -354,7 +354,7 @@ def BuildOnePageSidebar(fs):
levelNums = [0]*3
for i in range(len(fs)):
- # Handle Part/Chapter/subchapter/section/subsection numbering
+ # Handle Part/Chapter/subchapter numbering
level = fs[i]['level']
if level < 2:
levelNums[2] = 0
@@ -515,22 +515,22 @@ for header in fileStruct:
print(header['title'])
- # Handle TOC scriblings and one-page titles...
- opl = ''
- if 'link' in header:
- opl = ' id="' + header['link'] + '"'
- else:
- opl = ' id="' + header['filename'] + '"'
-
+ # Handle TOC scriblings...
if level == 0:
toc = toc + '
Part ' + num2roman(levelNums[level]) + ': ' + header['title'] + '
\n';
- oph = 'Part ' + num2roman(levelNums[level]) + ' - ' + header['title'] + '
\n';
elif level == 1:
toc = toc + '\tCh. ' + str(levelNums[level]) + ': ' + header['title'] + '
\n'
- oph = '' + str(levelNums[level]) + ' - ' + header['title'] + '\n';
elif level == 2:
toc = toc + '\t\t
' + header['title'] + '
\n'
- oph = '' + str(levelNums[level-1]) + '.' + str(levelNums[level]) + ' - ' + header['title'] + '
\n';
+
+ # Handle one-page and PDF titles...
+ opl = ''
+ if 'link' in header:
+ opl = ' id="' + header['link'] + '"'
+ else:
+ opl = ' id="' + header['filename'] + '"'
+ oph = '' + header['title'] + '\n';
+
# Make the 'this thing contains...' stuff
if HaveChildren(fileStruct, pageNumber):
@@ -680,17 +680,21 @@ if not nopdf:
print('Generating the PDF...')
# Create the PDF version of the documentation
- pdfpageFile = open(global_site_dir + 'pdf.html', 'w')
pdfpage = pdfpage.replace('{% tree %}', opsidebar) # create the TOC
pdfpage = pdfpage.replace('{{ content }}', '') # cleans up the last spaceholder
pdfpage = pdfpage.replace('src="/images/', 'src="images/') # makes images links relative
pdfpage = pdfpage.replace('url(\'/images/', 'url(\'images/') # CSS images links relative
+ # Write it to disk (optional, can be removed)
+ pdfpageFile = open(global_site_dir + 'pdf.html', 'w')
pdfpageFile.write(pdfpage)
pdfpageFile.close()
+ # Generating the actual PDF with weasyprint (https://weasyprint.org/)
from weasyprint import HTML
- doc = HTML(filename = global_site_dir + 'pdf.html')
- doc.write_pdf(global_site_dir + 'manual.pdf')
+ #from weasyprint.fonts import FontConfiguration
+ #html_font_config = FontConfiguration()
+ doc = HTML(string = pdfpage, base_url = global_site_dir)
+ doc.write_pdf(global_site_dir + 'manual.pdf')#, font_config = html_font_config)
if not quiet:
print('Processed ' + str(fileCount) + ' files.')