Add "Black Clover & JP Immersion" page
This commit is contained in:
parent
2a41f85bc1
commit
b8b82b4fd6
BIN
content/images/asbplayer_yomi.png
Normal file
BIN
content/images/asbplayer_yomi.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 138 KiB |
BIN
content/images/fist.gif
Normal file
BIN
content/images/fist.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.1 MiB |
34
content/posts/japanese-immersion-with-black-clover.md
Normal file
34
content/posts/japanese-immersion-with-black-clover.md
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
---
|
||||||
|
title: "Black Clover & Japanese Language Immersion"
|
||||||
|
date: 2023-08-15T16:49:55+02:00
|
||||||
|
tags: ["japanese", "language_learning", "sharing", "knowledge"]
|
||||||
|
---
|
||||||
|
|
||||||
|
Today I wanted to share my language learning experience of Black Clover. If you're a fellow learner of the Japanese language and would like to hear some feedback on this anime, this is the post for you.
|
||||||
|
|
||||||
|
I should point out that this is my first anime I ever fully watched with Japanese subtitles. And so, big thanks to [Asbplayer](https://github.com/killergerbah/asbplayer) and [Yomichan](https://foosoft.net/projects/yomichan/) for making this possible. Splendid tools for sentence mining.
|
||||||
|
|
||||||
|
If you don't know what they are, in short:
|
||||||
|
- Yomichan is an extension which allows you to highlight Japanese words and show you their dictionary translations (alongside also provides amazing shortcuts for adding the word directly into Anki).
|
||||||
|
- Asbplayer is an extension which allows you to insert custom subtitle files into a webplayer (also provides handy shortcuts for automatically inserting audio/screenshots into Anki cards)
|
||||||
|
|
||||||
|
Not only was watching anime with subtitles suddenly much easier, I could finally do real sentence mining with Anki and extract all the new words I wanted with the shortcuts that the two extensions provided.
|
||||||
|
|
||||||
|
![Asbplayer + Yomichan are based](/images/asbplayer_yomi.png)
|
||||||
|
|
||||||
|
The whole experience was super fun and engaging enough to make me say "oh come on, one more episode. \*click\*" (this is especially true because at some point I even started getting the jokes)
|
||||||
|
|
||||||
|
With all this said, it's totally possible that not everybody will enjoy the anime the same way as I did. Given the preferences, knowledge difference, etc. that we might have. But overall I recommend this anime to anybody who feels that they're at least N4 or better.
|
||||||
|
|
||||||
|
Now, what did I get from this anime?
|
||||||
|
- Roughly 200-300 new words
|
||||||
|
- Listening and reading skills improved a lot
|
||||||
|
- Fun
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
One step closer to N1 boys. One day one day.
|
||||||
|
|
||||||
|
![\*Bro fist\*](/images/fist.gif)
|
||||||
|
|
||||||
|
Wish you a great day, cheers!
|
|
@ -7,6 +7,7 @@
|
||||||
</div>
|
</div>
|
||||||
{{- partial "js_paginator.html" . -}}
|
{{- partial "js_paginator.html" . -}}
|
||||||
<script>
|
<script>
|
||||||
|
const noResFoundStr = '{{ i18n "noResultsFound" | safeJS }}'
|
||||||
function matchTags(page, term) {
|
function matchTags(page, term) {
|
||||||
for (let tag of page.tags) {
|
for (let tag of page.tags) {
|
||||||
if (tag.includes(term)) return true;
|
if (tag.includes(term)) return true;
|
||||||
|
@ -25,7 +26,7 @@
|
||||||
));
|
));
|
||||||
if (articles.length > 0) renderArticles(articles);
|
if (articles.length > 0) renderArticles(articles);
|
||||||
else document.getElementById('postlist').innerHTML = `
|
else document.getElementById('postlist').innerHTML = `
|
||||||
<h3>{{ i18n "noResultsFound" | safeJS }}</h3>
|
<h3>${noResFoundStr}</h3>
|
||||||
`;
|
`;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,9 @@
|
||||||
<script>
|
<script>
|
||||||
|
const tagsStr = '{{ i18n "tags" | safeJS }}'
|
||||||
|
|
||||||
function renderTags(tags) {
|
function renderTags(tags) {
|
||||||
if (tags.length <= 0) return '';
|
if (tags.length <= 0) return '';
|
||||||
let res = `| <span title='{{ i18n "tags" | safeJS }}'> </span>`;
|
let res = `| <span title=''> </span>`;
|
||||||
for (let tag of tags) {
|
for (let tag of tags) {
|
||||||
// regular space
|
// regular space
|
||||||
res += `<a href="/tags/${tag}">#${tag}</a> `;
|
res += `<a href="/tags/${tag}">#${tag}</a> `;
|
||||||
|
@ -13,6 +15,30 @@
|
||||||
return `<a href="${link}"><img src="${image}" alt="${alt}" /></a>`;
|
return `<a href="${link}"><img src="${image}" alt="${alt}" /></a>`;
|
||||||
}
|
}
|
||||||
function renderSingleArticle(article) {
|
function renderSingleArticle(article) {
|
||||||
|
{{ if (.Site.Params.tagsInArticlePreview | default true) }}
|
||||||
|
const tags = renderTags(article.tags)
|
||||||
|
{{ else }}
|
||||||
|
const tags = ''
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if .Site.Params.imageInArticlePreview }}
|
||||||
|
const img = renderImage(article.image, article.link, article.imageAlt)
|
||||||
|
{{ else }}
|
||||||
|
const img = ''
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
{{ if (site.Params.articleSummary | default true) }}
|
||||||
|
const continueReadingStr = '{{ i18n "continueReading" | safeJS }}'
|
||||||
|
const summ = `<div class="articlePreview">
|
||||||
|
<p>${article.summary}</p>
|
||||||
|
<p><a href="${article.link}">${continueReadingStr} </a></p>
|
||||||
|
</div>`
|
||||||
|
{{ else }}
|
||||||
|
const summ = ''
|
||||||
|
{{ end }}
|
||||||
|
|
||||||
|
const dateStr = '{{ i18n "date" | safeJS }}'
|
||||||
|
|
||||||
return `
|
return `
|
||||||
<article class="card postlistitem">
|
<article class="card postlistitem">
|
||||||
<div>
|
<div>
|
||||||
|
@ -20,21 +46,12 @@
|
||||||
<a href="${article.link}">${article.title}</a>
|
<a href="${article.link}">${article.title}</a>
|
||||||
</h2>
|
</h2>
|
||||||
<p class="date">
|
<p class="date">
|
||||||
<span title='{{ i18n "date" | safeJS }}'> </span>
|
<span title='${dateStr}'> </span>
|
||||||
${article.date}
|
${article.date}
|
||||||
{{ if (.Site.Params.tagsInArticlePreview | default true) }}
|
${tags}
|
||||||
${renderTags(article.tags)}
|
|
||||||
{{ end }}
|
|
||||||
</p>
|
</p>
|
||||||
{{ if .Site.Params.imageInArticlePreview }}
|
${img}
|
||||||
${renderImage(article.image, article.link, article.imageAlt)}
|
${summ}
|
||||||
{{ end }}
|
|
||||||
{{ if (site.Params.articleSummary | default true) }}
|
|
||||||
<div class="articlePreview">
|
|
||||||
<p>${article.summary}</p>
|
|
||||||
<p><a href="${article.link}">{{ i18n "continueReading" | safeJS }} </a></p>
|
|
||||||
</div>
|
|
||||||
{{ end }}
|
|
||||||
</div>
|
</div>
|
||||||
<hr />
|
<hr />
|
||||||
</article>
|
</article>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user