Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
91 commits
Select commit Hold shift + click to select a range
dc28f7f
doc: add ReadTheDocs configuration to documentation directory
sammdot Nov 27, 2020
52910eb
doc: Rearrange existing developer documentation in doc/ directory
sammdot Nov 27, 2020
70b6caa
doc: Add plugin development docs (API reference to follow)
sammdot Nov 27, 2020
d164916
doc: Add API reference documents with empty documentation for now
sammdot Nov 27, 2020
d9508f2
doc: Add command-line reference
sammdot Nov 27, 2020
dfb1df7
doc: Add doc/api/ to MANIFEST.in
sammdot Nov 27, 2020
a2b73b0
doc: Stroke class is in plover.steno, not .translation
sammdot Nov 27, 2020
a9d9a7f
doc: Add a link to the official Python packaging documentation
sammdot Nov 27, 2020
1beae16
doc: Add docs for installing and building from source and using plugins
sammdot Nov 27, 2020
1aa5203
doc: Add docs about Plover itself, Open Steno, and learning resources
sammdot Nov 27, 2020
50f62d6
doc: Document plover.resource module
sammdot Nov 27, 2020
2875aaa
doc: Document plover.system module and system plugin fields
sammdot Nov 27, 2020
ffdc0c8
doc: Remove extra space in ORTHOGRAPHY_RULES example
sammdot Nov 27, 2020
f782d99
doc: Add doc on steno notation in plover.steno module
sammdot Nov 27, 2020
eeae3f6
doc: Numbers in KEY_ORDER doc should not be in monospace
sammdot Nov 27, 2020
492cd20
doc: Document plover.steno module
sammdot Nov 27, 2020
f22456a
doc: Add note about Qt issue on macOS 11
sammdot Nov 27, 2020
a95783a
doc: Document plover.oslayer.config
sammdot Nov 27, 2020
50dcbcd
doc: Document plover.exception
sammdot Nov 27, 2020
1402d41
doc: Document plover.oslayer.processlock
sammdot Nov 27, 2020
bb4dcda
doc: Document plover.oslayer.wmctrl
sammdot Nov 27, 2020
ccbf938
doc: Abbreviate home directories in CONFIG_DIR
sammdot Nov 27, 2020
56dd547
doc: Change 'darwin' to 'mac' in PLUGINS_PLATFORM
sammdot Nov 28, 2020
de6ccad
doc: Partially document plover.engine
sammdot Dec 5, 2020
f9163c7
doc: Document send_* methods in plover.engine
sammdot Dec 5, 2020
109233d
doc: Add little blurb about engine hooks in plover.engine
sammdot Dec 5, 2020
f1ccbb0
doc: Add info on broken build process and link to macOS 11 build
sammdot Dec 22, 2020
cfe341b
doc: Document plover.registry
sammdot Jan 8, 2021
c294fd2
doc: Document plover.orthography
sammdot Jan 8, 2021
18c1ae8
doc: Document plover.oslayer.keyboardcontrol.KeyboardCapture
sammdot Jan 8, 2021
45f9d70
doc: Document plover.key_combo
sammdot Jan 8, 2021
afadb8a
doc: Document plover.misc
sammdot Jan 8, 2021
beab917
doc: Fix typo in plover.misc (bytes -> bits)
sammdot Jan 8, 2021
f41a098
doc: Complete documentation for plover.registry
sammdot Jan 8, 2021
f8b4977
doc: Document plover.machine.keymap
sammdot Jan 8, 2021
92171d2
doc: Document plover.log
sammdot Jan 8, 2021
a9bae98
doc: Document plover.config
sammdot Jan 8, 2021
0b3ff1f
doc: Document more methods in plover.engine
sammdot Jan 8, 2021
f3438e6
doc: Document plover.engine.StartingStrokeState
sammdot Jan 8, 2021
8c3f82b
doc: Document config option names
sammdot Jan 8, 2021
4255d7a
doc: Modify theme color to match Plover's branding
sammdot Jan 8, 2021
06ee159
doc: Document plover.suggestions
sammdot Jan 8, 2021
9b6b11a
doc: Document plover.steno_dictionary
sammdot Jan 8, 2021
c83676a
doc: Document plover.gui_qt
sammdot Jan 8, 2021
5f0de90
doc: Complete documentation for plover.engine
sammdot Jan 8, 2021
dc83ca2
doc: Document MachineParams in plover.engine
sammdot Jan 8, 2021
ec3e0d8
doc: Complete documentation for plover.oslayer.keyboardcontrol
sammdot Jan 8, 2021
ddf7111
doc: Change active sidebar link colors to match theme
sammdot Jan 8, 2021
7e19803
doc: Change color on top bar in mobile mode
sammdot Jan 8, 2021
0750af4
doc: Add intro blurb for plover.formatting and document regexes
sammdot Jan 8, 2021
733afd1
doc: Remove 'Edit on GitHub' buttons
sammdot Jun 19, 2021
0fee921
doc: Update installation instructions for Mac via Homebrew
sammdot Jun 19, 2021
43ca6a8
doc: Add 'suggestions' hook
sammdot Jul 7, 2021
cf19bf2
doc: Add send_command console script
sammdot Jul 7, 2021
c03de10
doc: Rename processlock to controller and update controller docs
sammdot Jul 7, 2021
43dc709
doc: Remove copyright year
sammdot Jul 7, 2021
bb86cbc
doc: Move plugin development guide and API reference to top level
sammdot Jul 7, 2021
67e8657
doc: Change dead link to developer guide
sammdot Jul 7, 2021
35127e5
doc: Move plugin setup and publishing instructions to separate pages
sammdot Jul 7, 2021
4e66b7b
doc: Move command development doc to separate page
sammdot Jul 7, 2021
4cc4411
doc: Move meta development doc to separate page
sammdot Jul 7, 2021
9b7a732
doc: Move macro development doc to separate page
sammdot Jul 7, 2021
1df22fd
doc: Move remainder of plugin dev doc to separate pages
sammdot Jul 7, 2021
6c814f1
doc: Remove engine methods which are now marked internal
sammdot Jul 7, 2021
0808b4d
doc: Remove 'About Plover' section, that probably belongs more in the…
sammdot Jul 9, 2021
2fa3ae4
doc: Change theme to customized Furo to better match Plover branding
sammdot Jul 9, 2021
e2f7800
doc: Remove sphinx-inline-tabs requirement since it isn't being used yet
sammdot Jul 9, 2021
9f9d2cc
doc: Remove 'plover' import from config since RTD breaks on new __ini…
sammdot Jul 9, 2021
02b8c1c
doc: Translate documentation to Markdown using MyST
sammdot Jul 9, 2021
a73acfc
doc: Add myst-parser as a requirement for Markdown support
sammdot Jul 9, 2021
eedf88c
doc: Add types to plover.orthography functions
sammdot Jul 9, 2021
404fb7f
doc: Clearly separate user and developer documentation in sidebar
sammdot Jul 9, 2021
2c70282
doc: Add OSP favicon
sammdot Jul 9, 2021
212a77f
doc: Remove extra line in TOC
sammdot Jul 10, 2021
7d77ed2
doc: Add Kaoffie's system design guide
sammdot Jul 12, 2021
7ba1364
doc: Add docs for plover and plover.i18n modules
sammdot Jul 12, 2021
75bf858
doc: Add documentation for plover.dictionary
sammdot Jul 13, 2021
62bc5a3
doc: Fix typo in ErroredDictionary
sammdot Jul 13, 2021
9f77bed
doc: Fill in docs for plover.machine.base
sammdot Jul 13, 2021
8677541
doc: Write about dictionary formats
sammdot Aug 4, 2021
d72ffc6
Add IPA pronunciation for 'Plover'
sammdot Feb 17, 2022
a8eb278
Edit styles
sammdot Mar 4, 2022
1cbf665
Remove longest key callbacks
sammdot Mar 4, 2022
e5cbea2
Remove installation page for now
sammdot Mar 4, 2022
ebb1422
Add plover_stroke library
sammdot Mar 4, 2022
863112a
Add page for plover-python-dictionary-lib
sammdot Mar 4, 2022
e3ff2e2
Fix link to canonical steno notation
sammdot Mar 4, 2022
1aa5dea
Remove comments from system.py in plugin dev docs
sammdot Mar 4, 2022
fda6e40
Add example for extension plugin
sammdot Mar 4, 2022
f78661c
Add example dictionary plugin implementation
sammdot Mar 4, 2022
d82c813
Add example GUI tool plugin implementation
sammdot Mar 4, 2022
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 12 additions & 0 deletions .readthedocs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# .readthedocs.yml
# Read the Docs configuration file

version: 2

sphinx:
configuration: doc/conf.py

python:
version: 3.8
install:
- requirements: doc/requirements.txt
5 changes: 3 additions & 2 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# Include: pretty much everything normally versioned,
# and not already automatically included by setuptools.
include CONTRIBUTING.md
include LICENSE.txt
include NEWS.md
include doc/*
include doc/api/*
include launch.bat
include launch.sh
include linux/*
include linux/appimage/*
include news.d/api/*
Expand Down
Binary file added doc/_static/board-layout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
26 changes: 26 additions & 0 deletions doc/_static/custom.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
@import url(https://fonts.googleapis.com/css?family=Patua+One);
@import url(https://fonts.googleapis.com/css?family=JetBrains+Mono);

h1, h2, h3, .sidebar-brand-text {
font-family: var(--font-stack--header);
}

.sidebar-brand {
text-align: center;
}

.sidebar-brand:hover {
color: var(--color-sidebar-brand-text--hover);
}

.toctree-wrapper.compound > p.caption {
display: none;
}

.toctree-l1 {
margin: 12px;
}

.toctree-l2 {
margin: 4px;
}
Binary file added doc/_static/de-speech.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions doc/_static/dolores.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/_static/favicon.ico
Binary file not shown.
Binary file added doc/_static/jp-speech.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/_static/keys-layout.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/_static/uncomfortable.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
4 changes: 4 additions & 0 deletions doc/_templates/breadcrumbs.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
{%- extends "sphinx_rtd_theme/breadcrumbs.html" %}

{% block breadcrumbs_aside %}
{% endblock %}
21 changes: 21 additions & 0 deletions doc/_templates/layout.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
{% extends "!layout.html" %}
{% block footer %} {{ super() }}
<style>
.wy-nav-top,
.wy-side-nav-search,
.wy-menu-vertical a:active {
background-color: #6da89e;
}

html.writer-html4 .rst-content dl:not(.docutils)>dt,
html.writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple)>dt {
color: #6da89e;
border-top-color: #6da89e;
background-color: #dff2ef;
}

a {
color: #6da89e;
}
</style>
{% endblock %}
13 changes: 13 additions & 0 deletions doc/advanced_usage.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Advanced Usage

This section describes some more advanced features of Plover, such as
maintaining your own dictionaries and using steno systems for languages
other than English.

```{toctree}
:maxdepth: 1

translation_language
dict_formats
plugins
```
251 changes: 251 additions & 0 deletions doc/api/config.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
# `plover.config` -- Configuration

```{py:module} plover.config
```

This modules handles reading and writing Plover's configuration files, as well
as updating the configuration on-the-fly while Plover is running.

````{class} Config

An object containing the entire Plover configuration. The config object
maintains a cache for any changes that are made while Plover is running.

```{method} load()
Reads and parses the configuration from the configuration file.
Raises an {exc}`InvalidConfigurationError<plover.exception.InvalidConfigurationError>`
if the configuration could not be parsed correctly.
```

```{method} clear()
Clears the configuration and returns to the base state.
```

```{method} save()
Writes the current state of the configuration to the configuration file.
```

```{method} __getitem__(key: str) -> any
Returns the value of the specified `key` in the cache, or in the
full configuration if not available.
```

```{method} __setitem__(key: str, value: any)
Sets the property `key` in the configuration to the specified value.
```

```{method} as_dict() -> Dict[str, any]
Returns the `dict` representation of the current state of the
configuration.
```

```{method} update()
Update the cache to reflect the contents of the full configuration.
```
````

```{exception} InvalidConfigOption(raw_value, fixed_value[, message=None])
An exception raised when a configuration option has been set to an invalid
value, such as one of the wrong type. `fixed_value` is the value that
Plover is falling back on if `raw_value` can't be parsed correctly.
```

````{class} DictionaryConfig
Represents the configuration for one dictionary.

```{attribute} path
:type: str

The fully qualified path to the dictionary file.
```

```{attribute} short_path
:type: str

The shortened path to the dictionary file. This is automatically
calculated from {attr}`path`.
```

```{attribute} enabled
:type: bool

Whether the dictionary is enabled.
```

```{staticmethod} from_dict(d: Dict[str, any]) -> DictionaryConfig
Returns a {class}`DictionaryConfig` constructed from its `dict`
representation.
```

```{method} to_dict() -> Dict[str, any]
Returns the `dict` representation of the dictionary configuration.
```

```{method} replace(**kwargs: Dict[str, any])
Replaces the values of {attr}`path` and {attr}`enabled` with those in `kwargs`.
```
````

## Configuration Options

Below is the list of all available configuration keys:

### Output

```{describe} space_placement
When writing translations, whether to add spaces before or after each
translation. Possible values are `Before Output` and `After Output`.
By default, will add spaces *before* translations.
```

```{describe} start_attached
Whether to delete the space before the translation when the initial
stroke is translated. `False` by default.
```

```{describe} start_capitalized
Whether to capitalize the translation when the initial stroke is
translated. ``False`` by default.
```

```{describe} undo_levels
The maximum number of translations Plover is allowed to undo. 100 by default.

Each stroke that performs a translation is added onto an undo stack, and
undo strokes (such as ``*``) remove translations from this stack.
`undo_levels` defines the maximum number of translations in the stack.
```

### Logging

```{describe} log_file_name
The path to the stroke log file, either absolute or expressed relative to
{data}`CONFIG_DIR<plover.oslayer.config.CONFIG_DIR>`. `strokes.log` by default.

This only sets the path for stroke logs; main Plover logs are always
written to `plover.log`.
```

```{describe} enable_stroke_logging
Whether to log strokes. `False` by default.
```

```{describe} enable_translation_logging
Whether to log translations. `False` by default.
```

### Interface

```{describe} start_minimized
Whether to hide the main window when Plover starts up. `False` by default.
```

```{describe} show_stroke_display
Whether to show the paper tape when Plover starts up. `False` by default.
```

```{describe} show_suggestions_display
Whether to show the suggestions window when Plover starts up. `False` by default.
```

```{describe} translation_frame_opacity
The opacity of the Add Translation tool, in percent. 100 by default.
```

```{describe} classic_dictionaries_display_order
The order the dictionaries are displayed in the main window.
`True` displays the highest priority dictionary at the bottom;
`False` displays it at the top. `False` by default.
```

### Plugins

```{describe} enabled_extensions
The list of extensions that are enabled.
```

### Machine

```{describe} auto_start
Whether to enable Plover output when it starts up. `False` by default.
```

```{describe} machine_type
The name of the currently active machine. `Keyboard` by default.
```

````{describe} machine_specific_options
A dictionary of configuration options specific to the current machine.
Consult your machine plugin's documentation to see the available properties.
For the default machine plugins, the following options are available:

```{describe} arpeggiate
Whether to enable arpeggiate mode on the keyboard. `False` by default.
```

```{describe} port
The serial port for serial connections. No default value.

The value will most likely be different between platforms; Windows uses COM
ports, e.g. `COM3`, whereas Unix-like platforms use device paths, e.g.
`/dev/cu.usbmodem14403` or `/dev/ttyACM0`.
```

```{describe} baudrate
The baud rate for serial connections. 9600 by default.
```

```{describe} bytesize
The number of bits in a byte for serial connections. 8 by default.
```

```{describe} parity
The parity bit mode for serial connections, one of
`N` (none), `O` (odd), `E` (even), `M` (mark) or `S` (space).
`N` by default.
```

```{describe} stopbits
The number of stop bits for serial connections. 1 by default.
```

```{describe} timeout
The read timeout for serial connections in seconds, may be ``None`` to
disable read timeouts altogether. 2.0 (2 seconds) by default.
```

```{describe} xonxoff
Whether to use XON/XOFF flow control for serial connections.
`False` by default.
```

```{describe} rtscts
Whether to use RTS/CTS flow control for serial connections.
`False` by default.
```
````

### System

```{describe} system_name
The name of the current steno system. This is the same system that
{mod}`plover.system` refers to. ``English Stenotype`` by default.
```

```{describe} system_keymap
A {class}`Keymap<plover.machine.keymap.Keymap>` mapping between machine
keys and steno keys in the current steno system.

If the system defines a keymap in {data}`KEYMAPS<plover.system.KEYMAPS>`
for the current machine type, that will be the default value; otherwise,
the machine may define a
{attr}`KEYMAP_MACHINE_TYPE<plover.machine.base.StenotypeBase.KEYMAP_MACHINE_TYPE>`
that describes a similar machine to fall back on. If that is not available
either, the default value is an empty keymap.
```

```{describe} dictionaries
A list of {class}`DictionaryConfig` representing the list of dictionaries
Plover uses to translate strokes for the current steno system. The
dictionaries should be listed in order of decreasing priority.
```
Loading