posts.tx 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. : if ( $can_edit ) {
  2. <script type="text/javascript" src="/scripts/post.js"></script>
  3. : if (!$direct) {
  4. : if ($to) {
  5. : include "jsalert.tx";
  6. : }
  7. <script type="text/javascript" src="/scripts/fgEmojiPicker.js"></script>
  8. <script type="text/javascript">
  9. new FgEmojiPicker({
  10. trigger: ['button.emojiPicker'],
  11. position: ['bottom'],
  12. dir: `/scripts/`,
  13. preFetch: true,
  14. emit(obj, triggerElement) {
  15. const emoji = obj.emoji;
  16. document.querySelector('textarea').value += emoji;
  17. }
  18. });
  19. </script>
  20. : }
  21. <div class="postedit">
  22. : if ( $post.form ) {
  23. : include "forms/" ~ $post.form;
  24. : }
  25. </div>
  26. : }
  27. <script type="text/javascript" src="/scripts/highlight.min.js"></script>
  28. <script>
  29. document.addEventListener("DOMContentLoaded", function(){
  30. hljs.highlightAll();
  31. });
  32. </script>
  33. <span class="title">
  34. : if ( $rss ) {
  35. <a title="RSS" class="rss" href="rss.xml?for=<: $route :>"></a>
  36. <: $category :>:
  37. : }
  38. </span>
  39. : if ( $in_series && $rss ) {
  40. <div class="subhead">
  41. <: $subhead | mark_raw :>
  42. </div>
  43. : }
  44. : if ( $header ) {
  45. <: $header | mark_raw :>
  46. : }
  47. : if (!$style) {
  48. <hr class="divider" />
  49. : }
  50. : for $posts -> $post {
  51. : if ( !$post.form ) {
  52. : next;
  53. : }
  54. : include "forms/" ~ $post.form { post => $post };
  55. : if ($posts.size() > 1 && !$tiled ) {
  56. <hr class="divider" />
  57. : }
  58. <script type="text/javascript">
  59. document.addEventListener("DOMContentLoaded", function(event) {
  60. // Fix post dates to be localized
  61. var e = document.getElementById("<: $post.id :>-<: $post.version :>-time");
  62. if (!e) {
  63. return;
  64. }
  65. var d = new Date(0);
  66. d.setUTCSeconds(e.innerText);
  67. e.innerHTML = "&nbsp;" + d.toDateString();
  68. //Make the version switcher do things
  69. var swit = document.getElementById("<: $post.id :>-<: $post.version :>-version");
  70. if (swit) {
  71. swit.onchange = function (evt) {
  72. this.form.submit();
  73. };
  74. }
  75. });
  76. </script>
  77. : }
  78. : if ( !$direct && ( $rss || $older ) ) {
  79. : include "paginator.tx";
  80. : }
  81. : if ( $footer ) {
  82. <: $footer | mark_raw :>
  83. : }
  84. <script>
  85. document.addEventListener("DOMContentLoaded", function(event) {
  86. var pagin = document.getElementById("paginatorTime");
  87. if (pagin) {
  88. var dracula = new Date(0);
  89. dracula.setUTCSeconds(pagin.innerText);
  90. pagin.innerHTML = "&nbsp;" + dracula.toDateString();
  91. }
  92. });
  93. </script>