doc: detail

This commit is contained in:
monoid 2022-06-11 19:22:58 +09:00
parent 5beab5f38d
commit ad8407e21b
4 changed files with 48 additions and 14 deletions

View File

@ -1,8 +1,16 @@
# SRS # SRS
이용하기 위해서 [mdbook](https://github.com/rust-lang/mdBook)을 설치해야 합니다. 이 문서 빌더를 이용하기 위해서 [mdbook](https://github.com/rust-lang/mdBook)을 설치해야 합니다.
이 [링크](https://rust-lang.github.io/mdBook/guide/installation.html)에서 설치하면 됩니다. 이 [링크](https://rust-lang.github.io/mdBook/guide/installation.html)에서 설치하면 됩니다.
그리고 [deno](https://deno.land/)도 설치를 해야합니다. 이 [링크](https://deno.land/#installation)
를 따라서 설치해주세요.
python이 설치되어있어야 cli.py를 사용할 수 있습니다.
문서를 pdf 포맷으로 만드려면 java가 설치되어있어야 합니다. 운영체제가 Windows라면 설치 후 환경변수를
설정해주세요.
```bash ```bash
mdbook serve mdbook serve
``` ```
@ -10,11 +18,39 @@ mdbook serve
## cli.py ## cli.py
deno가 설치되어 있어야 합니다. 처음 실행시 issue를 가지고 오는 작업이 필요합니다.
처음 실행시 issue를 가지고 오는 작업이 필요합니다. 먼저, `GITHUB_TOKEN` 환경변수에 깃헙 token을 설정해주세요. `.env`를 지원합니다.
토큰을 발급받기 위해선 [다음 링크](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)를 참조하면 됩니다.
```bash ```bash
./cli.py build --update_issues ./cli.py build --update_issues
``` ```
를 실행해 주세요. 를 실행해 주세요.
cli.py 는 여러 subcommand를 가집니다.
아래애서 v옵션과 h옵션은 항상 verbose 모드와 help를 의미합니다.
### build
```
usage: cli.py build [-h] [-v] [--update_issues]
```
작성된 문서를 html로 변환합니다. `update_issues` 옵션을 주어서 먼저
issue를 업데이트할 수 있습니다. issue들의 정보는 `cache/issues.json`에 생성
됩니다.
### issueUpdate
```
usage: cli.py issueUpdate [-h] [-v] [--outDir OUTDIR]
```
Issue를 업데이트 합니다. 정확히는 지정된 `OUTDIR``issues.json`이란
파일을 만듭니다. OUTDIR의 기본값은 `cache/` 입니다.
### serve
```
usage: cli.py serve [-h] [-v] [-p PORT]
```
문서를 html로 변환하고 웹서버를 엽니다. 변화가 생기면 다시 빌드합니다.
### buildPdf
```
usage: cli.py buildPdf [-h] [-v] [--outDir OUTDIR] [--browser-path BROWSER_PATH]
```
변환된 html을 pdf로 바꾸고 OUTDIR에 저장합니다. 그러므로 문서를 먼저 `build`하고 시도해야 합니다.
browser-path 옵션으로 html을 pdf로 바꾸는 것에 사용될 browser를 지정할 수 있습니다.

8
cli.py
View File

@ -22,8 +22,6 @@ def build(args):
parser = argparse.ArgumentParser(description='Compiling the documentation', prog="cli.py build") parser = argparse.ArgumentParser(description='Compiling the documentation', prog="cli.py build")
parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode') parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode')
parser.add_argument('--update_issues', action='store_true', help='update issues') parser.add_argument('--update_issues', action='store_true', help='update issues')
parser.add_argument('--outDir', default="build", help='output directory')
parser.add_argument('-w', '--watch', action='store_true', help='watch for changes')
args = parser.parse_args(args) args = parser.parse_args(args)
if args.verbose: if args.verbose:
@ -41,9 +39,7 @@ def serve(args):
parser = argparse.ArgumentParser(description='Serve the documentation and reload changes', prog="cli.py serve") parser = argparse.ArgumentParser(description='Serve the documentation and reload changes', prog="cli.py serve")
parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode') parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode')
parser.add_argument('-p', '--port', default=3000, help='port') parser.add_argument('-p', '--port', default=3000, help='port')
parser.add_argument('--update_issues', action='store_true', help='update issues')
outDir = "build"
issuePath = os.path.join(outDir,"issues.json")
args = parser.parse_args(args) args = parser.parse_args(args)
if args.verbose: if args.verbose:
print("serve start") print("serve start")
@ -59,7 +55,7 @@ def help(_args):
def issueUpdate(args): def issueUpdate(args):
parser = argparse.ArgumentParser(description='Update issues', prog="cli.py issueUpdate") parser = argparse.ArgumentParser(description='Update issues', prog="cli.py issueUpdate")
parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode') parser.add_argument('-v', '--verbose', action='store_true', help='verbose mode')
parser.add_argument('--outDir', default="build", help='output directory') parser.add_argument('--outDir', default="cache", help='output directory')
args = parser.parse_args(args) args = parser.parse_args(args)
issuePath = os.path.join(args.outDir,"issues.json") issuePath = os.path.join(args.outDir,"issues.json")
updateIssue(issuePath, args.verbose) updateIssue(issuePath, args.verbose)

File diff suppressed because one or more lines are too long

View File

@ -2,12 +2,15 @@
## getIssue ## getIssue
Github token을 받아서 최신 100개의 Issues 들의 내용을 긁어옵니다. 그리고 그 내용을 json으로 출력합니다. Github의 최신 100개의 Issues 들의 내용을 긁어옵니다. 그리고 그 내용을 json으로 출력합니다.
만약 private repository 이면 `GITHUB_TOKEN` 환경변수에 깃헙 token을 설정해주세요. `.env`를 지원합니다.
```sh ```sh
deno run --allow-net --allow-env --allow-write getIssue.ts --token 'YOUR GIHTUB TOKEN' deno run --allow-net --allow-env --allow-write getIssue.ts --token 'YOUR GIHTUB TOKEN'
``` ```
으로 실행하면 됩니다. 으로 실행하면 됩니다.
토큰을 발급받기 위해선 [다음 링크](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)를 참조하면 됩니다. 토큰을 발급받기 위해선 [다음 링크](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token)를 참조하면 됩니다.
인자로 token과 path를 받습니다. token 인자가 지정되어 있지 않으면 `GITHUB_TOKEN` 환경변수에서 가져옵니다. path가 지정되어있지 않으면 `stdout`에 출력합니다. 인자로 token과 path를 받습니다. token 인자가 지정되어 있지 않으면 `GITHUB_TOKEN` 환경변수에서 가져옵니다. path가 지정되어있지 않으면 `stdout`에 출력합니다.