-
Notifications
You must be signed in to change notification settings - Fork 22
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix: Error when running HTML checks (HTML5Outline is not defined)
EPUB scripts based on RequireJS were conflicting with the injected HTML5 outliner library (h5o), and caused an unexpected error. ("HTML5Outline is not defined"). This fix wraps h5o in a function that undefines any global `define` function, to prevent this conflict. Fixes #108
- Loading branch information
Showing
9 changed files
with
93 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
'use strict'; | ||
|
||
const fs = require('fs'); | ||
const path = require('path'); | ||
const mkdirp = require('mkdirp'); | ||
const { config } = require('../../../scripts/build-utils'); | ||
|
||
function buildH5O() { | ||
/** | ||
* Wrap the browserified h5o in a function to temporarily undefine 'define' | ||
* since Browserify and RequireJS otherwise don’t go along | ||
* see: https://github.com/browserify/browserify/issues/790 | ||
*/ | ||
const vendorDir = path.resolve(__dirname, '..', config.buildDir, 'scripts/vendor'); | ||
const srcPath = path.resolve(require.resolve('h5o'), '../dist/outliner.min.js'); | ||
const destPath = path.resolve(vendorDir, 'outliner.min.js'); | ||
|
||
mkdirp.sync(path.dirname(destPath)); | ||
const ws = fs.createWriteStream(destPath); | ||
const rs = fs.createReadStream(srcPath); | ||
ws.write('(function () { var define = undefined;'); | ||
rs.pipe(ws, { end: false }); | ||
rs.on('end', () => { | ||
ws.end('})();'); | ||
}); | ||
} | ||
|
||
buildH5O(); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="en"> | ||
<head> | ||
<title>Minimal EPUB</title> | ||
</head> | ||
<body> | ||
<script src="require.js"></script> | ||
<h1>Loomings</h1> | ||
<p>Call me Ishmael.</p> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:epub="http://www.idpf.org/2007/ops" xml:lang="en"> | ||
<head> | ||
<title>Minimal Nav</title> | ||
</head> | ||
<body> | ||
<nav epub:type="toc"> | ||
<ol> | ||
<li><a href="content_001.xhtml">content 001</a></li> | ||
</ol> | ||
</nav> | ||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,24 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<package xmlns="http://www.idpf.org/2007/opf" version="3.0" xml:lang="en" unique-identifier="uid"> | ||
<metadata xmlns:dc="http://purl.org/dc/elements/1.1/"> | ||
<dc:title id="title">Minimal EPUB 3.0</dc:title> | ||
<dc:language>en</dc:language> | ||
<dc:identifier id="uid">NOID</dc:identifier> | ||
<meta property="dcterms:modified">2017-01-01T00:00:01Z</meta> | ||
<meta property="schema:accessibilityFeature">structuralNavigation</meta> | ||
<meta property="schema:accessibilitySummary">everything OK!</meta> | ||
<meta property="schema:accessibilityHazard">noFlashingHazard</meta> | ||
<meta property="schema:accessibilityHazard">noSoundHazard</meta> | ||
<meta property="schema:accessibilityHazard">noMotionSimulationHazard</meta> | ||
<meta property="schema:accessMode">textual</meta> | ||
<meta property="schema:accessModeSufficient">textual</meta> | ||
</metadata> | ||
<manifest> | ||
<item id="nav" href="nav.xhtml" media-type="application/xhtml+xml" properties="nav"/> | ||
<item id="content_001" href="content_001.xhtml" media-type="application/xhtml+xml" properties="scripted"/> | ||
<item id="requirejs" href="require.js" media-type="text/javascript"/> | ||
</manifest> | ||
<spine> | ||
<itemref idref="content_001"/> | ||
</spine> | ||
</package> |
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<container version="1.0" xmlns="urn:oasis:names:tc:opendocument:xmlns:container"> | ||
<rootfiles> | ||
<rootfile full-path="EPUB/package.opf" media-type="application/oebps-package+xml"/> | ||
</rootfiles> | ||
</container> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
application/epub+zip |