diff options
| author | Christian Cleberg <[email protected]> | 2024-02-21 22:41:07 -0600 |
|---|---|---|
| committer | Christian Cleberg <[email protected]> | 2024-02-21 22:41:07 -0600 |
| commit | 3110e0e5130b9f9b5a832cf0d6ad9d46490003ad (patch) | |
| tree | b935dea8ed2b63d3de21e214bb451bb904c3f69d /static/app.js | |
| download | org-live-3110e0e5130b9f9b5a832cf0d6ad9d46490003ad.tar.gz org-live-3110e0e5130b9f9b5a832cf0d6ad9d46490003ad.tar.bz2 org-live-3110e0e5130b9f9b5a832cf0d6ad9d46490003ad.zip | |
initial commit
Diffstat (limited to 'static/app.js')
| -rw-r--r-- | static/app.js | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/static/app.js b/static/app.js new file mode 100644 index 0000000..7da442b --- /dev/null +++ b/static/app.js @@ -0,0 +1,55 @@ +function parseOrg() { + var orgCode = document.getElementById("editor").value; + var orgParser = new Org.Parser(); + var orgDocument = orgParser.parse(orgCode); + var orgHTMLDocument = orgDocument.convert(Org.ConverterHTML, { + headerOffset: 1, + exportFromLineNumber: false, + suppressSubScriptHandling: false, + suppressAutoLink: false, + }); + + // console.dir(orgHTMLDocument); // => { title, contentHTML, tocHTML, toc } + // console.log(orgHTMLDocument.toString()) // => Rendered HTML + return orgHTMLDocument; +} + +function saveOrg() { + const filename = new Date().toISOString(); + var data = document.getElementById("editor").value; + var file = new Blob([data], { type: Text }); + var a = document.createElement("a"), + url = URL.createObjectURL(file); + a.href = url; + a.download = filename + ".org"; + document.body.appendChild(a); + a.click(); + setTimeout(function () { + document.body.removeChild(a); + window.URL.revokeObjectURL(url); + }, 0); +} + +function saveHTML() { + const filename = new Date().toISOString(); + var data = parseOrg(); + var file = new Blob([data], { type: Text }); + var a = document.createElement("a"), + url = URL.createObjectURL(file); + a.href = url; + a.download = filename + ".html"; + document.body.appendChild(a); + a.click(); + setTimeout(function () { + document.body.removeChild(a); + window.URL.revokeObjectURL(url); + }, 0); +} + +function showHTML() { + var data = parseOrg(); + data += "<form method='dialog'><button>Close dialog</button></form>"; + var element = document.getElementById("modal"); + element.innerHTML = data.toString(); + element.showModal(); +} |
