feat: add page count component

新しいPageCountコンポーネントを追加し、各言語のローカライズファイルにページ数の翻訳を追加しました。
This commit is contained in:
Keisuke ANDO 2025-05-30 08:37:25 +09:00
parent 096ef220dc
commit d1aae46e87
31 changed files with 124 additions and 10 deletions

View File

@ -0,0 +1,26 @@
import { QuartzComponent, QuartzComponentConstructor, QuartzComponentProps } from "./types"
import { classNames } from "../util/lang"
import { i18n } from "../i18n"
const PageCount: QuartzComponent = ({
allFiles,
displayClass,
cfg,
}: QuartzComponentProps) => {
const count = allFiles.length
return (
<div class={classNames(displayClass, "page-count")}>
<p>{i18n(cfg.locale).components.pageCount.totalItems({ count })}</p>
</div>
)
}
PageCount.css = `
.page-count {
padding: 0.5rem;
font-size: 0.9rem;
color: var(--secondary);
}
`
export default (() => PageCount) satisfies QuartzComponentConstructor

View File

@ -23,6 +23,7 @@ import Breadcrumbs from "./Breadcrumbs"
import Comments from "./Comments"
import Flex from "./Flex"
import ConditionalRender from "./ConditionalRender"
import PageCount from "./PageCount"
export {
ArticleTitle,
@ -50,4 +51,5 @@ export {
Comments,
Flex,
ConditionalRender,
PageCount,
}

View File

@ -64,6 +64,9 @@ export default {
? `دقيقتان للقراءة`
: `${minutes} دقائق للقراءة`,
},
pageCount: {
totalItems: ({ count }) => `${count} ملاحظات`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `Es llegeix en ${minutes} min`,
},
pageCount: {
totalItems: ({ count }) => `${count} notes`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min čtení`,
},
pageCount: {
totalItems: ({ count }) => `${count} poznámek`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min read`,
},
pageCount: {
totalItems: ({ count }) => `${count} Seiten`,
},
},
pages: {
rss: {

View File

@ -61,6 +61,9 @@ export interface Translation {
contentMeta: {
readingTime: (variables: { minutes: number }) => string
}
pageCount: {
totalItems: (variables: { count: number }) => string
}
}
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min read`,
},
pageCount: {
totalItems: ({ count }) => `${count} notes`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min read`,
},
pageCount: {
totalItems: ({ count }) => `${count} notes`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `Se lee en ${minutes} min`,
},
pageCount: {
totalItems: ({ count }) => `${count} notas`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `زمان تقریبی مطالعه: ${minutes} دقیقه`,
},
pageCount: {
totalItems: ({ count }) => `${count} یادداشت`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min lukuaika`,
},
pageCount: {
totalItems: ({ count }) => `${count} muistiinpanoa`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min de lecture`,
},
pageCount: {
totalItems: ({ count }) => `${count} notes`,
},
},
pages: {
rss: {

View File

@ -57,7 +57,10 @@ export default {
title: "Tartalomjegyzék",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} perces olvasás`,
readingTime: ({ minutes }) => `${minutes} perc olvasás`,
},
pageCount: {
totalItems: ({ count }) => `${count} jegyzet`,
},
},
pages: {

View File

@ -57,7 +57,10 @@ export default {
title: "Daftar Isi",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} menit baca`,
readingTime: ({ minutes }) => `${minutes} mnt baca`,
},
pageCount: {
totalItems: ({ count }) => `${count} catatan`,
},
},
pages: {

View File

@ -57,7 +57,10 @@ export default {
title: "Tabella dei contenuti",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} minuti`,
readingTime: ({ minutes }) => `${minutes} min di lettura`,
},
pageCount: {
totalItems: ({ count }) => `${count} note`,
},
},
pages: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min read`,
},
pageCount: {
totalItems: ({ count }) => `${count}件のページ`,
},
},
pages: {
rss: {

View File

@ -57,7 +57,10 @@ export default {
title: "목차",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min read`,
readingTime: ({ minutes }) => `${minutes}분 분량`,
},
pageCount: {
totalItems: ({ count }) => `${count}건의 페이지`,
},
},
pages: {

View File

@ -57,7 +57,10 @@ export default {
title: "Turinys",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min skaitymo`,
readingTime: ({ minutes }) => `${minutes} min. skaitymo`,
},
pageCount: {
totalItems: ({ count }) => `${count} užrašai`,
},
},
pages: {

View File

@ -57,7 +57,10 @@ export default {
title: "Oversikt",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min lesning`,
readingTime: ({ minutes }) => `${minutes} min lesetid`,
},
pageCount: {
totalItems: ({ count }) => `${count} notater`,
},
},
pages: {

View File

@ -57,8 +57,10 @@ export default {
title: "Inhoudsopgave",
},
contentMeta: {
readingTime: ({ minutes }) =>
minutes === 1 ? "1 minuut leestijd" : `${minutes} minuten leestijd`,
readingTime: ({ minutes }) => `${minutes} min lezen`,
},
pageCount: {
totalItems: ({ count }) => `${count} notities`,
},
},
pages: {

View File

@ -57,7 +57,10 @@ export default {
title: "Spis treści",
},
contentMeta: {
readingTime: ({ minutes }) => `${minutes} min. czytania `,
readingTime: ({ minutes }) => `${minutes} min czytania`,
},
pageCount: {
totalItems: ({ count }) => `${count} notatki`,
},
},
pages: {

View File

@ -57,7 +57,10 @@ export default {
title: "Sumário",
},
contentMeta: {
readingTime: ({ minutes }) => `Leitura de ${minutes} min`,
readingTime: ({ minutes }) => `${minutes} min de leitura`,
},
pageCount: {
totalItems: ({ count }) => `${count} notas`,
},
},
pages: {

View File

@ -60,6 +60,9 @@ export default {
readingTime: ({ minutes }) =>
minutes == 1 ? `lectură de 1 minut` : `lectură de ${minutes} minute`,
},
pageCount: {
totalItems: ({ count }) => `${count} notițe`,
},
},
pages: {
rss: {

View File

@ -60,6 +60,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `время чтения ~${minutes} мин.`,
},
pageCount: {
totalItems: ({ count }) => `${count} замет${getForm(count, "ка", "ки", "ок")}`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `อ่านราว ${minutes} นาที`,
},
pageCount: {
totalItems: ({ count }) => `${count} บันทึก`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} dakika okuma süresi`,
},
pageCount: {
totalItems: ({ count }) => `${count} notlar`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes} хв читання`,
},
pageCount: {
totalItems: ({ count }) => `${count} нотатки`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `đọc ${minutes} phút`,
},
pageCount: {
totalItems: ({ count }) => `${count} bài viết`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `${minutes}分钟阅读`,
},
pageCount: {
totalItems: ({ count }) => `${count}条笔记`,
},
},
pages: {
rss: {

View File

@ -59,6 +59,9 @@ export default {
contentMeta: {
readingTime: ({ minutes }) => `閱讀時間約 ${minutes} 分鐘`,
},
pageCount: {
totalItems: ({ count }) => `${count} 條筆記`,
},
},
pages: {
rss: {