Skip to content

Commit

Permalink
generate question pages at build time
Browse files Browse the repository at this point in the history
  • Loading branch information
iamjoshua committed Mar 5, 2024
1 parent 084d9a4 commit e9cc367
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 9 deletions.
2 changes: 0 additions & 2 deletions app/on/[title]/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ import { fetchMdFile, getEssayTitles, parseMdFile } from "@/lib/getWritings";

export async function generateStaticParams() {
const titles = await getEssayTitles("essays/", "essays");
console.log("generate?", titles);

return titles.map((title: string) => ({
title: title.replaceAll(" ", "-"),
}));
Expand Down
11 changes: 8 additions & 3 deletions app/questions/[slug]/page.tsx
Original file line number Diff line number Diff line change
@@ -1,11 +1,17 @@
import Nav from "@/app/nav";
import { ReadingTime } from "@/components/ReadingTime/ReadingTime";
import { SideContent } from "@/components/SideContent";
import { getQuestion } from "@/lib/getWritings";
import { revalidateTag } from "next/cache";
import { getAllQuestions, getQuestion } from "@/lib/getWritings";
import Link from "next/link";
import "./question.css";

export async function generateStaticParams() {
const questions = await getAllQuestions();
return questions.map((question) => ({
slug: question.slug,
}));
}

type QuestionPageProps = {
params: { slug: string };
};
Expand All @@ -23,7 +29,6 @@ export default async function QuestionPage({ params }: QuestionPageProps) {
} = await getQuestion(
slug,
);
// revalidateTag(slug);

return (
<main
Expand Down
2 changes: 2 additions & 0 deletions app/questions/page.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@ import Nav from "../nav";
import { SideContent } from "@/components/SideContent";
import Link from "next/link";
import { getAllQuestions } from "@/lib/getWritings";
import { revalidateTag } from "next/cache";

export default async function QuestionsPage() {
// revalidateTag("questions");
const questions = await getAllQuestions();

return (
Expand Down
6 changes: 2 additions & 4 deletions lib/getWritings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ export async function fetchGitMdFile(repo: string, path: string, tag: string) {

export async function fetchGitFile(repo: string, path: string, tag: string) {
const url = `${BASE_FILE_URL}/${repo}/main/${path}`;
console.log("url:", url);
const response = await fetch(url, {
cache: "force-cache",
next: { tags: [tag] },
Expand All @@ -27,12 +26,11 @@ export async function getAllQuestions() {
const questionFiles = await fetchMdFiles(path, "questions");
const questions = [];
for await (const question of questionFiles) {
const file = await fetchMdFile(question.path, question.name);
const file = await fetchMdFile(question.path, "questions");
const { content } = await parseMdFile(file);
const { data } = getFrontMatter(content);

// TODO: parse MD front matter
const slug = question.name.replace(".md", "");

if (data.published) {
questions.push({ slug, question: data.question });
}
Expand Down

0 comments on commit e9cc367

Please sign in to comment.