cmark

My personal build of CMark ✏️

Commit
82e9791b9ec8ada62f3718d95c0a89dbcfeb64a7
Parent
2d992249c84220b36fa61985667c836a95bf118a
Author
John MacFarlane <jgm@berkeley.edu>
Date

Revert "Moved dingus to js directory."

This reverts commit 5ddf8743f02132f07aad4bb27e0b84c530a706d7.

Diffstat

3 files changed, 176 insertions, 176 deletions

Status File Name N° Changes Insertions Deletions
Modified Makefile 2 1 1
Added dingus.html 175 175 0
Deleted js/dingus.html 175 0 175
diff --git a/Makefile b/Makefile
@@ -145,7 +145,7 @@ npm:
 	cd js; npm publish
 
 dingus: js/commonmark.js
-	cd js && echo "Starting dingus server at http://localhost:9000/dingus.html" && python -m SimpleHTTPServer 9000
+	echo "Starting dingus server at http://localhost:9000/dingus.html" && python -m SimpleHTTPServer 9000
 
 ### Spec ###
 
diff --git a/dingus.html b/dingus.html
@@ -0,0 +1,175 @@
+<!doctype html>
+<html lang="en">
+<head>
+  <meta charset="utf-8">
+  <title>commonmark.js demo</title>
+  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
+  <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
+  <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
+  <script src="js/commonmark.js"></script>
+  <script type="text/javascript">
+
+var writer = new commonmark.HtmlRenderer();
+var xmlwriter = new commonmark.XmlRenderer({ sourcepos: true });
+var reader = new commonmark.DocParser();
+
+function getQueryVariable(variable) {
+  var query = window.location.search.substring(1);
+  var vars = query.split("&");
+  for (var i=0; i<vars.length; i++) {
+    var pair = vars[i].split("=");
+    if (pair[0] == variable){
+      return decodeURIComponent(pair[1]);
+    }
+  }
+  return null;
+}
+
+// via http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
+function setSelectionRange(input, selectionStart, selectionEnd) {
+  if (input.setSelectionRange) {
+    input.focus();
+    input.setSelectionRange(selectionStart, selectionEnd);
+  }
+  else if (input.createTextRange) {
+    var range = input.createTextRange();
+    range.collapse(true);
+    range.moveEnd('character', selectionEnd);
+    range.moveStart('character', selectionStart);
+    range.select();
+  }
+}
+// via http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
+function setCaretToPos(input, pos) {
+  setSelectionRange(input, pos, pos);
+}
+
+$(document).ready(function() {
+  var timer;
+  var x;
+  var parsed;
+  var render = function() {
+    if (parsed === undefined) {
+      return;
+    }
+    var startTime = new Date().getTime();
+    var result = writer.render(parsed);
+    var endTime = new Date().getTime();
+    var renderTime = endTime - startTime;
+    $("#preview").html(result);
+    $("#html").text(result);
+    $("#ast").text(xmlwriter.render(parsed));
+    $("#rendertime").text(renderTime);
+  };
+  var parseAndRender = function() {
+    if (x) { x.abort() } // If there is an existing XHR, abort it.
+    clearTimeout(timer); // Clear the timer so we don't end up with dupes.
+    timer = setTimeout(function() { // assign timer a new timeout
+      var startTime = new Date().getTime();
+      parsed = reader.parse($("#text").val());
+      var endTime = new Date().getTime();
+      var parseTime = endTime - startTime;
+      $("#parsetime").text(parseTime);
+      $(".timing").css('visibility','visible');
+      /*
+      var warnings = parsed.warnings;
+      $("#warnings").html('');
+      for (i=0; i < warnings.length; i++) {
+        var w = warnings[i];
+        var warning = $("#warnings").append('<li></li>');
+        $("#warnings li").last().text('Line ' + w.line + ' column ' + w.column + ': ' + w.message);
+      }
+      */
+      render();
+    }, 0); // ms delay
+  };
+  var initial_text = getQueryVariable("text");
+  if (initial_text) {
+    $("#text").val(initial_text);
+    // show HTML tab if text is from query
+    $('#result-tabs a[href="#result"]').tab('show');
+  }
+  // make tab insert a tab in the text box:
+  $("#text").keydown(function(e) {
+    if (e.which == 9) {
+      e.preventDefault();
+      if (this.selectionStart !== undefined) {
+        var pos = this.selectionStart;
+        this.value = this.value.substring(0, pos) + "\t" + this.value.substring(pos);
+        setCaretToPos(this, pos + 1);
+      } else {
+        this.value += "\t";
+      }
+    }
+  });
+  parseAndRender();
+  $("#clear-text-box").click(function(e) {
+    $("#text").val('');
+    window.location.search = "";
+    parseAndRender();
+  });
+  $("#permalink").click(function(e) {
+    window.location.pathname = "/index.html";
+    window.location.search = "text=" + encodeURIComponent($("#text").val());
+  });
+  $("#text").bind('keyup paste cut mouseup', parseAndRender);
+  $(".option").change(render);
+});
+  </script>
+  <style type="text/css">
+    h1.title { font-family: monospace; font-size: 120%; font-weight: bold;
+          margin-top: 0.5em; margin-bottom: 0; }
+    textarea#text { height: 400px; width: 95%; font-family: monospace; font-size: 92%; }
+    pre code#html { font-size: 92%; font-family: monospace; }
+    pre#htmlpre { height: 400px; overflow: scroll; resize: vertical; width: 95%; }
+    div#astpre  { height: 400px; overflow: scroll; resize: vertical; width: 95%; }
+    div#preview { height: 400px; overflow: scroll; resize: vertical; width: 95%; }
+    div.row { margin-top: 1em; }
+    blockquote { font-size: 100%; }
+    footer { color: #555; text-align: center; margin: 1em; }
+    pre { display: block; padding: 0.5em; color: #333; background: #f8f8ff }
+    #warnings li { color: red; font-weight: bold; }
+    label { padding-left: 1em; padding-top: 0; padding-bottom: 0; }
+    div.timing { color: gray; visibility: hidden; height: 2em; }
+    p#text-controls { height: 1em; margin-top: 1em; }
+    a#permalink { margin-left: 1em; }
+    span.timing { font-weight: bold; }
+    span.timing { font-weight: bold; }
+  </style>
+</head>
+<body>
+<div class="container">
+  <div class="row">
+    <div class="col-md-6">
+      <h1 class="title">commonmark.js dingus</h1>
+    </div>
+  </div>
+  <div class="row">
+    <div class="col-md-6">
+      <p id="text-controls"><a id="clear-text-box">clear</a>&nbsp;<a
+      id="permalink">permalink</a></p>
+      <textarea id="text"></textarea>
+      <ul id="warnings"></ul>
+      <div class="timing">Parsed in <span class="timing" id="parsetime"></span>
+      ms.  Rendered in <span class="timing" id="rendertime"></span> ms.</div>
+    </div>
+    <div class="col-md-6">
+      <ul id="result-tabs" class="nav nav-tabs" role="tablist">
+        <li class="active"><a href="#preview" role="tab" data-toggle="tab">Preview</a></li>
+        <li><a href="#result" role="tab" data-toggle="tab">HTML</a></li>
+        <li><a href="#result-ast" role="tab" data-toggle="tab">AST</a></li>
+      </ul>
+      <div class="tab-content">
+        <div id="preview" class="tab-pane active">
+        </div>
+        <div id="result" class="tab-pane">
+          <pre id="htmlpre"><code id="html"></code></pre>
+        </div>
+        <div id="result-ast" class="tab-pane">
+          <pre id="astpre"><code id="ast"></code></pre>
+        </div>
+    </div>
+  </div>
+</div>
+</body>
+</html>
diff --git a/js/dingus.html b/js/dingus.html
@@ -1,175 +0,0 @@
-<!doctype html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-  <title>commonmark.js demo</title>
-  <script src="//code.jquery.com/jquery-1.11.0.min.js"></script>
-  <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
-  <link href="//maxcdn.bootstrapcdn.com/bootstrap/3.1.1/css/bootstrap.min.css" rel="stylesheet">
-  <script src="commonmark.js"></script>
-  <script type="text/javascript">
-
-var writer = new commonmark.HtmlRenderer();
-var xmlwriter = new commonmark.XmlRenderer({ sourcepos: true });
-var reader = new commonmark.DocParser();
-
-function getQueryVariable(variable) {
-  var query = window.location.search.substring(1);
-  var vars = query.split("&");
-  for (var i=0; i<vars.length; i++) {
-    var pair = vars[i].split("=");
-    if (pair[0] == variable){
-      return decodeURIComponent(pair[1]);
-    }
-  }
-  return null;
-}
-
-// via http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
-function setSelectionRange(input, selectionStart, selectionEnd) {
-  if (input.setSelectionRange) {
-    input.focus();
-    input.setSelectionRange(selectionStart, selectionEnd);
-  }
-  else if (input.createTextRange) {
-    var range = input.createTextRange();
-    range.collapse(true);
-    range.moveEnd('character', selectionEnd);
-    range.moveStart('character', selectionStart);
-    range.select();
-  }
-}
-// via http://stackoverflow.com/questions/499126/jquery-set-cursor-position-in-text-area
-function setCaretToPos(input, pos) {
-  setSelectionRange(input, pos, pos);
-}
-
-$(document).ready(function() {
-  var timer;
-  var x;
-  var parsed;
-  var render = function() {
-    if (parsed === undefined) {
-      return;
-    }
-    var startTime = new Date().getTime();
-    var result = writer.render(parsed);
-    var endTime = new Date().getTime();
-    var renderTime = endTime - startTime;
-    $("#preview").html(result);
-    $("#html").text(result);
-    $("#ast").text(xmlwriter.render(parsed));
-    $("#rendertime").text(renderTime);
-  };
-  var parseAndRender = function() {
-    if (x) { x.abort() } // If there is an existing XHR, abort it.
-    clearTimeout(timer); // Clear the timer so we don't end up with dupes.
-    timer = setTimeout(function() { // assign timer a new timeout
-      var startTime = new Date().getTime();
-      parsed = reader.parse($("#text").val());
-      var endTime = new Date().getTime();
-      var parseTime = endTime - startTime;
-      $("#parsetime").text(parseTime);
-      $(".timing").css('visibility','visible');
-      /*
-      var warnings = parsed.warnings;
-      $("#warnings").html('');
-      for (i=0; i < warnings.length; i++) {
-        var w = warnings[i];
-        var warning = $("#warnings").append('<li></li>');
-        $("#warnings li").last().text('Line ' + w.line + ' column ' + w.column + ': ' + w.message);
-      }
-      */
-      render();
-    }, 0); // ms delay
-  };
-  var initial_text = getQueryVariable("text");
-  if (initial_text) {
-    $("#text").val(initial_text);
-    // show HTML tab if text is from query
-    $('#result-tabs a[href="#result"]').tab('show');
-  }
-  // make tab insert a tab in the text box:
-  $("#text").keydown(function(e) {
-    if (e.which == 9) {
-      e.preventDefault();
-      if (this.selectionStart !== undefined) {
-        var pos = this.selectionStart;
-        this.value = this.value.substring(0, pos) + "\t" + this.value.substring(pos);
-        setCaretToPos(this, pos + 1);
-      } else {
-        this.value += "\t";
-      }
-    }
-  });
-  parseAndRender();
-  $("#clear-text-box").click(function(e) {
-    $("#text").val('');
-    window.location.search = "";
-    parseAndRender();
-  });
-  $("#permalink").click(function(e) {
-    window.location.pathname = "/index.html";
-    window.location.search = "text=" + encodeURIComponent($("#text").val());
-  });
-  $("#text").bind('keyup paste cut mouseup', parseAndRender);
-  $(".option").change(render);
-});
-  </script>
-  <style type="text/css">
-    h1.title { font-family: monospace; font-size: 120%; font-weight: bold;
-          margin-top: 0.5em; margin-bottom: 0; }
-    textarea#text { height: 400px; width: 95%; font-family: monospace; font-size: 92%; }
-    pre code#html { font-size: 92%; font-family: monospace; }
-    pre#htmlpre { height: 400px; overflow: scroll; resize: vertical; width: 95%; }
-    div#astpre  { height: 400px; overflow: scroll; resize: vertical; width: 95%; }
-    div#preview { height: 400px; overflow: scroll; resize: vertical; width: 95%; }
-    div.row { margin-top: 1em; }
-    blockquote { font-size: 100%; }
-    footer { color: #555; text-align: center; margin: 1em; }
-    pre { display: block; padding: 0.5em; color: #333; background: #f8f8ff }
-    #warnings li { color: red; font-weight: bold; }
-    label { padding-left: 1em; padding-top: 0; padding-bottom: 0; }
-    div.timing { color: gray; visibility: hidden; height: 2em; }
-    p#text-controls { height: 1em; margin-top: 1em; }
-    a#permalink { margin-left: 1em; }
-    span.timing { font-weight: bold; }
-    span.timing { font-weight: bold; }
-  </style>
-</head>
-<body>
-<div class="container">
-  <div class="row">
-    <div class="col-md-6">
-      <h1 class="title">commonmark.js dingus</h1>
-    </div>
-  </div>
-  <div class="row">
-    <div class="col-md-6">
-      <p id="text-controls"><a id="clear-text-box">clear</a>&nbsp;<a
-      id="permalink">permalink</a></p>
-      <textarea id="text"></textarea>
-      <ul id="warnings"></ul>
-      <div class="timing">Parsed in <span class="timing" id="parsetime"></span>
-      ms.  Rendered in <span class="timing" id="rendertime"></span> ms.</div>
-    </div>
-    <div class="col-md-6">
-      <ul id="result-tabs" class="nav nav-tabs" role="tablist">
-        <li class="active"><a href="#preview" role="tab" data-toggle="tab">Preview</a></li>
-        <li><a href="#result" role="tab" data-toggle="tab">HTML</a></li>
-        <li><a href="#result-ast" role="tab" data-toggle="tab">AST</a></li>
-      </ul>
-      <div class="tab-content">
-        <div id="preview" class="tab-pane active">
-        </div>
-        <div id="result" class="tab-pane">
-          <pre id="htmlpre"><code id="html"></code></pre>
-        </div>
-        <div id="result-ast" class="tab-pane">
-          <pre id="astpre"><code id="ast"></code></pre>
-        </div>
-    </div>
-  </div>
-</div>
-</body>
-</html>