Skip to content

chan-ok/blog-content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Blog Contents

다국어 블로그를 위한 콘텐츠 저장소입니다. MDX 형식으로 작성된 포스트와 페이지를 관리하며, GitHub Actions를 통해 자동으로 포스트 인덱스를 생성합니다.

📁 프로젝트 구조

blog-contents/
├── ko/                      # 한국어 콘텐츠
│   ├── (post.md)            # 블로그 포스트
│   └── index.json           # 자동 생성된 포스트 인덱스
├── en/                      # English Contents
│   ├── (post.md)
│   └── index.json
├── ja/                      # 日本語コンテンツ
│   ├── (post.md)
│   └── index.json
├── scripts/
│   └── generate-index.ts    # 인덱스 생성 스크립트
└── .github/workflows/
    └── generate-index.yml   # 자동화 워크플로우

✨ 주요 기능

1. 다국어 지원

  • 한국어(ko), 영어(en), 일본어(ja) 콘텐츠를 별도 폴더로 관리
  • 각 언어별로 독립적인 페이지 구성

2. MDX 포맷

  • Markdown + JSX를 사용한 풍부한 콘텐츠 작성
  • Front-matter를 통한 메타데이터 관리

3. 자동 인덱스 생성

  • GitHub Actions를 통해 main 브랜치 push 시 자동 실행
  • 각 언어별 문서 목록을 index.json으로 자동 생성
  • 생성일 기준 내림차순 정렬

📝 문서 작성 방법

Front-matter 구조

각 MDX 파일의 상단에 다음과 같은 front-matter를 포함해야 합니다:

---
title: "문서 제목"
createdAt: 2025-12-06
updatedAt: 2025-12-06
tags: ["tag1", "tag2"]
published: true
---

필수 필드

  • title: 문서 제목
  • createdAt: 생성 날짜 (YYYY-MM-DD 형식)
  • updatedAt: 최종 수정 날짜
  • tags: 태그 배열
  • published: 공개 여부 (true/false)

예시

---
title: "GitHub Actions로 블로그 자동화하기"
createdAt: 2025-12-06
updatedAt: 2025-12-06
tags: ["github", "automation", "devops"]
published: true
---

# GitHub Actions로 블로그 자동화하기

이 포스트에서는 GitHub Actions를 활용한 블로그 자동화 방법을 소개합니다.

## 목차

...

🤖 자동화 워크플로우

동작 방식

  1. main 브랜치에 push 발생
  2. GitHub Actions workflow 자동 실행
  3. scripts/generate-index.ts 실행
  4. 각 언어 폴더의 MDX 파일 스캔
  5. Front-matter 파싱 및 메타데이터 추출
  6. {locale}/index.json 파일 생성
  7. 자동 커밋 및 push ([skip ci] 플래그로 무한 루프 방지)

생성되는 index.json 구조

[
  {
    "id": "post-slug",
    "title": "포스트 제목",
    "createdAt": "2025-12-06T00:00:00.000Z",
    "updatedAt": "2025-12-06T00:00:00.000Z",
    "tags": ["tag1", "tag2"],
    "published": true,
    "path": "/post-slug"
  }
]

🛠️ 로컬 개발

사전 요구사항

  • Node.js 22.x 이상

설치

npm install

수동으로 인덱스 생성

npx tsx scripts/generate-index.ts

이 명령어를 실행하면 모든 언어의 index.json 파일이 생성됩니다.

📋 워크플로우 권한

GitHub Actions가 리포지터리에 커밋할 수 있도록 workflow에 다음 권한이 설정되어 있습니다:

permissions:
  contents: write

🔗 관련 프로젝트

이 리포지터리는 별도의 블로그 프론트엔드 프로젝트와 연동하여 사용됩니다.

  • chan-ok/blog - 블로그 프론트엔드 애플리케이션

📄 라이선스

MIT License


주의: index.json 파일은 자동으로 생성되므로 직접 수정하지 마세요. 포스트를 추가하거나 수정한 후 GitHub에 push하면 자동으로 업데이트됩니다.

About

published posts and knowledge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •