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.

64 lines
2.2 KiB

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