diff --git a/web-extension/extractHtml.js b/web-extension/extractHtml.js index e30005a..f9f9880 100644 --- a/web-extension/extractHtml.js +++ b/web-extension/extractHtml.js @@ -283,7 +283,6 @@ function getPageTitle(title) { if (title.trim().length === 0) { return 'ebook'; } - title = escapeAmp(title); return title; } diff --git a/web-extension/saveEbook.js b/web-extension/saveEbook.js index 8a6cd96..d9db20c 100644 --- a/web-extension/saveEbook.js +++ b/web-extension/saveEbook.js @@ -38,10 +38,11 @@ function _buildEbook(allPages) { var ebookFileName = 'eBook.epub'; if (ebookTitle) { - ebookName = ebookTitle; - ebookFileName = getEbookFileName(bookTitle) + '.epub'; + // ~TODO a pre-processing function to apply escapeAmp to all page.titles + ebookName = escapeAmp(ebookTitle); + ebookFileName = getEbookFileName(ebookTitle) + '.epub'; } else { - ebookName = allPages[0].title; + ebookName = escapeAmp(allPages[0].title); ebookFileName = getEbookFileName(allPages[0].title) + '.epub'; } @@ -72,7 +73,8 @@ function _buildEbook(allPages) { '

Table of Contents

' + '
    ' + allPages.reduce(function(prev, page) { - return prev + '\n' + '
  1. ' + page.title + '
  2. '; + var tmpPageTitle = escapeAmp(page.title); + return prev + '\n' + '
  3. ' + tmpPageTitle + '
  4. '; }, '') + '
' + '' + @@ -92,9 +94,10 @@ function _buildEbook(allPages) { '' + '' + allPages.reduce(function(prev, page, index) { + var tmpPageTitle = escapeAmp(page.title); return prev + '\n' + '' + - '' + page.title + '' + + '' + tmpPageTitle + '' + '' + ''; }, '') + @@ -110,11 +113,12 @@ function _buildEbook(allPages) { var pagesFolder = oebps.folder('pages'); allPages.forEach(function(page) { + var tmpPageTitle = escapeAmp(page.title); pagesFolder.file(page.url, '' + '' + '' + - '' + page.title + '' + + '' + tmpPageTitle+ '' + '' + '' + page.content +