mirror of
				https://github.com/kovidgoyal/calibre.git
				synced 2025-10-30 18:22:25 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* vim:fileencoding=utf-8
 | |
|  * 
 | |
|  * Copyright (C) 2019 Kovid Goyal <kovid at kovidgoyal.net>
 | |
|  *
 | |
|  * Distributed under terms of the GPLv3 license
 | |
|  */
 | |
| /*jshint esversion: 6 */
 | |
| 
 | |
| (function() {
 | |
| "use strict";
 | |
|     var base = document.currentScript ? document.currentScript.getAttribute('data-mathjax-path') : null;
 | |
|     var for_pdf_renderer = !!base;
 | |
| 
 | |
|     function on_mathjax_finish() {
 | |
|         if (for_pdf_renderer) document.title = "mathjax-load-complete";
 | |
|         else document.documentElement.dispatchEvent(new CustomEvent("calibre-mathjax-typeset-done"));
 | |
|     }
 | |
|     // also do any changes in mathjax.pyj for the in-browser reader
 | |
|     window.MathJax = {};
 | |
|     window.MathJax.options = {
 | |
|         renderActions: {
 | |
|             // disable the mathjax context menu
 | |
|             addMenu: [0, '', ''],
 | |
|         },
 | |
|     };
 | |
|     window.MathJax.loader = {
 | |
|         load: ['input/tex-full', 'input/asciimath', 'input/mml', 'output/chtml'],
 | |
|     };
 | |
|     window.MathJax.startup = {
 | |
|         ready: () => {
 | |
|             MathJax.startup.defaultReady();
 | |
|             MathJax.startup.promise.then(on_mathjax_finish);
 | |
|         },
 | |
|     };
 | |
|     for (const s of document.scripts) {
 | |
|         if (s.type === "text/x-mathjax-config") {
 | |
|             var es = document.createElement('script');
 | |
|             es.text = s.text;
 | |
|             document.head.appendChild(es);
 | |
|             document.head.removeChild(es);
 | |
|         }
 | |
|     }
 | |
|     if (for_pdf_renderer) {
 | |
|         if (!base.endsWith('/')) base += '/';
 | |
|         var script = document.createElement('script');
 | |
|         script.type = 'text/javascript';
 | |
|         script.setAttribute('async', 'async');
 | |
|         script.onerror = function (ev) {
 | |
|             console.log('Failed to load MathJax script: ' + ev.target.src);
 | |
|         };
 | |
|         script.src = base + 'startup.js';
 | |
|         document.head.appendChild(script);
 | |
|     }
 | |
| })();
 |