feat: Fix parsing of ignored explanation, add to kanji view

This commit is contained in:
Dendy 2025-09-08 08:36:13 +02:00
parent 76f5f30a47
commit f5a65fbe05
2 changed files with 27 additions and 22 deletions

View File

@ -38,6 +38,7 @@ class KanjiController extends AbstractController
$file = fopen($path, 'r'); $file = fopen($path, 'r');
while (($kanji = fgets($file)) !== false) { while (($kanji = fgets($file)) !== false) {
$kanji = mb_trim($kanji); $kanji = mb_trim($kanji);
$ret[$kanji] = '';
if (mb_strlen($kanji) !== 1) throw new \Exception(sprintf( if (mb_strlen($kanji) !== 1) throw new \Exception(sprintf(
'Kanji expected, got "%s"', 'Kanji expected, got "%s"',
@ -45,7 +46,7 @@ class KanjiController extends AbstractController
)); ));
while (($explanation = fgets($file)) !== false) { while (($explanation = fgets($file)) !== false) {
if ($explanation === "\n") continue 2; if ($explanation === "\n") continue 2;
$ret[$kanji] = mb_trim(fgets($file)); $ret[$kanji] .= mb_trim($explanation);
} }
} }
@ -156,6 +157,7 @@ class KanjiController extends AbstractController
$ebookRef = require "$this->varBasepath/ebook-ref.php"; $ebookRef = require "$this->varBasepath/ebook-ref.php";
return $this->render(self::tmpl('view'), [ return $this->render(self::tmpl('view'), [
'ignored_text' => $this->getIgnoredList()[$charStr] ?? null,
'char' => $charStr, 'char' => $charStr,
'codepoint' => $codepoint, 'codepoint' => $codepoint,
'info' => $charInfo, 'info' => $charInfo,

View File

@ -1,4 +1,4 @@
<div class="d-flex flex-column gap-2 p-3 align-items-start"> <div class="d-flex flex-column p-3 align-items-stretch">
<div class="d-flex gap-2 w-100"> <div class="d-flex gap-2 w-100">
<div class="card"> <div class="card">
@ -92,14 +92,18 @@
</div> </div>
<div class="d-flex flex-column"> {% if ignored_text is not null %}
<hr>
<h2>Ignored</h2 >
<div>{{ ignored_text }}</div>
{% endif %}
<hr> <hr>
<h2>Terms</h2> <h2>Terms</h2>
{% for term in terms|slice(0,5) %} {% for term in terms|slice(0,5) %}
<div> <div>{{ term.toAnkiVocabDef|ruby|raw }}</div>
<div class="text">{{ term.toAnkiVocabDef|ruby|raw }}</div>
</div>
{% endfor %} {% endfor %}
<hr> <hr>
@ -108,5 +112,4 @@
{% for refname, refcount in ref %} {% for refname, refcount in ref %}
<div>{{ refname|basename }}: {{ refcount }}</div> <div>{{ refname|basename }}: {{ refcount }}</div>
{% endfor %} {% endfor %}
</div>
</div> </div>