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 + '\t

Ch. ' + 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.')