Skip to content

Commit 259a1f8

Browse files
committed
Feat: GithubAction 을 으로 디플로이 대체
1 parent 8402db8 commit 259a1f8

File tree

6 files changed

+146
-4
lines changed

6 files changed

+146
-4
lines changed

.github/workflows/deploy.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches:
6+
- blog # 배포할 브랜치 (예: main 또는 master)
7+
8+
jobs:
9+
build-and-deploy:
10+
runs-on: ubuntu-latest
11+
steps:
12+
- name: Checkout code
13+
uses: actions/checkout@v4
14+
15+
- name: Install Bun
16+
run: curl -fsSL https://bun.sh/install | bash
17+
18+
- name: Install Dependencies
19+
run: bun install
20+
21+
- name: Build Project
22+
run: bun run build # out 폴더 생성
23+
24+
- name: Deploy to GitHub Pages
25+
uses: JamesIves/github-pages-deploy-action@v5
26+
with:
27+
branch: gh-pages # 배포할 브랜치
28+
folder: out # 배포할 폴더
29+
clean: true
30+
token: ${{ secrets.GITHUB_TOKEN }}

.gitignore

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,8 @@ next-env.d.ts
4242
.aider*
4343

4444
# blogfiles
45-
/public/link-map.json
46-
/public/meta-data.json
45+
# /public/link-map.json
46+
# /public/meta-data.json
4747

48-
/content/posts/*
49-
/public/postImg/*
48+
# /content/posts/*
49+
# /public/postImg/*
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
1+
---
2+
id: 1740877282-AGHK
3+
tags:
4+
- blog
5+
createdAt: 2025-03-02 10:01:22
6+
modifiedAt: 2025-03-05 15:41:28
7+
publish: blog
8+
series: 나의 맞춤 블로그 만들기
9+
---
10+
11+
# 개인 블로그를 제작하게 된 이유
12+
13+
개발자로서 내가 한 것을 티내고 알리기 위해 블로그의 필요성을 느끼고 있었다.
14+
15+
블로그를 만들고 배포할 수 있는 여러가지의 플랫폼들이 많이 있지만
16+
**정작 내가 작성한것을 복사해서 붙혀넣어야 한다는것** 때문에 귀찮아 지기도 했고 뭔가 내가 배우고 기록하는것이 중심이 아니라 **블로그 포스트를 만들기 위해서 기록한다는 주객이 전도되는 느낌이** 생기면서 타 플랫폼을 통한 블로그 포스팅은 내 스타일이 아니라는것을 깨달았다
17+
18+
## 블로그를 만들기 전에 고려해보았던 방법
19+
20+
고민해본 결과 블로그의 운영하는 방식은 3가지가 있는것 같다.
21+
22+
1. 블로그 포스팅 플랫폼을 이용하는것
23+
2. Notion 혹은 Obsidian 같은 노트 앱들의 publish 기능을 활용하는것
24+
3. 개인 블로그를 제작하여 호스팅 하는것
25+
26+
### 블로그 포스팅 플랫폼의 문제점
27+
28+
우선 앞서 이야기 했던것처럼 블로그 플랫폼을 이용하는것은 제약이 있다.
29+
플랫폼을 사용하는 방법은 API 를 사용하여 자동화하는 방법과 플랫폼에 접속하여 글을 수동으로 올리는 방법 두가지가 존재한다 해당 방식들이 불편한 이유는 다음과 방식들이 불편한 이유는 다음과 같다.
30+
31+
1. API 를 사용하여 글 관리 자동화
32+
Api 를 지원하는 플랫폼들이 있었는데 최근에 많이 사라지는 추세이다.
33+
**네이버****티스토리**가 해당기능을 없앴다.
34+
해당 블로그를사용하던 사람들이 많은 불만을 표했으며 나는 다른 플랫폼에 의존하는것이 안전한 방법이 아니라고 생각했다.
35+
36+
2. 플랫폼에서 글을 수동으로 올리기
37+
나는 글을 Neovim을 통해 작성하고 Obsidian 을 Viewer 로 사용하고 있다. 이 때문에 작성한 글을 올리기 위해서는 플랫폼에 복사해서 붙혀넣는 작업을 해야하고 지원되지 않는 Callout 형식 과 Uncyclo 스타일의 링크등 호환되지 않는 형식의 경우 수작업으로 변환해주어야 한다는 문제가 있다.
38+
39+
### 노트 앱들의 Publish 기능을 활용하는것
40+
41+
내가 사용해본 노트앱은 **Notion****Obsidian** 두가지가 있다
42+
둘다 아주 다양한 커스터마이즈가 가능하다는 점과 편하게 사람들과 공유할 수 있다는 점이 큰 장점이었다. 하지만 여기에도 문제점이 존재한다.
43+
44+
1. 노트와 포스트의 분리
45+
나의 경우 노트를 Inbox라는 폴더에 먼저 저장하고 완성해 가면서 다른 폴더로 옮긴다.
46+
그리고 나중에 다른 업무에 사용될 수 있는 노트의 경우 다른 폴더로 또 옮긴다.
47+
이렇게 되면 내가 원하는 지식을 블로그로 옮길때 블로그를 위해 보여주고 싶은 카테고리와 유형들로 묶는데 제한이 생긴다. 이걸 해결하기 위해서는 블로그 전용 워크스페이스를 따로 만들고 해당 워크스페이스만 공유를 해야 하는데 그렇게 되면 글을 복사해서 붙혀넣는건 플랫폼을 사용하는것과 다르지 않게 된다
48+
49+
2. 커스터마이징의 한계
50+
Notion 과 Obsidian 둘 다 노트플랫폼 기반이기 때문에 자유로운 디자인 커스터마이징이 지원되지 않는다. Obsidian의 경우 플러그인을 통해서 노트의 내용을 자체 서버로 빌드하여 올릴 수 있는데 이건 노트앱들의 기능이라기 보다는 스스로 블로그를 만들어 호스팅하는 3번째 방법에 가깝다.
51+
52+
### 나만의 블로그를 제작하자
53+
54+
다른 두 방법의 문제점들 때문에 나에게 맞는 블로그를 제작하기로 하였다.
55+
나만의 블로그를 제작하게 되면 위의 모든 문제를 해결할 수 있을것이라고 생각했다
56+
57+
## 어떤 블로그를 만들고 싶었나
58+
59+
위에 문제점들에 나타나있는 것들을 종합하고 반대로 생각해보면 내가 원하는 블로그는 다음과 같았다.
60+
61+
1. 블로그 포스팅과 노트 작성의 흐름이 연결되어야 한다.
62+
2. 노트와 포스트가 분리되어야 한다. (원하는 노트들만 포스팅)
63+
3. 포스팅시 블로그의 구조는 내가 정할 수 있어야 한다.
64+
4. 커스터마이징이 가능하여 내가 원하는대로 기능을 추가하고 뺄 수 있어야 한다.
65+
66+
이런 블로그를 구현하기 위해 DB를 사용해야 하나 고민을 하였지만 그냥 단순하게 쉘스크립트를 사용하여 (Claude가 작성) Obsidian Vault 폴더안의 md 파일들을 카피해 오기로 했다.
67+
다음 포스트에서는 블로그를 구현한 방식을 적어보겠다
68+
다음: [[어떻게 블로그를 구현하였나]]
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
id: 1740886403-KGGR
3+
tags:
4+
- blog
5+
createdAt: 2025-03-02 12:33:23
6+
modifiedAt: 2025-03-05 13:06:23
7+
publish: blog
8+
series: 나의 맞춤 블로그 만들기
9+
---
10+
11+
# 어떻게 블로그를 구현하였나
12+
13+
[[개인 블로그를 제작하게 된 이유|앞선 포스트]]에서 살펴본것처럼

public/link-map.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
{
2+
"0.inbox/개인 블로그를 제작하게 된 이유.md": "blog/개인 블로그를 제작하게 된 이유",
3+
"0.inbox/어떻게 블로그를 구현하였나.md": "blog/어떻게 블로그를 구현하였나"
4+
}

public/meta-data.json

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
[
2+
{
3+
"urlPath": "blog/개인 블로그를 제작하게 된 이유",
4+
"title": "개인 블로그를 제작하게 된 이유",
5+
"summary": "",
6+
"image": "",
7+
"tags": [
8+
"blog"
9+
],
10+
"series": "나의 맞춤 블로그 만들기",
11+
"createdAt": "2025-03-02 10:01:22",
12+
"modifiedAt": "2025-03-05 15:41:28"
13+
}
14+
,
15+
{
16+
"urlPath": "blog/어떻게 블로그를 구현하였나",
17+
"title": "어떻게 블로그를 구현하였나",
18+
"summary": "",
19+
"image": "",
20+
"tags": [
21+
"blog"
22+
],
23+
"series": "나의 맞춤 블로그 만들기",
24+
"createdAt": "2025-03-02 12:33:23",
25+
"modifiedAt": "2025-03-05 13:06:23"
26+
}
27+
]

0 commit comments

Comments
 (0)