aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorYasutake Yohei <yohei@yasutakeyohei.com>2026-07-01 20:34:03 +0900
committerYasutake Yohei <yohei@yasutakeyohei.com>2026-07-01 20:34:03 +0900
commit940a50a5d0abcee9c8c70a4afb170377eb32bf61 (patch)
tree38aa8f531d0fcf37545e56231ec6d6c14d60977c /src
parent8366e50870b21e2739a784fa07cd120f26191e0a (diff)
OG画像: パス区切りを -- に変更(ファイル名の - と衝突を回避)
Diffstat (limited to 'src')
-rw-r--r--src/pages/og/[slug].png.ts4
-rw-r--r--src/pages/og/index.astro2
-rw-r--r--src/plugins/og-image.ts2
3 files changed, 4 insertions, 4 deletions
diff --git a/src/pages/og/[slug].png.ts b/src/pages/og/[slug].png.ts
index c84af95..8aa355b 100644
--- a/src/pages/og/[slug].png.ts
+++ b/src/pages/og/[slug].png.ts
@@ -63,7 +63,7 @@ export async function getStaticPaths() {
}
return [...slugs]
.filter((s) => s.length > 0)
- .map((slug) => ({ params: { slug: slug.replace(/\//g, "-") } }));
+ .map((slug) => ({ params: { slug: slug.replace(/\//g, "--") } }));
}
const fontBuffer = readFileSync("node_modules/.noto-sans-jp.otf");
@@ -116,7 +116,7 @@ export async function GET({ params }: { params: { slug: string } }) {
let title = pages[slug];
if (!title) {
// - を / に戻して確認(ippan-situmon-r7d-3gatu → ippan-situmon/r7d/3gatu)
- const fileSlug = slug.replace(/-/g, "/");
+ const fileSlug = slug.replace(/--/g, "/");
title = pages[fileSlug];
if (!title) {
const mdxPath = path.join(contentDir, fileSlug + ".mdx");
diff --git a/src/pages/og/index.astro b/src/pages/og/index.astro
index 8bfb7c1..83a992e 100644
--- a/src/pages/og/index.astro
+++ b/src/pages/og/index.astro
@@ -31,7 +31,7 @@ const slugs = [
.replace(contentDir + "/", "")
.replace(/\.mdx$/, "")
.replace(/\/index$/, "")
- .replace(/\//g, "-")
+ .replace(/\//g, "--")
)
.filter((s) => s !== "ippan-situmon"),
];
diff --git a/src/plugins/og-image.ts b/src/plugins/og-image.ts
index 7ee6568..c1eeb5c 100644
--- a/src/plugins/og-image.ts
+++ b/src/plugins/og-image.ts
@@ -19,7 +19,7 @@ export default function ogImageIntegration(): AstroIntegration {
let slug = page.pathname.replace(/^\/|\/$/g, "") || "index";
// URL-safe: replace / with - for nested paths
- const imageSlug = slug.replace(/\//g, "-");
+ const imageSlug = slug.replace(/\//g, "--");
const ogImageUrl = `https://yasutakeyohei.com/og/${imageSlug}.png?v=2`;
html = html.replace(