56 lines
1.7 KiB
JavaScript
56 lines
1.7 KiB
JavaScript
import Head from "next/head";
|
|
import {useRouter} from 'next/router'
|
|
import {useEffect, useRef} from "react";
|
|
import Layout, {siteTitle} from "../components/layout";
|
|
import {getSinglePost, getGraphData} from "../lib/post";
|
|
import {Network} from "../components/graph";
|
|
|
|
|
|
export default function Home({content, graphdata, filenames, ...props}) {
|
|
//console.log("Index Page Props: ", content /* backlinks, filenames*/)
|
|
const ref = useRef(null);
|
|
const router = useRouter()
|
|
const routeQuery = router.query.id
|
|
const routeHandler = (r) => router.push(r)
|
|
useEffect(() => {
|
|
if (ref && ref.current) {
|
|
|
|
const G = Network({
|
|
el: ref.current,
|
|
graphdata,
|
|
current: "index",
|
|
routeQuery,
|
|
routeHandler,
|
|
allNodes: false // If true then shows every markdown file as node
|
|
})
|
|
}
|
|
}, [])
|
|
|
|
|
|
return (
|
|
<Layout home>
|
|
<Head>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com"/>
|
|
<link rel="preconnect" href="https://fonts.gstatic.com" crossOrigin/>
|
|
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800;900&display=swap"
|
|
rel="stylesheet"/>
|
|
</Head>
|
|
<section>
|
|
<div dangerouslySetInnerHTML={{__html: content.data}}/>
|
|
</section>
|
|
</Layout>
|
|
);
|
|
|
|
}
|
|
|
|
export function getStaticProps() {
|
|
const contentData = getSinglePost("index");
|
|
const graphdata = getGraphData();
|
|
return {
|
|
props: {
|
|
content: contentData,
|
|
graphdata: graphdata,
|
|
},
|
|
};
|
|
}
|