mirror of
https://github.com/jackyzha0/quartz.git
synced 2025-12-26 22:34:06 -06:00
feat: add page count component
新しいPageCountコンポーネントを追加し、各言語のローカライズファイルにページ数の翻訳を追加しました。
This commit is contained in:
parent
096ef220dc
commit
d1aae46e87
26
quartz/components/PageCount.tsx
Normal file
26
quartz/components/PageCount.tsx
Normal 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
|
||||||
@ -23,6 +23,7 @@ import Breadcrumbs from "./Breadcrumbs"
|
|||||||
import Comments from "./Comments"
|
import Comments from "./Comments"
|
||||||
import Flex from "./Flex"
|
import Flex from "./Flex"
|
||||||
import ConditionalRender from "./ConditionalRender"
|
import ConditionalRender from "./ConditionalRender"
|
||||||
|
import PageCount from "./PageCount"
|
||||||
|
|
||||||
export {
|
export {
|
||||||
ArticleTitle,
|
ArticleTitle,
|
||||||
@ -50,4 +51,5 @@ export {
|
|||||||
Comments,
|
Comments,
|
||||||
Flex,
|
Flex,
|
||||||
ConditionalRender,
|
ConditionalRender,
|
||||||
|
PageCount,
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,6 +64,9 @@ export default {
|
|||||||
? `دقيقتان للقراءة`
|
? `دقيقتان للقراءة`
|
||||||
: `${minutes} دقائق للقراءة`,
|
: `${minutes} دقائق للقراءة`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} ملاحظات`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `Es llegeix en ${minutes} min`,
|
readingTime: ({ minutes }) => `Es llegeix en ${minutes} min`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notes`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min čtení`,
|
readingTime: ({ minutes }) => `${minutes} min čtení`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} poznámek`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} Seiten`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -61,6 +61,9 @@ export interface Translation {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: (variables: { minutes: number }) => string
|
readingTime: (variables: { minutes: number }) => string
|
||||||
}
|
}
|
||||||
|
pageCount: {
|
||||||
|
totalItems: (variables: { count: number }) => string
|
||||||
|
}
|
||||||
}
|
}
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notes`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notes`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `Se lee en ${minutes} min`,
|
readingTime: ({ minutes }) => `Se lee en ${minutes} min`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notas`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `زمان تقریبی مطالعه: ${minutes} دقیقه`,
|
readingTime: ({ minutes }) => `زمان تقریبی مطالعه: ${minutes} دقیقه`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} یادداشت`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min lukuaika`,
|
readingTime: ({ minutes }) => `${minutes} min lukuaika`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} muistiinpanoa`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min de lecture`,
|
readingTime: ({ minutes }) => `${minutes} min de lecture`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notes`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Tartalomjegyzék",
|
title: "Tartalomjegyzék",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} perces olvasás`,
|
readingTime: ({ minutes }) => `${minutes} perc olvasás`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} jegyzet`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Daftar Isi",
|
title: "Daftar Isi",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} menit baca`,
|
readingTime: ({ minutes }) => `${minutes} mnt baca`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} catatan`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Tabella dei contenuti",
|
title: "Tabella dei contenuti",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} minuti`,
|
readingTime: ({ minutes }) => `${minutes} min di lettura`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} note`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes} min read`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count}件のページ`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "목차",
|
title: "목차",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min read`,
|
readingTime: ({ minutes }) => `${minutes}분 분량`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count}건의 페이지`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Turinys",
|
title: "Turinys",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min skaitymo`,
|
readingTime: ({ minutes }) => `${minutes} min. skaitymo`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} užrašai`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Oversikt",
|
title: "Oversikt",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min lesning`,
|
readingTime: ({ minutes }) => `${minutes} min lesetid`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notater`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,8 +57,10 @@ export default {
|
|||||||
title: "Inhoudsopgave",
|
title: "Inhoudsopgave",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) =>
|
readingTime: ({ minutes }) => `${minutes} min lezen`,
|
||||||
minutes === 1 ? "1 minuut leestijd" : `${minutes} minuten leestijd`,
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notities`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Spis treści",
|
title: "Spis treści",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} min. czytania `,
|
readingTime: ({ minutes }) => `${minutes} min czytania`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notatki`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -57,7 +57,10 @@ export default {
|
|||||||
title: "Sumário",
|
title: "Sumário",
|
||||||
},
|
},
|
||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `Leitura de ${minutes} min`,
|
readingTime: ({ minutes }) => `${minutes} min de leitura`,
|
||||||
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notas`,
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
readingTime: ({ minutes }) =>
|
readingTime: ({ minutes }) =>
|
||||||
minutes == 1 ? `lectură de 1 minut` : `lectură de ${minutes} minute`,
|
minutes == 1 ? `lectură de 1 minut` : `lectură de ${minutes} minute`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notițe`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -60,6 +60,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `время чтения ~${minutes} мин.`,
|
readingTime: ({ minutes }) => `время чтения ~${minutes} мин.`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} замет${getForm(count, "ка", "ки", "ок")}`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `อ่านราว ${minutes} นาที`,
|
readingTime: ({ minutes }) => `อ่านราว ${minutes} นาที`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} บันทึก`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} dakika okuma süresi`,
|
readingTime: ({ minutes }) => `${minutes} dakika okuma süresi`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} notlar`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes} хв читання`,
|
readingTime: ({ minutes }) => `${minutes} хв читання`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} нотатки`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `đọc ${minutes} phút`,
|
readingTime: ({ minutes }) => `đọc ${minutes} phút`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} bài viết`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `${minutes}分钟阅读`,
|
readingTime: ({ minutes }) => `${minutes}分钟阅读`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count}条笔记`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
@ -59,6 +59,9 @@ export default {
|
|||||||
contentMeta: {
|
contentMeta: {
|
||||||
readingTime: ({ minutes }) => `閱讀時間約 ${minutes} 分鐘`,
|
readingTime: ({ minutes }) => `閱讀時間約 ${minutes} 分鐘`,
|
||||||
},
|
},
|
||||||
|
pageCount: {
|
||||||
|
totalItems: ({ count }) => `${count} 條筆記`,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
pages: {
|
pages: {
|
||||||
rss: {
|
rss: {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user