From 72507eed7e58f3afc67bdcfdefa810300e6b211c Mon Sep 17 00:00:00 2001 From: postautistic Date: Mon, 13 Nov 2017 15:13:36 -0400 Subject: [PATCH] update --- anki.html | 100 +++++++++++++++++++- assets/yomi-brief-default.png | Bin 0 -> 13828 bytes assets/yomi-brief-rikai.png | Bin 0 -> 15764 bytes assets/yomi-brief-rikai.txt | 102 ++++++++++++++++++++ assets/yomi-glossary-bullets.png | Bin 0 -> 20578 bytes assets/yomi-glossary-bullets.txt | 157 +++++++++++++++++++++++++++++++ assets/yomi-glossary-default.png | Bin 0 -> 18101 bytes guide.html | 2 +- 8 files changed, 359 insertions(+), 2 deletions(-) create mode 100644 assets/yomi-brief-default.png create mode 100644 assets/yomi-brief-rikai.png create mode 100644 assets/yomi-brief-rikai.txt create mode 100644 assets/yomi-glossary-bullets.png create mode 100644 assets/yomi-glossary-bullets.txt create mode 100644 assets/yomi-glossary-default.png diff --git a/anki.html b/anki.html index 0fd551e..48bd150 100644 --- a/anki.html +++ b/anki.html @@ -11,7 +11,7 @@

Anki Startup Guide

-

(fontsreal-time import feature)

+

(fontsyomichan integration)

Step 1:

Download Anki: http://ankisrs.net

@@ -60,6 +60,103 @@
+ + + +

Yomichan Anki integration guide

+ +

This guide assumes you have already installed Yomichan and added the JMdict dictionary to it. If you have not yet done this, see the Yomichan webpage for instructions.

+ +

Yomichan can be set up to automatically create Anki cards from the words which you hover over with it. In order to do this, it is necessary to install Yomichan's companion Anki add-on called AnkiConnect. The installation is no different from that of any other Anki add-on and there is no post-install configuration necessary. See the AnkiConnect page on the Yomichan website for instructions.

+ +

After you have installed AnkiConnect, you will need to create a deck in Anki to add the words to, assuming you have not done so already. This guide will assume you want to create a deck containing the following information:

+ + +

We want 5 seperate pieces of information, so this means our deck will need 5 seperate fields to house said information. To get started, we will need to open Anki and click on the "Create Deck" button at the bottom of the window. We will then be presented with a pop-up asking us what we wish to call our deck - I will be using the name "Japanese Vocabulary", but feel free to call it whatever you want.

+ +

Once the deck has been created, click on it to select it, then press the "Add" button at the top of the screen. This will present us with a pop-up window allowing us to not only add cards to the deck, but also change various things about the deck itself. Our first order of business is creating a new note type to use for our deck. Begin by clicking the button next to the word "Type" (the button itself will most likely say "Basic"), which will open up another pop-up window. From here, our actions will involve clicking more buttons in order to open yet more pop-up windows:
+   Manage -> Add -> Select "Clone: Basic" and then "OK" -> Type in name (e.g. Yomi) and then click "OK" -> Close -> Select "Yomi" and then click "Choose"

+ +

Having fun yet? Now it's time to create our new fields and delete the default ones. To begin, click the "Fields..." button to open up yet another pop-up window. Our first order of business is to click the "Add" button in order to create our new fields:

+ + +

Once done, select the default fields and click "Delete" to get rid of them, then close the pop-up to return to the original "Add" pop-up window. The final thing we need to do in Anki is edit the appearance of the cards themselves. Begin by clicking the "Cards..." button. Here's where things get subjective, but I like to keep my cards simple. If you wish to copy my formatting, then simply add the text below to the relevant sections:

+ +
Front Template +<div class=expression>{{Expression}}</div> + + +Styling +.card { + font-family: TakaoPGothic; + font-size: 20px; + text-align: center; + color: black; + background-color: white; +} + +.expression { + font-size: 56px; +} + +.reading { + font-size: 42px; +} + + +Back Template +<div class=expression>{{Furigana}}</div> + +<hr id=answer> + +<div class=reading>{{Reading}}</div><br> +{{Meaning}} + +<!--{{Audio}}-->
+ +

For the font I use, see here.

+ +

Once you've got your card formatting how you want it, simply close the window, along with any remaining pop-up windows (making sure to leave Anki itself open!).

+ +

Now that we're done with Anki, we need to make our way over to Yomichan's settings and tick the "Enable Anki integration" checkbox. Upon doing so, a bunch of new options should appear. We are interested in the options in the "Terms" section. First off, under "Deck", we want to select the deck which we just created (Japanese Vocabulary), and under "Model" we want to select the note type which we just created (Yomi). The "Terms" section should now display our newly created fields, so all that's left from here is to assign corresponding "Markers" to them (see the Yomichan webpage for a full list of options).

+ + + +

Alternatively, you can use {glossary-brief} for the Meaning field. {glossary} contains information about the word, such as whether it is a noun, verb, etc. and what dictionary the definition is being taken from. {glossary-brief} contains no other information besides the definitions themselves.

+ +

Another alternative is using {furigana-plain} instead of {furigana}. {furigana} uses HTML ruby text to display the furigana, while {furigana-plain} uses the method of applying furigana provided by the "Japanese Support" Anki addon.

+ +

And with that, we're done! To test that you've set everything up properly, try hovering over the following word and clicking the green + button which should now be present in Yomichan's pop-up: 無為無能

+ +

TEMPLATES

+

If you're not satisfied with Yomichan's default formatting of definitions, there are alternative templates. Simply copy the contents of the linked template into the template box under the Anki Options section of Yomichan's settings (make sure you have the Show advanced options checkbox ticked), making sure to replace the existing values (and also making sure that you are using {glossary-brief} or {glossary}, as appropriate).

+ + + +

TROUBLESHOOTING

diff --git a/assets/yomi-brief-default.png b/assets/yomi-brief-default.png new file mode 100644 index 0000000000000000000000000000000000000000..5950ad568f06a6ebf7a6cbad196fbfcd6b563037 GIT binary patch literal 13828 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 literal 0 HcmV?d00001 diff --git a/assets/yomi-brief-rikai.txt b/assets/yomi-brief-rikai.txt new file mode 100644 index 0000000..06e6aa8 --- /dev/null +++ b/assets/yomi-brief-rikai.txt @@ -0,0 +1,102 @@ +{{#*inline "glossary-single"}} + {{~#unless brief~}} + {{~#if tags~}}({{#each tags}}{{name}}{{#unless @last}}; {{/unless}}{{/each}}) {{/if~}} + {{~/unless~}} + {{~#if glossary.[1]~}} + {{#each glossary}}{{.}}{{#unless @last}}; {{/unless}}{{/each}} + {{~else~}} + {{glossary.[0]}} + {{~/if~}} +{{/inline}} + +{{#*inline "audio"}}{{/inline}} + +{{#*inline "character"}} + {{~definition.character~}} +{{/inline}} + +{{#*inline "dictionary"}} + {{~definition.dictionary~}} +{{/inline}} + +{{#*inline "expression"}} + {{~#if modeTermKana~}} + {{~#if definition.reading~}} + {{definition.reading}} + {{~else~}} + {{definition.expression}} + {{~/if~}} + {{~else~}} + {{definition.expression}} + {{~/if~}} +{{/inline}} + +{{#*inline "furigana"}} + {{#furigana}}{{{definition}}}{{/furigana}} +{{/inline}} + +{{#*inline "furigana-plain"}} + {{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}} +{{/inline}} + +{{#*inline "glossary"}} + {{~#if modeKanji~}} + {{~#if definition.glossary.[1]~}} + {{#each definition.glossary}}{{.}}{{#unless @last}}; {{/unless}}{{/each}} + {{~else~}} + {{definition.glossary.[0]}} + {{~/if~}} + {{~else~}} + {{~#if group~}} + {{~#if definition.definitions.[1]~}} + {{#each definition.definitions}} * {{> glossary-single brief=../brief}}{{/each}} + {{~else~}} + {{~> glossary-single definition.definitions.[0] brief=brief~}} + {{~/if~}} + {{~else~}} + {{~> glossary-single definition brief=brief~}} + {{~/if~}} + {{~/if~}} +{{/inline}} + +{{#*inline "glossary-brief"}} + {{~> glossary brief=true ~}} +{{/inline}} + +{{#*inline "kunyomi"}} + {{~#each definition.kunyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + +{{#*inline "onyomi"}} + {{~#each definition.onyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + +{{#*inline "reading"}} + {{~#unless modeTermKana}}{{definition.reading}}{{/unless~}} +{{/inline}} + +{{#*inline "sentence"}} + {{~#if definition.cloze}}{{definition.cloze.sentence}}{{/if~}} +{{/inline}} + +{{#*inline "cloze-prefix"}} + {{~#if definition.cloze}}{{definition.cloze.prefix}}{{/if~}} +{{/inline}} + +{{#*inline "cloze-body"}} + {{~#if definition.cloze}}{{definition.cloze.body}}{{/if~}} +{{/inline}} + +{{#*inline "cloze-suffix"}} + {{~#if definition.cloze}}{{definition.cloze.suffix}}{{/if~}} +{{/inline}} + +{{#*inline "tags"}} + {{~#each definition.tags}}{{name}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + +{{#*inline "url"}} + {{definition.url}} +{{/inline}} + +{{~> (lookup . "marker") ~}} \ No newline at end of file diff --git a/assets/yomi-glossary-bullets.png b/assets/yomi-glossary-bullets.png new file mode 100644 index 0000000000000000000000000000000000000000..8daf4af890a7e80888ec4c73f9be3fcb5b51f6b8 GIT binary patch literal 20578 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%0AkWCRu<%~yybB84m>FH85DmLV-7kCdNBux+-B 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 D*OXQ6 literal 0 HcmV?d00001 diff --git a/assets/yomi-glossary-bullets.txt b/assets/yomi-glossary-bullets.txt new file mode 100644 index 0000000..66045e0 --- /dev/null +++ b/assets/yomi-glossary-bullets.txt @@ -0,0 +1,157 @@ +{{#*inline "glossary-single"}} + {{~#unless brief~}} + {{~#if definitionTags~}}({{#each definitionTags}}{{name}}{{#unless @last}}, {{/unless}}{{/each}}) {{/if~}} + {{~#if only~}}({{#each only}}{{{.}}}{{#unless @last}}, {{/unless}}{{/each}} only) {{/if~}} + {{~/unless~}} + {{~#if glossary.[1]~}} + {{~#if compactGlossaries~}} + {{#each glossary}}{{#multiLine}}{{.}}{{/multiLine}}{{#unless @last}} | {{/unless}}{{/each}} + {{~else~}} +
    {{#each glossary}}
  • {{#multiLine}}{{.}}{{/multiLine}}
  • {{/each}}
+ {{~/if~}} + {{~else~}} +
  • {{~#multiLine}}{{glossary.[0]}}{{/multiLine~}}
+ {{~/if~}} +{{/inline}} + +{{#*inline "audio"}}{{/inline}} + +{{#*inline "character"}} + {{~definition.character~}} +{{/inline}} + +{{#*inline "dictionary"}} + {{~definition.dictionary~}} +{{/inline}} + +{{#*inline "expression"}} + {{~#if merge~}} + {{~#if modeTermKana~}} + {{~#each definition.reading~}} + {{{.}}} + {{~#unless @last}}、{{/unless~}} + {{~else~}} + {{~#each definition.expression~}} + {{{.}}} + {{~#unless @last}}、{{/unless~}} + {{~/each~}} + {{~/each~}} + {{~else~}} + {{~#each definition.expression~}} + {{{.}}} + {{~#unless @last}}、{{/unless~}} + {{~/each~}} + {{~/if~}} + {{~else~}} + {{~#if modeTermKana~}} + {{~#if definition.reading~}} + {{definition.reading}} + {{~else~}} + {{definition.expression}} + {{~/if~}} + {{~else~}} + {{definition.expression}} + {{~/if~}} + {{~/if~}} +{{/inline}} + +{{#*inline "furigana"}} + {{~#if merge~}} + {{~#each definition.expressions~}} + {{~#furigana}}{{{.}}}{{/furigana~}} + {{~#unless @last}}、{{/unless~}} + {{~/each~}} + {{~else~}} + {{#furigana}}{{{definition}}}{{/furigana}} + {{~/if~}} +{{/inline}} + +{{#*inline "furigana-plain"}} + {{~#if merge~}} + {{~#each definition.expressions~}} + {{~#furiganaPlain}}{{{.}}}{{/furiganaPlain~}} + {{~#unless @last}}、{{/unless~}} + {{~/each~}} + {{~else~}} + {{#furiganaPlain}}{{{definition}}}{{/furiganaPlain}} + {{~/if~}} +{{/inline}} + +{{#*inline "glossary"}} +
+ {{~#if modeKanji~}} + {{~#if definition.glossary.[1]~}} +
    {{#each definition.glossary}}
  1. {{.}}
  2. {{/each}}
+ {{~else~}} + {{definition.glossary.[0]}} + {{~/if~}} + {{~else~}} + {{~#if group~}} + {{~#if definition.definitions.[1]~}} +
    {{#each definition.definitions}}
  1. {{> glossary-single brief=../brief compactGlossaries=../compactGlossaries}}
  2. {{/each}}
+ {{~else~}} + {{~> glossary-single definition.definitions.[0] brief=brief compactGlossaries=compactGlossaries~}} + {{~/if~}} + {{~else if merge~}} + {{~#if definition.definitions.[1]~}} +
    {{#each definition.definitions}}
  1. {{> glossary-single brief=../brief compactGlossaries=../compactGlossaries}}
  2. {{/each}}
+ {{~else~}} + {{~> glossary-single definition.definitions.[0] brief=brief compactGlossaries=compactGlossaries~}} + {{~/if~}} + {{~else~}} + {{~> glossary-single definition brief=brief compactGlossaries=compactGlossaries~}} + {{~/if~}} + {{~/if~}} +
+{{/inline}} + +{{#*inline "glossary-brief"}} + {{~> glossary brief=true ~}} +{{/inline}} + +{{#*inline "kunyomi"}} + {{~#each definition.kunyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + +{{#*inline "onyomi"}} + {{~#each definition.onyomi}}{{.}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + +{{#*inline "reading"}} + {{~#unless modeTermKana~}} + {{~#if merge~}} + {{~#each definition.reading~}} + {{{.}}} + {{~#unless @last}}、{{/unless~}} + {{~/each~}} + {{~else~}} + {{~definition.reading~}} + {{~/if~}} + {{~/unless~}} +{{/inline}} + +{{#*inline "sentence"}} + {{~#if definition.cloze}}{{definition.cloze.sentence}}{{/if~}} +{{/inline}} + +{{#*inline "cloze-prefix"}} + {{~#if definition.cloze}}{{definition.cloze.prefix}}{{/if~}} +{{/inline}} + +{{#*inline "cloze-body"}} + {{~#if definition.cloze}}{{definition.cloze.body}}{{/if~}} +{{/inline}} + +{{#*inline "cloze-suffix"}} + {{~#if definition.cloze}}{{definition.cloze.suffix}}{{/if~}} +{{/inline}} + +{{#*inline "tags"}} + {{~#each definition.definitionTags}}{{name}}{{#unless @last}}, {{/unless}}{{/each~}} +{{/inline}} + +{{#*inline "url"}} +
{{definition.url}} +{{/inline}} + +{{~> (lookup . "marker") ~}} \ No newline at end of file diff --git a/assets/yomi-glossary-default.png b/assets/yomi-glossary-default.png new file mode 100644 index 0000000000000000000000000000000000000000..c77792276d7cc41176b31e64cf822885b6d27bb4 GIT binary patch literal 18101 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 -
  • Look up a chart of hiragana and katakana (such as these: hiragana / katakana) and write each kana down a few times. You can practice with DJT Kana. Make sure that you have a firm grasp on hiragana before moving on the the next step. Katakana is also important, but it's fine to move on to the next step without having as firm of a grasp on katakana.
  • +
  • Look up a chart of hiragana and katakana (such as these: hiragana / katakana) and write each kana down a few times. You can practice with DJT Kana. Make sure that you have a firm grasp on hiragana before moving on the the next step. Katakana is also important, but it's fine to move on to the next step without having as firm of a grasp on katakana.
  • Core2K/6K is the generally recommended Anki deck for beginners who want to build up a basic vocabulary before they start reading. Learn how to use it from the Anki startup guide. You should also install Yomichan (Firefox/Chrome), which will allow you to look up words by hovering over them.