239 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			239 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!DOCTYPE html>
 | 
						|
<html>
 | 
						|
  <head>
 | 
						|
    <meta charset="utf-8">
 | 
						|
    <meta name="viewport" content="width=device-width, initial-scale=1, minimal-ui, user-scalable=yes">
 | 
						|
    <title>Markdown preview</title>
 | 
						|
    <!--
 | 
						|
    ${MD_STYLE}
 | 
						|
    -->
 | 
						|
    <!-- apt install libjs-mathjax node-jquery 
 | 
						|
    <script src="file:///usr/share/nodejs/jquery/dist/jquery.min.js"></script>
 | 
						|
    chromium doesn't load file:/// -->
 | 
						|
    <script src="http://code.jquery.com/jquery-1.12.4.min.js"></script>
 | 
						|
    <script src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml-full.js" type="text/javascript"></script>
 | 
						|
    <!--
 | 
						|
    <script src="file:///usr/share/javascript/mathjax/config/TeX-AMS_CHTML-full.js"></script>
 | 
						|
    -->
 | 
						|
    ${MD_JS}
 | 
						|
    
 | 
						|
    <script>
 | 
						|
     (function($, undefined) {
 | 
						|
         var socket = new WebSocket("ws://${WS_HOST}:${WS_PORT}");
 | 
						|
         socket.onopen = function() {
 | 
						|
             console.log("Connection established.");
 | 
						|
	     socket.send("MDPM-Register-UUID: ${MD_UUID}");
 | 
						|
         };
 | 
						|
         socket.onclose = function(event) {
 | 
						|
             if (event.wasClean) {
 | 
						|
                 console.log('Connection closed gracefully.');
 | 
						|
             } else {
 | 
						|
                 console.log('Connection terminated.');
 | 
						|
             }
 | 
						|
             console.log('Code: ' + event.code + ' reason: ' + event.reason);
 | 
						|
         };
 | 
						|
         socket.onmessage = function(event) {
 | 
						|
             $("#markdown-body").html($(event.data).find("#content").html()).trigger('mdContentChange');
 | 
						|
             var scroll = $(document).height() *
 | 
						|
                 ($(event.data).find("#position-percentage").html() / 100);
 | 
						|
             MathJax.typeset();
 | 
						|
             $("html, body").animate({ scrollTop: scroll }, 600);
 | 
						|
         };
 | 
						|
         socket.onerror = function(error) {
 | 
						|
             console.log("Error: " + error.message);
 | 
						|
         };
 | 
						|
     })(jQuery);
 | 
						|
    </script>
 | 
						|
<!-- from pandoc --standalone --html  -->
 | 
						|
<!-- was: line-height: 1.7;  max-width: 40em;     -->    
 | 
						|
    <style>
 | 
						|
      html {
 | 
						|
      line-height: 1.3;
 | 
						|
      font-family: Georgia, serif;
 | 
						|
      font-size: 20px;
 | 
						|
      color: #1a1a1a;
 | 
						|
      background-color: #fdfdfd;
 | 
						|
    }
 | 
						|
    body {
 | 
						|
      margin: 0 auto;
 | 
						|
      max-width: 50em;       
 | 
						|
      padding-left: 50px;
 | 
						|
      padding-right: 50px;
 | 
						|
      padding-top: 50px;
 | 
						|
      padding-bottom: 50px;
 | 
						|
      hyphens: auto;
 | 
						|
      word-wrap: break-word;
 | 
						|
      text-rendering: optimizeLegibility;
 | 
						|
      font-kerning: normal;
 | 
						|
    }
 | 
						|
    @media (max-width: 600px) {
 | 
						|
      body {
 | 
						|
        font-size: 0.9em;
 | 
						|
        padding: 1em;
 | 
						|
      }
 | 
						|
    }
 | 
						|
    @media print {
 | 
						|
      body {
 | 
						|
        background-color: transparent;
 | 
						|
        color: black;
 | 
						|
      }
 | 
						|
      p, h2, h3 {
 | 
						|
        orphans: 3;
 | 
						|
        widows: 3;
 | 
						|
      }
 | 
						|
      h2, h3, h4 {
 | 
						|
        page-break-after: avoid;
 | 
						|
      }
 | 
						|
    }
 | 
						|
    p {
 | 
						|
      margin-top: .8em;
 | 
						|
    }
 | 
						|
    a {
 | 
						|
      color: #1a1a1a;
 | 
						|
    }
 | 
						|
    a:visited {
 | 
						|
      color: #1a1a1a;
 | 
						|
    }
 | 
						|
    img {
 | 
						|
      max-width: 100%;
 | 
						|
    }
 | 
						|
    h1, h2, h3, h4, h5, h6 {
 | 
						|
      margin-top: 1.7em;
 | 
						|
    }
 | 
						|
    h1 { font-size: 34px; }
 | 
						|
    h2 { font-size: 28px; }
 | 
						|
    h3 { font-size: 26px; }
 | 
						|
    h4 { font-size: 23px; }
 | 
						|
    ol, ul {
 | 
						|
      padding-left: 1.7em;
 | 
						|
      margin-top: 1.7em;
 | 
						|
    }
 | 
						|
    li > ol, li > ul {
 | 
						|
      margin-top: 0;
 | 
						|
    }
 | 
						|
    blockquote {
 | 
						|
      margin: 1.7em 0 1.7em 1.7em;
 | 
						|
      padding-left: 1em;
 | 
						|
      border-left: 2px solid #e6e6e6;
 | 
						|
      font-style: italic;
 | 
						|
    }
 | 
						|
    code {
 | 
						|
      font-family: Menlo, Monaco, 'Lucida Console', Consolas, monospace;
 | 
						|
      background-color: #f0f0f0;
 | 
						|
      font-size: 85%;
 | 
						|
      margin: 0;
 | 
						|
      padding: .2em .4em;
 | 
						|
      line-height: 1.0;
 | 
						|
    }
 | 
						|
    pre {
 | 
						|
      line-height: 1.0;
 | 
						|
      padding: 1em;
 | 
						|
      background-color: #f0f0f0;
 | 
						|
      overflow: auto;
 | 
						|
    }
 | 
						|
    pre code {
 | 
						|
      padding: 0;
 | 
						|
      overflow: visible;
 | 
						|
    }
 | 
						|
    hr {
 | 
						|
      background-color: #1a1a1a;
 | 
						|
      border: none;
 | 
						|
      height: 1px;
 | 
						|
      margin-top: 1.7em;
 | 
						|
    }
 | 
						|
    table {
 | 
						|
      border-collapse: collapse;
 | 
						|
      width: 100%;
 | 
						|
      overflow-x: auto;
 | 
						|
      display: block;
 | 
						|
    }
 | 
						|
    th, td {
 | 
						|
      border-bottom: 1px solid lightgray;
 | 
						|
      padding: 1em 3em 1em 0;
 | 
						|
    }
 | 
						|
    header {
 | 
						|
      margin-bottom: 6em;
 | 
						|
      text-align: center;
 | 
						|
    }
 | 
						|
    nav a:not(:hover) {
 | 
						|
      text-decoration: none;
 | 
						|
    }
 | 
						|
    code{white-space: pre-wrap;}
 | 
						|
    span.smallcaps{font-variant: small-caps;}
 | 
						|
    span.underline{text-decoration: underline;}
 | 
						|
    div.column{display: inline-block; vertical-align: top; width: 50%;}
 | 
						|
    div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;}
 | 
						|
    ul.task-list{list-style: none;}
 | 
						|
    pre > code.sourceCode { white-space: pre; position: relative; }
 | 
						|
    pre > code.sourceCode > span { display: inline-block; line-height: 1.25; }
 | 
						|
    pre > code.sourceCode > span:empty { height: 1.2em; }
 | 
						|
    code.sourceCode > span { color: inherit; text-decoration: inherit; }
 | 
						|
    div.sourceCode { margin: 1em 0; }
 | 
						|
    pre.sourceCode { margin: 0; }
 | 
						|
    @media screen {
 | 
						|
    div.sourceCode { overflow: auto; }
 | 
						|
    }
 | 
						|
    @media print {
 | 
						|
    pre > code.sourceCode { white-space: pre-wrap; }
 | 
						|
    pre > code.sourceCode > span { text-indent: -5em; padding-left: 5em; }
 | 
						|
    }
 | 
						|
    pre.numberSource code
 | 
						|
      { counter-reset: source-line 0; }
 | 
						|
    pre.numberSource code > span
 | 
						|
      { position: relative; left: -4em; counter-increment: source-line; }
 | 
						|
    pre.numberSource code > span > a:first-child::before
 | 
						|
      { content: counter(source-line);
 | 
						|
        position: relative; left: -1em; text-align: right; vertical-align: baseline;
 | 
						|
        border: none; display: inline-block;
 | 
						|
        -webkit-touch-callout: none; -webkit-user-select: none;
 | 
						|
        -khtml-user-select: none; -moz-user-select: none;
 | 
						|
        -ms-user-select: none; user-select: none;
 | 
						|
        padding: 0 4px; width: 4em;
 | 
						|
        color: #aaaaaa;
 | 
						|
      }
 | 
						|
    pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa;  padding-left: 4px; }
 | 
						|
    div.sourceCode
 | 
						|
      {   }
 | 
						|
    @media screen {
 | 
						|
    pre > code.sourceCode > span > a:first-child::before { text-decoration: underline; }
 | 
						|
    }
 | 
						|
    code span.al { color: #ff0000; font-weight: bold; } /* Alert */
 | 
						|
    code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
 | 
						|
    code span.at { color: #7d9029; } /* Attribute */
 | 
						|
    code span.bn { color: #40a070; } /* BaseN */
 | 
						|
    code span.bu { } /* BuiltIn */
 | 
						|
    code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
 | 
						|
    code span.ch { color: #4070a0; } /* Char */
 | 
						|
    code span.cn { color: #880000; } /* Constant */
 | 
						|
    code span.co { color: #60a0b0; font-style: italic; } /* Comment */
 | 
						|
    code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
 | 
						|
    code span.do { color: #ba2121; font-style: italic; } /* Documentation */
 | 
						|
    code span.dt { color: #902000; } /* DataType */
 | 
						|
    code span.dv { color: #40a070; } /* DecVal */
 | 
						|
    code span.er { color: #ff0000; font-weight: bold; } /* Error */
 | 
						|
    code span.ex { } /* Extension */
 | 
						|
    code span.fl { color: #40a070; } /* Float */
 | 
						|
    code span.fu { color: #06287e; } /* Function */
 | 
						|
    code span.im { } /* Import */
 | 
						|
    code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
 | 
						|
    code span.kw { color: #007020; font-weight: bold; } /* Keyword */
 | 
						|
    code span.op { color: #666666; } /* Operator */
 | 
						|
    code span.ot { color: #007020; } /* Other */
 | 
						|
    code span.pp { color: #bc7a00; } /* Preprocessor */
 | 
						|
    code span.sc { color: #4070a0; } /* SpecialChar */
 | 
						|
    code span.ss { color: #bb6688; } /* SpecialString */
 | 
						|
    code span.st { color: #4070a0; } /* String */
 | 
						|
    code span.va { color: #19177c; } /* Variable */
 | 
						|
    code span.vs { color: #4070a0; } /* VerbatimString */
 | 
						|
    code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
 | 
						|
  </style>
 | 
						|
 | 
						|
    
 | 
						|
  </head>
 | 
						|
  <body>
 | 
						|
    <article id="markdown-body" class="markdown-body">
 | 
						|
      <p>Markdown preview</p>
 | 
						|
    </article>
 | 
						|
  </body>
 | 
						|
</html>
 |