Skip to content

Commit

Permalink
Improve manual
Browse files Browse the repository at this point in the history
  • Loading branch information
1over137 committed Dec 29, 2023
1 parent 944acb3 commit 26e07ff
Show file tree
Hide file tree
Showing 8 changed files with 57 additions and 48 deletions.
41 changes: 8 additions & 33 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@
![https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva?svg=true](https://ci.appveyor.com/api/projects/status/32r7s2skrgm9ubva?svg=true)
![https://img.shields.io/pypi/v/vocabsieve.svg](https://img.shields.io/pypi/v/vocabsieve.svg)

# Chatrooms
## Manual

[New manual, most up to date](https://docs.freelanguagetools.org/)

[Old wiki, deprecated, but has a few more pages for the time being](https://wiki.freelanguagetools.org/start)

## Support

Note: All chat rooms are bridged/mirrored. You won't miss out on anything by choosing one over the other. We recommend you use Matrix if possible.

Expand Down Expand Up @@ -46,37 +52,6 @@ For a nightly build, please check the [CI artifacts page](https://nightly.link/F

## Linux distro packages
[![Packaging status](https://repology.org/badge/vertical-allrepos/vocabsieve.svg)](https://repology.org/project/vocabsieve/versions)

<details>
<summary>Click to show distro-specific installation instructions</summary>

### Gentoo

First, you need to add the ::guru overlay. Skip this section if you have already done so.
```
# eselect repository enable guru
# emaint -r guru sync
```
Install the package:
`# emerge -av app-misc/vocabsieve`

### Arch

Use your favorite AUR helper (or manually) to install the pacakge `vocabsieve`.

### Other distros

At this time, there are no packages for other distributions. If you are able to create packages for them, please tell me!

The easiest method is to download an AppImage from for a release from the Releases tab on the right. You may also download an AppImage for a nightly build on the [CI artifacts page](https://nightly.link/FreeLanguageTools/vocabsieve/workflows/build-binaries/master).

Alternatively, you may also simply use `pip3` to install VocabSieve: `pip3 install --user -U vocabsieve`. Depends on your system, you may need to install `gcc` and `liblzo2` with headers. NOTE: do not use this if you don't know how to deal with Python environments.

Ubuntu: `apt install liblzo2-dev zlib1g-dev python3-pip python3-pyqt5 python3-pyqt5.qtsvg`, then `pip3 install --user -U vocabsieve`

This should install an executable and a desktop icon and behave like any other GUI application you may have.

</details>

## Development
To run from source, simply use `pip3 -r requirements.txt` and then `python3 vocabsieve.py`.
Expand All @@ -89,7 +64,7 @@ Pull requests are welcome! If you want to implement a significant feature, be su
You are welcome to report bugs, suggest features/enhancements, or ask for clarifications by opening a GitHub issue.

## Donations
If you appreciate this tool, consider making a donation to the [Free Software Foundation](https://www.fsf.org/) or the [Electronic Frontier Foundation](https://www.eff.org/) to protect our digital future and defend our freedom.
If you appreciate this tool, consider making a donation to the [Free Software Foundation](https://www.fsf.org/) or the [Electronic Frontier Foundation](https://www.eff.org/) to protect our digital future and defend our freedom. Do your part to refuse to pay for DRM'd content and devices.

## Credits
The definitions provided by the program by default come from English Wiktionary, without which this program would never have been created. [LingvaTranslate](https://github.com/thedaviddelta/lingva-translate) is used to obtain Google Translate results. Fоrvо scraping code is inspired by this [repository](https://github.com/Rascalov/Anki-Simple-Forvo-Audio). Lemmatization capabilities come from [simplemma](https://github.com/adbar/simplemma) and [pymorphy3](https://github.com/kmike/pymorphy3).
Expand Down
8 changes: 2 additions & 6 deletions docs/Gemfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ GEM
eventmachine (1.2.7)
ffi (1.15.5)
forwardable-extended (2.6.0)
google-protobuf (3.24.3-arm64-darwin)
google-protobuf (3.24.3-x86_64-linux)
http_parser.rb (0.8.0)
i18n (1.14.1)
Expand Down Expand Up @@ -57,15 +56,13 @@ GEM
pathutil (0.16.2)
forwardable-extended (~> 2.6)
public_suffix (5.0.3)
rake (13.0.6)
rake (13.1.0)
rb-fsevent (0.11.2)
rb-inotify (0.10.1)
ffi (~> 1.0)
rexml (3.2.6)
rouge (4.1.3)
safe_yaml (1.0.5)
sass-embedded (1.67.0-arm64-darwin)
google-protobuf (~> 3.23)
sass-embedded (1.67.0-x86_64-linux-gnu)
google-protobuf (~> 3.23)
terminal-table (3.0.2)
Expand All @@ -74,12 +71,11 @@ GEM
webrick (1.8.1)

PLATFORMS
arm64-darwin-23
x86_64-linux

DEPENDENCIES
jekyll (~> 4.3.2)
just-the-docs (= 0.7.0)

BUNDLED WITH
2.3.26
2.4.19
1 change: 1 addition & 0 deletions docs/configuration.md → docs/configuration/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
title: Configuration
layout: default
nav_order: 5
has_children: true
---

# Configuration
Expand Down
24 changes: 24 additions & 0 deletions docs/configuration/tracking.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
---
layout: default
title: Vocabulary tracking
nav_order: 1
parent: Configuration
---
# Vocabulary tracking

VocabSieve has a built-in feature to track your vocabulary. This is done by logging *events* on words, each of which carries a certain amount of points. When a certain amount of points are reached, the word is classified as *known*.

By default, 100 points is needed for a non-cognate word to be classified as known (25 points for cognate word) the points on each type of event (*weights*) are the following:

| Event | Default score | Note |
| ----- | ----- | ---- |
| Seen | 8 [1]| [Paper](https://core.ac.uk/download/pdf/323110125.pdf) assumes 12 exposures is needed to acquire a word |
| Lookup | 15 | Max one lookup event per day |
| Mature Anki card target word | 80 | |
| Mature Anki card context | 30 | |
| Young Anki card target word | 40 | VocabSieve distinguishes between two types of Anki cards, which by default correspond to "mature" and "young" carrds in Anki, but this can be changed to arbitariy criteria by changing the query string |
| Young Anki card context | 20 | |

Using Anki data requires matching fields in each of your Anki note types. You should mark the field as "\<Ignored\>" if you do not wish to use the field or the note type as a whole.

Once you have set up vocabulary tracking, you can view a list of words VocabSieve thinks you know by going to Statistics -> Known words tab. After ensuring that you know almost all of the words listed in the text box, you can now use the features relying on vocab tracking, such as the book analyzer and auto imports from texts.
Binary file added docs/favicon.ico
Binary file not shown.
10 changes: 7 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,14 @@ if you are already familiar with immersion and Anki and just want to quickly set

## Community support

You can join FreeLanguageTools chatrooms on multiple platforms. All chatrooms are bridged, so you will not miss any answers because you chose to use one over the other.
You can join FreeLanguageTools chatrooms on multiple platforms. All chatrooms are bridged, so you will not miss any answers by choosing to use one over the other. Please be civil and do not post adult content.

| Platform | Address | Notes |
| --- | ---- | --- |
| Matrix (Recommended) | [#general:freelanguagetools.org](https://matrix.to/#/#general:freelanguagetools.org) | |
| Telegram | <https://t.me/fltchat> | |
| Discord (*proprietary*) | <https://discord.gg/DNSsTtHRxz> | |
| Telegram (*partly proprietary*) | <https://t.me/fltchat> | |
| Discord (*proprietary*) | <https://discord.gg/DNSsTtHRxz> | |

## Contributing

This manual is rather rudimentary as this point. You can edit it [on GitHub](https://github.com/FreeLanguageTools/vocabsieve/tree/master/docs) and submit a pull request. Alternatively you can also edit it locally and send the edited files to the chat for someone to pick it up. Unfortunately we do not have the resources needed to properly host and maintain a wiki that is impervious to spam. We apologize for the increased barrier to contributing, but this is what has to be done.
19 changes: 14 additions & 5 deletions docs/installation.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,25 @@ Arch Linux AUR: `vocabsieve`

If you use other distributions, you should run it from an AppImage distributed on the [Github releases page](https://github.com/FreeLanguageTools/vocabsieve/releases).

#### Advanced users
<details markdown=1>
<summary> Click to open instructions for advanced users </summary>
If you prefer to install it anyways, you can use `pip3 install vocabsieve` (add `-–user` if appropriate). (**Note**: Newer versions of Python will stop you from installing into your global Python environment by default. You may need to create a virtual environment). This will install a desktop file which you should be able to see from your launcher menu. If you do not use a desktop environment, you can launch it through the command line `vocabsieve`.

If you want to test the latest features, you can go to [CI artifacts page](https://nightly.link/FreeLanguageTools/vocabsieve/workflows/build-binaries/master) page to obtain the latest builds, but they are not guaranteed to run. If you notice anything wrong from those builds, open an issue on GitHub. Note: ensure you are using the latest nightly build before reporting anything.

If you want to test the latest features, you can go to [CI artifacts page](https://nightly.link/FreeLanguageTools/vocabsieve/workflows/build-binaries/master) page to obtain the latest builds, but they are not guaranteed to run. If you notice anything wrong from those builds, open an issue on GitHub. Ensure you are using the latest nightly build before reporting anything.
</details>

### Windows

Go to the [Github releases page](https://github.com/FreeLanguageTools/vocabsieve/releases) for standalone versions. You may have to dismiss some warnings from the browser or Windows to install it, as it is unsigned.

<details markdown=1>
<summary> Click to open instructions for advanced users </summary>

If you want to test the latest features, you can go to [CI artifacts page](https://nightly.link/FreeLanguageTools/vocabsieve/workflows/build-binaries/master) page to obtain the latest builds, but they are not guaranteed to run. If you notice anything wrong from those builds, open an issue on GitHub. Note: ensure you are using the latest nightly build before reporting anything.
</details>

{: .note}
Only 64 bit Windows 7+ is supported. (**Note**: There has been reports of it not working on Windows 8 due to a dependency on Windows 10's API. In any case, Windows 10 is routinely tested to work)
Only 64 bit Windows 10+ is supported

### MacOS

Expand All @@ -45,9 +52,11 @@ The build is unsigned because I do not want to pay Apple US$100 a year just to d
Open a new terminal window and type the following command
`xattr -d com.apple.quarantine /path/to/app.app` (replacing "/path/to/app.app" with path to VocabSieve app). This unquarantines the app and allows it to run on your Mac without being certified by Apple.

### Advanced users
<details markdown=1>
<summary> Click to open instructions for advanced users </summary>

If you want to test the latest features, you can go to [CI artifacts page](https://nightly.link/FreeLanguageTools/vocabsieve/workflows/build-binaries/master) page to obtain the latest builds, but they are not guaranteed to run. If you notice anything wrong from those builds, open an issue on GitHub. Note: ensure you are using the latest nightly build before reporting anything.
</details>

## AnkiConnect (Required for card creation)

Expand Down
2 changes: 1 addition & 1 deletion vocabsieve/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ def initWidgets(self):
self.bar = QStatusBar()
self.allow_editing = QCheckBox(
"Allow directly editing definition fields")
self.primary = QCheckBox("Use primary selection")
self.primary = QCheckBox("*Use primary selection")
self.register_config_handler(self.allow_editing, "allow_editing", True)
self.capitalize_first_letter = QCheckBox(
"Capitalize first letter of sentence")
Expand Down

0 comments on commit 26e07ff

Please sign in to comment.