diff --git a/assets/editor.js b/assets/editor.js index ac8f4c7..745a093 100644 --- a/assets/editor.js +++ b/assets/editor.js @@ -41,10 +41,23 @@ hr: function () { wrap('\n\n---\n\n', '', ''); }, }; + var keyMap = {}; document.querySelectorAll('[data-action]').forEach(function (btn) { btn.addEventListener('click', function () { var action = actions[btn.dataset.action]; if (action) action(); }); + if (btn.dataset.key) { + keyMap[btn.dataset.key] = actions[btn.dataset.action]; + } + }); + + document.addEventListener('keydown', function (e) { + if (!e.altKey || !e.shiftKey) return; + var action = keyMap[e.key]; + if (action) { + e.preventDefault(); + action(); + } }); })(); diff --git a/assets/global-shortcuts.js b/assets/global-shortcuts.js new file mode 100644 index 0000000..a6ff36a --- /dev/null +++ b/assets/global-shortcuts.js @@ -0,0 +1,11 @@ +(function () { + document.addEventListener('keydown', function (e) { + if (!e.altKey || !e.shiftKey) return; + switch (e.key) { + case 'E': + e.preventDefault(); + window.location.href = window.location.pathname + '?edit'; + break; + } + }); +})(); diff --git a/assets/page.html b/assets/page.html index 589ca29..6c35b73 100644 --- a/assets/page.html +++ b/assets/page.html @@ -5,6 +5,7 @@ {{.Title}} +
@@ -13,27 +14,27 @@ {{range .Crumbs}}/{{.Name}}{{end}} - {{if .CanEdit}}EDIT{{end}} + {{if .CanEdit}}EDIT{{end}}
{{if .EditMode}}
- - + + - - - + + + - - + + - - - - - + + + + +