import Head from "next/head"; import Layout from "../../components/Layout"; import { getAllSlugs, getSinglePost, convertObject, getDirectoryData, constructGraphData, getLocalGraphData } from "../../lib/utils"; import FolderTree from "../../components/FolderTree"; import { getFlattenArray } from "../../lib/utils"; import MDContent from "../../components/MDContent"; export default function Home({ note, backLinks, fileNames, tree, flattenNodes, graphData }) { return ( {note.title && }
); } export async function getStaticPaths() { const allPostsData = getAllSlugs(); const paths = allPostsData.map(p => ({ params: { id: p } })) return { paths, fallback: false }; } const { nodes, edges } = constructGraphData() export function getStaticProps({ params }) { const note = getSinglePost(params.id); const tree = convertObject(getDirectoryData()); const flattenNodes = getFlattenArray(tree) const listOfEdges = edges.filter(anEdge => anEdge.target === params.id) const internalLinks = listOfEdges.map(anEdge => nodes.find(aNode => aNode.slug === anEdge.source)).filter(element => element !== undefined) const backLinks = [...new Set(internalLinks)] const graphData = getLocalGraphData(params.id) return { props: { note, tree: tree, flattenNodes: flattenNodes, backLinks: backLinks.filter(link => link.slug !== params.id), graphData: graphData }, }; }