mirror of
https://github.com/dzeiocom/markblog.git
synced 2025-04-22 02:42:14 +00:00
52 lines
1003 B
TypeScript
52 lines
1003 B
TypeScript
import { NextPage, NextPageContext } from "next"
|
|
import Link from 'next/link'
|
|
import Post from "../../components/Post"
|
|
// import posts from '../../posts/pages.json'
|
|
// import firstline from 'firstline'
|
|
// import 'fs'
|
|
|
|
interface Props {
|
|
files: fileInformations[]
|
|
}
|
|
|
|
interface fileInformations {
|
|
title: string
|
|
slug: string
|
|
}
|
|
|
|
const PortfolioIndex: NextPage<Props> = (props: Props) => {
|
|
|
|
const el: JSX.Element[] = []
|
|
for (const post of props.files) {
|
|
el.push(
|
|
)
|
|
}
|
|
|
|
return (
|
|
<ul>
|
|
{props.files.map(post => (
|
|
<li key={post.slug}>
|
|
<Link href="/[category]/[slug]" as={`/${post.slug}`}>
|
|
<a>{post.title}</a>
|
|
</Link>
|
|
</li>
|
|
))}
|
|
</ul>
|
|
|
|
)
|
|
}
|
|
|
|
PortfolioIndex.getInitialProps = async (context: NextPageContext) => {
|
|
const arr: fileInformations[] = []
|
|
for (const post of await Post.fetchAll()) {
|
|
if (!post.isStarted) await post.fetch()
|
|
arr.push({
|
|
slug: post.slug.replace(".md", ""),
|
|
title: post.title
|
|
})
|
|
}
|
|
return {files: arr}
|
|
}
|
|
|
|
export default PortfolioIndex
|