diff options
author | Shin'ya Ueoka <ueokande@i-beam.org> | 2019-10-01 06:14:45 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-10-01 06:14:45 +0000 |
commit | 1afdb51feaa860c6dd0542b362925fb553eabf4c (patch) | |
tree | 90ae0218f141b9dd1a3cd3a6c22d8433c0bb2d60 /docs | |
parent | c92d3ae708bbf07010aaaed1338c532ee1ff042e (diff) | |
parent | 02aa2d00a93b849aab3b924025ba8429901d7f30 (diff) |
Merge pull request #650 from ueokande/docs
Help page
Diffstat (limited to 'docs')
-rw-r--r-- | docs/_config.yml | 1 | ||||
-rw-r--r-- | docs/_layouts/default.html | 46 | ||||
-rw-r--r-- | docs/assets/css/style.scss | 167 | ||||
-rw-r--r-- | docs/blacklist.md | 21 | ||||
-rw-r--r-- | docs/console_commands.md | 92 | ||||
-rw-r--r-- | docs/index.md | 54 | ||||
-rw-r--r-- | docs/keymaps.md | 97 | ||||
-rw-r--r-- | docs/properties.md | 52 | ||||
-rw-r--r-- | docs/search_engines.md | 27 |
9 files changed, 556 insertions, 1 deletions
diff --git a/docs/_config.yml b/docs/_config.yml deleted file mode 100644 index c741881..0000000 --- a/docs/_config.yml +++ /dev/null @@ -1 +0,0 @@ -theme: jekyll-theme-slate
\ No newline at end of file diff --git a/docs/_layouts/default.html b/docs/_layouts/default.html new file mode 100644 index 0000000..e915e41 --- /dev/null +++ b/docs/_layouts/default.html @@ -0,0 +1,46 @@ +<!DOCTYPE html> +<html lang="{{ site.lang | default: "en-US" }}"> + +<head> + <meta charset='utf-8'> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width,maximum-scale=2"> + <link rel="stylesheet" type="text/css" media="screen" href="{{ '/assets/css/style.css?v=' | append: site.github.build_revision | relative_url }}"> + <link href="https://fonts.googleapis.com/css?family=Open+Sans&display=swap" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Zilla+Slab:700&display=swap" rel="stylesheet"> + {%- if page.title -%} + <title>{{ page.title }} - Vim Vixen</title> + {%- else -%} + <title>Vim Vixen</title> + {%- endif -%} +{% seo title=false%} +</head> + +<body> + <header> + <h1><a href='index.html'>Vim Vixen</a></h1> + <ul> + <li><a target="_blank" rel="noopener" href='https://github.com/ueokande/vim-vixen'>GtiHub</a></li> + <li><a target="_blank" rel="noopener" href='https://addons.mozilla.org/firefox/addon/vim-vixen/'>Firefox Add-ons</a></li> + </ul> + </header> + + <aside> + <h1>Guide</h1> + <ul> + <li><a href='./keymaps.html'>Keymaps</a></li> + <li><a href='./console_commands.html'>Console commands</a></li> + <li><a href='./blacklist.html'>Blacklist</a></li> + <li><a href='./search_engines.html'>Search engines</a></li> + <li><a href='./properties.html'>Properties</a></li> + </ul> + </aside> + + <main> + <article> + {{ content }} + </article> + </main> + +</body> +</html> diff --git a/docs/assets/css/style.scss b/docs/assets/css/style.scss new file mode 100644 index 0000000..f539a2f --- /dev/null +++ b/docs/assets/css/style.scss @@ -0,0 +1,167 @@ +--- +--- + +$link-color: #0099ff; +$border-color: #dedede; + +* { + margin: 0; + padding: 0; + box-sizing: border-box; +} + +body { + color: #222; + font-family: 'Open Sans',Arial,Helvetica,sans-serif; + line-height: 2; +} + +a { + &:link, &:active { + color: $link-color; + text-decoration: none; + } + &:hover, &:visited { + color: $link-color; + text-decoration: underline; + } +} + +h1, h2, h3, h4, h5 { + font-family: 'Zilla Slab','Open Sans',X-LocaleSpecific,sans-serif; + font-weight: bold; + color: #222; + + a:link, a:visited, a:hover, a:active { + color: #222; + } +} + +header { + border-bottom: 1px solid $border-color; + position: fixed; + width: 100%; + background-color: white; + + h1 { + padding: 0 1.5rem; + float: left; + line-height: 4rem; + } + + ul { + display: inline-block; + float: right; + padding: 0 1rem; + li { + display: inline-block; + padding: 0 1rem; + a { + line-height: 4rem; + } + } + } +} + +aside { + width: 15rem; + position: fixed; + top: 4rem; + left: 0; + bottom: 0; + border-right: 1px solid $border-color; + padding: 1rem 0; + + h1 { + font-size: 1.2rem; + line-height: 2.5; + padding: 0 1.5rem; + } + + ul { + li { + a { + padding: .35rem 1.5rem .35rem 1.5rem; + line-height: 2.5; + } + } + } +} + +main { + padding: 4rem 4rem 4rem 20rem; + margin: 0 auto; + + article { + + h1, h2, h3, h4, h5 { + font-family: 'Zilla Slab','Open Sans',X-LocaleSpecific,sans-serif; + font-weight: bold; + } + + h1 { + font-size: 3rem; + line-height: 2; + } + + h2 { + border-top: 1px dotted #c1c5c8; + font-size: 1.8; + margin-top: 36px; + padding-top: 36px; + font-family: 'Zilla Slab','Open Sans',X-LocaleSpecific,sans-serif; + } + + kbd { + display: inline-block; + padding: 3px 5px; + line-height: 10px; + color: #444d56; + vertical-align: middle; + background-color: #fafbfc; + border: 1px solid #c6cbd1; + border-bottom-color: rgb(198, 203, 209); + border-bottom-color: #959da5; + border-radius: 3px; + box-shadow: inset 0 -1px 0 #959da5; + } + + pre { + padding: 16px; + overflow: auto; + line-height: 1.45; + background-color: #f6f8fa; + border-radius: 3px; + } + + pre > code { + background: none; + } + + code { + padding: .2em .4em; + margin: 0; + background-color: rgba(27,31,35,.05); + border-radius: 3px; + } + + ul { + li { + padding: .25rem 0; + margin-left: 1rem; + } + } + + p { + margin-bottom: 1rem; + } + } +} + +footer { + position: fixed; + bottom: 0; + left: 0; + right: 0; + background-color: lightgreen; +} diff --git a/docs/blacklist.md b/docs/blacklist.md new file mode 100644 index 0000000..b854c07 --- /dev/null +++ b/docs/blacklist.md @@ -0,0 +1,21 @@ +--- +title: Blacklist +--- + +# Blacklist + +The blacklist allows you to disable the plugin for certain pages by URL patterns. +For instance, you could use `"*.slack.com"` to disable the plugin on all Slack channels. +In addition, you can also specify path patterns, such as `"example.com/mail/*"`. + +```json +{ + "blacklist": [ + "*.slack.com", + "example.com/mail/*" + ] +} +``` + +You can toggle Vim Vixen between disabled and enabled with +<kbd>shift</kbd>+<kbd>Esc</kbd>. diff --git a/docs/console_commands.md b/docs/console_commands.md new file mode 100644 index 0000000..272ea0e --- /dev/null +++ b/docs/console_commands.md @@ -0,0 +1,92 @@ +--- +title: Console commands +--- + +# Console commands + +Vim Vixen provides a console for `ex`-style commands, similar to Vimperator. + +Open the console with <kbd>:</kbd>. Or populate it with initial values using +<kbd>o</kbd>/<kbd>O</kbd>, <kbd>t</kbd>/<kbd>T</kbd>, or +<kbd>w</kbd>/<kbd>W</kbd>. + +## `:open` + +The `:open` command operates two different ways, depending on the parameter. +When the parameter is a URL, it's opened in the current tab. + +``` +:open http://github.com/ueokande +``` + +Otherwise, the current tab opens a search page with the supplied string (defaults to Google). + +``` +:open How to contribute to Vim-Vixen +``` + +To use a search engine other than the default, specify the search engine to use as the first parameter. + +``` +:open yahoo How to contribute to Vim-Vixen +``` + +To adjust the default search-engine and add/remove search engines, see the [search engines](./search_engines.html) section. + +## `:tabopen` + +Open a URL or search-engine query in a new tab. + +## `:quit` or `:q` + +Close the current tab. + +## `:quitall` or `:qa` + +Close all tabs. + +## `:bdelete` + +Close a certain tab. + +You can add `!` to the end of the command to close a tab even if it is pinned: + +``` +:bdelete! +``` + +## `:bdeletes` + +Close tabs matching the specified keywords. + +You can add `!` to the end of the command to close pinned tabs: + +``` +:bdeletes! +``` + +## `:winopen` + +Open a URL or search-engine query in a new window. + +## `:buffer` + +Select tabs by URL or title keywords. + +## `:addbookmark` + +Create a bookmark from the current URL. + +``` +:addbookmark My bookmark title +``` + +The keymap <kbd>a</kbd> is a convenient way to create a bookmark for the +current page. It populates the console with `:addbookmark` and the title of +the current page. + +## `:set` + +The `:set` command can be used to temporarily override properties in the +console. See the [properties](./properties.html) section for more details on +the available properties. diff --git a/docs/index.md b/docs/index.md index 335f668..7917645 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,60 @@ +--- +title: Vim Vixen +--- + # Vim Vixen Vim Vixen is a Firefox add-on which allows you to easily navigate the web by keyboard. Since version 57, Firefox has migrated to the WebExtensions API and has dropped support for legacy add-ons. Vim Vixen is a new choice for Vim users since it uses the WebExtensions API. + +## Getting started + +### Install Vim Vixen + +Vim Vixen is supported on Firefox 60 ESR. Please latest version of stable ESR +from the [download page](https://www.mozilla.org/en-US/firefox/). +You can install Vim Vixen from [Firefox add-ons (addons.mozilla.org)][AMO], and +manage installed addon-ons on Firefox preferences `about:preferences`. + +### Quick start + +After installation, you can control Firefox with vim-like keymaps. To scroll a +page in the browser, press <kbd>k</kbd>, <kbd>j</kbd>, <kbd>h</kbd> and +<kbd>l</kbd> keys. You can scroll to the top or the bottom of a page by +<kbd>g</kbd><kbd>g</kbd> and <kbd>G</kbd>. + +To select a left and right of current tab, use <kbd>K</kbd> and <kbd>J</kbd> +respectively. To close current tab, use <kbd>d</kbd> and to restore closed +tabs, use <kbd>u</kbd>. + +To open a link, press <kbd>f</kbd> to enter the **follow mode** to select a +link. Then you can select links by alphabetic keys. + +See also [Keymaps](./keymaps.html) for more detailed of keymaps. + +### Using commands + +Vim Vixen supports command line to run commands that control tabs and opens a +tab. To open command line, press <kbd>:</kbd>. + +To open a tab with URL, use `open` command as the following: + +``` +:open https://github.com/ueokande/vimvixen +``` + +or search keywords with search engine (such as Google) like: + +``` +:open How to use Vim +``` + +You can see completed commands on [Console commands](./console_commands.html). + +## Copyright + +Copyright © 2017-2019 by Shin'ya Ueoka + +[AMO]: https://addons.mozilla.org/en-US/firefox/addon/vim-vixen/ diff --git a/docs/keymaps.md b/docs/keymaps.md new file mode 100644 index 0000000..9ae0c98 --- /dev/null +++ b/docs/keymaps.md @@ -0,0 +1,97 @@ +--- +title: Keymaps +--- + +# Keymaps + +Keymaps are configurable in the add-on's preferences by navigating to `about:addons` and selecting "Extensions". +The default mappings are as follows: + +## Scrolling + +- <kbd>k</kbd>: scroll up +- <kbd>j</kbd>: scroll down +- <kbd>h</kbd>: scroll left +- <kbd>l</kbd>: scroll right +- <kbd>Ctrl</kbd>+<kbd>U</kbd>: scroll up half a page +- <kbd>Ctrl</kbd>+<kbd>D</kbd>: scroll down half a page +- <kbd>Ctrl</kbd>+<kbd>B</kbd>: scroll up a page +- <kbd>Ctrl</kbd>+<kbd>F</kbd>: scroll down a page +- <kbd>g</kbd><kbd>g</kbd>: scroll to the top of a page +- <kbd>G</kbd>: scroll to the bottom of a page +- <kbd>0</kbd>: scroll to the leftmost part of a page +- <kbd>$</kbd>: scroll to the rightmost part of a page +- <kbd>m</kbd>: set a mark for the current position +- <kbd>'</kbd>: jump to a marked position + +Lowercase marks (`[a-z]`) store the position of the current tab. Uppercase and +numeric marks (`[A-Z0-9]`) store the position and the tab. + +## Select and manage tabs + +- <kbd>d</kbd>: delete the current tab and select the tab to its right +- <kbd>D</kbd>: delete the current tab and select the tab to its left +- <kbd>!</kbd><kbd>d</kbd>: delete a pinned tab +- <kbd>u</kbd>: reopen a close tab +- <kbd>r</kbd>: reload the current tab +- <kbd>R</kbd>: reload the current tab, bypassing the cache +- <kbd>K</kbd> or <kbd>g</kbd><kbd>T</kbd>: select the previous tab +- <kbd>J</kbd> or <kbd>g</kbd><kbd>t</kbd>: select the next tab +- <kbd>g</kbd><kbd>0</kbd>: select the first tab +- <kbd>g</kbd><kbd>$</kbd>: select the last tab +- <kbd>Ctrl</kbd>+<kbd>6</kbd>: open the previously-selected tab +- <kbd>z</kbd><kbd>p</kbd>: pin the curent tab tab +- <kbd>z</kbd><kbd>d</kbd>: duplicate the current tab + +## Console + +- <kbd>:</kbd>: open the console +- <kbd>o</kbd>, <kbd>t</kbd>, <kbd>w</kbd>: open a page in the current tab, a new tab, or new window +- <kbd>O</kbd>, <kbd>T</kbd>, <kbd>W</kbd>: similar to <kbd>o</kbd>, <kbd>t</kbd>, <kbd>w</kbd>, but using the current URL +- <kbd>b</kbd>: select tabs by URL or title +- <kbd>a</kbd>: add the current page to your bookmarks + +See the [console commands](./console_commands.html) section for a more detailed description. + +## Zoom + +- <kbd>z</kbd><kbd>i</kbd>: zoom in +- <kbd>z</kbd><kbd>o</kbd>: zoom out +- <kbd>z</kbd><kbd>z</kbd>: zoom neutral (reset) + +## Navigation + +- <kbd>f</kbd>: follow links in the page in the current tab +- <kbd>F</kbd>: follow links in the page in a new tab +- <kbd>H</kbd>: go back in history +- <kbd>L</kbd>: go forward in history +- <kbd>[</kbd><kbd>[</kbd>, <kbd>]</kbd><kbd>]</kbd>: find a link to the previous/next page and open it +- <kbd>g</kbd><kbd>u</kbd>: go to the parent directory +- <kbd>g</kbd><kbd>U</kbd>: go to the root directory +- <kbd>g</kbd><kbd>i</kbd>: focus the first input field + +Vim Vixen can be configured to follow links opened in tabs in the background +instead of switching to a new tab immediately. To do this, you'll need to update +the config file: change the `"background"` property of the `"follow.start"` +action to `true`, e.g.: + +```json +{ + "keymaps": { + "F": { "type": "follow.start", "newTab": true, "background": true } + } +} +``` + +## Misc + +- <kbd>y</kbd>: copy the URL of the current tab to the clipboard +- <kbd>p</kbd>: open the clipboard's URL in the current tab +- <kbd>P</kbd>: open the clipboard's URL in new tab +- <kbd>Shift</kbd>+<kbd>Esc</kbd>: enable or disable the add-on in the current tab +- <kbd>/</kbd>: start searching for text in the page +- <kbd>n</kbd>: find the next search result in the page +- <kbd>N</kbd>: find the previous search result in the page +- <kbd>g</kbd><kbd>f</kbd>: view the source of the current tab + + diff --git a/docs/properties.md b/docs/properties.md new file mode 100644 index 0000000..1f62ff4 --- /dev/null +++ b/docs/properties.md @@ -0,0 +1,52 @@ +--- +title: Properties +--- + +# Properties + +Vim Vixen can be configured by defining settings in a JSON document, e.g.: + +```json +{ + "properties": { + "complete": "sbh" + } +} +``` + +Properties can be temporarily overridden by using the `:set` command in the +console. + +The following properties are available: + +## `smoothscroll` + +Enable/disable smooth scrolling. + +``` +:set smoothscroll " enable smooth scrolling +:set nosmoothscroll " disable smooth scrolling +``` + +## `hintchars` + +Set hint characters. + +``` +:set hintchars=0123456789 +``` + +## `complete` + +Set completion items on `open`, `tabopen`, and `winopen` commands. +The allowed value is character sequence of `s`, `b`, or `h`. +Hit <kbd>Tab</kbd> or <kbd>Shift</kbd>+<kbd>Tab</kbd> to select an item from the completion list. +Each character represents the following: + +- `s`: search engines +- `b`: bookmark items +- `h`: history items. + +``` +:set complete=sbh +``` diff --git a/docs/search_engines.md b/docs/search_engines.md new file mode 100644 index 0000000..9436bf2 --- /dev/null +++ b/docs/search_engines.md @@ -0,0 +1,27 @@ +--- +title: Search engines +--- + +# Search engines + +Vim Vixen supports searching with search engines such as Google and Yahoo. + +You can configure search engines, including the default search engine, in the add-on's preferences. +The URLs specified in `"engines"` must contain a `{}`-placeholder, which will be +replaced with the search keyword parameters of the command. + +```json +{ + "search": { + "default": "google", + "engines": { + "google": "https://google.com/search?q={}", + "yahoo": "https://search.yahoo.com/search?p={}", + "bing": "https://www.bing.com/search?q={}", + "duckduckgo": "https://duckduckgo.com/?q={}", + "twitter": "https://twitter.com/search?q={}", + "wikipedia": "https://en.wikipedia.org/w/index.php?search={}" + } + } +} +``` |