Developer Center website. https://developers.write.as
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

67 lines
2.2 KiB

  1. {{define "head"}}<title>Markdown Preview</title>
  2. <style type="text/css">
  3. h1#markdown {
  4. margin: 1em 0;
  5. }
  6. textarea {
  7. margin: 2em 0 1em;
  8. min-height: 10em;
  9. font-size: 1em;
  10. border: 1px solid #ccc !important;
  11. padding: 1em;
  12. border-radius: 0.25em;
  13. resize: vertical;
  14. }
  15. </style>
  16. <script>
  17. function preview() {
  18. var $submit = document.querySelector('input[type=submit]');
  19. $submit.disabled = true;
  20. $submit.value = '...';
  21. var http = new XMLHttpRequest();
  22. var url = "https://write.as/api/markdown";
  23. var params = {
  24. "raw_body": document.querySelector('#writer').value,
  25. }
  26. http.open("POST", url, true);
  27. http.setRequestHeader("Content-type", "application/json");
  28. http.onreadystatechange = function() {
  29. if (http.readyState == 4) {
  30. $submit.disabled = false;
  31. $submit.value = 'Preview';
  32. if (http.status == 200) {
  33. data = JSON.parse(http.responseText);
  34. document.querySelector('#preview').innerHTML = data.data.body;
  35. } else {
  36. alert("Failed: "+http.status);
  37. }
  38. }
  39. }
  40. http.send(JSON.stringify(params));
  41. }
  42. </script>
  43. {{end}}
  44. {{define "body-attrs"}}id="post"{{end}}
  45. {{define "content"}}
  46. <div class="content-container tight" style="margin-bottom: 0;">
  47. <h1 id="markdown">Markdown Preview</h1>
  48. <p>This uses the Write.as / WriteFreely API to generate HTML from the given Markdown content.</p>
  49. <p><a href="https://developers.write.as/docs/api/#render-markdown">Read the documentation</a>.</p>
  50. </div>
  51. <div class="content-container">
  52. <form method="post" action="https://write.as/api/markdown" onsubmit="preview(); return false;">
  53. <textarea id="writer" name="raw_body" placeholder="Write..." class="norm" autofocus># Test out some Markdown
  54. Enter anything here and press **Preview** to see what it looks like.</textarea>
  55. <input type="submit" value="Preview" />
  56. </form>
  57. </div>
  58. <hr />
  59. <article class="norm h-entry" id="preview"><p style="display: block; text-align:center; font-style:italic; color:#999;">(Post preview will appear here.)</p></article>
  60. {{end}}