import Head from "next/head"; import Link from 'next/link' import { useRouter } from 'next/router' import { useEffect,useRef } from "react"; import Layout, { siteTitle } from "../../components/layout"; import { getPostListData, getSinglePost, getGraphData} from "../../lib/post"; import { Network } from "../../components/graph"; import Cytoscape from "cytoscape"; export default function Home({ note, graphdata, ...props }) { var jsnx = require('jsnetworkx'); //console.log("Note Page: ") //console.log("Index Page Props: ", props /* backlinks, filenames*/) const backlinks = graphdata.filter(g => g.data.target === note.id) const ref = useRef(null); const router = useRouter() var G; useEffect(() => { if (ref && ref.current){ G = Network({el:ref.current, graphdata, current:note.id, router, allNodes:false}) } }, []) useEffect(() => { if (backlinks.length > 0){ const sideBox = document.getElementById("side-graph-box"); const Backlink = (data) => (
{data.title ? data.title : data.id}
) //sideBox } },[]) return ( {note.title && } {note.canonical && } {note.description && }
{/* COVER IMAGE */} {note.cover && } {/* TITLE */} {note.title &&

{note.title}

}

); } export async function getStaticPaths() { const allPostsData = await getPostListData(); const paths = allPostsData.map(p => ({params: {id:p}})) //console.log("paths", paths) return { paths, fallback:false }; } export async function getStaticProps({ params }) { //console.log("params1", params.id) const note = await getSinglePost(params.id); //console.log("params2", params) const graphdata = getGraphData(); //console.log("params3", params) //console.log("note: ", params) return { props: { note, graphdata:graphdata, }, }; }