mirror of
https://github.com/reonokiy/blog.nokiy.net.git
synced 2025-06-17 03:56:19 +02:00
refactor: refactor article list component and routing logic, optimize multilingual article display
This commit is contained in:
parent
e5165dd740
commit
ff1673da9c
19 changed files with 609 additions and 690 deletions
|
@ -2,23 +2,24 @@ import { defineCollection, z } from 'astro:content'
|
|||
|
||||
const postsCollection = defineCollection({
|
||||
schema: z.object({
|
||||
// Basic
|
||||
title: z.string(),
|
||||
published: z.date(),
|
||||
// Optional
|
||||
updated: z.date().optional(),
|
||||
tags: z.array(z.string()).optional().default([]),
|
||||
description: z.string().optional().default(''),
|
||||
image: z.string().optional().default(''),
|
||||
// Advanced
|
||||
pin: z.number().int().min(0).max(99).optional().default(0),
|
||||
toc: z.boolean().optional().default(false),
|
||||
draft: z.boolean().optional().default(false),
|
||||
toc: z.boolean().optional().default(false),
|
||||
lang: z.string().optional().default(''),
|
||||
abbrlink: z.string().optional().default('').refine(
|
||||
abbrlink => !abbrlink || /^[a-z0-9\-]*$/.test(abbrlink),
|
||||
{ message: 'Abbrlink can only contain letters, numbers, hyphens and underscores' },
|
||||
{ message: 'Abbrlink can only contain lowercase letters, numbers and hyphens' },
|
||||
),
|
||||
// Auto-generated
|
||||
minutes: z.number().optional(),
|
||||
image: z.string().optional().default(''),
|
||||
description: z.string().optional().default(''),
|
||||
}),
|
||||
})
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue