|
1 | | -# OpenStack 실습 데모 페이지 with Quarto |
| 1 | +# OpenStack Korea Community Book |
2 | 2 |
|
3 | | -Quarto를 이용한 OpenStack Korea Community 의 Book 컨텐츠 프로젝트입니다. |
| 3 | +OpenInfra Korea User Group과 **아주대학교 소학회 아올다**([aoldacloud.com](http://aoldacloud.com/))가 함께 만드는 오픈스택 학습 자료입니다. |
4 | 4 |
|
5 | | -## Quarto를 이용한 Book 프로젝트 구조 |
| 5 | +Quarto를 이용해 작성하며, GitHub Actions를 통해 [book.openinfra-kr.org](https://book.openinfra-kr.org)에 자동 배포됩니다. |
| 6 | + |
| 7 | +## 프로젝트 구조 |
6 | 8 |
|
7 | 9 | ``` |
8 | 10 | . |
9 | | -├── _quarto.yml # Quarto 설정 파일 |
10 | | -├── index.qmd # 메인 페이지 |
11 | | -├── lectures/ # 강의 자료 |
12 | | -│ ├── short_lec.qmd # 단편 강의자료 |
13 | | -│ ├── long_lec/ # 장편 강의자료 |
14 | | -│ │ └── long_lec1.qmd # 장편 강의자료 속편 |
15 | | -│ └── long_lec.qmd # 장편 강의자료 메인페이지 (소개, 속편 링크 가이드) |
16 | | -├── community.qmd # 커뮤니티 페이지 |
17 | | -├── styles.css # 커스텀 스타일 |
18 | | -└── docs/ # 빌드된 사이트 (자동 생성) |
| 11 | +├── _quarto.yml # Quarto 설정 파일 |
| 12 | +├── index.qmd # 메인 페이지 |
| 13 | +├── custom.scss # 커스텀 스타일 |
| 14 | +├── _footer.html # 공통 푸터 |
| 15 | +├── lectures/ # 강의 자료 |
| 16 | +└── .github/workflows/ |
| 17 | + └── publish.yml # GitHub Actions 배포 워크플로우 |
19 | 18 | ``` |
20 | 19 |
|
21 | | -## 기여 시작하기 |
| 20 | +> `docs/`는 빌드 결과물로 git에서 제외됩니다. GitHub Actions가 자동으로 빌드 후 `gh-pages` 브랜치에 배포합니다. |
22 | 21 |
|
23 | | -1. Quarto 설치 |
| 22 | +## 로컬 개발 환경 설정 |
24 | 23 |
|
25 | | -``` |
| 24 | +### Quarto 설치 |
| 25 | + |
| 26 | +```bash |
26 | 27 | # macOS |
27 | 28 | brew install quarto |
28 | 29 |
|
29 | 30 | # Windows |
30 | 31 | choco install quarto |
31 | 32 |
|
32 | 33 | # Linux |
33 | | -wget https://github.com/quarto-dev/quarto-cli/releases/download/v1.6.0/quarto-1.6.0-linux-amd64.deb |
34 | | -sudo dpkg -i quarto-1.6.0-linux-amd64.deb |
| 34 | +wget https://github.com/quarto-dev/quarto-cli/releases/latest/download/quarto-linux-amd64.deb |
| 35 | +sudo dpkg -i quarto-linux-amd64.deb |
35 | 36 | ``` |
36 | 37 |
|
37 | | -## 강의 및 실습 가이드 기여 방법 |
38 | | - |
39 | | -### Github Issue 생성 |
40 | | - |
41 | | -1. .qmd 파일 생성하기 |
42 | | - |
43 | | -``` |
44 | | ---- |
45 | | -title: "페이지 제목" |
46 | | ---- |
47 | | -
|
48 | | -# 내용 작성 |
49 | | -``` |
50 | | - |
51 | | -2. `_quarto.yml`에 네비게이션 추가 |
52 | | - |
53 | | -``` |
54 | | -website: |
55 | | - navbar: |
56 | | - left: |
57 | | - - text: "새 메뉴" |
58 | | - file: path/to/new.qmd |
59 | | -``` |
60 | | - |
61 | | - |
62 | | -### 강의 자료 추가 |
63 | | - |
64 | | -1. PDF 파일을 `media/pdf/` 디렉토리에 저장 |
65 | | -2. `lectures/<lecutre>.qmd`에 링크 추가 |
66 | | - |
67 | | -## 사이트 빌드 및 배포 |
68 | | - |
69 | 38 | ### 로컬 프리뷰 |
70 | 39 |
|
71 | | -``` |
| 40 | +```bash |
72 | 41 | quarto preview |
73 | 42 | ``` |
74 | 43 |
|
75 | | -### 사이트 빌드 |
| 44 | +### 빌드 |
76 | 45 |
|
77 | | -``` |
| 46 | +```bash |
78 | 47 | quarto render |
79 | 48 | ``` |
80 | 49 |
|
81 | | -빌드된 파일은 `docs/` 디렉토리에 생성됩니다. |
| 50 | +## 기여 방법 |
82 | 51 |
|
83 | | -### GitHub Pages 배포 |
84 | | - |
85 | | -1. `docs/` 디렉토리를 Git에 커밋 |
86 | | -2. GitHub 저장소 설정에서 GitHub Pages 소스를 `docs/` 폴더로 설정 |
| 52 | +### 강의 자료 추가 |
87 | 53 |
|
88 | | -## 다국어 지원 |
| 54 | +1. `lectures/` 아래에 `.qmd` 파일 생성 |
89 | 55 |
|
90 | | -한글 콘텐츠 작성을 위해 `_quarto.yml`에 다음 설정이 되어있습니다: |
| 56 | +```markdown |
| 57 | +--- |
| 58 | +title: "페이지 제목" |
| 59 | +--- |
91 | 60 |
|
| 61 | +# 내용 작성 |
92 | 62 | ``` |
93 | | -format: |
94 | | - html: |
95 | | - lang: ko |
| 63 | + |
| 64 | +2. `_quarto.yml`의 `sidebar.contents`에 항목 추가 |
| 65 | + |
| 66 | +```yaml |
| 67 | +- text: "새 강의 제목" |
| 68 | + file: lectures/new_lec.qmd |
96 | 69 | ``` |
97 | 70 |
|
| 71 | +3. PR 생성 → 머지되면 자동 배포 |
98 | 72 |
|
99 | | -## 문서 스타일 가이드 |
| 73 | +### 이미지 파일 |
100 | 74 |
|
101 | | -- 제목은 `#`부터 시작 |
102 | | -- 코드 블록은 ``` 사용 |
103 | | -- 이미지는 `images/` 디렉토리에 저장 |
104 | | -- 링크는 상대 경로 사용 |
| 75 | +이미지는 해당 강의 디렉토리의 `images/` 폴더에 저장하고 상대 경로로 참조합니다. |
105 | 76 |
|
106 | | -## 도움말 |
| 77 | +## 배포 |
107 | 78 |
|
108 | | -- [Quarto 공식 문서](https://quarto.org/docs/guide/) |
109 | | -- [GitHub Discussions](https://github.com/openstack-kr/community-site/discussions) |
110 | | -- [Slack 채널](https://openstack-kr.slack.com) |
| 79 | +`main` 브랜치에 push하면 GitHub Actions가 자동으로 빌드 후 `gh-pages` 브랜치에 배포합니다. |
111 | 80 |
|
112 | 81 | ## 라이선스 |
113 | 82 |
|
114 | | -이 프로젝트는 MIT 라이선스 하에 배포됩니다. |
| 83 | +이 프로젝트는 MIT 라이선스 하에 배포됩니다. |
0 commit comments