diff --git a/layouts/partials/head.html b/layouts/partials/head.html index a545445b..5ec9a6ba 100644 --- a/layouts/partials/head.html +++ b/layouts/partials/head.html @@ -33,8 +33,6 @@ "url": "{{ .Site.BaseURL }}" } - - {{ range .AlternativeOutputFormats -}} diff --git a/layouts/partials/term.html b/layouts/partials/term.html index b323c467..df3734bc 100644 --- a/layouts/partials/term.html +++ b/layouts/partials/term.html @@ -8,6 +8,8 @@ + + diff --git a/static/pkg/hotkeys-js/LICENSE b/static/pkg/hotkeys-js/LICENSE deleted file mode 100644 index 8e072bdf..00000000 --- a/static/pkg/hotkeys-js/LICENSE +++ /dev/null @@ -1,23 +0,0 @@ -MIT License - -Copyright (c) 2015-present, Kenny Wong. - -Copyright (c) 2011-2013 Thomas Fuchs (https://github.com/madrobby/keymaster) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/static/pkg/hotkeys-js/README.md b/static/pkg/hotkeys-js/README.md deleted file mode 100644 index 9794b5a4..00000000 --- a/static/pkg/hotkeys-js/README.md +++ /dev/null @@ -1,441 +0,0 @@ -# Hotkeys - - - -[![Buy me a coffee](https://img.shields.io/badge/Buy%20me%20a%20coffee-048754?logo=buymeacoffee)](https://jaywcjlove.github.io/#/sponsor) -[![](https://img.shields.io/npm/dm/hotkeys-js?logo=npm)](https://www.npmjs.com/package/hotkeys-js) -[![](https://img.shields.io/github/stars/jaywcjlove/hotkeys-js.svg)](https://github.com/jaywcjlove/hotkeys/stargazers) -![no dependencies](http://jaywcjlove.github.io/sb/status/no-dependencies.svg) -[![GitHub Actions CI](https://github.com/jaywcjlove/hotkeys-js/actions/workflows/ci.yml/badge.svg)](https://github.com/jaywcjlove/hotkeys-js/actions/workflows/ci.yml) -[![Coverage Status](https://coveralls.io/repos/github/jaywcjlove/hotkeys/badge.svg?branch=master)](https://coveralls.io/github/jaywcjlove/hotkeys?branch=master) -[![jaywcjlove/hotkeys-js](https://jaywcjlove.github.io/sb/lang/chinese.svg)](https://github.com/jaywcjlove/hotkeys-js/blob/master/README-zh.md) -[![jaywcjlove/hotkeys-js](https://jaywcjlove.github.io/sb/ico/gitee.svg)](https://gitee.com/jaywcjlove/hotkeys) - -HotKeys.js is an input capture library with some very special features, it is easy to pick up and use, has a reasonable footprint ([~6kB](https://bundlephobia.com/result?p=hotkeys-js)) (gzipped: **`2.8kB`**), and has no dependencies. It should not interfere with any JavaScript libraries or frameworks. Official document [demo preview](https://jaywcjlove.github.io/hotkeys-js). [More examples](https://github.com/jaywcjlove/hotkeys-js/issues?q=label%3ADemo+). - -```bash -╭┈┈╮ ╭┈┈╮ ╭┈┈╮ -┆ ├┈┈..┈┈┈┈┈.┆ └┈╮┆ ├┈┈..┈┈┈┈┈..┈┈.┈┈..┈┈┈┈┈. -┆ ┆┆ □ ┆┆ ┈┤┆ < ┆ -__┘┆ ┆ ┆┆__ ┈┈┤ -╰┈┈┴┈┈╯╰┈┈┈┈┈╯╰┈┈┈┈╯╰┈┈┴┈┈╯╰┈┈┈┈┈╯╰┈┈┈ ┆╰┈┈┈┈┈╯ - ╰┈┈┈┈┈╯ -``` - -## Usage - -You will need `Node.js` installed on your system. - -```bash -npm install hotkeys-js --save -``` - -```js -import hotkeys from 'hotkeys-js'; - -hotkeys('f5', function(event, handler){ - // Prevent the default refresh event under WINDOWS system - event.preventDefault() - alert('you pressed F5!') -}); -``` - -Or manually download and link **hotkeys.js** in your HTML, It can also be downloaded via [UNPKG](https://unpkg.com/hotkeys-js/dist/): - -CDN: [UNPKG](https://unpkg.com/hotkeys-js/dist/) | [jsDelivr](https://cdn.jsdelivr.net/npm/hotkeys-js@3.7.3/) | [Githack](https://raw.githack.com/jaywcjlove/hotkeys/master/dist/hotkeys.min.js) | [Statically](https://cdn.statically.io/gh/jaywcjlove/hotkeys/master/dist/hotkeys.min.js) | [bundle.run](https://bundle.run/hotkeys-js@3.7.3) - -```html - - -``` - -### Used in React - -[react-hotkeys](https://github.com/jaywcjlove/react-hotkeys) is the React component that listen to keydown and keyup keyboard events, defining and dispatching keyboard shortcuts. Detailed use method please see its documentation [react-hotkeys](https://github.com/jaywcjlove/react-hotkeys). - -[react-hotkeys-hook](https://github.com/JohannesKlauss/react-hotkeys-hook) - React hook for using keyboard shortcuts in components. Make sure that you have at least version 16.8 of react and react-dom installed, or otherwise hooks won't work for you. - -## Browser Support - -Hotkeys.js has been tested and should work in. - -```shell -Internet Explorer 6+ -Safari -Firefox -Chrome -``` - -## Supported Keys - -HotKeys understands the following modifiers: `⇧`, `shift`, `option`, `⌥`, `alt`, `ctrl`, `control`, `command`, and `⌘`. - -The following special keys can be used for shortcuts: backspace, tab, clear, enter, return, esc, escape, space, up, down, left, right, home, end, pageup, pagedown, del, delete, f1 through f19, num_0 through num_9, num_multiply, num_add, num_enter, num_subtract, num_decimal, num_divide. - -`⌘` Command() -`⌃` Control -`⌥` Option(alt) -`⇧` Shift -`⇪` Caps Lock(Capital) -~~`fn` Does not support fn~~ -`↩︎` return/Enter space - -## Defining Shortcuts - -One global method is exposed, key which defines shortcuts when called directly. - -```js -hotkeys([keys:], [option:[string|object|function]], [callback:]) -``` - - -```js -hotkeys('f5', function(event, handler) { - // Prevent the default refresh event under WINDOWS system - event.preventDefault(); - alert('you pressed F5!'); -}); - -// Returning false stops the event and prevents default browser events -// Mac OS system defines `command + r` as a refresh shortcut -hotkeys('ctrl+r, command+r', function() { - alert('stopped reload!'); - return false; -}); - -// Single key -hotkeys('a', function(event,handler){ - //event.srcElement: input - //event.target: input - if(event.target === "input"){ - alert('you pressed a!') - } - alert('you pressed a!') -}); - -// Key Combination -hotkeys('ctrl+a,ctrl+b,r,f', function (event, handler){ - switch (handler.key) { - case 'ctrl+a': alert('you pressed ctrl+a!'); - break; - case 'ctrl+b': alert('you pressed ctrl+b!'); - break; - case 'r': alert('you pressed r!'); - break; - case 'f': alert('you pressed f!'); - break; - default: alert(event); - } -}); - -hotkeys('ctrl+a+s', function() { - alert('you pressed ctrl+a+s!'); -}); - -// Using a scope -hotkeys('*','wcj', function(event){ - console.log('do something', event); -}); -``` - -#### option - -- `scope` -- `element` -- `keyup` -- `keydown` -- `splitKey` (default is `+`) -- `capture` -- `single` - -```js -hotkeys('o, enter', { - scope: 'wcj', - element: document.getElementById('wrapper'), -}, function() { - console.log('do something else'); -}); - -hotkeys('ctrl-+', { splitKey: '-' }, function(e) { - console.log('you pressed ctrl and +'); -}); - -hotkeys('+', { splitKey: '-' }, function(e){ - console.log('you pressed +'); -}) -``` - -**keyup** - -**key down** and **key up** both perform callback events. - -```js -hotkeys('ctrl+a,alt+a+s', {keyup: true}, function(event, handler) { - if (event.type === 'keydown') { - console.log('keydown:', event.type, handler, handler.key); - } - - if (event.type === 'keyup') { - console.log('keyup:', event.type, handler, handler.key); - } -}); -``` - -## API REFERENCE - -Asterisk "*" - -Modifier key judgments - -```js -hotkeys('*', function() { - if (hotkeys.shift) { - console.log('shift is pressed!'); - } - - if (hotkeys.ctrl) { - console.log('ctrl is pressed!'); - } - - if (hotkeys.alt) { - console.log('alt is pressed!'); - } - - if (hotkeys.option) { - console.log('option is pressed!'); - } - - if (hotkeys.control) { - console.log('control is pressed!'); - } - - if (hotkeys.cmd) { - console.log('cmd is pressed!'); - } - - if (hotkeys.command) { - console.log('command is pressed!'); - } -}); -``` - -### setScope - -Use the `hotkeys.setScope` method to set scope. There can only be one active scope besides 'all'. By default 'all' is always active. - -```js -// Define shortcuts with a scope -hotkeys('ctrl+o, ctrl+alt+enter', 'issues', function() { - console.log('do something'); -}); -hotkeys('o, enter', 'files', function() { - console.log('do something else'); -}); - -// Set the scope (only 'all' and 'issues' shortcuts will be honored) -hotkeys.setScope('issues'); // default scope is 'all' -``` - -### getScope - -Use the `hotkeys.getScope` method to get scope. - -```js -hotkeys.getScope(); -``` - -### deleteScope - -Use the `hotkeys.deleteScope` method to delete a scope. This will also remove all associated hotkeys with it. - -```js -hotkeys.deleteScope('issues'); -``` -You can use second argument, if need set new scope after deleting. - -```js -hotkeys.deleteScope('issues', 'newScopeName'); -``` - -### unbind - -Similar to defining shortcuts, they can be unbound using `hotkeys.unbind`. - -```js -// unbind 'a' handler -hotkeys.unbind('a'); - -// Unbind a hotkeys only for a single scope -// If no scope is specified it defaults to the current scope (hotkeys.getScope()) -hotkeys.unbind('o, enter', 'issues'); -hotkeys.unbind('o, enter', 'files'); -``` - -Unbind events through functions. - -```js -function example() { - hotkeys('a', example); - hotkeys.unbind('a', example); - - hotkeys('a', 'issues', example); - hotkeys.unbind('a', 'issues', example); -} -``` - -To unbind everything. - -```js -hotkeys.unbind(); -``` - -### isPressed - -For example, `hotkeys.isPressed(77)` is true if the `M` key is currently pressed. - -```js -hotkeys('a', function() { - console.log(hotkeys.isPressed('a')); //=> true - console.log(hotkeys.isPressed('A')); //=> true - console.log(hotkeys.isPressed(65)); //=> true -}); -``` - -### trigger - -trigger shortcut key event - -```js -hotkeys.trigger('ctrl+o'); -hotkeys.trigger('ctrl+o', 'scope2'); -``` - -### getPressedKeyCodes - -Returns an array of key codes currently pressed. - -```js -hotkeys('command+ctrl+shift+a,f', function() { - console.log(hotkeys.getPressedKeyCodes()); //=> [17, 65] or [70] -}) -``` - -### getPressedKeyString - -Returns an array of key codes currently pressed. - -```js -hotkeys('command+ctrl+shift+a,f', function() { - console.log(hotkeys.getPressedKeyString()); //=> ['⌘', '⌃', '⇧', 'A', 'F'] -}) -``` - -### getAllKeyCodes - -Get a list of all registration codes. - -```js -hotkeys('command+ctrl+shift+a,f', function() { - console.log(hotkeys.getAllKeyCodes()); - // [ - // { scope: 'all', shortcut: 'command+ctrl+shift+a', mods: [91, 17, 16], keys: [91, 17, 16, 65] }, - // { scope: 'all', shortcut: 'f', mods: [], keys: [42] } - // ] -}) -``` - -### filter - -By default hotkeys are not enabled for `INPUT` `SELECT` `TEXTAREA` elements. `Hotkeys.filter` to return to the `true` shortcut keys set to play a role, `false` shortcut keys set up failure. - -```js -hotkeys.filter = function(event){ - return true; -} -//How to add the filter to edit labels.
-//"contentEditable" Older browsers that do not support drops -hotkeys.filter = function(event) { - var target = event.target || event.srcElement; - var tagName = target.tagName; - return !(target.isContentEditable || tagName == 'INPUT' || tagName == 'SELECT' || tagName == 'TEXTAREA'); -} - -hotkeys.filter = function(event){ - var tagName = (event.target || event.srcElement).tagName; - hotkeys.setScope(/^(INPUT|TEXTAREA|SELECT)$/.test(tagName) ? 'input' : 'other'); - return true; -} -``` - -### noConflict - -Relinquish HotKeys’s control of the `hotkeys` variable. - -```js -var k = hotkeys.noConflict(); -k('a', function() { - console.log("do something") -}); - -hotkeys() -// -->Uncaught TypeError: hotkeys is not a function(anonymous function) -// @ VM2170:2InjectedScript._evaluateOn -// @ VM2165:883InjectedScript._evaluateAndWrap -// @ VM2165:816InjectedScript.evaluate @ VM2165:682 -``` - -## Development - -To develop, Install dependencies, Get the code: - -```shell -$ git https://github.com/jaywcjlove/hotkeys.git -$ cd hotkeys # Into the directory -$ npm install # or yarn install -``` - -To develop, run the self-reloading build: - -```shell -$ npm run watch -``` - -Run Document Website Environment. - -```shell -$ npm run doc -``` - -To contribute, please fork Hotkeys.js, add your patch and tests for it (in the `test/` folder) and submit a pull request. - -```shell -$ npm run test -$ npm run test:watch # Development model -``` - -## Contributors - -As always, thanks to our amazing contributors! - - - - - -Made with [github-action-contributors](https://github.com/jaywcjlove/github-action-contributors). - -## License - -[MIT © Kenny Wong](./LICENSE) diff --git a/static/pkg/hotkeys-js/dist/README.md b/static/pkg/hotkeys-js/dist/README.md deleted file mode 100644 index bd982a3a..00000000 --- a/static/pkg/hotkeys-js/dist/README.md +++ /dev/null @@ -1,13 +0,0 @@ - - -Explanation of Build Files ---- - -| UMD | Size | CommonJS | Size | ES Module | Size | -| ---- | ---- | ---- | ---- | ---- | ---- | -| hotkeys.js | 8.37kb | hotkeys.common.js | 8.13kb | hotkeys.esm.js | 8.12kb | -| hotkeys.min.js | 3.62kb (gzipped: 1.73kb) | hotkeys.common.min.js | (gzipped: 1.84kb) | - | - | - -- [UMD](https://github.com/umdjs/umd): UMD builds can be used directly in the browser via a `