posts.tx 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. : if ( $can_edit ) {
  2. <script type="text/javascript" src="/scripts/post.js"></script>
  3. <div id="emoji_picker_modal" class="modal" style="display:none;">
  4. <: $emoji_picker | mark_raw :>
  5. </div>
  6. : if (!$direct) {
  7. : if ($failure != -1) {
  8. : include "jsalert.tx";
  9. : }
  10. <script type="text/javascript">
  11. addEventListener("load", function () {
  12. var buttons = document.querySelectorAll('.emojiPicker');
  13. for (button of buttons) {
  14. // Make the emoji picker appear.
  15. button.addEventListener('click', function (e) {
  16. switchMenu('emoji_picker_modal');
  17. });
  18. }
  19. var mojis = document.querySelectorAll('.emoji');
  20. for (emoji of mojis) {
  21. emoji.addEventListener('click', function (e) {
  22. switchMenu('emoji_picker_modal');
  23. });
  24. }
  25. });
  26. addEventListener("emojiComponentReady", function () {
  27. emojiPicker.addBinds(document.querySelectorAll('textarea.cooltext'));
  28. });
  29. </script>
  30. : }
  31. <div class="postedit">
  32. : if ( $post.form ) {
  33. : include "forms/" ~ $post.form;
  34. : }
  35. </div>
  36. : }
  37. <script type="text/javascript" src="/scripts/highlight.min.js"></script>
  38. <script type="text/javascript" src="/scripts/reveal.js"></script>
  39. <script>
  40. document.addEventListener("DOMContentLoaded", function(){
  41. hljs.highlightAll();
  42. });
  43. </script>
  44. : if (!$nochrome) {
  45. <span class="title">
  46. : if ( $rss ) {
  47. <a title="RSS" class="rss" href="?format=rss"></a>
  48. <: $category :>:
  49. : }
  50. </span>
  51. : if ( $in_series && $rss ) {
  52. <div class="subhead">
  53. <: $subhead | mark_raw :>
  54. </div>
  55. : }
  56. : if ( $header ) {
  57. <: $header | mark_raw :>
  58. : }
  59. : if (!$style) {
  60. <hr class="divider" />
  61. : }
  62. : }
  63. : for $posts -> $post {
  64. : if ( !$post.form ) {
  65. : next;
  66. : }
  67. : include "forms/" ~ $post.form { post => $post };
  68. : if ($posts.size() > 1 && !$tiled ) {
  69. <hr class="divider" />
  70. : }
  71. <script type="text/javascript">
  72. document.addEventListener("DOMContentLoaded", function(event) {
  73. // Fix post dates to be localized
  74. var timey = document.querySelectorAll('.unixtimestamp');
  75. for (var e of timey) {
  76. if (parseInt(e.innerText) != e.innerText) {
  77. // Don't do anything.
  78. continue;
  79. }
  80. var d = new Date(0);
  81. d.setUTCSeconds(e.innerText);
  82. e.innerHTML = "&nbsp;" + d.toDateString();
  83. }
  84. //Make the version switcher do things
  85. var swit = document.getElementById("<: $post.id :>-<: $post.version :>-version");
  86. if (swit) {
  87. swit.onchange = function (evt) {
  88. this.form.submit();
  89. };
  90. }
  91. });
  92. </script>
  93. : }
  94. : if ( !$direct && ( $rss || $older ) ) {
  95. : include "paginator.tx";
  96. : }
  97. : if ( $footer ) {
  98. <: $footer | mark_raw :>
  99. : }
  100. <script>
  101. document.addEventListener("DOMContentLoaded", function(event) {
  102. var pagin = document.getElementById("paginatorTime");
  103. if (pagin) {
  104. var dracula = new Date(0);
  105. dracula.setUTCSeconds(pagin.innerText);
  106. pagin.innerHTML = "&nbsp;" + dracula.toDateString();
  107. }
  108. });
  109. </script>