Lorem ipsum dolor sit amet, consectetur adipiscing elit.
```
이제 `npm run publish page` 스크립트를 실행해 변경된 첫 페이지를 발행하고 `npm start` 스크립트로 로컬 서버에서 변경된 첫 페이지를 확인하세요.
```shell script
$ npm run publish page
$ npm start
```
배포할 준비가 됐다면 `npm run deploy` 스크립트를 실행하세요. 첫 페이지 뿐 아니라 다른 페이지들로 이런 방식으로 변경할 수 있습니다. (프로젝트 구조에 대한 이해가 필요할 수도 있습니다.)
### 프로젝트 구조
* `_articles` - 블로그 포스트를 위한 마크다운 파일들.
* `_works` - 포트폴리오를 위한 마크다운 파일들.
* `app`
* `assets` - HTML 파일에 포함되는 이미지, 포트 등 파일들.
* `public` - `publish` 스크립트로 생성되는 HTML 파일들. `server`와 `dist` 디렉토리가 이 디렉토리를 기반합니다. 이 디렉토리 안에 있는 파일들을 직접 수정하지 마세요.
* `article` - `_articles` 디렉토리에서 변환된 HTML 파일들.
* `work` - `_works` 디렉토리에서 변환된 HTML 파일들.
* `src` - HTML 파일에 포함되는 스크립트들.
* `css` - `build` 스크립트로 생성되는 CSS 파일들.
* `scss`
* `ts`
* `static` - `build` 스크립트로 컴파일되지 않는 `robots.txt`, `sitemap.xml` 또는 SEO 파일 등 정적 파일들. `build` 스크립트는 이 디렉토리의 모든 파일을 `dist` 디렉토리로 복사합니다.
* `templates` - EJS 템플릿 파일들. `publish` 스크립트가 이 디렉토리의 템플릿들을 HTML 파일로 변환합니다.
* `dist` - `build` 스크립트로 컴파일된 파일들. `deploy` 스크립트가 이 디렉토리를 기반으로 GitHub pages에 배포합니다. 이 디렉토리 안에 있는 파일을 직접 수정하지 마세요.
* `server` - `build` 스크립트로 컴파일된 파일들. `start` 스크립트가 이 디렉토리를 기반으로 로컬 서버를 구동합니다. 이 디렉토리 안에 있는 파일을 직접 수정하지 마세요.
* `services` - `publish` 스크립트를 구현하는 소스코드.
* `classes`
* `models`
* `tools` - 여러 npm 스크립트들을 구현하는 소스코드.
## 예시
* parksb.github.io: https://github.com/parksb/parksb.github.io
* betty-grof.github.io: https://github.com/betty-grof/betty-grof.github.io
## 사용 가능한 스크립트
### `npm start`
`http://localhost:1234/`에 로컬 개발 서버를 구동합니다.
### `npm run publish`
템플릿을 HTML 파일로 변환합니다.
```shell script
$ npm run publish article
```
모든 아티클을 변환합니다.
```shell script
$ npm run publish works
```
모든 작업을 변환합니다.
```shell script
$ npm run publish article 5
```
아이디가 5인 아티클을 변환합니다.
```shell script
$ npm run publish work 3
```
아이디가 3인 작업을 변환합니다.
```shell script
$ npm run publish page
```
모든 페이지를 변환합니다.
### `npm run watch`
`templates` 디렉토리에 있는 템플릿 파일과 `_articles` 디렉토리에 있는 마크다운 파일이 변경될 때마다 자동으로 재빌드합니다.
### `npm run build`
parcel 번들러를 이용해 파일을 빌드합니다.
### `npm run deploy`
파일들을 빌드하고 배포합니다.
## 라이센스
이 프로젝트는 MIT 라이센스를 따릅니다. - 자세한 내용은 [LICENSE](LICENSE) 파일을 참고하세요.