diff --git a/images/index.html b/images/index.html index 06d44b2c..93404dc2 100644 --- a/images/index.html +++ b/images/index.html @@ -701,8 +701,15 @@
TODO example gif
Any customly inserted images, including images inserted directly by Yomichan, -will be converted to text which you have to hover over to reveal. -Of course, this image can also be clicked on to zoom. -See the video demo below to see exactly what happens.
+By default, images in the Primary Definition are visible. It is possible to +replace them with text that you need to hover over to reveal the image. +The video below shows how this works.
-There are three ways of disabling collapsed images.
+Collapsed images can be enabled in the runtime options:
+```json
+"img-utils": {
+ "stylize-images-in-glossary": true,
+ // ...
+}
+```
+
If you have enabled collapsed images, and want to expand a specific image, there are two ways to do this:
Place your images in the PrimaryDefinitionPicture
field, as shown in the section below.
To disable this for only specific images, +
To expand a specific image,
edit the HTML
of the desired field, and add data-do-not-convert="true"
.
An example is shown below: -
<img src="your_image.png" data-do-not-convert="true">
+
--
-
Disable it globally in the runtime options:
-
-
The PrimaryDefinitionPicture
Field¶
@@ -1529,7 +1543,7 @@ Additional DetailsNovember 23, 2022
+ March 9, 2024
diff --git a/search/search_index.json b/search/search_index.json
index 18999f5c..65b98340 100644
--- a/search/search_index.json
+++ b/search/search_index.json
@@ -1 +1 @@
-{"config":{"indexing":"full","lang":["en"],"min_search_length":3,"prebuild_index":false,"separator":"[\\s\\-]+"},"docs":[{"location":"","text":"Foreword This project is a fork of the outstanding JP Mining Note project created by Aquafina-Water-Bottle. Aquafina went silent a couple of months ago, and in the meantime, bugs have started to creep into this project as other supporting software has received updates. The purpose of this fork is to provide bugfixes for JPMN until Aquafina returns to take over maintenance again. I don't have the time or expertise to continue adding features to the note, but hopefully I can keep it functional. Version 0.11.0.5 has been released alongside this fork. It resolves a bug that prevented pitch accent information from being displayed correctly after a recent AJTJapanese update. Click here for instructions on updating. When Aquafina returns and resumes maintenance of the main project, I will close down this fork. The documentation for the original project can be found here . Note This is the documentation for the stable version of JPMN (Version 0.11). At this point though, it seems that far more people use the prerelease version (0.12). For this reason, bugs tend to be found and fixed more quickly in the prerelease version. The documentation for the stable version is pretty much complete, while the docs for the prerelease version are largely incomplete. Even if you install the prerelease version, these stable docs may still be useful in some cases. Keep the above points in mind when deciding which version to install. If you want to install the prerelease version, the docs can be found here Welcome to jp-mining-note's documentation! Here are a few demos: GUI Fields Card Creation Front | Dark Back | Dark Front | Light Back | Light Interested in getting this setup? Click here to get started!","title":"Home"},{"location":"alternatives/","text":"This page is dedicated to gathering various note types and decks that isn't jp-mining-note . These are added in order of when I first come across the note type, so it's roughly ordered from the oldest to newest note types. I personally try to add as many templates as I can find here, but it's likely I will miss some. Feel free to let me know of any note types you find interesting (including your own note type, or modified versions of this note), and I will very likely add it here! (Brownie points if you make a pull request for it too!) Note Types \u00b6 Anime Cards \u00b6 Website \u30fb Download \u30fb Contact Example images Image 1 Image 2 (Lazy Guide) Xelieu's Modified Anime Card \u00b6 Website & Download \u30fbContact: Xelieu#8158 ( TMW server ) Example images (bilingual examples not shown) Modern | Dark Modern | Light Simple | Dark Simple | Dark (alternative) Simple | Light stegatxins0's Modified Anime Card \u00b6 Website & Download \u30fbContact: Private 1 Example image Tatsumoto's TSC \u00b6 Website \u30fb Download \u30fb Mirror \u30fb Contact TSC is short for \"Targeted sentence cards\" jp-mining-note is a heavily modified version of this (to the point of it being completely rewritten) Example image AJATT-Tool's AnkiNoteTypes \u00b6 Website \u30fb Contact A collection of user-created notes. Most are based off of the above TSC template. The examples below do not showcase every note. Visit the templates folder on the website to see all the available notes. Examples JP1K TSC (dark) JP1K TSC (light) Fallback Word Sentence (cyphar) /templates/Japanese JP1K TSC /templates/Japanese JP1K TSC /templates/Japanese fallback /templates/Japanese words /templates/Japanese Mined Sentences (cyphar) MoonieBiloney's Note Types \u00b6 Website \u30fb Download \u30fb Contact Some require a Patreon subscription to access Eminent Note Type \u00b6 Website & Download \u30fbContact: eminent#8189 ( Perdition's server ) Example images Front Back Elax's Note Type \u00b6 Download \u30fbContact: \u3069\u3093\u5e95#6628 ( TMW server ) Example images Front | Dark Back | Dark Front | Light Back | Light Description from the author This is my anki card format it is based in the Gruvbox color scheme ( https://github.com/morhetz/gruvbox ) and changes dynamically with your Anki theme, you will need this handlebars in yomichan for it to work: https://pastebin.com/KSjbwrHk (It is a modified version of the one in animecards, the only thing it changes is the color of the pitch pattern so it changes dynamically with the Anki theme) although if you're going to use the dark theme and you already have the animecards handlebars is not neccessary to download it although I still recommend it. You can change between vocab card, sentence card, vocab audio card, and sentence audio card. ( Original discord message , on TMW server ) Timm's Anki Template \u00b6 Download \u30fb Download (alternative theme) \u30fbContact: Timm#3250 ( TMW server ) Examples Image Video Description from the author UPDATE1: tango wasn't being colored in the sentence so i fixed it, check yomichan screen shot and add the css UPDATE2: added css Here is my anki template, which is the result of bits I liked from other templates which I tried to glue together with my limited knowledge of programming. https://streamable.com/j3etpw Includes a card mined from the VN Steins;Gate 0 and a card from the LN \u5fd8\u5374\u63a2\u5075 Yomichan: https://i.imgur.com/vuHoVlM.png Add this to the styling page of the template in anki Handlebars: https://pastebin.com/TeSJc6ij Features: Automatic pitch coloring from https://ankiweb.net/shared/info/1557722832 iirc Semi-automatic title generation, so you know from which anime/VN etc. a word is from drop down page for multiple definitions, that are automatically added The same features as look below (you can reverse a word to be a sentence card, audio card etc, with one click) has full coverage with the intergration of embedded websites (more on this in the next section) NSFW filter to blur pictures from here https://rentry.co/mining stroke order for vocab that can be activated if you do so (most of the time the stroke order is clear, but what i implemented it for, is for that \u4e07\u304c\u4e00 case where a word has a weird stroke order, making it easier to remember) horrible and clusstered code made by me Note: This template is has following imperfections: Idk how to insert a line break when a word has multiple readings, picture of the problem https://i.imgur.com/YQpRgOj.png Websites for more coverage are not displayed correct on mobile, also idk how to fix it I think images are not responsively sized on mobile DM me if you have problems recreating the template (\u7de8\u96c6\u6e08) CSS update: Add this to the styling of the template in anki and check the yomichan screenshot above . jpsentence { margin : 20 px 0 0 0 ; font-size : 35 px ; text-align : center ; } . pcolor { display : inline-block ; } add this to .img2 and .img: display : flex ; justify-content : center ; align-items : center ; margin : 0 auto ; add this exclusively to .img2: margin-bottom : 25px ; Remove on the front template the div with jpsentence for the tango ( Original discord message , on TMW server ) Tigy01's Note Type \u00b6 Website \u30fb Download \u30fbContact: Tigy01#1231 ( Refold (JP) Server ) Example images Front Back Stazor's Note Type \u00b6 Download \u30fb Original discord message \u30fbContact: Stazor#6633 ( TMW server ) The download link contains a readme.txt that has instructions on how to setup the fields & basic info on the card Example images Front Front (on hover) Back Back (light) rudnam's Note Type \u00b6 Website & Download \u30fbContact: rudnam#8661 ( Refold (JP) Server ) Example images Full demo Vocab Sentence jidoujisho's Note Type \u00b6 The app jidoujisho comes with its own Anki template, that should be automatically generated on the first card add when using the app. Jo-Mako - Audio \u00b6 Website & Download & Contact Audio and picture at the front, everything else at the back Example images Front Back Kanji Popup Jo-Mako - Reading \u00b6 Website & Download & Contact Sentence at the front (with revealable picture and reading). Meaning at the back. Example images Example 1 Example 2 Mally's Note Type \u00b6 Website & Download Example images Front Back Nocompo's Note Type \u00b6 Website & Download Example images Front Back Klieret's Templates \u00b6 Website & Download Anacreon's Template \u00b6 Website & Download Example image Decks \u00b6 Kanken deck \u00b6 Website & Download \u30fb Contact The definitive deck to use for learning how to write kanji Not a note type used for mining Also see: Xelieu's alternative theme Example image NihongoKyoshi Anki Deck \u00b6 Download \u30fb Original discord message \u30fbContact: medamayaki#0328 ( TMW server ) Monolingual grammar deck Example images Front | Dark Back | Dark Front | Light Back | Light Other Decks \u00b6 Decks from AJATT Decks from TMW Everything Else (Not made specifically to learn Japanese) \u00b6 Prettify Modern Card Themes Anki Cards Templates SuperList Raagaception's 12STD CBSE Deck (Science stream, PCM) Anki Minimal Language Learning Template Awesome Anki He seems to have left TMW Discord server, and his demo video on Youtube was privated. I assume he no longer wants to be contacted. \u21a9","title":"Alternatives"},{"location":"alternatives/#note-types","text":"","title":"Note Types"},{"location":"alternatives/#anime-cards","text":"Website \u30fb Download \u30fb Contact Example images Image 1 Image 2","title":"Anime Cards"},{"location":"alternatives/#lazy-guide-xelieus-modified-anime-card","text":"Website & Download \u30fbContact: Xelieu#8158 ( TMW server ) Example images (bilingual examples not shown) Modern | Dark Modern | Light Simple | Dark Simple | Dark (alternative) Simple | Light","title":"(Lazy Guide) Xelieu's Modified Anime Card"},{"location":"alternatives/#stegatxins0s-modified-anime-card","text":"Website & Download \u30fbContact: Private 1 Example image","title":"stegatxins0's Modified Anime Card"},{"location":"alternatives/#tatsumotos-tsc","text":"Website \u30fb Download \u30fb Mirror \u30fb Contact TSC is short for \"Targeted sentence cards\" jp-mining-note is a heavily modified version of this (to the point of it being completely rewritten) Example image","title":"Tatsumoto's TSC"},{"location":"alternatives/#ajatt-tools-ankinotetypes","text":"Website \u30fb Contact A collection of user-created notes. Most are based off of the above TSC template. The examples below do not showcase every note. Visit the templates folder on the website to see all the available notes. Examples JP1K TSC (dark) JP1K TSC (light) Fallback Word Sentence (cyphar) /templates/Japanese JP1K TSC /templates/Japanese JP1K TSC /templates/Japanese fallback /templates/Japanese words /templates/Japanese Mined Sentences (cyphar)","title":"AJATT-Tool's AnkiNoteTypes"},{"location":"alternatives/#mooniebiloneys-note-types","text":"Website \u30fb Download \u30fb Contact Some require a Patreon subscription to access","title":"MoonieBiloney's Note Types"},{"location":"alternatives/#eminent-note-type","text":"Website & Download \u30fbContact: eminent#8189 ( Perdition's server ) Example images Front Back","title":"Eminent Note Type"},{"location":"alternatives/#elaxs-note-type","text":"Download \u30fbContact: \u3069\u3093\u5e95#6628 ( TMW server ) Example images Front | Dark Back | Dark Front | Light Back | Light Description from the author This is my anki card format it is based in the Gruvbox color scheme ( https://github.com/morhetz/gruvbox ) and changes dynamically with your Anki theme, you will need this handlebars in yomichan for it to work: https://pastebin.com/KSjbwrHk (It is a modified version of the one in animecards, the only thing it changes is the color of the pitch pattern so it changes dynamically with the Anki theme) although if you're going to use the dark theme and you already have the animecards handlebars is not neccessary to download it although I still recommend it. You can change between vocab card, sentence card, vocab audio card, and sentence audio card. ( Original discord message , on TMW server )","title":"Elax's Note Type"},{"location":"alternatives/#timms-anki-template","text":"Download \u30fb Download (alternative theme) \u30fbContact: Timm#3250 ( TMW server ) Examples Image Video Description from the author UPDATE1: tango wasn't being colored in the sentence so i fixed it, check yomichan screen shot and add the css UPDATE2: added css Here is my anki template, which is the result of bits I liked from other templates which I tried to glue together with my limited knowledge of programming. https://streamable.com/j3etpw Includes a card mined from the VN Steins;Gate 0 and a card from the LN \u5fd8\u5374\u63a2\u5075 Yomichan: https://i.imgur.com/vuHoVlM.png Add this to the styling page of the template in anki Handlebars: https://pastebin.com/TeSJc6ij Features: Automatic pitch coloring from https://ankiweb.net/shared/info/1557722832 iirc Semi-automatic title generation, so you know from which anime/VN etc. a word is from drop down page for multiple definitions, that are automatically added The same features as look below (you can reverse a word to be a sentence card, audio card etc, with one click) has full coverage with the intergration of embedded websites (more on this in the next section) NSFW filter to blur pictures from here https://rentry.co/mining stroke order for vocab that can be activated if you do so (most of the time the stroke order is clear, but what i implemented it for, is for that \u4e07\u304c\u4e00 case where a word has a weird stroke order, making it easier to remember) horrible and clusstered code made by me Note: This template is has following imperfections: Idk how to insert a line break when a word has multiple readings, picture of the problem https://i.imgur.com/YQpRgOj.png Websites for more coverage are not displayed correct on mobile, also idk how to fix it I think images are not responsively sized on mobile DM me if you have problems recreating the template (\u7de8\u96c6\u6e08) CSS update: Add this to the styling of the template in anki and check the yomichan screenshot above . jpsentence { margin : 20 px 0 0 0 ; font-size : 35 px ; text-align : center ; } . pcolor { display : inline-block ; } add this to .img2 and .img: display : flex ; justify-content : center ; align-items : center ; margin : 0 auto ; add this exclusively to .img2: margin-bottom : 25px ; Remove on the front template the div with jpsentence for the tango ( Original discord message , on TMW server )","title":"Timm's Anki Template"},{"location":"alternatives/#tigy01s-note-type","text":"Website \u30fb Download \u30fbContact: Tigy01#1231 ( Refold (JP) Server ) Example images Front Back","title":"Tigy01's Note Type"},{"location":"alternatives/#stazors-note-type","text":"Download \u30fb Original discord message \u30fbContact: Stazor#6633 ( TMW server ) The download link contains a readme.txt that has instructions on how to setup the fields & basic info on the card Example images Front Front (on hover) Back Back (light)","title":"Stazor's Note Type"},{"location":"alternatives/#rudnams-note-type","text":"Website & Download \u30fbContact: rudnam#8661 ( Refold (JP) Server ) Example images Full demo Vocab Sentence","title":"rudnam's Note Type"},{"location":"alternatives/#jidoujishos-note-type","text":"The app jidoujisho comes with its own Anki template, that should be automatically generated on the first card add when using the app.","title":"jidoujisho's Note Type"},{"location":"alternatives/#jo-mako-audio","text":"Website & Download & Contact Audio and picture at the front, everything else at the back Example images Front Back Kanji Popup","title":"Jo-Mako - Audio"},{"location":"alternatives/#jo-mako-reading","text":"Website & Download & Contact Sentence at the front (with revealable picture and reading). Meaning at the back. Example images Example 1 Example 2","title":"Jo-Mako - Reading"},{"location":"alternatives/#mallys-note-type","text":"Website & Download Example images Front Back","title":"Mally's Note Type"},{"location":"alternatives/#nocompos-note-type","text":"Website & Download Example images Front Back","title":"Nocompo's Note Type"},{"location":"alternatives/#klierets-templates","text":"Website & Download","title":"Klieret's Templates"},{"location":"alternatives/#anacreons-template","text":"Website & Download Example image","title":"Anacreon's Template"},{"location":"alternatives/#decks","text":"","title":"Decks"},{"location":"alternatives/#kanken-deck","text":"Website & Download \u30fb Contact The definitive deck to use for learning how to write kanji Not a note type used for mining Also see: Xelieu's alternative theme Example image","title":"Kanken deck"},{"location":"alternatives/#nihongokyoshi-anki-deck","text":"Download \u30fb Original discord message \u30fbContact: medamayaki#0328 ( TMW server ) Monolingual grammar deck Example images Front | Dark Back | Dark Front | Light Back | Light","title":"NihongoKyoshi Anki Deck"},{"location":"alternatives/#other-decks","text":"Decks from AJATT Decks from TMW","title":"Other Decks"},{"location":"alternatives/#everything-else-not-made-specifically-to-learn-japanese","text":"Prettify Modern Card Themes Anki Cards Templates SuperList Raagaception's 12STD CBSE Deck (Science stream, PCM) Anki Minimal Language Learning Template Awesome Anki He seems to have left TMW Discord server, and his demo video on Youtube was privated. I assume he no longer wants to be contacted. \u21a9","title":"Everything Else (Not made specifically to learn Japanese)"},{"location":"autopa/","text":"This page is dedicated to showcasing how pitch accent is displayed, and various ways to edit said display. What Is Pitch Accent? \u00b6 Here is a (slightly modified) excerpt taken from the AJT Japanese Github page that explains the notation well: Quote For more information on the Japanese pitch accent, I would like to refer you to this wikipedia article . In short, the following notations can be found: Overline : Indicates \"High\" pitch (see \"Binary pitch\" in Wikipedia article). Overline downstep : usually means stressing the mora/syllable before. Red circle mark : Nasal pronunciation. For example, \u3052 would be a nasal \u3051, and would represented as \u3051 \u00b0 . Blue color : Devoiced mora (barely pronounced at all). For example, \u30d2 would be closer to h than hi. Likewise, \u30af would be more like a k than ku. Specifying Pitch Accent \u00b6 The displayed pitch accent is usually the first position found in PAPositions . However, you can override this automatically chosen position using the PAOverride field. The demo above covers the most basic usage of PAOverride , which should suffice for most people. The rest of the page covers the details on exactly how PAOverride works, and all the ways to customize how the pitch accent is displayed. Colored Pitch Accent \u00b6 The reading, word and pitch overline can be automatically colored in Migaku style colors, according to the pitch accent. This automatic coloring behavior is disabled by default , and must be enabled in the runtime options : Enabling colored pitch accent (click here) \"auto-pitch-accent\" : { \"enabled\" : true , // (1)! \"colored-pitch-accent\" : { \"enabled\" : true , // ... } // ... } The auto-pitch-accent module must be enabled to use colored pitch accent. Note The \u8d77\u4f0f pattern is not automatically detected. To use this color, you must manually set the PAOverride field to -1 . Pitch Accent Groups \u00b6 Anki Tag \u65e5\u672c\u8a9e Example Reading heiban \u5e73\u677f \u81ea\u7136 \u3057\u305c\u3093\uffe3 atamadaka \u982d\u9ad8 \u4eba\u751f \u3058\uff3c\u3093\u305b\u3044 nakadaka \u4e2d\u9ad8 \u5f31\u70b9 \u3058\u3083\u304f\u3066\uff3c\u3093 odaka \u5c3e\u9ad8 \u9053\u5177 \u3069\u3046\u3050\uff3c kifuku \u8d77\u4f0f \u9a5a\u304f \u304a\u3069\u308d\uff3c\u304f When Pitch Is Not Automatically Colored \u00b6 Pitch accent coloring requires a numeric position value somewhere within the card. This is usually found in one of two places: PAPositions PAOverride Usually, PAPositions is automatically filled. In the cases where pitch accent coloring does not work as expected, your two main options are: Using PAOverride with a number (recommended). Force the pitch accent group with tags (see below). Override Pitch Accent Group \u00b6 In some extremely rare cases, you must set manually set the pitch accent group, if the available options do not work. To do this, add the appropriate tag to the card. The exact tags that can be used are shown in the summary table above, under the Anki Tag and \u65e5\u672c\u8a9e sections. For example, the tag can be heiban , \u5e73\u677f , etc. Note The tag only overrides the pitch accent color, and does not affect the pitch accent representation itself. This fact can be useful for certain exceptions, such as how \u901a\u308b is [1] instead of [2]. If you want to use the \u8d77\u4f0f pattern on \u901a\u308b, you will have to set the PAOverride value to 1 , and then add the \u8d77\u4f0f tag. TODO image of above (without tag, with tag) How Pitch Accent is Selected \u00b6 Pitch accent is selected based on the following priority: PAOverrideText PAOverride PAPositions AJTWordPitch The first field that is non-empty will be the field that is used to display the pitch accent. Note When the auto-pitch-accent module is disabled, the priority changes to the following: PAOverrideText PAOverride AJTWordPitch Of course, as the module is disabled, PAOverride will not be parsed in any way. More info on this can be found in the PAOverride field section below. (1) PAOverrideText \u00b6 New in version 0.11.0.0 (latest version: 0.11.0.4 ) If the PAOverrideText field is filled, then this field is displayed exactly as is, without any changes or parsing. This provides the most flexibility, but the least ease of usage. PAOverrideText with: \"Hello world!\" (2) PAOverride \u00b6 The PAOverride allows for two primary formats: positions and text format. If the field contents cannot be parsed in either of these formats, then the field is displayed without any special formatting. This will act just like PAOverrideText . (2.1) PAOverride: Positions Format \u00b6 When the PAOverride field contains any number, that number will be considered as the downstep position, and be rendered as such. The number -1 represents the \u8d77\u4f0f pattern, and can be used to set the downstep to be after the second last mora. Examples (on the \u507d\u8005 card): PAOverride Result Notes 0 \u30cb \u30bb\u30e2\u30ce 1 \u30cb \ua71c \u30bb\u30e2\u30ce -1 \u30cb \u30bb\u30e2 \ua71c \u30ce \u8d77\u4f0f Multiple Numbers \u00b6 New in version 0.11.0.0 (latest version: 0.11.0.4 ) Multiple numbers can be used, as long as they are separated by commas. This is useful on certain words with devoiced mora, where the pitch accent can be multiple positions with little real distinction. Additionally, individual numbers can be bolded to grey out the other positions. This is useful to highlight the correct pitch accent among all possiblities. Examples (on the \u507d\u8005 card): PAOverride Result Notes 0,2,4 \u30cb \u30bb\u30e2\u30ce \u30fb\u30cb \u30bb \ua71c \u30e2\u30ce\u30fb\u30cb \u30bb\u30e2\u30ce \ua71c 0 ,2, 4 \u30cb \u30bb\u30e2\u30ce \u30fb\u30cb \u30bb \ua71c \u30e2\u30ce\u30fb\u30cb \u30bb\u30e2\u30ce \ua71c The parser ignores all whitespace. 0,2,4 \u30cb \u30bb\u30e2\u30ce \u30fb \u30cb \u30bb \ua71c \u30e2\u30ce \u30fb \u30cb \u30bb\u30e2\u30ce \ua71c Restrictions on bolded numbers Multiple numbers cannot be bolded together. If you want to bold multiple numbers, they have to be bolded individually. Additionally, commas cannot be bolded. For example, 0,1,2,3 is valid, but 0,1,2,3 and 0,1,2,3 are invalid. (2.2) PAOverride: Text Format \u00b6 New in version 0.11.0.0 (latest version: 0.11.0.4 ) How To Type Special Characters (click here) This section requires you to type certain special characters. You can type these characters on any standard IME. Characters Result \\ \uff3c \u3046\u3048 ( ue ) \uffe3 , \u3001 / \u30fb If no number is found within the PAOverride field, the contents will be parsed using this format. To define any pitch accent in text format, use \u300c\uff3c\u300d to specify downstep. For example, \u4eba\u751f should be written as \u300c\u3058\uff3c\u3093\u305b\u3044\u300d. For words with no downstep (\u5e73\u677f\u578b), the \u300c\uffe3\u300d character must be placed at the end of the word. For example, \u8eab\u9577 should be written as \u300c\u3057\u3093\u3061\u3087\u3046\uffe3\u300d. Removing the required \uffe3 symbol (click here) The restriction that \u5e73\u677f words require the \uffe3 symbol at the end can be removed using the following runtime option : { \"modules\" : { \"auto-pitch-accent\" : { \"pa-override\" : { // set to false (default: true) \"heiban-marker-required\" : false , } } } } This would allow any words without any downstep marker to be rendered as \u5e73\u677f. Using the above example, one can instead type \u8eab\u9577 as \u300c\u3057\u3093\u3061\u3087\u3046\u300d. Examples : PAOverride Result \u3058\uff3c\u3093\u305b\u3044 \u30b8 \ua71c \u30f3\u30bb\u30a4 \u3044\u304d\u304a\uff3c\u3044 \u30a4 \u30ad\u30aa \ua71c \u30a4 \u3069\u3046\u3050\uff3c \u30c9 \u30a6\u30b0 \ua71c \u3057\u3093\u3061\u3087\u3046\uffe3 \u30b7 \u30f3\u30c1\u30e7\u30a6 Multiple Words \u00b6 Multiple words can be defined, as long as they are separated with either the \u300c\u30fb\u300d or \u300c\u3001\u300d characters. This is particularly useful on expressions with multiple words, such as \u300c\u6bd2\u3092\u98df\u3089\u308f\u3070\u76bf\u307e\u3067\u300d. Examples : PAOverride Result \u3069\u304f\uff3c\u3001\u304f\u3089\u3046\uffe3\u3001\u3055\u3089\uffe3 \u30c9 \u30af \ua71c \u3001\u30af \u30e9\u30a6 \u3001\u30b5 \u30e9 \u3061\uff3c\u304b\u30fb\u3061\u304b\uff3c \u30c1 \ua71c \u30ab\u30fb\u30c1 \u30ab \ua71c Note This renderer will not accept any field with formatting. This means that bold, italics, overlines, etc. cannot be present in the field. For example, the input \u306b\u305b\u3082\u306e will be rejected. (2.3) PAOverride: Raw Text \u00b6 As a last case resort, if the input of this field cannot be parsed as either of the two, the exact contents of PAOverride will be displayed. This will behave exactly the same as PAOverrideText . (3) PAPositions \u00b6 This field is automatically filled out as long as Yomichan has pitch accent dictionaries, and the tested word is covered in said dictionary. By default, the first pitch of the first dictionary is shown. Show All Possibilities in Dictionary \u00b6 New in version 0.11.0.0 (latest version: 0.11.0.4 ) Sometimes, pitch accent dictionaries show multiple pitch accents for a word. However, only the first pitch accent is shown by default. One entry (default) All entries One entry + bold All entries + bold If you want to show all of the pitch accent entries (in the first dictionary), use the following runtime option : { \"modules\" : { \"auto-pitch-accent\" : { \"pa-positions\" : { // default: true \"display-entire-dictionary\" : false } } } } If you want to select the correct pitch accent, bold that position in PAPositions (or simply use PAOverride as described above ) Note This option only works on cards formatted with JPMN's {jpmn-pitch-accent-positions} marker. This means this option will not work on old cards that were imported to the JPMN format. (4) AJTWordPitch \u00b6 If you have the optional AJT Pitch Accent add-on installed and correctly configured, then this field is automatically generated on all cards. This is used as a fallback option, in case your installed pitch accent dictionaries does not cover the tested content, but this add-on does. How the Reading is Selected \u00b6 The reading consists of the actual kana that is shown on the card. By default, the word reading is selected based on the following priority: AJTWordPitch WordReading Reading: AJTWordPitch \u00b6 Usually, the reading is selected from AJTWordPitch . This has a few features over the raw word reading: AJTWordPitch usually includes devoiced and nasal info, whereas WordReading does not. Readings are katakana, and cannot be changed to hiragana. Note If you do not want the reading in AJTWordPitch to be used, change the following runtime option to false : { \"modules\" : { \"auto-pitch-accent\" : { // set to false (default: true) \"search-for-ajt-word\" : false , } } } Reading: WordReading \u00b6 If the word cannot be found under AJTWordPitch , then the default reading in WordReading is used, and displayed in katakana. Unlike AJTWordPitch , this reading can be changed to hiragana, katakana, or katakana with long vowel marks in the runtime options : { \"modules\" : { \"auto-pitch-accent\" : { // 0: whatever is shown in WordReading (usually hiragana, but can sometimes be katakana) // 1: force katakana // 2: force katakana with long vowel marks \"reading-display-mode\" : 1 , } } } Pitch Accent Styling Details \u00b6 This covers some details if you are directly using PAOverrideText , and want to have a similar format to the generated pitch accent. You very likely won't be doing this. The generated style is exactly the generated style of the AJTWordPitch field. To display the style properly, copy and edit the HTML tags directly. If you want to grey out other words, you will have to use the bold tag. However, you must wrap the greyed out words with the tag. This is the opposite of what would expect from everything in this page, but the behavior is this way due to restrictions in the current CSS specification. Note that AJT Japanese also outputs the following span classes, however these are simply ignored by JPMN. You can include them if you want, but they will have no effect on the styling: Example with all possible styles: \u30c1\u30e5 < span class = \"high_drop\" > \u30fc\u30ab < span class = \"nasal\" > \u00b0 span > span >< span class = \"devoiced\" > \u30af span > \u30bb\u30a4 < b > \u30fb\u30cb < span class = \"high\" > \u30bb\u30e2\u30ce span > b >","title":"Pitch Accent"},{"location":"autopa/#what-is-pitch-accent","text":"Here is a (slightly modified) excerpt taken from the AJT Japanese Github page that explains the notation well: Quote For more information on the Japanese pitch accent, I would like to refer you to this wikipedia article . In short, the following notations can be found: Overline : Indicates \"High\" pitch (see \"Binary pitch\" in Wikipedia article). Overline downstep : usually means stressing the mora/syllable before. Red circle mark : Nasal pronunciation. For example, \u3052 would be a nasal \u3051, and would represented as \u3051 \u00b0 . Blue color : Devoiced mora (barely pronounced at all). For example, \u30d2 would be closer to h than hi. Likewise, \u30af would be more like a k than ku.","title":"What Is Pitch Accent?"},{"location":"autopa/#specifying-pitch-accent","text":"The displayed pitch accent is usually the first position found in PAPositions . However, you can override this automatically chosen position using the PAOverride field. The demo above covers the most basic usage of PAOverride , which should suffice for most people. The rest of the page covers the details on exactly how PAOverride works, and all the ways to customize how the pitch accent is displayed.","title":"Specifying Pitch Accent"},{"location":"autopa/#colored-pitch-accent","text":"The reading, word and pitch overline can be automatically colored in Migaku style colors, according to the pitch accent. This automatic coloring behavior is disabled by default , and must be enabled in the runtime options : Enabling colored pitch accent (click here) \"auto-pitch-accent\" : { \"enabled\" : true , // (1)! \"colored-pitch-accent\" : { \"enabled\" : true , // ... } // ... } The auto-pitch-accent module must be enabled to use colored pitch accent. Note The \u8d77\u4f0f pattern is not automatically detected. To use this color, you must manually set the PAOverride field to -1 .","title":"Colored Pitch Accent"},{"location":"autopa/#pitch-accent-groups","text":"Anki Tag \u65e5\u672c\u8a9e Example Reading heiban \u5e73\u677f \u81ea\u7136 \u3057\u305c\u3093\uffe3 atamadaka \u982d\u9ad8 \u4eba\u751f \u3058\uff3c\u3093\u305b\u3044 nakadaka \u4e2d\u9ad8 \u5f31\u70b9 \u3058\u3083\u304f\u3066\uff3c\u3093 odaka \u5c3e\u9ad8 \u9053\u5177 \u3069\u3046\u3050\uff3c kifuku \u8d77\u4f0f \u9a5a\u304f \u304a\u3069\u308d\uff3c\u304f","title":"Pitch Accent Groups"},{"location":"autopa/#when-pitch-is-not-automatically-colored","text":"Pitch accent coloring requires a numeric position value somewhere within the card. This is usually found in one of two places: PAPositions PAOverride Usually, PAPositions is automatically filled. In the cases where pitch accent coloring does not work as expected, your two main options are: Using PAOverride with a number (recommended). Force the pitch accent group with tags (see below).","title":"When Pitch Is Not Automatically Colored"},{"location":"autopa/#override-pitch-accent-group","text":"In some extremely rare cases, you must set manually set the pitch accent group, if the available options do not work. To do this, add the appropriate tag to the card. The exact tags that can be used are shown in the summary table above, under the Anki Tag and \u65e5\u672c\u8a9e sections. For example, the tag can be heiban , \u5e73\u677f , etc. Note The tag only overrides the pitch accent color, and does not affect the pitch accent representation itself. This fact can be useful for certain exceptions, such as how \u901a\u308b is [1] instead of [2]. If you want to use the \u8d77\u4f0f pattern on \u901a\u308b, you will have to set the PAOverride value to 1 , and then add the \u8d77\u4f0f tag. TODO image of above (without tag, with tag)","title":"Override Pitch Accent Group"},{"location":"autopa/#how-pitch-accent-is-selected","text":"Pitch accent is selected based on the following priority: PAOverrideText PAOverride PAPositions AJTWordPitch The first field that is non-empty will be the field that is used to display the pitch accent. Note When the auto-pitch-accent module is disabled, the priority changes to the following: PAOverrideText PAOverride AJTWordPitch Of course, as the module is disabled, PAOverride will not be parsed in any way. More info on this can be found in the PAOverride field section below.","title":"How Pitch Accent is Selected"},{"location":"autopa/#1-paoverridetext","text":"New in version 0.11.0.0 (latest version: 0.11.0.4 ) If the PAOverrideText field is filled, then this field is displayed exactly as is, without any changes or parsing. This provides the most flexibility, but the least ease of usage. PAOverrideText with: \"Hello world!\"","title":"(1) PAOverrideText"},{"location":"autopa/#2-paoverride","text":"The PAOverride allows for two primary formats: positions and text format. If the field contents cannot be parsed in either of these formats, then the field is displayed without any special formatting. This will act just like PAOverrideText .","title":"(2) PAOverride"},{"location":"autopa/#21-paoverride-positions-format","text":"When the PAOverride field contains any number, that number will be considered as the downstep position, and be rendered as such. The number -1 represents the \u8d77\u4f0f pattern, and can be used to set the downstep to be after the second last mora. Examples (on the \u507d\u8005 card): PAOverride Result Notes 0 \u30cb \u30bb\u30e2\u30ce 1 \u30cb \ua71c \u30bb\u30e2\u30ce -1 \u30cb \u30bb\u30e2 \ua71c \u30ce \u8d77\u4f0f","title":"(2.1) PAOverride: Positions Format"},{"location":"autopa/#22-paoverride-text-format","text":"New in version 0.11.0.0 (latest version: 0.11.0.4 ) How To Type Special Characters (click here) This section requires you to type certain special characters. You can type these characters on any standard IME. Characters Result \\ \uff3c \u3046\u3048 ( ue ) \uffe3 , \u3001 / \u30fb If no number is found within the PAOverride field, the contents will be parsed using this format. To define any pitch accent in text format, use \u300c\uff3c\u300d to specify downstep. For example, \u4eba\u751f should be written as \u300c\u3058\uff3c\u3093\u305b\u3044\u300d. For words with no downstep (\u5e73\u677f\u578b), the \u300c\uffe3\u300d character must be placed at the end of the word. For example, \u8eab\u9577 should be written as \u300c\u3057\u3093\u3061\u3087\u3046\uffe3\u300d. Removing the required \uffe3 symbol (click here) The restriction that \u5e73\u677f words require the \uffe3 symbol at the end can be removed using the following runtime option : { \"modules\" : { \"auto-pitch-accent\" : { \"pa-override\" : { // set to false (default: true) \"heiban-marker-required\" : false , } } } } This would allow any words without any downstep marker to be rendered as \u5e73\u677f. Using the above example, one can instead type \u8eab\u9577 as \u300c\u3057\u3093\u3061\u3087\u3046\u300d. Examples : PAOverride Result \u3058\uff3c\u3093\u305b\u3044 \u30b8 \ua71c \u30f3\u30bb\u30a4 \u3044\u304d\u304a\uff3c\u3044 \u30a4 \u30ad\u30aa \ua71c \u30a4 \u3069\u3046\u3050\uff3c \u30c9 \u30a6\u30b0 \ua71c \u3057\u3093\u3061\u3087\u3046\uffe3 \u30b7 \u30f3\u30c1\u30e7\u30a6","title":"(2.2) PAOverride: Text Format"},{"location":"autopa/#23-paoverride-raw-text","text":"As a last case resort, if the input of this field cannot be parsed as either of the two, the exact contents of PAOverride will be displayed. This will behave exactly the same as PAOverrideText .","title":"(2.3) PAOverride: Raw Text"},{"location":"autopa/#3-papositions","text":"This field is automatically filled out as long as Yomichan has pitch accent dictionaries, and the tested word is covered in said dictionary. By default, the first pitch of the first dictionary is shown.","title":"(3) PAPositions"},{"location":"autopa/#show-all-possibilities-in-dictionary","text":"New in version 0.11.0.0 (latest version: 0.11.0.4 ) Sometimes, pitch accent dictionaries show multiple pitch accents for a word. However, only the first pitch accent is shown by default. One entry (default) All entries One entry + bold All entries + bold If you want to show all of the pitch accent entries (in the first dictionary), use the following runtime option : { \"modules\" : { \"auto-pitch-accent\" : { \"pa-positions\" : { // default: true \"display-entire-dictionary\" : false } } } } If you want to select the correct pitch accent, bold that position in PAPositions (or simply use PAOverride as described above ) Note This option only works on cards formatted with JPMN's {jpmn-pitch-accent-positions} marker. This means this option will not work on old cards that were imported to the JPMN format.","title":"Show All Possibilities in Dictionary"},{"location":"autopa/#4-ajtwordpitch","text":"If you have the optional AJT Pitch Accent add-on installed and correctly configured, then this field is automatically generated on all cards. This is used as a fallback option, in case your installed pitch accent dictionaries does not cover the tested content, but this add-on does.","title":"(4) AJTWordPitch"},{"location":"autopa/#how-the-reading-is-selected","text":"The reading consists of the actual kana that is shown on the card. By default, the word reading is selected based on the following priority: AJTWordPitch WordReading","title":"How the Reading is Selected"},{"location":"autopa/#reading-ajtwordpitch","text":"Usually, the reading is selected from AJTWordPitch . This has a few features over the raw word reading: AJTWordPitch usually includes devoiced and nasal info, whereas WordReading does not. Readings are katakana, and cannot be changed to hiragana. Note If you do not want the reading in AJTWordPitch to be used, change the following runtime option to false : { \"modules\" : { \"auto-pitch-accent\" : { // set to false (default: true) \"search-for-ajt-word\" : false , } } }","title":"Reading: AJTWordPitch"},{"location":"autopa/#reading-wordreading","text":"If the word cannot be found under AJTWordPitch , then the default reading in WordReading is used, and displayed in katakana. Unlike AJTWordPitch , this reading can be changed to hiragana, katakana, or katakana with long vowel marks in the runtime options : { \"modules\" : { \"auto-pitch-accent\" : { // 0: whatever is shown in WordReading (usually hiragana, but can sometimes be katakana) // 1: force katakana // 2: force katakana with long vowel marks \"reading-display-mode\" : 1 , } } }","title":"Reading: WordReading"},{"location":"autopa/#pitch-accent-styling-details","text":"This covers some details if you are directly using PAOverrideText , and want to have a similar format to the generated pitch accent. You very likely won't be doing this. The generated style is exactly the generated style of the AJTWordPitch field. To display the style properly, copy and edit the HTML tags directly. If you want to grey out other words, you will have to use the bold tag. However, you must wrap the greyed out words with the tag. This is the opposite of what would expect from everything in this page, but the behavior is this way due to restrictions in the current CSS specification. Note that AJT Japanese also outputs the following span classes, however these are simply ignored by JPMN. You can include them if you want, but they will have no effect on the styling: Example with all possible styles: \u30c1\u30e5 < span class = \"high_drop\" > \u30fc\u30ab < span class = \"nasal\" > \u00b0 span > span >< span class = \"devoiced\" > \u30af span > \u30bb\u30a4 < b > \u30fb\u30cb < span class = \"high\" > \u30bb\u30e2\u30ce span > b >","title":"Pitch Accent Styling Details"},{"location":"building/","text":"Technical Summary \u00b6 The Anki card template is generated through jinja templates, which is a popular templating engine for Python . All of these templates are located under the (root)/src folder. The Anki templates are generated through a combination of sass (for css) and jinja (for everything else), through the tools/make.py script. You must build the note to use compile-time options . Additionally, if you want to use bleeding edge features (the absolute latest features, which are potentially riddled with bugs), you must build and install the note from the dev branch. More info about this is shown later. Note The instructions listed below will be primarily Linux based. Notes for other operating systems may be shown, but are not guaranteed. It is also assumed that you have knowledge of basic command line. Building \u00b6 Prerequisites \u00b6 Python 3.10.6 or higher I recommend pyenv to upgrade your python version if you're running linux. and have a lower version of Python. sass (dart implementation) The dart implementation is required to use the latest features of sass. Anki 2.1.49 or higher (2.1.54+ is highly recommended) Anki-Connect addon Initialization \u00b6 The following creates a custom python environment with venv , so that packages aren't installed into your global python environment. # on fresh installs git clone https://github.com/arbyste/jp-mining-note.git cd jp-mining-note # alternatively, if you already have the repository on your system: git pull origin/master # You may have to use `python` instead of `python3`, and `pip` instead of `pip3`. python3 -m venv . # The following is for POSIX (bash/zsh) only. # See how to activate venv on your system in the official documentation: # https://docs.python.org/3/library/venv.html source ./bin/activate pip3 install -r tools/requirements.txt Some additional options with venv are shown below. Disabling the venv deactivate Resetting the venv # run this only if you're already in a venv deactivate rm -r bin lib python3 -m venv . source ./bin/activate pip3 install -r tools/requirements.txt Don't want to use venv? It is highly recommended that you use venv , or something else that isolates the python environment. However, in case you don't want to use venv , you can manually install the dependencies (including dependencies for building documentation): pip3 install \\ JSON-minify jinja2 black pytest \\ mkdocs mkdocs-video mkdocs-material mkdocs-macros-plugin \\ mkdocs-git-revision-date-localized-plugin Note The master branch is the stable version of the note. If you want to build the bleeding edge version of the note, use the dev branch. For example, do the following: deactivate # if you are currently in a venv git fetch git checkout dev python3 -m venv . source ./bin/activate Building and Installing \u00b6 After setting up the venv , you are ready to build and install the note. cd tools # builds the note into the ./build folder python3 make.py # installs the note from the ./build folder # WARNING: completely overrides current note that is installed! # Please make a backup of your collection before doing this! python3 install.py --from-build --update Warning If you are attempting to (build and) install the bleeding edge ( dev ) version of the note at ALL, use the --dev-output-version=\"0.12.0.0\" flag on the install.py (or main.py ) script. For example: python3 main.py --dev-output-version=\"0.12.0.0\" There are also some related notes for the current dev build: If you're on 2.1.54 or below, you'll want to add legacy-anki_2-1-54 to the css-folders of the config.py, i.e. \"css-folders\": [\"base\", \"responsive\", \"dictionaries\", \"editor-fields\", \"legacy-anki_2-1-54\", \"theme\", \"extra\"], The font size of some fields aren't automatically changed yet, so you'll have to adjust them manually in order for it to look nice: \"WordReadingHiragana\": 10, \"PrimaryDefinitionPicture\": 20, # default \"PAOverrideText\": 20, # default \"YomichanWordTags\": 10, \"IsHintCard\": 10, In addition to the above, you would likely want to match the font family with all the other fields, as the font family for new fields is not updated either. Note Running the main.py script is exactly equivalent of running the above two commands. Note If you are attempting to (build and) install the bleeding edge version of the note on an Anki profile that does NOT already have the note installed, you have to run the installation script twice. For example: python3 make.py python3 install.py --from-build --update python3 install.py --from-build --update Additional things you can do with the project are shown below. Running Tests \u00b6 cd tools python3 -m pytest ./tests Building the Documentation \u00b6 To \"build\" the documentation, all you have to do is the following: cd docs # you should now be in (root)/docs, where the mkdocs.yml is. mkdocs serve This will allow you to preview the website (usually at http://127.0.0.1:8000/jp-mining-note/ ). If you are looking to edit the documentation, all related files should be found under this docs folder. The important markdown files are found under: (root) L docs L docs L index.md # the home page L preface.md L setup.md L ... L mkdocs.yml Common Errors \u00b6 (TODO) Fill this out as people start working with this note","title":"Building"},{"location":"building/#technical-summary","text":"The Anki card template is generated through jinja templates, which is a popular templating engine for Python . All of these templates are located under the (root)/src folder. The Anki templates are generated through a combination of sass (for css) and jinja (for everything else), through the tools/make.py script. You must build the note to use compile-time options . Additionally, if you want to use bleeding edge features (the absolute latest features, which are potentially riddled with bugs), you must build and install the note from the dev branch. More info about this is shown later. Note The instructions listed below will be primarily Linux based. Notes for other operating systems may be shown, but are not guaranteed. It is also assumed that you have knowledge of basic command line.","title":"Technical Summary"},{"location":"building/#building","text":"","title":"Building"},{"location":"building/#prerequisites","text":"Python 3.10.6 or higher I recommend pyenv to upgrade your python version if you're running linux. and have a lower version of Python. sass (dart implementation) The dart implementation is required to use the latest features of sass. Anki 2.1.49 or higher (2.1.54+ is highly recommended) Anki-Connect addon","title":"Prerequisites"},{"location":"building/#initialization","text":"The following creates a custom python environment with venv , so that packages aren't installed into your global python environment. # on fresh installs git clone https://github.com/arbyste/jp-mining-note.git cd jp-mining-note # alternatively, if you already have the repository on your system: git pull origin/master # You may have to use `python` instead of `python3`, and `pip` instead of `pip3`. python3 -m venv . # The following is for POSIX (bash/zsh) only. # See how to activate venv on your system in the official documentation: # https://docs.python.org/3/library/venv.html source ./bin/activate pip3 install -r tools/requirements.txt Some additional options with venv are shown below. Disabling the venv deactivate Resetting the venv # run this only if you're already in a venv deactivate rm -r bin lib python3 -m venv . source ./bin/activate pip3 install -r tools/requirements.txt Don't want to use venv? It is highly recommended that you use venv , or something else that isolates the python environment. However, in case you don't want to use venv , you can manually install the dependencies (including dependencies for building documentation): pip3 install \\ JSON-minify jinja2 black pytest \\ mkdocs mkdocs-video mkdocs-material mkdocs-macros-plugin \\ mkdocs-git-revision-date-localized-plugin Note The master branch is the stable version of the note. If you want to build the bleeding edge version of the note, use the dev branch. For example, do the following: deactivate # if you are currently in a venv git fetch git checkout dev python3 -m venv . source ./bin/activate","title":"Initialization"},{"location":"building/#building-and-installing","text":"After setting up the venv , you are ready to build and install the note. cd tools # builds the note into the ./build folder python3 make.py # installs the note from the ./build folder # WARNING: completely overrides current note that is installed! # Please make a backup of your collection before doing this! python3 install.py --from-build --update Warning If you are attempting to (build and) install the bleeding edge ( dev ) version of the note at ALL, use the --dev-output-version=\"0.12.0.0\" flag on the install.py (or main.py ) script. For example: python3 main.py --dev-output-version=\"0.12.0.0\" There are also some related notes for the current dev build: If you're on 2.1.54 or below, you'll want to add legacy-anki_2-1-54 to the css-folders of the config.py, i.e. \"css-folders\": [\"base\", \"responsive\", \"dictionaries\", \"editor-fields\", \"legacy-anki_2-1-54\", \"theme\", \"extra\"], The font size of some fields aren't automatically changed yet, so you'll have to adjust them manually in order for it to look nice: \"WordReadingHiragana\": 10, \"PrimaryDefinitionPicture\": 20, # default \"PAOverrideText\": 20, # default \"YomichanWordTags\": 10, \"IsHintCard\": 10, In addition to the above, you would likely want to match the font family with all the other fields, as the font family for new fields is not updated either. Note Running the main.py script is exactly equivalent of running the above two commands. Note If you are attempting to (build and) install the bleeding edge version of the note on an Anki profile that does NOT already have the note installed, you have to run the installation script twice. For example: python3 make.py python3 install.py --from-build --update python3 install.py --from-build --update Additional things you can do with the project are shown below.","title":"Building and Installing"},{"location":"building/#running-tests","text":"cd tools python3 -m pytest ./tests","title":"Running Tests"},{"location":"building/#building-the-documentation","text":"To \"build\" the documentation, all you have to do is the following: cd docs # you should now be in (root)/docs, where the mkdocs.yml is. mkdocs serve This will allow you to preview the website (usually at http://127.0.0.1:8000/jp-mining-note/ ). If you are looking to edit the documentation, all related files should be found under this docs folder. The important markdown files are found under: (root) L docs L docs L index.md # the home page L preface.md L setup.md L ... L mkdocs.yml","title":"Building the Documentation"},{"location":"building/#common-errors","text":"(TODO) Fill this out as people start working with this note","title":"Common Errors"},{"location":"cardtypes/","text":"Overview \u00b6 Previously, this note type only had vocab and sentence cards. Although I was originally fine with this, I started to realize some issues with only having these two card types: Vocab cards that require context have to be turned into sentence cards, and Sentence cards take a very long time to review, and can create context-based memories. I found that many vocab cards had to be turned into sentence cards, since either the context was fundamental to understanding the definition, or there were other parts of the sentence that I wanted to test. This lead to many sentence cards, which naturally meant that Anki sessions lasted longer. I attempted to tackle these exact issues by introducing new card types outside of the fundamental vocab and sentence cards. Vocab Card \u00b6 A vocab card simply shows the target word at the front. You test yourself on the reading and definition of the word. How to create: This is the default card type. Nothing has to be done for the card to be a vocab card. Sentence Card \u00b6 A sentence card simply shows the entire sentence at the front. You test yourself on the reading and meaning of the entire sentence. How to create: Fill the IsSentenceCard field. Targeted Sentence Card (TSC) \u00b6 A targeted sentence card is a special case of the sentence card. The sentence is shown at the front, but only the highlighted content (only the word by default) is tested. This allows you to have all the information and context of the sentence, but you don't have to waste your time testing other parts of the sentence. This card type was originally defined here . How to create: Fill the IsTargetedSentenceCard field. Hint Cards \u00b6 Hint cards are a group of card types that display the sentence below the word. This acts as a better alternative compared to manually adding the sentence in the Hint (or HintNotHidden ) field. Hint Vocab Card \u00b6 Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. TODO img A hint vocab card is simply a vocab card that shows the sentence below the word. The tested content is the word itself, so you would test yourself as if it were a TSC or Hover Vocab card . How to create: Fill the IsHintCard field. Hint Vocab Card (highlighted) \u00b6 Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. TODO img This is exactly the same as the Hint Vocab Card, except the word within the sentence is automatically highlighted. This is tested the exact same as the Hint Vocab Card. How to create: Fill the IsHintCard and IsTargetedSentenceCard fields. Hint Sentence Card \u00b6 Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. TODO img A hint sentence card is very similar to a Hint Vocab card, except the tested content is the entire sentence. This is indicated by the fact that the word is colored. This is tested exactly like a Hover Sentence Card . How to create: Fill the IsHintCard and IsSentenceCard fields. Hint TSC Card \u00b6 TODO img Similarily to the normal TSC, this can be used to only test yourself on a specific portion of the sentence. This is tested exactly like a Hover TSC . How to create: Fill the IsHintCard , IsSentenceCard and IsTargetedSentenceCard fields. Note For all other card types, only IsTargetedSentenceCard has to be filled to create a TSC. However, for hint cards, both IsSentenceCard and IsTargetedSentenceCard must be filled out. Hybrid Cards \u00b6 Hybrid cards are a group of card types that attempt to combine the power of sentence cards and vocab cards into one. They all have the distinct feature that the word is shown at the front, while the sentence is hidden but can be shown through some natural means. Additionally, all hybrid cards have some form of underline beneath the tested word, to differentiate it between a vocab card. The primary reason why this exists is to prevent context-based memories. For example, in a TSC or sentence card, you may only remember the tested word due to its surrounding context. Notes For all forms of hybrid cards, you can press n to toggle whether the sentence is shown or not. The \"How to test\" sections are simply recommended ways of testing, and are by no means the required way of testing yourself. Feel free to test yourself differently depending on whatever you think works the best. Hover Vocab Card \u00b6 A hover vocab word shows the tested word at the front. When you hover over the word, you can see the full sentence, with the tested word highlighted. This acts similarly to a vocab card. However, you are given the option to see the full sentence without failing the card. This is also known as the fallback card . Indicator: Grey & dotted underline under the word. How to test: Attempt to guess the reading and definition of the word without hovering over the word. If you are able to guess both the reading and definition of the word, flip the card. Otherwise, hover over the word and guess the reading and definition of the word with the entire sentence. How to create: Fill the IsHoverCard field. Click Vocab Card \u00b6 A click vocab word shows the tested word at the front. When you click on the word, you can see the full sentence, with the tested word highlighted. This card acts as an intermediary between the hover vocab card and the vocab card itself. You must guess the reading BEFORE revealing the sentence, but you can use the sentence to guess the definition. Indicator: Grey & dashed underline under the word. How to test: Attempt to guess the reading of the word without hovering over the word. If you are unable to guess the reading of the word before revealing the entire sentence, then the card must be marked as a fail . After guessing the reading of the word, you can optionally click on the word to reveal the entire sentence to guess the definition. In other words, if you can only guess the definition by reading the sentence, then the card should still be passed. How to create: Fill the IsClickCard field. Hover Sentence Card \u00b6 This acts similarly to the hover vocab card. However, the tested content is the entire sentence, so you must hover over the word to test the entire sentence. Indicator: Colored word & dotted underline under the word. How to test: Attempt to guess the reading and definition of the word without hovering over the word. Regardless of whether you are able to guess the reading and definition of the word, hover over the word and test yourself on the sentence (as if it was a sentence card). How to create: Fill the IsHoverCard and IsSentenceCard fields. Click Sentence Card \u00b6 This acts similar to the click vocab card. However, similarly to the hover sentence card, the tested content is the entire display, so you must click the word to test the entire display Indicator: Colored word & dashed underline under the word. How to test: Attempt to guess the reading of the word without hovering over the word. If you are unable to guess the reading of the word before revealing the entire sentence, then the card must be marked as a fail . After guessing the reading of the word, click on the word to reveal the entire sentence, and test yourself on the sentence (as if it was a sentence card). How to create: Fill the IsClickCard and IsSentenceCard fields. Hybrid TSC \u00b6 Similarly to the normal TSC, if you want to use the hover sentence card or click sentence card to only test a specific portion of the sentence, you can bold the desired selection of the sentence and fill IsTargetedSentenceCard . The above example is a Hover TSC, with the last sentence bolded. Hybrid Hint Card \u00b6 Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. Hover Hint Click Hint TODO image TODO image Similarly to a normal hint card, filling the IsHintCard allows the hybrid card type to reveal the sentence below the word (instead of replacing the word). As this is simply a matter of style, you would test this like any normal hybrid card. Card Creation Summary \u00b6 The top row contains shorthands for the actual field names used: Sent: IsSentenceCard TSC: IsTargetedSentenceCard Hint: IsHintCard Click: IsClickCard Hover: IsHoverCard Sent TSC Hint Click Hover Result (Card Type) Vocab Card \ud83d\uddf8 Sentence Card \ud83d\uddf8 TSC \ud83d\uddf8 Hint Vocab Card \ud83d\uddf8 \ud83d\uddf8 Hint Vocab Card (highlighted) \ud83d\uddf8 \ud83d\uddf8 Hint Sentence Card \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Hint TSC \ud83d\uddf8 Click Vocab \ud83d\uddf8 \ud83d\uddf8 Click Sentence \ud83d\uddf8 \ud83d\uddf8 Click TSC \ud83d\uddf8 \ud83d\uddf8 Click Hint Vocab \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Click Hint Sentence \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Click Hint TSC \ud83d\uddf8 Hover Vocab \ud83d\uddf8 \ud83d\uddf8 Hover Sentence \ud83d\uddf8 \ud83d\uddf8 Hover TSC \ud83d\uddf8 \ud83d\uddf8 Hover Hint Vocab \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Hover Hint Sentence \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Hover Hint TSC","title":"Card Types"},{"location":"cardtypes/#overview","text":"Previously, this note type only had vocab and sentence cards. Although I was originally fine with this, I started to realize some issues with only having these two card types: Vocab cards that require context have to be turned into sentence cards, and Sentence cards take a very long time to review, and can create context-based memories. I found that many vocab cards had to be turned into sentence cards, since either the context was fundamental to understanding the definition, or there were other parts of the sentence that I wanted to test. This lead to many sentence cards, which naturally meant that Anki sessions lasted longer. I attempted to tackle these exact issues by introducing new card types outside of the fundamental vocab and sentence cards.","title":"Overview"},{"location":"cardtypes/#vocab-card","text":"A vocab card simply shows the target word at the front. You test yourself on the reading and definition of the word. How to create: This is the default card type. Nothing has to be done for the card to be a vocab card.","title":"Vocab Card"},{"location":"cardtypes/#sentence-card","text":"A sentence card simply shows the entire sentence at the front. You test yourself on the reading and meaning of the entire sentence. How to create: Fill the IsSentenceCard field.","title":"Sentence Card"},{"location":"cardtypes/#targeted-sentence-card-tsc","text":"A targeted sentence card is a special case of the sentence card. The sentence is shown at the front, but only the highlighted content (only the word by default) is tested. This allows you to have all the information and context of the sentence, but you don't have to waste your time testing other parts of the sentence. This card type was originally defined here . How to create: Fill the IsTargetedSentenceCard field.","title":"Targeted Sentence Card (TSC)"},{"location":"cardtypes/#hint-cards","text":"Hint cards are a group of card types that display the sentence below the word. This acts as a better alternative compared to manually adding the sentence in the Hint (or HintNotHidden ) field.","title":"Hint Cards"},{"location":"cardtypes/#hint-vocab-card","text":"Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. TODO img A hint vocab card is simply a vocab card that shows the sentence below the word. The tested content is the word itself, so you would test yourself as if it were a TSC or Hover Vocab card . How to create: Fill the IsHintCard field.","title":"Hint Vocab Card"},{"location":"cardtypes/#hint-vocab-card-highlighted","text":"Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. TODO img This is exactly the same as the Hint Vocab Card, except the word within the sentence is automatically highlighted. This is tested the exact same as the Hint Vocab Card. How to create: Fill the IsHintCard and IsTargetedSentenceCard fields.","title":"Hint Vocab Card (highlighted)"},{"location":"cardtypes/#hint-sentence-card","text":"Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. TODO img A hint sentence card is very similar to a Hint Vocab card, except the tested content is the entire sentence. This is indicated by the fact that the word is colored. This is tested exactly like a Hover Sentence Card . How to create: Fill the IsHintCard and IsSentenceCard fields.","title":"Hint Sentence Card"},{"location":"cardtypes/#hint-tsc-card","text":"TODO img Similarily to the normal TSC, this can be used to only test yourself on a specific portion of the sentence. This is tested exactly like a Hover TSC . How to create: Fill the IsHintCard , IsSentenceCard and IsTargetedSentenceCard fields. Note For all other card types, only IsTargetedSentenceCard has to be filled to create a TSC. However, for hint cards, both IsSentenceCard and IsTargetedSentenceCard must be filled out.","title":"Hint TSC Card"},{"location":"cardtypes/#hybrid-cards","text":"Hybrid cards are a group of card types that attempt to combine the power of sentence cards and vocab cards into one. They all have the distinct feature that the word is shown at the front, while the sentence is hidden but can be shown through some natural means. Additionally, all hybrid cards have some form of underline beneath the tested word, to differentiate it between a vocab card. The primary reason why this exists is to prevent context-based memories. For example, in a TSC or sentence card, you may only remember the tested word due to its surrounding context. Notes For all forms of hybrid cards, you can press n to toggle whether the sentence is shown or not. The \"How to test\" sections are simply recommended ways of testing, and are by no means the required way of testing yourself. Feel free to test yourself differently depending on whatever you think works the best.","title":"Hybrid Cards"},{"location":"cardtypes/#hover-vocab-card","text":"A hover vocab word shows the tested word at the front. When you hover over the word, you can see the full sentence, with the tested word highlighted. This acts similarly to a vocab card. However, you are given the option to see the full sentence without failing the card. This is also known as the fallback card . Indicator: Grey & dotted underline under the word. How to test: Attempt to guess the reading and definition of the word without hovering over the word. If you are able to guess both the reading and definition of the word, flip the card. Otherwise, hover over the word and guess the reading and definition of the word with the entire sentence. How to create: Fill the IsHoverCard field.","title":"Hover Vocab Card"},{"location":"cardtypes/#click-vocab-card","text":"A click vocab word shows the tested word at the front. When you click on the word, you can see the full sentence, with the tested word highlighted. This card acts as an intermediary between the hover vocab card and the vocab card itself. You must guess the reading BEFORE revealing the sentence, but you can use the sentence to guess the definition. Indicator: Grey & dashed underline under the word. How to test: Attempt to guess the reading of the word without hovering over the word. If you are unable to guess the reading of the word before revealing the entire sentence, then the card must be marked as a fail . After guessing the reading of the word, you can optionally click on the word to reveal the entire sentence to guess the definition. In other words, if you can only guess the definition by reading the sentence, then the card should still be passed. How to create: Fill the IsClickCard field.","title":"Click Vocab Card"},{"location":"cardtypes/#hover-sentence-card","text":"This acts similarly to the hover vocab card. However, the tested content is the entire sentence, so you must hover over the word to test the entire sentence. Indicator: Colored word & dotted underline under the word. How to test: Attempt to guess the reading and definition of the word without hovering over the word. Regardless of whether you are able to guess the reading and definition of the word, hover over the word and test yourself on the sentence (as if it was a sentence card). How to create: Fill the IsHoverCard and IsSentenceCard fields.","title":"Hover Sentence Card"},{"location":"cardtypes/#click-sentence-card","text":"This acts similar to the click vocab card. However, similarly to the hover sentence card, the tested content is the entire display, so you must click the word to test the entire display Indicator: Colored word & dashed underline under the word. How to test: Attempt to guess the reading of the word without hovering over the word. If you are unable to guess the reading of the word before revealing the entire sentence, then the card must be marked as a fail . After guessing the reading of the word, click on the word to reveal the entire sentence, and test yourself on the sentence (as if it was a sentence card). How to create: Fill the IsClickCard and IsSentenceCard fields.","title":"Click Sentence Card"},{"location":"cardtypes/#hybrid-tsc","text":"Similarly to the normal TSC, if you want to use the hover sentence card or click sentence card to only test a specific portion of the sentence, you can bold the desired selection of the sentence and fill IsTargetedSentenceCard . The above example is a Hover TSC, with the last sentence bolded.","title":"Hybrid TSC"},{"location":"cardtypes/#hybrid-hint-card","text":"Warning New as of version 0.12.0.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. Hover Hint Click Hint TODO image TODO image Similarly to a normal hint card, filling the IsHintCard allows the hybrid card type to reveal the sentence below the word (instead of replacing the word). As this is simply a matter of style, you would test this like any normal hybrid card.","title":"Hybrid Hint Card"},{"location":"cardtypes/#card-creation-summary","text":"The top row contains shorthands for the actual field names used: Sent: IsSentenceCard TSC: IsTargetedSentenceCard Hint: IsHintCard Click: IsClickCard Hover: IsHoverCard Sent TSC Hint Click Hover Result (Card Type) Vocab Card \ud83d\uddf8 Sentence Card \ud83d\uddf8 TSC \ud83d\uddf8 Hint Vocab Card \ud83d\uddf8 \ud83d\uddf8 Hint Vocab Card (highlighted) \ud83d\uddf8 \ud83d\uddf8 Hint Sentence Card \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Hint TSC \ud83d\uddf8 Click Vocab \ud83d\uddf8 \ud83d\uddf8 Click Sentence \ud83d\uddf8 \ud83d\uddf8 Click TSC \ud83d\uddf8 \ud83d\uddf8 Click Hint Vocab \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Click Hint Sentence \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Click Hint TSC \ud83d\uddf8 Hover Vocab \ud83d\uddf8 \ud83d\uddf8 Hover Sentence \ud83d\uddf8 \ud83d\uddf8 Hover TSC \ud83d\uddf8 \ud83d\uddf8 Hover Hint Vocab \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Hover Hint Sentence \ud83d\uddf8 \ud83d\uddf8 \ud83d\uddf8 Hover Hint TSC","title":"Card Creation Summary"},{"location":"compiletimeoptions/","text":"Just like runtime options , compile-time options are also options that are applied globally to each JPMN card. The difference between runtime options and compile-time options is that compile-time options require you to build the note on your machine to use. Runtime options can be accessed and changed without having to build the note. Accessing & Editing \u00b6 To access the compile-time options, build the note . After building the note, a new file config/config.py should appear. The compile-time options can be found in this file. To use these compile-time options, edit the config.py file, and then re-build the note. Warning Do not edit the config/example_config.py file. The example config file can be updated at any time, so if you update the example config through git, it may result in unnecessary merge conflicts. Always filled & Never filled fields \u00b6 Using compile-time options, one can set a field to act as if it has always been filled, or it has never been filled, using the always-filled-fields and never-filled-fields options. This will remove the conditional Anki templates ( {{#FIELD}} and {{^FIELD}} markers) for the specified fields. Example If your compile-options is: \"compile-options\": { ... \"always-filled-fields\": [\"A\"], \"never-filled-fields\": [\"B\"], ... } and your card template is: {{#A}} A is filled {{/A}} {{^A}} A is not filled {{/A}} {{#B}} B is filled {{/B}} {{^B}} B is not filled {{/B}} {{#C}} C is filled {{/C}} {{^C}} C is not filled {{/C}} then upon card build, the resulting card template will be: A is filled B is not filled {{#C}} C is filled {{/C}} {{^C}} C is not filled {{/C}} This usually renders the actual field value useless. In other words, filling the field for a note will have no effect on the cards. Warning Do not delete the field from the fields list! See here for more details. Optimized Vocab Card Example \u00b6 An example set of compile-time options to create a more optimized vocab card is shown below. Vocab card compile-time options example \"compile-options\" : { \"keybinds-enabled\" : False , \"hardcoded-runtime-options\" : True , \"always-filled-fields\" : [], \"never-filled-fields\" : [ \"PAShowInfo\" , \"PATestOnlyWord\" , \"PADoNotTest\" , \"PASeparateWordCard\" , \"PASeparateSentenceCard\" , \"AltDisplayPASentenceCard\" , \"SeparateClozeDeletionCard\" , \"IsClickCard\" , \"IsHoverCard\" , \"IsSentenceCard\" , \"IsTargetedSentenceCard\" , ], \"enabled-modules\" : [ # HIGHLY RECOMMENDED t o have t his e na bled i f you wa nt a n ice looki n g card # (u nless you are n o t usi n g images i n your cards o f course) \"img-utils-minimal\" , ], }","title":"Compile-Time Options"},{"location":"compiletimeoptions/#accessing-editing","text":"To access the compile-time options, build the note . After building the note, a new file config/config.py should appear. The compile-time options can be found in this file. To use these compile-time options, edit the config.py file, and then re-build the note. Warning Do not edit the config/example_config.py file. The example config file can be updated at any time, so if you update the example config through git, it may result in unnecessary merge conflicts.","title":"Accessing & Editing"},{"location":"compiletimeoptions/#always-filled-never-filled-fields","text":"Using compile-time options, one can set a field to act as if it has always been filled, or it has never been filled, using the always-filled-fields and never-filled-fields options. This will remove the conditional Anki templates ( {{#FIELD}} and {{^FIELD}} markers) for the specified fields. Example If your compile-options is: \"compile-options\": { ... \"always-filled-fields\": [\"A\"], \"never-filled-fields\": [\"B\"], ... } and your card template is: {{#A}} A is filled {{/A}} {{^A}} A is not filled {{/A}} {{#B}} B is filled {{/B}} {{^B}} B is not filled {{/B}} {{#C}} C is filled {{/C}} {{^C}} C is not filled {{/C}} then upon card build, the resulting card template will be: A is filled B is not filled {{#C}} C is filled {{/C}} {{^C}} C is not filled {{/C}} This usually renders the actual field value useless. In other words, filling the field for a note will have no effect on the cards. Warning Do not delete the field from the fields list! See here for more details.","title":"Always filled & Never filled fields"},{"location":"compiletimeoptions/#optimized-vocab-card-example","text":"An example set of compile-time options to create a more optimized vocab card is shown below. Vocab card compile-time options example \"compile-options\" : { \"keybinds-enabled\" : False , \"hardcoded-runtime-options\" : True , \"always-filled-fields\" : [], \"never-filled-fields\" : [ \"PAShowInfo\" , \"PATestOnlyWord\" , \"PADoNotTest\" , \"PASeparateWordCard\" , \"PASeparateSentenceCard\" , \"AltDisplayPASentenceCard\" , \"SeparateClozeDeletionCard\" , \"IsClickCard\" , \"IsHoverCard\" , \"IsSentenceCard\" , \"IsTargetedSentenceCard\" , ], \"enabled-modules\" : [ # HIGHLY RECOMMENDED t o have t his e na bled i f you wa nt a n ice looki n g card # (u nless you are n o t usi n g images i n your cards o f course) \"img-utils-minimal\" , ], }","title":"Optimized Vocab Card Example"},{"location":"customcss/","text":"Warning Since this note is still in beta, the CSS itself, including the class names and structure of the HTML, is subject to heavy change. This is because when mobile support is being worked on, the CSS will likely heavily change to support mobile. If you are planning on changing the CSS, be vigilant with potential changes in future updates! How To Add Custom CSS \u00b6 If you have already read the Modding Overview page, you should already know that there are two ways of modding the note: You can directly edit the CSS files, but lose all the changes you made when you update. This is the plug-and-play solution and requires no additional setup. (Recommended) Create new CSS files, which are built with the note to extend the current CSS. This allows you to not lose changes between updates. Unfortunately, this requires additional setup , and will likely take some time to get working. Option 1: How to directly edit the CSS (click here) Warning When editing any of the style sheets below, it is recommended to append the given CSS code to the very bottom of the existing css instead of adding to the existing CSS. This is to avoid potential errors where the existing css may potentially override your custom css. Any time style.scss is mentioned, edit the styles sheet in the Anki template. This can be accessed by: (Main window) \u2192 Browse \u2192 Cards... (middle of the screen) \u2192 Styling (top left) Any time fields.scss is mentioned, edit the fields.css file under the addons folder : Anki2/addons21/181103283/user_files/field.css Any time editor.scss is mentioned, edit the editor.css file under the addons folder: Anki2/addons21/181103283/user_files/editor.css Option 2 (Recommended): How to extend the CSS (click here) Build the note if you haven't already, and ensure everything works. Make a new folder under (project root)/src/scss (for example, src/scss/extra ). Add the folder to the end of css-folders in config.py . This should result in the following: \"css-folders\": [\"base\", \"responsive\", \"dictionaries\", \"extra\"], Under the extra folder, use the following files to override the correct css: style.scss : The main CSS for the card templates. field.scss : The CSS used by CSS injector to customize individual fields. editor.scss : The CSS used by CSS injector to customize the editor around the fields. All of the files are optional. This means you do not need to create all three files for the folder to be valid. The resulting folder should be of the format: (project root) L src L scss L base L ... L dictionaries L ... L extra L field.scss L editor.scss L style.scss Rebuild and reinstall the template. The css should be automatically applied to the note. Note You might have noticed that this is the SCSS, not CSS. However, SCSS is complete superset of CSS (with some small exceptions). In other words, if you don't know any SCSS, you can write normal CSS and have it behave completely the same. Examples \u00b6 See the UI Customization page for many examples on how CSS can be used.","title":"Custom CSS"},{"location":"customcss/#how-to-add-custom-css","text":"If you have already read the Modding Overview page, you should already know that there are two ways of modding the note: You can directly edit the CSS files, but lose all the changes you made when you update. This is the plug-and-play solution and requires no additional setup. (Recommended) Create new CSS files, which are built with the note to extend the current CSS. This allows you to not lose changes between updates. Unfortunately, this requires additional setup , and will likely take some time to get working. Option 1: How to directly edit the CSS (click here) Warning When editing any of the style sheets below, it is recommended to append the given CSS code to the very bottom of the existing css instead of adding to the existing CSS. This is to avoid potential errors where the existing css may potentially override your custom css. Any time style.scss is mentioned, edit the styles sheet in the Anki template. This can be accessed by: (Main window) \u2192 Browse \u2192 Cards... (middle of the screen) \u2192 Styling (top left) Any time fields.scss is mentioned, edit the fields.css file under the addons folder : Anki2/addons21/181103283/user_files/field.css Any time editor.scss is mentioned, edit the editor.css file under the addons folder: Anki2/addons21/181103283/user_files/editor.css Option 2 (Recommended): How to extend the CSS (click here) Build the note if you haven't already, and ensure everything works. Make a new folder under (project root)/src/scss (for example, src/scss/extra ). Add the folder to the end of css-folders in config.py . This should result in the following: \"css-folders\": [\"base\", \"responsive\", \"dictionaries\", \"extra\"], Under the extra folder, use the following files to override the correct css: style.scss : The main CSS for the card templates. field.scss : The CSS used by CSS injector to customize individual fields. editor.scss : The CSS used by CSS injector to customize the editor around the fields. All of the files are optional. This means you do not need to create all three files for the folder to be valid. The resulting folder should be of the format: (project root) L src L scss L base L ... L dictionaries L ... L extra L field.scss L editor.scss L style.scss Rebuild and reinstall the template. The css should be automatically applied to the note. Note You might have noticed that this is the SCSS, not CSS. However, SCSS is complete superset of CSS (with some small exceptions). In other words, if you don't know any SCSS, you can write normal CSS and have it behave completely the same.","title":"How To Add Custom CSS"},{"location":"customcss/#examples","text":"See the UI Customization page for many examples on how CSS can be used.","title":"Examples"},{"location":"definitions/","text":"This page is dedicated to showcasing how definitions can be easily chosen, overwritten and customized overall. Note This page is primarily intended for monolingual dictionary users, as the sheer amount of possible monolingual dictionaries may require specific customizations for each individual dictionary. Dictionary Placement \u00b6 This section deals with how the custom Yomichan Templates categorizes dictionaries, and how to properly customize them for your setup. Expected Dictionary Placement \u00b6 Dictionaries from Yomichan are sorted into the following fields: PrimaryDefinition : A dictionary specified by the user. Bilingual by default. This can be changed in many different ways . SecondaryDefinition : All bilingual dictionaries outside of the one in PrimaryDefinition ExtraDefinitions : All monolingual dictionaries outside of the one in PrimaryDefinition UtilityDictionaries : All traditionally-formatted dictionaries that do not belong in any of the above categories (in other words, does not provide the meaning of the word). An example is the JMdict Surface Forms dictionary Note This does not include pitch accent dictionaries, frequency lists, or kanji dictionaries, as these are not traditionally-formatted dictionaries. The way that the dictionaries are sorted into the appropriate fields is by assigning a category to each individual dictionary. Verifying Categories \u00b6 You can check that your dictionaries are correctly categorized with the {jpmn-test-dict-type} marker. Under the Anki Templates code, replace Card field with {jpmn-test-dict-type} and press Test . An example output of the above (on the word \u7d50\u69cb) is the following: \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d: monolingual \u300c\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\u300d: monolingual \u300c\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u65b0\u8f9e\u6797\u300d: monolingual \u300c\u65b0\u660e\u89e3\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e94\u7248\u300d: monolingual \u300c\u30c7\u30b8\u30bf\u30eb\u5927\u8f9e\u6cc9\u300d: monolingual \u300cNHK\u65e5\u672c\u8a9e\u767a\u97f3\u30a2\u30af\u30bb\u30f3\u30c8\u65b0\u8f9e\u5178\u300d: utility \u300cJMDict Surface Forms\u300d: utility \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300c\u65b0\u548c\u82f1\u300d: bilingual If a dictionary is miscategorized, you will have to edit bilingual-dict-regex or utility-dict-regex at the top of the template code. Monolingual dictionaries are considered to be dictionaries that aren't either of the two above, so no handlebars code has to be changed if one were to use more monolingual dictionaries. To see how to edit the regex, go to this section . Ignoring a Dictionary \u00b6 If you want to see the dictionary on Yomichan but not have it show on Anki, you can use the ignored-dict-regex option. To see how to edit the option, see the section below . Conversely, if you want to not see the dictionary on Yomichan but want it to show up on Anki, see here . Note It is recommended to not use this option, so you have as much information as possible within the note. If you wish to not see a dictionary, it might be easier to collapse the dictionary . Editing the dictionary regex \u00b6 To modify a regex string: Determine the exact tag your dictionary has. To see this, take a word that has a definition in the desired dictionary, and test {jpmn-test-dict-type} like above. The string inside the quotes \u300c\u300d is exactly the tag of the dictionary. Add the dictionary tag to the string, by replacing ADD_x_DICTIONARIES_HERE . For example, if your bilingual dictionary tag is Amazing Dictionary , change ADD_BILINGUAL_DICTIONARIES_HERE to Amazing Dictionary . If you want to add more than one dictionary, they have to be joined with the | character. For example, if you want to add the bilingual dictionaries Amazing Dictionary and Somewhat-Okay-Dictionary , change ADD_BILINGUAL_DICTIONARIES_HERE to Amazing Dictionary|Somewhat-Okay-Dictionary . For completeness, here is the modified line for the second example: {{ ~#set \"bilingual-dict-regex\" ~ }} ^(([Jj][Mm][Dd]ict)(?! Surface Forms)(.*)|\u65b0\u548c\u82f1.*|\u65e5\u672c\u8a9e\u6587\u6cd5\u8f9e\u5178.*|Amazing Dictionary|Somewhat-Okay-Dictionary)$ {{ ~/set~ }} Primary Definition Selection \u00b6 Automatic Selection (Bilingual or Monolingual) \u00b6 The dictionary for the primary definition is the first bilingual dictionary (that appears on Yomichan) by default. This can be changed to the first monolingual dictionary by changing the following Yomichan template option to monolingual : {{ ~! valid values : \"bilingual\" , \"monolingual\" ~ }} {{ ~#set \"opt-first-definition-type\" \"monolingual\" }}{{ /set~ }} Manual Selection \u00b6 Sometimes, you may want to override the primary definition, or highlight the definition that makes sense with the context. By default, selecting (highlighting) the text will do nothing , to prevent any unexpected errors from happening. However, the user can set the following Yomichan template option to allow selecting text to override the automatic dictionary selection behavior: {{ ~! options related to selected text ~ }} {{ set \"opt-selection-text-enabled\" true }} Setting this option will enable the following behavior: If nothing is selected, then the first dictionary is chosen just like normal. If a dictionary is selected, then that dictionary will replace the first definition. To disable this, set opt-selection-text-dictionary to false . If a section of text is selected, then that dictionary will replace the first definition. Additionally, that section of text will be highlighted (bolded). To disable this, set opt-selection-text-glossary to false . Additionally, if you do not want to use the entire dictionary, and prefer that only the selected text is shown in the first definition, then set opt-selection-text-glossary-attempt-bold to false . Where automatic bolding can fail (click here) Automatic bolding may not always work: if the highlighted text could not be automatically detected from the custom template code, then it will fallback to simply using the highlighted text (as if you used the {selection-text} marker). This is most likely to fail if you select formatted parts of text, such as (but not limited to): line breaks furigana across multiple items in a list (common with JMdict) Where dictionary selection can fail (click here) This may occasionally select the wrong dictionary, but this only happens if the selected text also appears in a dictionary above the selected text. For example, suppose you have two bilingual dictionaries. and for the word \u30bf\u30b3, you highlight the word \"octopus\" and create the card. Both bilingual dictionaries will list \"octopus\", so even if you highlight the word \"octopus\" in the second bilingual dictionary, only the first bilingual dictionary will be chosen. This is usually not a problem even if the same text appears in a dictionary above because it's the same definition regardless. Additionally, monolingual dictionaries almost never have the exact same definition for the same word. However, if you still want a specific dictionary, highlight the dictionary tag as shown above . UI Options \u00b6 Hiding the first line of a definition \u00b6 See also: How to remove the numbers in the definition The first line of the definition has various elements that can be hidden with CSS . Nothing hidden (default) Hide extra text Hide dictionary tag Hide entire first line Nothing is hidden. This is the default behavior. This hides all the text to the right of the dictionary tag. CSS to hide extra text (click here) New in version 0.11.0.0 (latest version: 0.11.0.4 ) The following CSS only affects only the dictionary with the tag \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d. To use this on more than one dictionary, copy/paste the CSS multiple times, and replace the dictionary tag. Under extra/style.scss , add the following code: /* hide the text after the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary tag */ . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line { display : none ; } (Optional) Under extra/field.scss , add the following code: /* greys out the text after the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary tag */ anki-editable ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line { color : var ( --text-color--3 ); } Removes only the dictionary tag. This doesn't look very good on most dictionaries. CSS to hide dictionary tag(s) (click here) The following CSS only affects only the dictionary with the tag \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d. To use this on more than one dictionary, copy/paste the CSS multiple times, and replace the dictionary tag. Under extra/style.scss , add the following code: /* hide the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary */ ol li [ data-details = \"\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\" ] . dict-group__tag-list { display : none ; } (Optional) Under extra/field.scss , add the following code: /* greys out the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary */ anki-editable ol li [ data-details = \"\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\" ] . dict-group__tag-list { color : var ( --text-color--3 ); } CSS to hide JMdict's dictionary tag (click here) If you are on a modern version of JMdict, the dictionary will contain additional tags to the right of the dictionary tag by default, such as (n), (vs), etc. The instructions above will remove all of these tags. You may want to only remove the dictionary tag without removing the other information tags. If your JMdict dictionary tag is exactly JMdict (English) , then this is already the default behavior. However, if your dictionary tag is different, do the following (you may have to replace JMdict with your exact JMdict dictionary tag): Under extra/style.scss , add the following code: /* removes the dictionary entry for jmdict */ . glossary-text ol li [ data-details = \"JMdict\" ] . dict-group__tag-list . dict-group__tag--dict { display : none ; } /* Makes JMDict italic */ . glossary-text ol li [ data-details = \"JMdict\" ] . dict-group__tag-list { font-style : italic ; } (Optional) Under extra/field.scss , add the following code: /* greys out dictionary entry for jmdict */ anki-editable ol li [ data-details = \"JMdict\" ] . dict-group__tag-list . dict-group__tag--dict { color : var ( --text-color--3 ); } /* Makes JMDict italic */ anki-editable ol li [ data-details = \"JMdict\" ] . dict-group__tag-list { font-style : italic ; } Hides the entire first line. This is a combination of the last two, meaning it hides the dictionary tag and the text to the right. CSS to hide the entire first line (click here) New in version 0.11.0.0 (latest version: 0.11.0.4 ) The following SCSS only affects only the dictionary with the tag \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d. To use this on more than one dictionary, copy/paste the SCSS multiple times, and replace the dictionary tag. Under extra/style.scss , add the following code: /* hide the first line for the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary */ . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] { .dict-group__tag-list, .dict-group__glossary--first-line, .dict-group__glossary--first-line-break { display : none ; } } (Optional) Under extra/field.scss , add the following code: anki-editable ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] { .dict-group__tag-list, .dict-group__glossary--first-line, .dict-group__glossary--first-line-break { display : none ; } } Note The above examples are SCSS, and not CSS. If you are using CSS, do not flatten the classes after the first line. Example Raw CSS: . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__tag-list { display : none ; } . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line { display : none ; } . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line-break { display : none ; } Removing the numbers in the primary definition \u00b6 Currently, I am not aware of an easy way to only remove the numbers if there is only one item (and having them remain for multple definitions) with only CSS. The following CSS completely nukes the numbers regardless of how many items there are in the list. Instructions (click here) Under extra/style.scss , add the following code: . glossary-text--primary-definition ol { list-style : none ; padding-left : 0 em ; } Collapsing dictionaries \u00b6 Warning New as of version 0.11.1.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. This allows you collapse dictionaries within the Secondary Definition or Extra Definitions section. TODO gif Instructions (click here) { \"modules\" : { \"collapse-dictionaries\" : { \"enabled\" : true , // ... } } } Note There are many options for the above the above module, such as overriding what dictionaries should be collapsed or not. These will not be documented here, but will be documented in the runtime options file.","title":"Definitions"},{"location":"definitions/#dictionary-placement","text":"This section deals with how the custom Yomichan Templates categorizes dictionaries, and how to properly customize them for your setup.","title":"Dictionary Placement"},{"location":"definitions/#expected-dictionary-placement","text":"Dictionaries from Yomichan are sorted into the following fields: PrimaryDefinition : A dictionary specified by the user. Bilingual by default. This can be changed in many different ways . SecondaryDefinition : All bilingual dictionaries outside of the one in PrimaryDefinition ExtraDefinitions : All monolingual dictionaries outside of the one in PrimaryDefinition UtilityDictionaries : All traditionally-formatted dictionaries that do not belong in any of the above categories (in other words, does not provide the meaning of the word). An example is the JMdict Surface Forms dictionary Note This does not include pitch accent dictionaries, frequency lists, or kanji dictionaries, as these are not traditionally-formatted dictionaries. The way that the dictionaries are sorted into the appropriate fields is by assigning a category to each individual dictionary.","title":"Expected Dictionary Placement"},{"location":"definitions/#verifying-categories","text":"You can check that your dictionaries are correctly categorized with the {jpmn-test-dict-type} marker. Under the Anki Templates code, replace Card field with {jpmn-test-dict-type} and press Test . An example output of the above (on the word \u7d50\u69cb) is the following: \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d: monolingual \u300c\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\u300d: monolingual \u300c\u30cf\u30a4\u30d6\u30ea\u30c3\u30c9\u65b0\u8f9e\u6797\u300d: monolingual \u300c\u65b0\u660e\u89e3\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e94\u7248\u300d: monolingual \u300c\u30c7\u30b8\u30bf\u30eb\u5927\u8f9e\u6cc9\u300d: monolingual \u300cNHK\u65e5\u672c\u8a9e\u767a\u97f3\u30a2\u30af\u30bb\u30f3\u30c8\u65b0\u8f9e\u5178\u300d: utility \u300cJMDict Surface Forms\u300d: utility \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300cJMdict (English)\u300d: bilingual \u300c\u65b0\u548c\u82f1\u300d: bilingual If a dictionary is miscategorized, you will have to edit bilingual-dict-regex or utility-dict-regex at the top of the template code. Monolingual dictionaries are considered to be dictionaries that aren't either of the two above, so no handlebars code has to be changed if one were to use more monolingual dictionaries. To see how to edit the regex, go to this section .","title":"Verifying Categories"},{"location":"definitions/#ignoring-a-dictionary","text":"If you want to see the dictionary on Yomichan but not have it show on Anki, you can use the ignored-dict-regex option. To see how to edit the option, see the section below . Conversely, if you want to not see the dictionary on Yomichan but want it to show up on Anki, see here . Note It is recommended to not use this option, so you have as much information as possible within the note. If you wish to not see a dictionary, it might be easier to collapse the dictionary .","title":"Ignoring a Dictionary"},{"location":"definitions/#editing-the-dictionary-regex","text":"To modify a regex string: Determine the exact tag your dictionary has. To see this, take a word that has a definition in the desired dictionary, and test {jpmn-test-dict-type} like above. The string inside the quotes \u300c\u300d is exactly the tag of the dictionary. Add the dictionary tag to the string, by replacing ADD_x_DICTIONARIES_HERE . For example, if your bilingual dictionary tag is Amazing Dictionary , change ADD_BILINGUAL_DICTIONARIES_HERE to Amazing Dictionary . If you want to add more than one dictionary, they have to be joined with the | character. For example, if you want to add the bilingual dictionaries Amazing Dictionary and Somewhat-Okay-Dictionary , change ADD_BILINGUAL_DICTIONARIES_HERE to Amazing Dictionary|Somewhat-Okay-Dictionary . For completeness, here is the modified line for the second example: {{ ~#set \"bilingual-dict-regex\" ~ }} ^(([Jj][Mm][Dd]ict)(?! Surface Forms)(.*)|\u65b0\u548c\u82f1.*|\u65e5\u672c\u8a9e\u6587\u6cd5\u8f9e\u5178.*|Amazing Dictionary|Somewhat-Okay-Dictionary)$ {{ ~/set~ }}","title":"Editing the dictionary regex"},{"location":"definitions/#primary-definition-selection","text":"","title":"Primary Definition Selection"},{"location":"definitions/#automatic-selection-bilingual-or-monolingual","text":"The dictionary for the primary definition is the first bilingual dictionary (that appears on Yomichan) by default. This can be changed to the first monolingual dictionary by changing the following Yomichan template option to monolingual : {{ ~! valid values : \"bilingual\" , \"monolingual\" ~ }} {{ ~#set \"opt-first-definition-type\" \"monolingual\" }}{{ /set~ }}","title":"Automatic Selection (Bilingual or Monolingual)"},{"location":"definitions/#manual-selection","text":"Sometimes, you may want to override the primary definition, or highlight the definition that makes sense with the context. By default, selecting (highlighting) the text will do nothing , to prevent any unexpected errors from happening. However, the user can set the following Yomichan template option to allow selecting text to override the automatic dictionary selection behavior: {{ ~! options related to selected text ~ }} {{ set \"opt-selection-text-enabled\" true }} Setting this option will enable the following behavior: If nothing is selected, then the first dictionary is chosen just like normal. If a dictionary is selected, then that dictionary will replace the first definition. To disable this, set opt-selection-text-dictionary to false . If a section of text is selected, then that dictionary will replace the first definition. Additionally, that section of text will be highlighted (bolded). To disable this, set opt-selection-text-glossary to false . Additionally, if you do not want to use the entire dictionary, and prefer that only the selected text is shown in the first definition, then set opt-selection-text-glossary-attempt-bold to false . Where automatic bolding can fail (click here) Automatic bolding may not always work: if the highlighted text could not be automatically detected from the custom template code, then it will fallback to simply using the highlighted text (as if you used the {selection-text} marker). This is most likely to fail if you select formatted parts of text, such as (but not limited to): line breaks furigana across multiple items in a list (common with JMdict) Where dictionary selection can fail (click here) This may occasionally select the wrong dictionary, but this only happens if the selected text also appears in a dictionary above the selected text. For example, suppose you have two bilingual dictionaries. and for the word \u30bf\u30b3, you highlight the word \"octopus\" and create the card. Both bilingual dictionaries will list \"octopus\", so even if you highlight the word \"octopus\" in the second bilingual dictionary, only the first bilingual dictionary will be chosen. This is usually not a problem even if the same text appears in a dictionary above because it's the same definition regardless. Additionally, monolingual dictionaries almost never have the exact same definition for the same word. However, if you still want a specific dictionary, highlight the dictionary tag as shown above .","title":"Manual Selection"},{"location":"definitions/#ui-options","text":"","title":"UI Options"},{"location":"definitions/#hiding-the-first-line-of-a-definition","text":"See also: How to remove the numbers in the definition The first line of the definition has various elements that can be hidden with CSS . Nothing hidden (default) Hide extra text Hide dictionary tag Hide entire first line Nothing is hidden. This is the default behavior. This hides all the text to the right of the dictionary tag. CSS to hide extra text (click here) New in version 0.11.0.0 (latest version: 0.11.0.4 ) The following CSS only affects only the dictionary with the tag \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d. To use this on more than one dictionary, copy/paste the CSS multiple times, and replace the dictionary tag. Under extra/style.scss , add the following code: /* hide the text after the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary tag */ . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line { display : none ; } (Optional) Under extra/field.scss , add the following code: /* greys out the text after the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary tag */ anki-editable ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line { color : var ( --text-color--3 ); } Removes only the dictionary tag. This doesn't look very good on most dictionaries. CSS to hide dictionary tag(s) (click here) The following CSS only affects only the dictionary with the tag \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d. To use this on more than one dictionary, copy/paste the CSS multiple times, and replace the dictionary tag. Under extra/style.scss , add the following code: /* hide the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary */ ol li [ data-details = \"\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\" ] . dict-group__tag-list { display : none ; } (Optional) Under extra/field.scss , add the following code: /* greys out the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary */ anki-editable ol li [ data-details = \"\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\" ] . dict-group__tag-list { color : var ( --text-color--3 ); } CSS to hide JMdict's dictionary tag (click here) If you are on a modern version of JMdict, the dictionary will contain additional tags to the right of the dictionary tag by default, such as (n), (vs), etc. The instructions above will remove all of these tags. You may want to only remove the dictionary tag without removing the other information tags. If your JMdict dictionary tag is exactly JMdict (English) , then this is already the default behavior. However, if your dictionary tag is different, do the following (you may have to replace JMdict with your exact JMdict dictionary tag): Under extra/style.scss , add the following code: /* removes the dictionary entry for jmdict */ . glossary-text ol li [ data-details = \"JMdict\" ] . dict-group__tag-list . dict-group__tag--dict { display : none ; } /* Makes JMDict italic */ . glossary-text ol li [ data-details = \"JMdict\" ] . dict-group__tag-list { font-style : italic ; } (Optional) Under extra/field.scss , add the following code: /* greys out dictionary entry for jmdict */ anki-editable ol li [ data-details = \"JMdict\" ] . dict-group__tag-list . dict-group__tag--dict { color : var ( --text-color--3 ); } /* Makes JMDict italic */ anki-editable ol li [ data-details = \"JMdict\" ] . dict-group__tag-list { font-style : italic ; } Hides the entire first line. This is a combination of the last two, meaning it hides the dictionary tag and the text to the right. CSS to hide the entire first line (click here) New in version 0.11.0.0 (latest version: 0.11.0.4 ) The following SCSS only affects only the dictionary with the tag \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d. To use this on more than one dictionary, copy/paste the SCSS multiple times, and replace the dictionary tag. Under extra/style.scss , add the following code: /* hide the first line for the \u300c\u65fa\u6587\u793e\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u5341\u4e00\u7248\u300d dictionary */ . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] { .dict-group__tag-list, .dict-group__glossary--first-line, .dict-group__glossary--first-line-break { display : none ; } } (Optional) Under extra/field.scss , add the following code: anki-editable ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] { .dict-group__tag-list, .dict-group__glossary--first-line, .dict-group__glossary--first-line-break { display : none ; } } Note The above examples are SCSS, and not CSS. If you are using CSS, do not flatten the classes after the first line. Example Raw CSS: . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__tag-list { display : none ; } . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line { display : none ; } . glossary-text ol li [ data-details = \"\u660e\u93e1\u56fd\u8a9e\u8f9e\u5178 \u7b2c\u4e8c\u7248\" ] . dict-group__glossary--first-line-break { display : none ; }","title":"Hiding the first line of a definition"},{"location":"definitions/#removing-the-numbers-in-the-primary-definition","text":"Currently, I am not aware of an easy way to only remove the numbers if there is only one item (and having them remain for multple definitions) with only CSS. The following CSS completely nukes the numbers regardless of how many items there are in the list. Instructions (click here) Under extra/style.scss , add the following code: . glossary-text--primary-definition ol { list-style : none ; padding-left : 0 em ; }","title":"Removing the numbers in the primary definition"},{"location":"definitions/#collapsing-dictionaries","text":"Warning New as of version 0.11.1.0 . This version is currently bleeding edge , so this feature cannot be used unless you compile the templates from the dev branch. This allows you collapse dictionaries within the Secondary Definition or Extra Definitions section. TODO gif Instructions (click here) { \"modules\" : { \"collapse-dictionaries\" : { \"enabled\" : true , // ... } } } Note There are many options for the above the above module, such as overriding what dictionaries should be collapsed or not. These will not be documented here, but will be documented in the runtime options file.","title":"Collapsing dictionaries"},{"location":"faq/","text":"Errors & Warnings \u00b6 This section documents frequent errors that may show up on the info circle at the top right. (Error) AnkiConnect failed to issue request. \u00b6 This is an indication that Anki-Connect is failing. There are two main reasons that Anki-Connect can fail: Ensure that Anki-Connect is installed. If it is installed, be sure to restart Anki to ensure the add-on is actually running. If you are using an older version of Anki (2.1.49 and below), see the note in the Anki-Connect setup section here . (Warning) JPMNOpts was not defined in the options file. Was there an error? \u00b6 If you see this as an isolated warning without any other errors, it is very likely that you are using Anki version 2.1.49 or below. Please check your Anki version to confirm this: Main Window \u2192 Help \u2192 About... If your Anki version is indeed 2.1.49 or below, then this should only appear on the front side of your first card of the session. To check, try flipping the card and back. This warning should dissappear once you do. The only side effect of this is that the user-defined runtime options will not be used for the front side of the first card, and the defaults will be used instead. There are two ways to fix this: Update Anki to a higher version. Compile the card with hard-coded defaults . Why this happens (click here) The