diff --git a/theme/src/client/components/Blog/PostList.vue b/theme/src/client/components/Blog/PostList.vue index 7b4d8722..892818ea 100644 --- a/theme/src/client/components/Blog/PostList.vue +++ b/theme/src/client/components/Blog/PostList.vue @@ -1,5 +1,6 @@ + + diff --git a/theme/src/client/composables/readingTime.ts b/theme/src/client/composables/readingTime.ts deleted file mode 100644 index 0d917bac..00000000 --- a/theme/src/client/composables/readingTime.ts +++ /dev/null @@ -1,154 +0,0 @@ -import { usePageData } from 'vuepress/client' -import { computed } from 'vue' -import type { - PlumeThemePageData, -} from '../../shared/index.js' - -/** - * Default locale config for `vuepress-plugin-reading-time2` plugin - */ -export const readingTimeLocales = { - 'en': { - word: 'About $word words', - less1Minute: 'Less than 1 minute', - time: 'About $time min', - }, - - 'zh-CN': { - word: '约$word字', - less1Minute: '小于1分钟', - time: '约$time分钟', - }, - - 'zh-TW': { - word: '約$word字', - less1Minute: '小於1分鐘', - time: '约$time分鐘', - }, - - 'de': { - word: 'Ungefähr $word Wörter', - less1Minute: 'Weniger als eine Minute', - time: 'Ungefähr $time min', - }, - - 'de-at': { - word: 'Um die $word Wörter', - less1Minute: 'Weniger als eine Minute', - time: 'Ungefähr $time min', - }, - - 'vi': { - word: 'Khoảng $word từ', - less1Minute: 'Ít hơn 1 phút', - time: 'Khoảng $time phút', - }, - - 'uk': { - word: 'Про $word слова', - less1Minute: 'Менше 1 хвилини', - time: 'Приблизно $time хв', - }, - - 'ru': { - word: 'Около $word слов', - less1Minute: 'Меньше 1 минуты', - time: 'Около $time мин', - }, - - 'br': { - word: 'Por volta de $word palavras', - less1Minute: 'Menos de 1 minuto', - time: 'Por volta de $time min', - }, - - 'pl': { - word: 'Około $word słów', - less1Minute: 'Mniej niż 1 minuta', - time: 'Około $time minut', - }, - - 'sk': { - word: 'Okolo $word slov', - less1Minute: 'Menej ako 1 minúta', - time: 'Okolo $time minút', - }, - - 'fr': { - word: 'Environ $word mots', - less1Minute: 'Moins de 1 minute', - time: 'Environ $time min', - }, - - 'es': { - word: 'Alrededor de $word palabras', - less1Minute: 'Menos de 1 minuto', - time: 'Alrededor de $time min', - }, - - 'ja': { - word: '$word字程度', - less1Minute: '1分以内', - time: '約$time分', - }, - - 'tr': { - word: 'Yaklaşık $word kelime', - less1Minute: '1 dakikadan az', - time: 'Yaklaşık $time dakika', - }, - - 'ko': { - word: '약 $word 단어', - less1Minute: '1분 미만', - time: '약 $time 분', - }, - - 'fi': { - word: 'Noin $word sanaa', - less1Minute: 'Alle minuutti', - time: 'Noin $time minuuttia', - }, - - 'hu': { - word: 'Körülbelül $word szó', - less1Minute: 'Kevesebb, mint 1 perc', - time: 'Körülbelül $time perc', - }, - - 'id': { - word: 'Sekitar $word kata', - less1Minute: 'Kurang dari 1 menit', - time: 'Sekitar $time menit', - }, - - 'nl': { - word: 'Ongeveer $word woorden', - less1Minute: 'Minder dan 1 minuut', - time: 'Ongeveer $time minuten', - }, -} - -export function useReadingTime() { - const page = usePageData() - - return computed<{ times: string, words: string }>(() => { - if (!page.value.readingTime) - return { times: '', words: '' } - - const locale = readingTimeLocales[page.value.lang] ?? readingTimeLocales.en - - const minutes = page.value.readingTime.minutes - const words = page.value.readingTime.words - - const times = (minutes < 1 ? locale.less1Minute : locale.time).replace( - '$time', - Math.round(minutes), - ) - - return { - times, - words: locale.word.replace('$word', words), - } - }) -}