commit b788a99d171b74dbbb5673b7b5a0ccd34071fe9b
parent 28f720cde4052aee3809e176ddb27dc9f9076437
Author:  <josemarinemail@gmail.com>
Date:   Fri, 13 Jul 2018 17:39:54 -0400
right scroll bar moves with left in order to simulate a scroll spy
Diffstat:
3 files changed, 13 insertions(+), 16 deletions(-)
diff --git a/index.html b/index.html
@@ -26,7 +26,7 @@
                 <div class="navbar-item">
                     <div class="field is-grouped">
                         <p class="control js-copy">
-                        <a class="bd-tw-button button is-black" href="#">
+                        <a class="bd-tw-button button is-black">
                             <span class="icon">
                                 <i class="fas fa-copy"></i>
                             </span>
@@ -36,7 +36,7 @@
                         </a>
                         </p>
                         <p class="control js-export">
-                        <a class="button is-success" href="#">
+                        <a class="button is-success">
                             <span class="icon">
                                 <i class="fas fa-share-square"></i>
                             </span>
diff --git a/javascript/main.js b/javascript/main.js
@@ -8,13 +8,12 @@
         value: window.localStorage.getItem('markdown'),
         mode:  "javascript",
         lineWrapping: true,
-        //lineNumbers: true,
         keyMap: 'vim',
         theme: 'the-matrix'
     });
 
     if (editor) {
-        CodeMirror.Vim.map('kj', '<Esc>', 'insert') // to use kj as <Esc> also 
+        CodeMirror.Vim.map('kj', '<Esc>', 'insert') // to use kj as <Esc> also
 
         hljs.initHighlightingOnLoad();
 
@@ -23,7 +22,7 @@
             document.querySelector('.js-content').innerHTML = marked(window.localStorage.getItem('markdown'));
         }
         else {
-            document.querySelector('.js-content').innerHTML = editor.getValue(); 
+            document.querySelector('.js-content').innerHTML = editor.getValue();
         }
         document.querySelector('.js-input').addEventListener('keyup', event => {
             const transformed = marked(editor.getValue());
@@ -31,29 +30,31 @@
             for (let i = 0; i < document.getElementsByTagName('code').length; i++) {
                 hljs.highlightBlock(document.getElementsByTagName('code')[i]);
             }
+            window.localStorage.setItem('markdown', editor.getValue());
+        });
+
+        document.querySelector('.CodeMirror-vscrollbar').addEventListener('scroll', event => {
             setTimeout(() => {
-                if (editor.getCursor().line === editor.lineCount() -1) {
+                if ( document.querySelector('.js-content').parentElement.parentElement.scrollHeight - editor.getScrollInfo().top <= 700 ) {
                     document.querySelector('.js-content').parentElement.parentElement.scrollTop = 1000000;
                 }
                 else {
-                    document.querySelector('.js-content').parentElement.parentElement.scrollTop = editor.getCursor().line * 20;
+                    document.querySelector('.js-content').parentElement.parentElement.scrollTop = editor.getScrollInfo().top;
                 }
             }, 250)
-            window.localStorage.setItem('markdown', editor.getValue());
         });
     }
 
     document.querySelector('.js-copy').addEventListener('click', event => {
         const textarea = document.createElement('textarea');
         textarea.innerHTML = window.localStorage.getItem('markdown');
-        const successful = document.execCommand('copy'); 
         const textToCopy = document.querySelector('textarea');
         document.querySelector('.js-input').appendChild(textarea);
         textarea.focus();
         textarea.select();
 
         try {
-            const successful = document.execCommand('copy'); 
+            document.execCommand('copy');
         }
         catch (err) {
             alert('Copy not supported');
@@ -63,8 +64,4 @@
         }
     });
 
-    document.querySelector('.js-export').addEventListener('click', event => {
-        window.open('about:blank', '_blank');
-    });
-
 })();
diff --git a/styles/main.css b/styles/main.css
@@ -133,8 +133,8 @@ html, body {
 
 }
 
-#book .flex-centered {
-    align-self: center;
+#book td > code {
+    background-color: #000000;
 }
 
 #book .CodeMirror {