henkan 2.4.4 → 2.4.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs.js +46 -38
- package/dist/index.cjs.js.map +2 -2
- package/dist/index.mjs +46 -38
- package/dist/index.mjs.map +2 -2
- package/dist/types/utils.d.ts.map +1 -1
- package/docs/api/functions/generateAnkiNotesFile.md +1 -1
- package/package.json +10 -10
- package/src/utils.ts +55 -45
package/dist/index.cjs.js
CHANGED
|
@@ -2741,17 +2741,22 @@ function generateAnkiNote(entry) {
|
|
|
2741
2741
|
)
|
|
2742
2742
|
).join("")}</details>` : "";
|
|
2743
2743
|
const readingsField = `${firstReading}${otherReadings}`;
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
|
|
2753
|
-
|
|
2754
|
-
|
|
2744
|
+
let readingsFieldWithoutAudio = '<div id="no-r-audio" style="display: none"></div>';
|
|
2745
|
+
let hasAudio = false;
|
|
2746
|
+
if (entry.readings.some((r) => r.audio !== void 0)) {
|
|
2747
|
+
const firstReadingWithoutAudio = createEntry(
|
|
2748
|
+
`<span class="word word-reading">${entry.readings[0].reading}</span>`,
|
|
2749
|
+
entry.readings[0].notes
|
|
2750
|
+
);
|
|
2751
|
+
const otherReadingsWithoutAudio = entry.readings.length > 1 ? `<details><summary>Show other readings</summary>${entry.readings.slice(1).map(
|
|
2752
|
+
(readingEntry) => createEntry(
|
|
2753
|
+
`<span class="word word-reading">${readingEntry.reading}</span>`,
|
|
2754
|
+
readingEntry.notes
|
|
2755
|
+
)
|
|
2756
|
+
).join("")}</details>` : "";
|
|
2757
|
+
readingsFieldWithoutAudio = `${firstReadingWithoutAudio}${otherReadingsWithoutAudio}`;
|
|
2758
|
+
hasAudio = true;
|
|
2759
|
+
}
|
|
2755
2760
|
const firstKanjiForm = entry.kanjiForms !== void 0 ? createEntry(
|
|
2756
2761
|
`<span class="word word-kanjiform"><ruby><rb>${entry.kanjiForms[0].kanjiForm}</rb><rt>${entry.readings[0].reading}</rt></ruby></span>`,
|
|
2757
2762
|
entry.kanjiForms[0].notes
|
|
@@ -2767,7 +2772,7 @@ function generateAnkiNote(entry) {
|
|
|
2767
2772
|
kanjiFormEntry.notes
|
|
2768
2773
|
);
|
|
2769
2774
|
}).join("")}</details>` : "";
|
|
2770
|
-
const kanjiFormsField = firstKanjiForm !== void 0 ? `${firstKanjiForm}${otherKanjiForms}` : '<span class="word word-kanjiform">(no kanji forms)</span>';
|
|
2775
|
+
const kanjiFormsField = firstKanjiForm !== void 0 ? `${firstKanjiForm}${otherKanjiForms}` : '<span class="word word-kanjiform" id="no-kanjiforms">(no kanji forms)</span>';
|
|
2771
2776
|
const firstThreeTranslations = entry.translations.slice(0, 3).map(
|
|
2772
2777
|
(translationEntry, index) => createEntry(
|
|
2773
2778
|
`<span class="word word-translation">${translationEntry.translation}</span>`,
|
|
@@ -2811,7 +2816,7 @@ function generateAnkiNote(entry) {
|
|
|
2811
2816
|
) ? true : void 0
|
|
2812
2817
|
);
|
|
2813
2818
|
}).filter((phrase) => phrase !== "null").join("")}</details>` : "";
|
|
2814
|
-
const phrasesField = firstFivePhrases !== void 0 ? `${firstFivePhrases}${otherPhrases}` : '<span class="word word-phrase">(no phrases)
|
|
2819
|
+
const phrasesField = firstFivePhrases !== void 0 ? `${firstFivePhrases}${otherPhrases}` : '<span class="word word-phrase" id="no-phrases">(no phrases)</span>';
|
|
2815
2820
|
const firstThreeDefinitions = entry.definitions?.slice(0, 3).map(
|
|
2816
2821
|
(definitionEntry) => createEntry(
|
|
2817
2822
|
`<span class="word word-definition${definitionEntry.mayNotBeAccurate === 2 ? " mnba2" : definitionEntry.mayNotBeAccurate === 1 ? " mnba1" : ""}"><span class="word word-definition-original">${definitionEntry.definition}</span><span class="word word-definition-furigana">${definitionEntry.furigana ?? definitionEntry.definition}</span></span>`
|
|
@@ -2822,14 +2827,17 @@ function generateAnkiNote(entry) {
|
|
|
2822
2827
|
`<span class="word word-definition${definitionEntry.mayNotBeAccurate === 2 ? " mnba2" : definitionEntry.mayNotBeAccurate === 1 ? " mnba1" : ""}"><span class="word word-definition-original">${definitionEntry.definition}</span><span class="word word-definition-furigana">${definitionEntry.furigana ?? definitionEntry.definition}</span></span>`
|
|
2823
2828
|
) : "null"
|
|
2824
2829
|
).filter((definition) => definition !== "null").join("")}</details>` : "";
|
|
2825
|
-
const definitionsField = firstThreeDefinitions !== void 0 ? `${firstThreeDefinitions}${otherDefinitions}` : '<span class="word word-definition">(no definitions)</span>';
|
|
2826
|
-
const searchField =
|
|
2827
|
-
entry.readings.map((r) => r.reading),
|
|
2828
|
-
entry.kanjiForms?.map((kf) => kf.kanjiForm) ?? []
|
|
2829
|
-
].join(" ");
|
|
2830
|
+
const definitionsField = firstThreeDefinitions !== void 0 ? `${firstThreeDefinitions}${otherDefinitions}` : '<span class="word word-definition" id="no-definitions">(no definitions)</span>';
|
|
2831
|
+
const searchField = `${entry.readings.map((r) => r.reading).join(" ")}${entry.kanjiForms !== void 0 ? ` ${entry.kanjiForms.map((kf) => kf.kanjiForm).join(" ")}` : ""} ${entry.id}`;
|
|
2830
2832
|
fields.push(
|
|
2831
|
-
...entry.kanjiForms !== void 0 && !entry.usuallyInKana ? [
|
|
2832
|
-
|
|
2833
|
+
...entry.kanjiForms !== void 0 && !entry.usuallyInKana ? [
|
|
2834
|
+
`${kanjiFormsField}<div id="kf-pos" style="display: none" data-pos="1"></div>`,
|
|
2835
|
+
`${hasAudio ? readingsFieldWithoutAudio : readingsField}<div id="r-pos" style="display: none" data-pos="2"></div>`
|
|
2836
|
+
] : [
|
|
2837
|
+
`${kanjiFormsField}<div id="kf-pos" style="display: none" data-pos="2"></div>`,
|
|
2838
|
+
`${hasAudio ? readingsFieldWithoutAudio : readingsField}<div id="r-pos" style="display: none" data-pos="1"></div>`
|
|
2839
|
+
],
|
|
2840
|
+
`${hasAudio ? readingsField : readingsFieldWithoutAudio}<div id="r-pos" style="display: none" data-pos="${entry.kanjiForms !== void 0 && !entry.usuallyInKana ? "2" : "1"}"></div>`,
|
|
2833
2841
|
translationsField,
|
|
2834
2842
|
phrasesField,
|
|
2835
2843
|
definitionsField,
|
|
@@ -2838,7 +2846,7 @@ function generateAnkiNote(entry) {
|
|
|
2838
2846
|
`<span class="word word-kanji">${kanjiEntry.kanji}${kanjiEntry.meanings === void 0 ? " (no meanings)" : ""}</span>`,
|
|
2839
2847
|
kanjiEntry.meanings
|
|
2840
2848
|
)
|
|
2841
|
-
).join("") : '<span class="word word-kanji">(no kanji)</span>',
|
|
2849
|
+
).join("") : '<span class="word word-kanji" id="no-kanji">(no kanji)</span>',
|
|
2842
2850
|
searchField,
|
|
2843
2851
|
...entry.tags !== void 0 && entry.tags.length > 0 ? [
|
|
2844
2852
|
entry.tags.map(
|
|
@@ -2862,16 +2870,16 @@ function generateAnkiNote(entry) {
|
|
|
2862
2870
|
).join(""),
|
|
2863
2871
|
entry.mnemonic !== void 0 ? createEntry(
|
|
2864
2872
|
`<span class="radical radical-mnemonic">${entry.mnemonic}</span>`
|
|
2865
|
-
) : '<span class="radical radical-mnemonic">(no mnemonic)
|
|
2873
|
+
) : '<span class="radical radical-mnemonic" id="no-mnemonic">(no mnemonic)</span>',
|
|
2866
2874
|
entry.kanji !== void 0 ? entry.kanji.map(
|
|
2867
2875
|
(kanji) => createEntry(
|
|
2868
2876
|
`<span class="radical radical-kanji">${kanji.kanji}${kanji.meanings !== void 0 && kanji.meanings.length > 0 ? ` - ${kanji.meanings[0]}` : ""}</span>`
|
|
2869
2877
|
)
|
|
2870
|
-
).join("") : '<span class="radical radical-kanji">(no "used-in" kanji)</span>',
|
|
2878
|
+
).join("") : '<span class="radical radical-kanji" id="no-kanji">(no "used-in" kanji)</span>',
|
|
2871
2879
|
entry.strokes !== void 0 ? createEntry(
|
|
2872
2880
|
`<span class="radical radical-strokes">${entry.strokes}<br>${entry.svg !== void 0 ? `<img class="radical radical-stroke-order" src="${entry.svg}" alt="${entry.radical} stroke order SVG">` : "(no stroke order SVG available)"}</span>`
|
|
2873
|
-
) : '<span class="radical radical-strokes">(no stroke number)</span>',
|
|
2874
|
-
entry.sources !== void 0 ? `<span class="radical radical-source">${entry.sources.map((source, index) => `<a href="${source}" target="_blank">Source ${index + 1}</a>`).join("<br>")}</span>` : '<span class="radical radical-source">(no sources)</span>',
|
|
2881
|
+
) : '<span class="radical radical-strokes" id="no-strokes">(no stroke number)</span>',
|
|
2882
|
+
entry.sources !== void 0 ? `<span class="radical radical-source">${entry.sources.map((source, index) => `<a href="${source}" target="_blank">Source ${index + 1}</a>`).join("<br>")}</span>` : '<span class="radical radical-source" id="no-sources">(no sources)</span>',
|
|
2875
2883
|
...entry.tags !== void 0 && entry.tags.length > 0 ? [
|
|
2876
2884
|
entry.tags.map(
|
|
2877
2885
|
(tag) => tag.trim().toLowerCase().replaceAll(" ", "::")
|
|
@@ -2885,39 +2893,39 @@ function generateAnkiNote(entry) {
|
|
|
2885
2893
|
(meaningEntry) => createEntry(
|
|
2886
2894
|
`<span class="kanji kanji-meaning">${meaningEntry}</span>`
|
|
2887
2895
|
)
|
|
2888
|
-
).join("") : '<span class="kanji kanji-meaning">(no meanings)</span>',
|
|
2896
|
+
).join("") : '<span class="kanji kanji-meaning" id="no-meanings">(no meanings)</span>',
|
|
2889
2897
|
entry.onyomi !== void 0 ? entry.onyomi.map(
|
|
2890
2898
|
(onyomiEntry) => createEntry(
|
|
2891
2899
|
`<span class="kanji kanji-onyomi">${onyomiEntry}</span>`
|
|
2892
2900
|
)
|
|
2893
|
-
).join("") : `<span class="kanji kanji-onyomi">(no onyomi) ${entry.kokuji === true ? "(kokuji)" : ""}</span>`,
|
|
2901
|
+
).join("") : `<span class="kanji kanji-onyomi" id="no-onyomi">(no onyomi) ${entry.kokuji === true ? "(kokuji)" : ""}</span>`,
|
|
2894
2902
|
entry.kunyomi !== void 0 ? entry.kunyomi.map(
|
|
2895
2903
|
(kunyomiEntry) => createEntry(
|
|
2896
2904
|
`<span class="kanji kanji-kunyomi">${kunyomiEntry}</span>`
|
|
2897
2905
|
)
|
|
2898
|
-
).join("") : `<span class="kanji kanji-kunyomi">(no kunyomi) ${entry.kokuji === true ? "(kokuji)" : ""}</span>`,
|
|
2906
|
+
).join("") : `<span class="kanji kanji-kunyomi" id="no-kunyomi">(no kunyomi) ${entry.kokuji === true ? "(kokuji)" : ""}</span>`,
|
|
2899
2907
|
entry.nanori !== void 0 ? entry.nanori.map(
|
|
2900
2908
|
(nanoriEntry) => createEntry(
|
|
2901
2909
|
`<span class="kanji kanji-nanori">${nanoriEntry}</span>`
|
|
2902
2910
|
)
|
|
2903
|
-
).join("") : '<span class="kanji kanji-nanori">(no nanori)</span>',
|
|
2911
|
+
).join("") : '<span class="kanji kanji-nanori" id="no-nanori">(no nanori)</span>',
|
|
2904
2912
|
entry.components !== void 0 ? entry.components.map(
|
|
2905
2913
|
(componentEntry) => createEntry(
|
|
2906
2914
|
`<span class="kanji kanji-component">${componentEntry.component}${componentEntry.meaning !== void 0 ? ` - ${componentEntry.meaning}` : ""}</span>`
|
|
2907
2915
|
)
|
|
2908
|
-
).join("") : '<span class="kanji kanji-component">(no components)</span>',
|
|
2916
|
+
).join("") : '<span class="kanji kanji-component" id="no-components">(no components)</span>',
|
|
2909
2917
|
entry.mnemonic !== void 0 ? createEntry(
|
|
2910
2918
|
`<span class="kanji kanji-mnemonic">${entry.mnemonic}</span>`
|
|
2911
|
-
) : '<span class="kanji kanji-mnemonic">(no mnemonic)
|
|
2919
|
+
) : '<span class="kanji kanji-mnemonic" id="no-mnemonic">(no mnemonic)</span>',
|
|
2912
2920
|
entry.words !== void 0 ? entry.words.map(
|
|
2913
2921
|
(word) => createEntry(
|
|
2914
2922
|
`<span class="kanji kanji-words">${word.kanjiForms.find((kf) => kf.kanjiForm.includes(entry.kanji)).kanjiForm} / ${word.readings[0].reading} - ${word.translations[0].translation}</span>`
|
|
2915
2923
|
)
|
|
2916
|
-
).join("") : '<span class="kanji kanji-words">(no words)
|
|
2924
|
+
).join("") : '<span class="kanji kanji-words" id="no-words">(no words)</span>',
|
|
2917
2925
|
entry.strokes !== void 0 ? createEntry(
|
|
2918
2926
|
`<span class="kanji kanji-strokes">${entry.strokes}<br>${entry.svg !== void 0 ? `<img class="kanji kanji-stroke-order" src="${entry.svg}" alt="${entry.kanji} stroke order SVG">` : "(no stroke order SVG available)"}</span>`
|
|
2919
|
-
) : '<span class="kanji kanji-strokes">(no stroke number)</span>',
|
|
2920
|
-
entry.source !== void 0 ? `<span class="kanji kanji-source"><a href="${entry.source}" target="_blank">Source</a></span>` : '<span class="kanji kanji-source">(no components/mnemonic source)</span>',
|
|
2927
|
+
) : '<span class="kanji kanji-strokes" id="no-strokes">(no stroke number)</span>',
|
|
2928
|
+
entry.source !== void 0 ? `<span class="kanji kanji-source"><a href="${entry.source}" target="_blank">Source</a></span>` : '<span class="kanji kanji-source" id="no-source">(no components/mnemonic source)</span>',
|
|
2921
2929
|
...entry.tags !== void 0 && entry.tags.length > 0 ? [
|
|
2922
2930
|
entry.tags.map(
|
|
2923
2931
|
(tag) => tag.trim().toLowerCase().replaceAll(" ", "::")
|
|
@@ -2946,7 +2954,7 @@ function generateAnkiNote(entry) {
|
|
|
2946
2954
|
(readingEntry) => createEntry(
|
|
2947
2955
|
`<span class="grammar grammar-reading">${readingEntry.reading}</span>`
|
|
2948
2956
|
)
|
|
2949
|
-
).join("") : '<span class="grammar grammar-reading">(no additional readings)</span>',
|
|
2957
|
+
).join("") : '<span class="grammar grammar-reading" id="no-readings">(no additional readings)</span>',
|
|
2950
2958
|
createEntry(
|
|
2951
2959
|
`<span class="grammar grammar-meaning">${entry.meaning.meaning}${entry.meaning.example !== void 0 && entry.meaning.example.length > 0 ? `<br><span class="grammar grammar-meaning-example">${entry.meaning.example}</span>` : ""}</span>`
|
|
2952
2960
|
),
|
|
@@ -2954,15 +2962,15 @@ function generateAnkiNote(entry) {
|
|
|
2954
2962
|
(usage) => createEntry(
|
|
2955
2963
|
`<span class="grammar grammar-usage">${usage}</span>`
|
|
2956
2964
|
)
|
|
2957
|
-
).join("") : '<span class="grammar grammar-usage">(no usages)</span>',
|
|
2965
|
+
).join("") : '<span class="grammar grammar-usage" id="no-usages">(no usages)</span>',
|
|
2958
2966
|
entry.phrases !== void 0 ? entry.phrases.map(
|
|
2959
2967
|
(phraseEntry) => createEntry(
|
|
2960
2968
|
`<span class="grammar grammar-phrase"><span class="grammar grammar-phrase-original">${phraseEntry.originalPhrase}</span><span class="grammar grammar-phrase-furigana">${phraseEntry.phrase}</span></span>`,
|
|
2961
2969
|
[phraseEntry.translation],
|
|
2962
2970
|
true
|
|
2963
2971
|
)
|
|
2964
|
-
).join("") : '<span class="grammar grammar-phrase">(no phrases)
|
|
2965
|
-
entry.source !== void 0 ? `<span class="grammar grammar-source"><a href="${entry.source}" target="_blank">Source</a></span>` : '<span class="grammar grammar-source">(no source)</span>',
|
|
2972
|
+
).join("") : '<span class="grammar grammar-phrase" id="no-phrases">(no phrases)</span>',
|
|
2973
|
+
entry.source !== void 0 ? `<span class="grammar grammar-source"><a href="${entry.source}" target="_blank">Source</a></span>` : '<span class="grammar grammar-source" id="no-source">(no source)</span>',
|
|
2966
2974
|
...entry.tags !== void 0 && entry.tags.length > 0 ? [
|
|
2967
2975
|
entry.tags.map(
|
|
2968
2976
|
(tag) => tag.trim().toLowerCase().replaceAll(" ", "::")
|