diff --git a/blog/views/default/layout.ls b/blog/views/default/layout.ls index 99334b5..fabae3f 100644 --- a/blog/views/default/layout.ls +++ b/blog/views/default/layout.ls @@ -53,18 +53,17 @@ $(document).ready(function() { - renderMathInElement($("#container")[0]); - $('pre code').each(function(i, block) { - hljs.highlightBlock(block); - hljs.lineNumbersBlock(block); - }); - // comment - var options = { target: "quick_talk_comment_thread", api_uri: "https://chat.iohub.dev/comment", uri: "", - page: $("#desktop")[0] + onload: function(){ + renderMathInElement($("#desktop")[0]); + $('pre code').each(function(i, block) { + hljs.highlightBlock(block); + hljs.lineNumbersBlock(block); + }); + } }; new QuickTalk(options); }); diff --git a/talk/assets/quicktalk.js b/talk/assets/quicktalk.js index 8d33f4c..8967a5c 100644 --- a/talk/assets/quicktalk.js +++ b/talk/assets/quicktalk.js @@ -94,6 +94,20 @@ class QuickTalk { } }); let ta = document.createElement("textarea"); + ta.onkeydown = (e) => { + if (e.keyCode === 9) { + // tab was pressed + // get caret position/selection + var val = ta.value, start = ta.selectionStart, end = ta.selectionEnd; + // set textarea value to: text before caret + tab + text after caret + ta.value = + val.substring(0, start) + " " + val.substring(end); + // put caret at right position again + ta.selectionStart = ta.selectionEnd = start + 4; + // prevent the focus lose + return false; + } + }; let footer = document.createElement("div"); footer.setAttribute("class", "quick-talk-compose-footer"); this.status_el = document.createElement("div"); @@ -190,6 +204,9 @@ class QuickTalk { ret.result.forEach((comment) => { this.show_comment(container, comment, true); }); + if (this.options.onload) { + this.options.onload(); + } } else { this.error(ret.error);