Skip to content

Commit 538d1fd

Browse files
sungbin1015claude
andcommitted
feat(structure): docs/ 아래로 콘텐츠 통합 — blog, about, intro 이동
- blog/ → docs/blog/ (blog 플러그인 path 변경) - src/pages/about.mdx → docs/about/about.mdx (docs 페이지로 전환, URL /docs/about) - docs/intro.mdx → docs/guide/intro.mdx (slug: /intro 유지) - docs 플러그인 webpack 규칙에서 docs/blog/ 제외하는 인라인 플러그인 추가 - notion-sync.yml, notion_to_blog.py blog 경로 업데이트 - 네비게이션 프로젝트 소개 링크 /about → /docs/about Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1 parent d95277e commit 538d1fd

11 files changed

Lines changed: 47 additions & 5 deletions

File tree

.github/workflows/notion-sync.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ jobs:
5252
run: |
5353
git config user.name "github-actions[bot]"
5454
git config user.email "github-actions[bot]@users.noreply.github.com"
55-
git add blog/ static/img/blog/ docs/contribute/ static/img/contribute/ 2>/dev/null || git add blog/
55+
git add docs/blog/ static/img/blog/ docs/contribute/ static/img/contribute/ 2>/dev/null || git add docs/blog/
5656
if ! git diff --staged --quiet; then
5757
git commit -m "chore: Notion 자동 동기화 $(date +'%Y-%m-%d')"
5858
git pull --rebase origin main
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
---
2+
id: about
23
title: 프로젝트 소개
34
description: SceneMakerAI — 오픈소스 AI 기반 방송 콘텐츠 재가공 프로젝트 소개
5+
slug: /about
46
---
57

68
# 프로젝트 소개
File renamed without changes.
File renamed without changes.

docs/intro.mdx renamed to docs/guide/intro.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
---
22
sidebar_position: 1
33
title: SceneMakerAI 문서
4+
slug: /intro
45
description: 오픈소스 AI 로 방송 콘텐츠를 재가공하는 SceneMakerAI 프로젝트의 기술 문서·아키텍처·오픈소스 기여 가이드 모음.
56
---
67

@@ -18,4 +19,4 @@ SceneMakerAI 는 오픈소스 AI 로 방송 콘텐츠를 재가공하기 위한
1819
## 다른 곳
1920

2021
- [블로그](/blog) — 개발 노트, 실험 결과, 회고
21-
- [프로젝트 소개](/about) — 배경과 목표
22+
- [프로젝트 소개](/docs/about) — 배경과 목표

docusaurus.config.ts

Lines changed: 40 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,44 @@ const config: Config = {
6060
},
6161
},
6262

63+
plugins: [
64+
function fixDocsWebpackScope(context) {
65+
// eslint-disable-next-line @typescript-eslint/no-var-requires
66+
const nodePath = require('path') as typeof import('path');
67+
return {
68+
name: 'fix-docs-webpack-scope',
69+
configureWebpack(config) {
70+
const docsDir = nodePath.resolve(context.siteDir, 'docs');
71+
const blogDir = nodePath.resolve(docsDir, 'blog');
72+
(config.module?.rules ?? []).forEach((rule: unknown) => {
73+
if (!rule || typeof rule !== 'object') return;
74+
const r = rule as Record<string, unknown>;
75+
const includes: unknown[] = Array.isArray(r['include'])
76+
? r['include']
77+
: r['include']
78+
? [r['include']]
79+
: [];
80+
const matchesDocs = includes.some(
81+
(inc) =>
82+
typeof inc === 'string' &&
83+
(inc === docsDir ||
84+
inc === docsDir + '/' ||
85+
inc === docsDir + nodePath.sep),
86+
);
87+
if (!matchesDocs) return;
88+
const existing: unknown[] = Array.isArray(r['exclude'])
89+
? r['exclude']
90+
: r['exclude']
91+
? [r['exclude']]
92+
: [];
93+
r['exclude'] = [...existing, blogDir];
94+
});
95+
return {};
96+
},
97+
};
98+
},
99+
],
100+
63101
presets: [
64102
[
65103
'classic',
@@ -69,6 +107,7 @@ const config: Config = {
69107
editUrl: 'https://github.com/SceneMakerAI/docs-web/edit/main/',
70108
},
71109
blog: {
110+
path: 'docs/blog',
72111
showReadingTime: true,
73112
feedOptions: {
74113
type: ['rss', 'atom'],
@@ -101,7 +140,7 @@ const config: Config = {
101140
srcDark: 'img/logo-dark.svg',
102141
},
103142
items: [
104-
{to: '/about', label: '프로젝트 소개', position: 'left'},
143+
{to: '/docs/about', label: '프로젝트 소개', position: 'left'},
105144
{
106145
type: 'docSidebar',
107146
sidebarId: 'architectureSidebar',

scripts/notion_to_blog.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
from urllib.parse import urlparse
66
from datetime import datetime, timezone, timedelta
77

8-
SAVE_DIR_ROOT = "blog"
8+
SAVE_DIR_ROOT = "docs/blog"
99
STATIC_IMG_DIR = "static/img/blog"
1010
NOTION_PROPERTY_TITLE = os.environ.get("NOTION_PROPERTY_TITLE", "제목")
1111
NOTION_PROPERTY_DATE = os.environ.get("NOTION_PROPERTY_DATE", "날짜")

0 commit comments

Comments
 (0)