JSFiddle - React, Tailwind, and code Playground
HTML
<script src="http://lm.mdev/lib/jath/jath.js"></script>
<pre>
</pre>
<div id="result"></div>
CSS
.cite {
font-style:italic;
}
JavaScript
var arrayMethods = Object.getOwnPropertyNames(Array.prototype);
arrayMethods.forEach(attachArrayMethodsToNodeList);
function attachArrayMethodsToNodeList(methodName) {
NodeList.prototype[methodName] = Array.prototype[methodName];
}
var fb2JathTemplate = {
metadata: {
id: '/deff:FictionBook/deff:description/deff:document-info/deff:id',
epub_version: '2',
title: '/deff:FictionBook/deff:description/deff:title-info/deff:book-title',
author: '/deff:FictionBook/deff:description/deff:title-info/deff:author',
publisher: '/deff:FictionBook/deff:description/deff:publish-info/deff:publisher',
description: '/deff:FictionBook/deff:description/deff:document-info/deff:history',
rights: '0',
language: '/deff:FictionBook/deff:description/deff:title-info/deff:lang',
pubdate: '/deff:FictionBook/deff:description/deff:title-info/deff:date',
modified_date: '/deff:FictionBook/deff:description/deff:document-info/deff:date',
layout: '0',
spread: '0',
orientation: '0',
ncx: '0',
page_prog_dir: '0',
active_class: '0'
},
manifest: ['//def:item', {
id: '@id',
href: '@href',
media_type: '@media-type',
properties: '@properties',
media_overlay: '@media-overlay'
}],
spine: ['//def:itemref', {
idref: '@idref',
properties: '@properties',
linear: '@linear'
}],
coverLink: '/deff:FictionBook/deff:description/deff:title-info/deff:coverpage/deff:image/@l:href',
bindings: ['//def:bindings/def:mediaType', {
handler: '@handler',
media_type: '@media-type'
}]
};
Jath.namespaces = {
def: 'http://www.idpf.org/2007/opf',
deff: 'http://www.gribuser.ru/xml/fictionbook/2.0',
dc: 'http://purl.org/dc/elements/1.1/',
ncx: 'http://www.daisy.org/z3986/2005/ncx/',
epub: 'http://www.idpf.org/2007/ops',
xhtml: 'http://www.w3.org/1999/xhtml',
l:...