Skip to content

Commit c45c286

Browse files
committed
Update README; fix failing test
1 parent cb3846d commit c45c286

File tree

3 files changed

+55
-30
lines changed

3 files changed

+55
-30
lines changed

README.html

+28-5
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
<a href="https://app.codacy.com/app/luoliyan/chinese-support-redux?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=luoliyan/chinese-support-redux&amp;utm_campaign=Badge_Grade_Dashboard"><img src="https://api.codacy.com/project/badge/Grade/6b99fcb30a2142d899f79c601a6aa291" alt="Codacy Badge" /></a><a href="https://travis-ci.org/luoliyan/chinese-support-redux"><img src="https://travis-ci.org/luoliyan/chinese-support-redux.svg?branch=master" alt="Build Status" /></a> <a href="https://coveralls.io/github/luoliyan/chinese-support-redux?branch=master"><img src="https://coveralls.io/repos/github/luoliyan/chinese-support-redux/badge.svg?branch=master" alt="Coverage Status" /></a>
22

3+
<a href="https://ko-fi.com/X8X01RVSD"><img src="https://ko-fi.com/img/githubbutton_sm.svg" alt="ko-fi" /></a>
34

4-
Chinese Support Redux is a rewrite and port of the <a href="https://github.com/ttempe/chinese-support-addon">original</a> Chinese Support add-on to Anki 2.1. It offers a number of features that streamline the process of creating flashcards for learning Chinese. The current focus of development effort is on improving the stability of the add-on and the accuracy of its output. Once the core functionality is sufficiently robust and reliable, additional features will be considered. While many of the changes will be structural in nature, I would encourage users to update the add-on whenever the version number increases and notify me of any problems. Your feedback is important.
5+
Chinese Support Redux is an Anki 2.1-compatible rewrite of the <a href="https://github.com/ttempe/chinese-support-addon">original</a> Chinese Support add-on. It offers a number of features that streamline the process of creating flashcards for learning Chinese. The current focus of development effort is on improving the stability of the add-on and the accuracy of its output. Once the core functionality is sufficiently robust and reliable, additional features will be considered.
56

6-
<b>Important Note</b>: If you find that a field is not filling at all, please check <a href="https://github.com/luoliyan/chinese-support-redux/blob/master/chinese/config.json">config.json</a> for the complete list of valid field names.
7+
Please note that the add-on is still in beta and is sometimes shipped in an unstable state. Please upgrade with each new release and report any issues on GitHub. The automated test suite is a work-in-progress, so I still rely heavily on user reports to supplement my own manual testing.
8+
9+
<b>Important Notes</b>
10+
11+
<ul><li>If you find that a field is not filling at all, please check <a href="https://github.com/luoliyan/chinese-support-redux/blob/master/chinese/config.json">config.json</a> for the complete list of valid field names. For those migrating from an older version of the add-on, you will need to rename any definition fields to <code>English</code>, <code>German</code> or <code>French</code>, depending on what you want.</li><li>If tone colours are not showing, ensure that the styling section of the template contains the following CSS:</li></ul>
12+
<code>
13+
.tone1 {color: red;}
14+
.tone2 {color: orange;}
15+
.tone3 {color: green;}
16+
.tone4 {color: blue;}
17+
.tone5 {color: gray;}
18+
</code>
719

820
<b><i>Features</i></b>
921

10-
<ul><li>Automatic field filling<ul><li>Translation (from built-in dictionary; supports English, German and French)</li><li>Romanisation (supports <a href="https://en.wikipedia.org/wiki/Pinyin">Pīnyīn (拼音)</a> and Cantonese <a href="https://en.wikipedia.org/wiki/Jyutping">Jyutping (粵拼)</a>)</li><li>Mandarin Audio (fetched from Google or Baidu)</li><li>Traditional (繁體字) and simplified (簡體字) characters</li><li><a href="https://en.wikipedia.org/wiki/Bopomofo">Bopomofo (ㄅㄆㄇㄈ)</a>, also known as Zhuyin (注音)</li><li><a href="https://www.w3schools.com/tags/tag_ruby.asp">Rubies</a> (small-print transcription placed above characters)</li><li>Frequency (from “very basic” to “obscure”). Based on <a href="https://github.com/ernop/anki-chinese-word-frequency">anki-chinese-word-frequency</a></li></ul></li><li>Tone colours (applied to characters, romanisation and Bopomofo)</li><li>Built-in note types (Basic and Advanced)</li></ul>
22+
<ul><li>Automatic field filling<ul><li>Translation (from built-in dictionary; supports English, German and French)</li><li>Romanisation (supports <a href="https://en.wikipedia.org/wiki/Pinyin">Pīnyīn (拼音)</a> and Cantonese <a href="https://en.wikipedia.org/wiki/Jyutping">Jyutping (粵拼)</a>)</li><li>Mandarin Audio (fetched from Google or Baidu)</li><li>Traditional (繁體字) and simplified (簡體字) characters</li><li><a href="https://en.wikipedia.org/wiki/Bopomofo">Bopomofo (ㄅㄆㄇㄈ)</a>, also known as Zhuyin (注音)</li><li><a href="https://www.w3schools.com/tags/tag_ruby.asp">Rubies</a> (small-print transcription placed above characters)</li><li>Frequency (from “very basic” to “obscure”) - based on <a href="https://github.com/ernop/anki-chinese-word-frequency">anki-chinese-word-frequency</a></li><li>Usage Sentence Examples - Chinese/English sentence pairs from <a href="https://tatoeba.org/">Tatoeba</a></li></ul></li><li>Tone colours (applied to characters, romanisation and Bopomofo)</li><li>Built-in note types (Basic and Advanced)</li></ul>
1123
<b><i>Status</i></b>
1224

1325
The vast majority of features have been successfully ported, and the add-on is in a usable state, albeit with some definite rough edges.
@@ -20,7 +32,7 @@
2032

2133
<b><i>Usage</i></b>
2234

23-
The core feature of the add-on is the automatic field filling. To take advantage of this, you need to have an Anki note type with the appropriate fields (e.g., <code>Hanzi</code>, <code>Meaning</code>, <code>Reading</code>, <code>Sound</code>). See <code>config.json</code> for a list of valid field names.
35+
The core feature of the add-on is the automatic field filling. To take advantage of this, you need to have an Anki note type with the appropriate fields (e.g., <code>Hanzi</code>, <code>English</code>, <code>Pinyin</code>, <code>Sound</code>). See <code>config.json</code> for a list of valid field names.
2436

2537
If you don't already have such a note type, the easiest approach is to use one of the built-in models. Two types are installed automatically: Basic and Advanced. The only important difference is that the Advanced model shows more information.
2638

@@ -39,7 +51,9 @@
3951

4052
I understand the documentation is sparse. Anyone who wishes to add content to <a href="https://github.com/luoliyan/chinese-support-redux/wiki">the wiki</a> is more than welcome to.
4153

42-
<b><i>Testing</i></b>
54+
<b><i>Development</i></b>
55+
56+
<b>Testing</b>
4357

4458
For those who wish to run the tests locally, this is fairly straightforward.
4559

@@ -64,3 +78,12 @@
6478
pip install -r requirements.txt
6579
make test
6680
</code>
81+
82+
<b>Debugging with PyCharm</b>
83+
84+
<h4>(a) Without Anki Source</h4><ol><li>Copy the repo root to the Anki add-ons folder. As of version 2.1, this is <code>%AppData%\Anki2\addons21</code></li><li>Create a Python 3.8 virtual environment in PyCharm for the add-on folder (make sure you are running 64-bit Python). This can be done with:<code>pythonimport platformplatform.architecture()</code></li><li>Run the following in the PyCharm console (these could be added to <code>requirements.txt</code> instead):<code>pythonimport subprocesssubprocess.check_call(["pip3", "install", "mypy", "anki", "ankirspy", "aqt", "pyqt5", pyqtwebengine"])</code></li><li>Install the <code>requirements.txt</code> for the project venv</li><li>Create a file for debugging in PyCharm as:<code>pythonimport aqtaqt.run()</code></li><li>Start debugging. The first Anki run will pick up the <code>tests</code> folder as a plugin and error out. This is expected.</li><li>Go to the Tools → Add-ons menu and disable <code>tests</code></li><li>Enjoy coding!</li></ol>
85+
<h4>(b) With Anki Source</h4><ol><li>Download and extract Anki source code somewhere on the hard drive.</li><li>Create a folder such as <code>anki-addon-dev</code> on your hard drive and open it on PyCharm as a project. Then, open Anki source code folder as another project within the current project window by choosing Attach.</li><li>Under <code>Preferences → Project → Project Dependencies → anki-addon-dev</code>, check the box to approve the add-on depends on Anki source code.</li><li>Under the run configurations beside run and debug buttons, edit the configuration as follows:</li><li>Script Path: <code>[PATH_TO_ANKI_SOURCE_FOLDER]/anki-2.1.13/runanki</code></li><li>Parameters: <code>-b [PATH_TO_ANKI_ADDON_PROJECT]/anki-addon-dev</code></li><li>Create your project files and do the development on this path:<code>anki-addon-dev/addons21/[YOUR_PROJECT_FOLDER]</code></li><li>Happy debugging while developing </li></ol>
86+
<b>Additional Guidance</b>
87+
88+
<ul><li><a href="https://addon-docs.ankiweb.net/#/getting-started">Writing Anki Add-ons - Getting Started</a></li><li><a href="https://github.com/ankitects/anki/blob/main/docs/development.md">Anki development README</a></li><li><a href="https://chrisk91.me/2018/02/13/Setting-up-VSCode-for-Anki-addon-development.html">Setting up VSCode for Anki add on development</a></li></ul>
89+

README.md

+26-24
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
**_2021 Project Status: Active development will resume on Saturday the 27th of February._**
2-
31
# Chinese Support Redux
42

53
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/6b99fcb30a2142d899f79c601a6aa291)](https://app.codacy.com/app/luoliyan/chinese-support-redux?utm_source=github.com&utm_medium=referral&utm_content=luoliyan/chinese-support-redux&utm_campaign=Badge_Grade_Dashboard)
64
[![Build Status](https://travis-ci.org/luoliyan/chinese-support-redux.svg?branch=master)](https://travis-ci.org/luoliyan/chinese-support-redux) [![Coverage Status](https://coveralls.io/repos/github/luoliyan/chinese-support-redux/badge.svg?branch=master)](https://coveralls.io/github/luoliyan/chinese-support-redux?branch=master)
75

6+
[![ko-fi](https://ko-fi.com/img/githubbutton_sm.svg)](https://ko-fi.com/X8X01RVSD)
7+
88
Chinese Support Redux is an Anki 2.1-compatible rewrite of the [original](https://github.com/ttempe/chinese-support-addon) Chinese Support add-on. It offers a number of features that streamline the process of creating flashcards for learning Chinese. The current focus of development effort is on improving the stability of the add-on and the accuracy of its output. Once the core functionality is sufficiently robust and reliable, additional features will be considered.
99

1010
Please note that the add-on is still in beta and is sometimes shipped in an unstable state. Please upgrade with each new release and report any issues on GitHub. The automated test suite is a work-in-progress, so I still rely heavily on user reports to supplement my own manual testing.
@@ -73,7 +73,9 @@ If you encounter any issues, the best way to have these addressed is to [raise t
7373

7474
I understand the documentation is sparse. Anyone who wishes to add content to [the wiki](https://github.com/luoliyan/chinese-support-redux/wiki) is more than welcome to.
7575

76-
## Testing
76+
## Development
77+
78+
### Testing
7779

7880
For those who wish to run the tests locally, this is fairly straightforward.
7981

@@ -99,46 +101,46 @@ pip install -r requirements.txt
99101
make test
100102
```
101103

104+
### Debugging with PyCharm
102105

103-
## Debug with PyCharm
104-
### Without Anki Source
106+
#### (a) Without Anki Source
105107

106-
1. Copy the repo root to the anki plugins folder. As of 2.1 this is : `C:\Users\<user>\AppData\Roaming\Anki2\addons21`
107-
2. Create py 3.8 venv in pycharm for addon folder. Make sure you are running 64 bit python. This can be done with
108+
1. Copy the repo root to the Anki add-ons folder. As of version 2.1, this is `%AppData%\Anki2\addons21`
109+
2. Create a Python 3.8 virtual environment in PyCharm for the add-on folder (make sure you are running 64-bit Python). This can be done with:
108110
```python
109111
import platform
110112
platform.architecture()
111113
```
112-
3. Run the following in the pycharm python console (these could be added to requirements.txt instead):
113-
114+
3. Run the following in the PyCharm console (these could be added to `requirements.txt` instead):
114115
``` python
115116
import subprocess
116117
subprocess.check_call(["pip3", "install", "mypy", "anki", "ankirspy", "aqt", "pyqt5", pyqtwebengine"])
117118
```
118-
4. Install the requirements.txt for the project venv
119-
120-
5. Create a file for debugging in pycharm as:
119+
4. Install the `requirements.txt` for the project venv
120+
5. Create a file for debugging in PyCharm as:
121121
``` python
122122
import aqt
123-
124123
aqt.run()
125124
```
126-
6. Start debugging. The first anki run will pick up the 'tests' folder as a plugin and error out. This is expected.
127-
7. Go to the Tools->Add-ons menu and disable 'tests'
125+
6. Start debugging. The first Anki run will pick up the `tests` folder as a plugin and error out. This is expected.
126+
7. Go to the ToolsAdd-ons menu and disable `tests`
128127
8. Enjoy coding!
129128

130-
### With Anki Source
129+
#### (b) With Anki Source
130+
131131
1. Download and extract Anki source code somewhere on the hard drive.
132132
2. Create a folder such as `anki-addon-dev` on your hard drive and open it on PyCharm as a project. Then, open Anki source code folder as another project within the current project window by choosing Attach.
133-
3. On `Preferences -> Project -> Project Dependencies -> anki-addon-dev`: Check the box to approve the add-on depends on Anki source code.
134-
4. Under the run configurations beside run and debug buttons, edit configurations as follows:
135-
Script Path: `[YOUR_PATH_TO_ANKI_SOURCE_FOLDER]/anki-2.1.13/runanki`
136-
Parameters: `-b [YOUR_PATH_TO_ANKI_ADDON_PROJECT]/anki-addon-dev`
133+
3. Under `Preferences Project Project Dependencies anki-addon-dev`, check the box to approve the add-on depends on Anki source code.
134+
4. Under the run configurations beside run and debug buttons, edit the configuration as follows:
135+
- Script Path: `[PATH_TO_ANKI_SOURCE_FOLDER]/anki-2.1.13/runanki`
136+
- Parameters: `-b [PATH_TO_ANKI_ADDON_PROJECT]/anki-addon-dev`
137137
5. Create your project files and do the development on this path:
138138
`anki-addon-dev/addons21/[YOUR_PROJECT_FOLDER]`
139139
6. Happy debugging while developing
140140

141-
### Additional Debugging Guidance
142-
- https://addon-docs.ankiweb.net/#/getting-started
143-
- https://github.com/ankitects/anki/blob/stable/README.development
144-
- https://chrisk91.me/2018/02/13/Setting-up-VSCode-for-Anki-addon-development.html
141+
### Additional Guidance
142+
143+
- [Writing Anki Add-ons - Getting Started](https://addon-docs.ankiweb.net/#/getting-started)
144+
- [Anki development README](https://github.com/ankitects/anki/blob/main/docs/development.md)
145+
- [Setting up VSCode for Anki add on development](https://chrisk91.me/2018/02/13/Setting-up-VSCode-for-Anki-addon-development.html)
146+

tests/test_behavior.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,7 @@ def model(self):
300300
'Ruby (Bopomofo)': '<span class="tone2"><ruby>床<rt>ㄔㄨㄤˊ</rt></ruby></span><span class="tone1"><ruby>单<rt>ㄉㄢ</rt></ruby></span>',
301301
'Ruby (Jyutping)': '',
302302
'Silhouette': '_ _',
303-
'Sound (Mandarin)': '[sound:床单_google_zh-cn.mp3]',
303+
'Sound (Mandarin)': '[sound:床单_google_zh-CN.mp3]',
304304
'Sound (Cantonese)': '',
305305
}
306306
fields = expected.keys()

0 commit comments

Comments
 (0)