This commit is contained in:
29
server/api/content/books/[slug].get.ts
Normal file
29
server/api/content/books/[slug].get.ts
Normal file
@ -0,0 +1,29 @@
|
||||
import { readFile } from 'node:fs/promises'
|
||||
|
||||
export default defineEventHandler(async (event) => {
|
||||
const slug = getRouterParam(event, 'slug')
|
||||
|
||||
if (!slug) {
|
||||
throw createError({
|
||||
statusCode: 400,
|
||||
statusMessage: 'Slug is required'
|
||||
})
|
||||
}
|
||||
|
||||
try {
|
||||
// Читаем markdown файл из папки content/books
|
||||
// slug теперь представляет номер главы (1, 2, 3, etc.)
|
||||
const content = await readFile(`content/books/${slug}.md`, 'utf-8')
|
||||
|
||||
return {
|
||||
content,
|
||||
slug,
|
||||
chapter: slug
|
||||
}
|
||||
} catch (error) {
|
||||
throw createError({
|
||||
statusCode: 404,
|
||||
statusMessage: 'Глава не найдена'
|
||||
})
|
||||
}
|
||||
})
|
Reference in New Issue
Block a user