diff options
Diffstat (limited to '.emacs.d/org-7.4/contrib/scripts/staticmathjax')
8 files changed, 0 insertions, 393 deletions
diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/.gitignore b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/.gitignore deleted file mode 100644 index b25c15b..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/.gitignore +++ /dev/null @@ -1 +0,0 @@ -*~ diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/README.org b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/README.org deleted file mode 100644 index d28fc90..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/README.org +++ /dev/null @@ -1,79 +0,0 @@ -Static MathJax v0.1 README -#+AUTHOR: Jan Böcker <jan.boecker@jboecker.de> - -Static MathJax is a XULRunner application which loads a HTML input -file that uses MathJax into a browser, waits until MathJax is done -processing, and then writes the formatted result to an output HTML -file. - -I have only tested exports from Emacs Org-mode as input files. (As of -2010-08-14, MathJax is used by default with HTML exports in the -current Org development version.) - -Optionally, references to the math fonts used will be converted to -"data:" URIs, thus embedding the font data into the HTML file itself. -(see [[http://en.wikipedia.org/wiki/Data_URI_scheme]]) - -The code is licensed under the GNU General Public License version -2, or, at your option, any later version. - - -* Usage - To run Static MathJax, an existing XULRunner installation is - required. From the directory to which you unpacked Static MathJax, - run: - - xulrunner application.ini <--embed-fonts | --final-mathjax-url <URL>> - <input file> <output file> - - If you prefer to call "staticmathjax" instead of "xulrunner - application.ini", link xulrunner-stub into the directory: - ln /usr/lib/xulrunner-1.9.2.8/xulrunner-stub ./staticmathjax - - - input file :: - name of the input file (the result of a HTML export - from Org-mode). It is assumed that this file uses the - UTF-8 character encoding. - - - output file :: - name of the output file. - - - --embed-fonts :: - if specified, the math fonts will be embedded into - the output file using data: URIs - - - --final-mathjax-url <URL> :: - if --embed-fonts is not specified, this - must be the URL to a MathJax installation folder (e.g. "MathJax" - if MathJax is installed in a subdirectory, or - "http://orgmode.org/mathjax" to use the version hosted on the Org - website. - - All references to math fonts in the output file will point to - this directory. - -* Caveats - - The input file must not use a MathJax installation on the - web. Otherwise, due to a security feature of Firefox, MathJax will - fallback to image fonts. If you have unpacked MathJax to a - subdirectory "MathJax", specify the following in your Org file: - - #+MathJax: path:"MathJax" - - The math is rendered in Firefox, so MathJax applies its - Firefox-specific settings. When viewing the output files in other - browsers, it will look slightly different than the result that - running MathJax in that browser would produce. - - Internet Explorer does not use the correct font, because it only - supports the EOT font format. For all other browsers (including - Firefox), MathJax uses the OTF font format. - - Embedding fonts into the HTML file wastes some space due to the - base64 encoding used in data: URIs. - - I have found no way to access stdout or set an exit code in an - XULRunner app, so any code which calls Static MathJax has no idea if - processing was successful and when an error occurs, graphical - message boxes are displayed. diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/README.txt b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/README.txt deleted file mode 100644 index cbcaea1..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/README.txt +++ /dev/null @@ -1,91 +0,0 @@ - Static MathJax v0.1 README - ========================== - -Author: Jan Böcker <jan.boecker@jboecker.de> -Date: 2010-08-15 13:53:39 CEST - - -Static MathJax is a XULRunner application which loads a HTML input -file that uses MathJax into a browser, waits until MathJax is done -processing, and then writes the formatted result to an output HTML -file. - -I have only tested exports from Emacs Org-mode as input files. (As of -2010-08-14, MathJax is used by default with HTML exports in the -current Org development version.) - -Optionally, references to the math fonts used will be converted to -"data:" URIs, thus embedding the font data into the HTML file itself. -(see [http://en.wikipedia.org/wiki/Data_URI_scheme]) - -The code is licensed under the GNU General Public License version -2, or, at your option, any later version. - - -Table of Contents -================= -1 Usage -2 Caveats - - -1 Usage -~~~~~~~~ - To run Static MathJax, an existing XULRunner installation is - required. From the directory to which you unpacked Static MathJax, - run: - - xulrunner application.ini <--embed-fonts | --final-mathjax-url <URL>> - <input file> <output file> - - If you prefer to call "staticmathjax" instead of "xulrunner - application.ini", link xulrunner-stub into the directory: - ln /usr/lib/xulrunner-1.9.2.8/xulrunner-stub ./staticmathjax - - input file: - name of the input file (the result of a HTML export - from Org-mode). It is assumed that this file uses the - UTF-8 character encoding. - - output file: - name of the output file. - - --embed-fonts: - if specified, the math fonts will be embedded into - the output file using data: URIs - - --final-mathjax-url <URL>: - if --embed-fonts is not specified, this - must be the URL to a MathJax installation folder (e.g. "MathJax" - if MathJax is installed in a subdirectory, or - "[http://orgmode.org/mathjax]" to use the version hosted on the Org - website. - - All references to math fonts in the output file will point to - this directory. - -2 Caveats -~~~~~~~~~~ - - The input file must not use a MathJax installation on the - web. Otherwise, due to a security feature of Firefox, MathJax will - fallback to image fonts. If you have unpacked MathJax to a - subdirectory "MathJax", specify the following in your Org file: - - #+MathJax: path:"MathJax" - - The math is rendered in Firefox, so MathJax applies its - Firefox-specific settings. When viewing the output files in other - browsers, it will look slightly different than the result that - running MathJax in that browser would produce. - - Internet Explorer does not use the correct font, because it only - supports the EOT font format. For all other browsers (including - Firefox), MathJax uses the OTF font format. - - Embedding fonts into the HTML file wastes some space due to the - base64 encoding used in data: URIs. - - I have found no way to access stdout or set an exit code in an - XULRunner app, so any code which calls Static MathJax has no idea if - processing was successful and when an error occurs, graphical - message boxes are displayed. diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/application.ini b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/application.ini deleted file mode 100644 index d7957b0..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/application.ini +++ /dev/null @@ -1,11 +0,0 @@ -[App] -Vendor=Jan Boecker -Name=StaticMathJax -Version=0.2 -BuildID=2 -Copyright=Copyright (c) 2010 Jan Boecker -ID=xulapp@jboecker.de - -[Gecko] -MinVersion=1.8 - diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/chrome.manifest b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/chrome.manifest deleted file mode 100644 index a05d8c8..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/chrome.manifest +++ /dev/null @@ -1 +0,0 @@ -content staticmathjax file:content/ diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/content/main.js b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/content/main.js deleted file mode 100644 index 2e71f3b..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/content/main.js +++ /dev/null @@ -1,198 +0,0 @@ -var docFrame; -var logtextbox; -var destFile; -var embedFonts = false; -var finalMathJaxURL = null; - -function log(text) -{ - logtextbox.setAttribute("value", logtextbox.getAttribute("value") + "\n" + text); -} - -function init() -{ - try { - docFrame = document.getElementById("docFrame"); - logtextbox = document.getElementById("logtextbox"); - - // parse command line arguments - var cmdLine = window.arguments[0]; - cmdLine = cmdLine.QueryInterface(Components.interfaces.nsICommandLine); - - embedFonts = cmdLine.handleFlag("embed-fonts", false); - finalMathJaxURL = cmdLine.handleFlagWithParam("final-mathjax-url", false); - - if (!embedFonts && !finalMathJaxURL) { - alert("You must eiher specify --embed-fonts or --final-mathjax-url"); - window.close(); - return; - } - - sourceFilePath = cmdLine.getArgument(0); - destFilePath = cmdLine.getArgument(1); - if ( !sourceFilePath || !destFilePath ) { - alert("Not enough parameters, expecting two arguments:\nInput file, output file"); - window.close(); - return; - } - - sourceFile = cmdLine.resolveFile(sourceFilePath); - if (! (sourceFile.exists() && sourceFile.isFile()) ) { - alert("Invalid source file path."); - window.close(); - return; - } - sourceURI = cmdLine.resolveURI(sourceFilePath); - - // create a nsIFile object for the output file - try{ - destFile = cmdLine.resolveURI(destFilePath).QueryInterface(Components.interfaces.nsIFileURL).file; - }catch(e){ - alert("Invalid destination file.\n\nException:\n" + e); - window.close(); - return; - } - - // add iframeLoaded() as an onload event handler, then navigate to the source file - docFrame.addEventListener("DOMContentLoaded", iframeLoaded, true); - docFrame.setAttribute("src", sourceURI.spec); - - } catch (e) { - alert("Error in init():\n\n" + e); - window.close(); - return; - } -} - -function iframeLoaded() -{ - /* - // print every MathJax signal to the log - docFrame.contentWindow.MathJax.Hub.Startup.signal.Interest( - function (message) {log("Startup: "+message)} - ); - docFrame.contentWindow.MathJax.Hub.signal.Interest( - function (message) {log("Hub: "+message)} - ); - */ - - // tell MathJax to call serialize() when finished - docFrame.contentWindow.MathJax.Hub.Register.StartupHook("End", function() {serialize();}); -} - -function fileURLtoDataURI(url) -{ - var ios = Components.classes["@mozilla.org/network/io-service;1"] - .getService(Components.interfaces.nsIIOService); - var url_object = ios.newURI(url, "", null); - var file = url_object.QueryInterface(Components.interfaces.nsIFileURL).file; - - var data = ""; - var fstream = Components.classes["@mozilla.org/network/file-input-stream;1"]. - createInstance(Components.interfaces.nsIFileInputStream); - fstream.init(file, -1, -1, false); - var bstream = Components.classes["@mozilla.org/binaryinputstream;1"]. - createInstance(Components.interfaces.nsIBinaryInputStream); - bstream.setInputStream(fstream); - - var bytes = bstream.readBytes(bstream.available()); - b64bytes = btoa(bytes); - - return "data:;base64," + b64bytes; - -} - -function serialize() -{ - var MathJaxURL = docFrame.contentWindow.MathJax.Hub.config.root; - - var searchURIList = new Array(); - var replacementURIList = new Array(); - - log("serialize: preprocessing"); - - // remove the MathJax status message window - msgdiv = docFrame.contentDocument.getElementById("MathJax_Message"); - msgdiv.parentNode.removeChild(msgdiv); - - /* Loop through all CSS rules to find all @font-face rules. - At this point, they refer to local absolute paths using file:// URLs. - Replace them either with appropriate URLs relative to finalMathJaxURL - or with data URIs. */ - - for (var i = 0; i<docFrame.contentDocument.styleSheets.length; i++) { - var stylesheet = docFrame.contentDocument.styleSheets[i]; - - for (var j=0; j< stylesheet.cssRules.length; j++) { - var rule = stylesheet.cssRules[j]; - if (rule.cssText.match("font-face")) { - - url = rule.style.getPropertyValue("src"); - url = url.match(/url\(\"(.+)\"\)/)[1]; - - // Since the properties seem read-only here, we populate - // searchURIList and replacementURIList to do text substitution - // after serialization - searchURIList.push(url); - if (embedFonts) { - replacementURIList.push(fileURLtoDataURI(url)); - } else { - replacementURIList.push(url.replace(MathJaxURL, finalMathJaxURL)); - } - } - } - } - - - // find and remove the MathJax <script> tag - try{ - var scriptTags = docFrame.contentDocument.getElementsByTagName("script"); - for (var i=0; i<scriptTags.length; i++) { - if (scriptTags[i].getAttribute("src") && scriptTags[i].getAttribute("src").match(/MathJax.js/i)) - scriptTags[i].parentNode.removeChild(scriptTags[i]); - } - }catch(e){alert(e);} - - log("serialize: serializing"); - - var serializer = new XMLSerializer(); - var xhtml = serializer.serializeToString(docFrame.contentDocument); - - log("serialize: postprocessing"); - // make the MathJax URL relative again - // xhtml = xhtml.replace(findMathJaxURL, "MathJax"); - - try{ - r1 = RegExp("<!--/\\*--><!\\[CDATA\\[/\\*><!--\\*/", "g"); - xhtml = xhtml.replace(r1, ""); - r2 = RegExp("/\\*\\]\\]>\\*/-->", "g"); - xhtml = xhtml.replace(r2, ""); - r3 = RegExp("/\\*\\]\\]>\\*///-->", "g"); - xhtml = xhtml.replace(r3, ""); - }catch(e){alert(e);} - for (var i=0; i<searchURIList.length; i++) - xhtml = xhtml.replace(searchURIList[i], replacementURIList[i]); - - save(xhtml); - window.close(); -} - -function save(xhtml) -{ - try { - var foStream = Components.classes["@mozilla.org/network/file-output-stream;1"]. - createInstance(Components.interfaces.nsIFileOutputStream); - - foStream.init(destFile, 0x02 | 0x08 | 0x20, 0666, 0); - // write, create, truncate - - // write in UTF-8 encoding - var converter = Components.classes["@mozilla.org/intl/converter-output-stream;1"]. - createInstance(Components.interfaces.nsIConverterOutputStream); - converter.init(foStream, "UTF-8", 0, 0); - converter.writeString(xhtml); - converter.close(); // this closes foStream - } catch (e) { - alert("Error in save():\n\n" + e); - } -} diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/content/main.xul b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/content/main.xul deleted file mode 100644 index 35a00f2..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/chrome/content/main.xul +++ /dev/null @@ -1,11 +0,0 @@ -<?xml version="1.0"?> -<?xml-stylesheet href="chrome://global/skin/" type="text/css"?> - -<window onload="init();" id="main" title="Static MathJax" width="300" height="300" -xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> - -<script language="JavaScript" src="chrome://staticmathjax/content/main.js"/> - - <browser flex="1" id="docFrame" src="" style="background-color:white;"/> - <textbox flex="1" id="logtextbox" multiline="true" style="display:none;"/> -</window> diff --git a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/defaults/preferences/prefs.js b/.emacs.d/org-7.4/contrib/scripts/staticmathjax/defaults/preferences/prefs.js deleted file mode 100644 index 0532ce0..0000000 --- a/.emacs.d/org-7.4/contrib/scripts/staticmathjax/defaults/preferences/prefs.js +++ /dev/null @@ -1 +0,0 @@ -pref("toolkit.defaultChromeURI", "chrome://staticmathjax/content/main.xul"); |