Skip to content

Commit 8e44fac

Browse files
committed
wire up references and color for supplements
1 parent 414bed6 commit 8e44fac

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

pages/research/[id].page.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,9 @@ const SUPPLEMENT_COMPONENTS = {
5353
blockquote: Blockquote,
5454
Box,
5555
Link,
56+
Cite,
57+
Endnote,
58+
Sidenote,
5659
}
5760

5861
const Page = ({ id, type, source, frontMatter, references }) => {
@@ -106,7 +109,7 @@ const Page = ({ id, type, source, frontMatter, references }) => {
106109
)
107110
case 'supplement':
108111
return (
109-
<Supplement meta={frontMatter} back={frontMatter.back}>
112+
<Supplement meta={frontMatter} back={frontMatter.back} references={references}>
110113
<MDXRemote
111114
{...source}
112115
components={{
@@ -166,6 +169,7 @@ export const getStaticProps = async ({ params }) => {
166169
source: mdxSource,
167170
frontMatter: {
168171
...rest,
172+
color: rest.color ?? metadata.color,
169173
path: `/research/${params.id}`,
170174
number: metadata.number ?? 0,
171175
},

utils/generate-metadata.js

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,12 +57,30 @@ const supplementMetadata = glob
5757
? 'articles'
5858
: 'commentary'
5959
const directory = path.join(process.cwd(), folder)
60+
61+
// Load parent article's frontmatter for color fallback
62+
const parentSource = fs.readFileSync(path.join(directory, `${id}/index.md`))
63+
const { data: parentData } = matter(parentSource)
64+
65+
// Load references from parent article
66+
let references
67+
try {
68+
references = fs.readFileSync(
69+
path.join(directory, `${id}/references.json`)
70+
)
71+
references = JSON.parse(references)
72+
} catch {
73+
references = {}
74+
}
75+
6076
return {
6177
...data,
78+
color: data.color ?? parentData.color,
6279
parentId: id,
6380
folder: folder,
6481
id: data.slug ?? `${id}-${fileName}`,
6582
path: `${directory}/${id}/${fileName}.md`,
83+
references,
6684
}
6785
})
6886

0 commit comments

Comments
 (0)