fix: date updated & add e2e test

This commit is contained in:
YunYouJun 2024-01-15 03:51:25 +08:00
parent 98c7775f53
commit 864fdfd271
6 changed files with 35 additions and 11 deletions

View File

@ -10,6 +10,21 @@ context('Frontmatter', {
.should('eq', Cypress.env('theme-yun')) .should('eq', Cypress.env('theme-yun'))
}) })
it('posted & edited time', () => {
cy.visit('/posts/hello-valaxy')
cy.get('.post-time time')
.should('have.length', 2)
cy.get('.post-time > .posted-time time')
.invoke('text')
.should('match', /\d{4}-\d{2}-\d{2}/)
cy.get('.post-time > .edited-time time')
.invoke('text')
.should('match', /\d{4}-\d{2}-\d{2}/)
})
// time warning in post // time warning in post
it('time warning', () => { it('time warning', () => {
cy.visit('/test/time_warning') cy.visit('/test/time_warning')
@ -21,15 +36,13 @@ context('Frontmatter', {
it('word count & reading time', () => { it('word count & reading time', () => {
cy.visit('/posts/hello-valaxy') cy.visit('/posts/hello-valaxy')
const counterContainer = cy.get('.post-counter') cy
.get('.post-counter > .word-count span')
counterContainer
.get('.word-count span')
.invoke('text') .invoke('text')
.should('match', /\d+/) .should('match', /\d+/)
counterContainer cy
.get('.reading-time time') .get('.post-counter > .reading-time time')
.invoke('text') .invoke('text')
.then((text) => { .then((text) => {
text = text.trim() text = text.trim()

9
docs/.gitignore vendored
View File

@ -1 +1,10 @@
.vitepress/cache .vitepress/cache
# valaxy rss
public/atom.xml
# valaxy rss
public/feed.xml
# valaxy rss
public/feed.json

View File

@ -66,7 +66,9 @@ const sortedYears = computed(() => {
> >
<header class="post-header" flex items-center relative> <header class="post-header" flex items-center relative>
<div class="post-meta"> <div class="post-meta">
<time v-if="post.date" class="post-time" font="mono" opacity="80">{{ formatDate(post.date, 'MM-DD') }}</time> <time v-if="post.date" class="post-time" font="mono" opacity="80">{{
formatDate(post.date, 'MM-DD') }}
</time>
</div> </div>
<h2 class="post-title" inline-flex items-center font="serif black"> <h2 class="post-title" inline-flex items-center font="serif black">
<RouterLink :to="post.path || ''" class="post-title-link"> <RouterLink :to="post.path || ''" class="post-title-link">

View File

@ -30,14 +30,14 @@ const siteConfig = useSiteConfig()
flex="~ col" justify="center" items="center" text="sm" py="1" flex="~ col" justify="center" items="center" text="sm" py="1"
> >
<div v-if="frontmatter.date" class="post-time flex items-center"> <div v-if="frontmatter.date" class="post-time flex items-center">
<span class="inline-flex-center" :title="t('post.posted') + frontmatter.date"> <span class="posted-time inline-flex-center" :title="t('post.posted') + frontmatter.date">
<div class="inline-block" i-ri-calendar-line /> <div class="inline-block" i-ri-calendar-line />
<time m="l-1">{{ formatDate(frontmatter.date) }}</time> <time m="l-1">{{ formatDate(frontmatter.date) }}</time>
</span> </span>
<span <span
v-if="frontmatter.updated && frontmatter.updated !== frontmatter.date" v-if="frontmatter.updated && frontmatter.updated !== frontmatter.date"
class="inline-flex-center" :title="t('post.edited') + frontmatter.updated" class="edited-time inline-flex-center" :title="t('post.edited') + frontmatter.updated"
> >
<span m="x-2">-</span> <span m="x-2">-</span>
<div i-ri-calendar-2-line /> <div i-ri-calendar-2-line />

View File

@ -53,7 +53,7 @@ const EXCLUDE = [
'unocss', 'unocss',
'vue', 'vue',
'vue-i18n', // 'vue-i18n',
'vue-demi', 'vue-demi',
// separate deps vue-i18n @vue/devtools-api // separate deps vue-i18n @vue/devtools-api
'vue-router', 'vue-router',

View File

@ -109,7 +109,7 @@ export function createRouterPlugin(options: ResolvedValaxyOptions) {
// set route meta // set route meta
route.addToMeta({ route.addToMeta({
frontmatter: Object.assign(defaultFrontmatter, mdFm), frontmatter: mdFm,
excerpt: excerpt ? getExcerptByType(excerpt, mdFm.excerpt_type) : '', excerpt: excerpt ? getExcerptByType(excerpt, mdFm.excerpt_type) : '',
}) })