jan/docs/src/pages/changelog.mdx
hiento09 f93deb6749
chore: move Jan Docs back into Jan Repo (#3790)
Co-authored-by: Hien To <tominhhien97@gmail.com>
2024-10-14 10:07:16 +07:00

57 lines
1.5 KiB
Plaintext

---
title: Changelog
description: Jan is a ChatGPT-alternative that runs on your own computer, with a local API server.
keywords:
[
Jan,
Customizable Intelligence, LLM,
local AI,
privacy focus,
free and open source,
private and offline,
conversational AI,
no-subscription fee,
large language models,
architecture,
]
---
import Changelog from "@/components/Changelog"
import fs from 'fs'
import path from 'path'
import matter from 'gray-matter'
import { format } from 'date-fns'
export const getStaticProps = async() => {
const getChangelog = await fs.readdirSync(path.join(process.cwd(), 'src/pages/changelog')).filter((file) => {
return path.extname(file).toLowerCase() === ".mdx" && !file.startsWith('index')
})
const changelog = []
for (const item of getChangelog) {
const content = fs.readFileSync(path.join(process.cwd(), `src/pages/changelog/${item}`), "utf8")
const frontmatter = matter(content)
if(!frontmatter.data.unlisted) {
changelog.push({
url: item.replace('.mdx', ''),
title: frontmatter?.data?.title || '',
ogImage: frontmatter?.data?.ogImage || null,
version: frontmatter?.data?.version || null,
description: frontmatter?.data?.description || null,
date: String(frontmatter?.data?.date) || null,
})
}
changelog.sort((a, b) => new Date(b.date) - new Date(a.date))
}
return {
props: {
ssg: changelog
},
}
}
<Changelog />