trypandoc: allow binary output.
This commit is contained in:
parent
c26e3ab3f6
commit
fa7669e0a7
1 changed files with 28 additions and 2 deletions
|
@ -96,8 +96,11 @@
|
||||||
<option value="context">ConTeXt</option>
|
<option value="context">ConTeXt</option>
|
||||||
<option value="docbook4">DocBook v4</option>
|
<option value="docbook4">DocBook v4</option>
|
||||||
<option value="docbook5">DocBook v5</option>
|
<option value="docbook5">DocBook v5</option>
|
||||||
|
<option value="docx">Docx (Word)</option>
|
||||||
<option value="dokuwiki">DokuWiki</option>
|
<option value="dokuwiki">DokuWiki</option>
|
||||||
<option value="dzslides">DZSlides</option>
|
<option value="dzslides">DZSlides</option>
|
||||||
|
<option value="epub2">EPUB v2</option>
|
||||||
|
<option value="epub3">EPUB v3</option>
|
||||||
<option value="haddock">Haddock markup</option>
|
<option value="haddock">Haddock markup</option>
|
||||||
<option value="html4">HTML 4</option>
|
<option value="html4">HTML 4</option>
|
||||||
<option value="html5" selected>HTML 5</option>
|
<option value="html5" selected>HTML 5</option>
|
||||||
|
@ -117,10 +120,12 @@
|
||||||
<option value="markdown_mmd">MultiMarkdown</option>
|
<option value="markdown_mmd">MultiMarkdown</option>
|
||||||
<option value="muse">Muse</option>
|
<option value="muse">Muse</option>
|
||||||
<option value="native">Native (Pandoc AST)</option>
|
<option value="native">Native (Pandoc AST)</option>
|
||||||
|
<option value="odt">ODT</option>
|
||||||
<option value="opendocument">OpenDocument</option>
|
<option value="opendocument">OpenDocument</option>
|
||||||
<option value="opml">OPML</option>
|
<option value="opml">OPML</option>
|
||||||
<option value="org">Org Mode</option>
|
<option value="org">Org Mode</option>
|
||||||
<option value="plain">Plain text</option>
|
<option value="plain">Plain text</option>
|
||||||
|
<option value="pptx">Powerpoint</option>
|
||||||
<option value="revealjs">reveal.js</option>
|
<option value="revealjs">reveal.js</option>
|
||||||
<option value="rst">reStructuredText</option>
|
<option value="rst">reStructuredText</option>
|
||||||
<option value="rtf">RTF</option>
|
<option value="rtf">RTF</option>
|
||||||
|
@ -154,6 +159,19 @@ function newpage() {
|
||||||
window.location.href = href.replace(/([?].*)?$/,"?" + URLparams);
|
window.location.href = href.replace(/([?].*)?$/,"?" + URLparams);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const binaryFormats = {
|
||||||
|
docx: { extension: "docx",
|
||||||
|
mime: "application/vnd.openxmlformats-officedocument.wordprocessingml.document" },
|
||||||
|
odt: { extension: "odt",
|
||||||
|
mime: "application/vnd.oasis.opendocument.text" },
|
||||||
|
pptx: { extension: "pptx",
|
||||||
|
mime: "application/vnd.openxmlformats-officedocument.presentationml.presentation" },
|
||||||
|
epub2: { extension: "epub",
|
||||||
|
mime: "application/epub+zip" },
|
||||||
|
epub3: { extension: "epub",
|
||||||
|
mime: "application/epub+zip" }
|
||||||
|
};
|
||||||
|
|
||||||
(function() {
|
(function() {
|
||||||
const params = new URLSearchParams(window.location.search);
|
const params = new URLSearchParams(window.location.search);
|
||||||
let text = params.get("text") || '"hello *world*"';
|
let text = params.get("text") || '"hello *world*"';
|
||||||
|
@ -168,7 +186,7 @@ function newpage() {
|
||||||
fetch("/cgi-bin/pandoc-server.cgi/version")
|
fetch("/cgi-bin/pandoc-server.cgi/version")
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(restext =>
|
.then(restext =>
|
||||||
document.getElementById("version").textContent = restext
|
document.getElementById("version").textContent = restext
|
||||||
);
|
);
|
||||||
|
|
||||||
let params = { from: from, to: to, text: text, standalone: standalone };
|
let params = { from: from, to: to, text: text, standalone: standalone };
|
||||||
|
@ -184,7 +202,15 @@ function newpage() {
|
||||||
})
|
})
|
||||||
.then(response => response.text())
|
.then(response => response.text())
|
||||||
.then(restext => {
|
.then(restext => {
|
||||||
document.getElementById("results").textContent = restext;
|
let binary = binaryFormats[to];
|
||||||
|
if (binary) {
|
||||||
|
document.getElementById("results").innerHTML =
|
||||||
|
'<a download="trypandoc.' + binary.extension +
|
||||||
|
'" href="data:' + binary.mime + ';base64,' + restext +
|
||||||
|
'">click to download trypandoc.' + binary.extension + '</a>';
|
||||||
|
} else {
|
||||||
|
document.getElementById("results").textContent = restext;
|
||||||
|
}
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
document.getElementById("convert").onclick = newpage;
|
document.getElementById("convert").onclick = newpage;
|
||||||
|
|
Loading…
Add table
Reference in a new issue