Metadata-Version: 2.3
Name: markdown-to-blog
Version: 0.2.54
Summary: 
Author: David Cho
Author-email: david@cgoods.co.kr
Requires-Python: >=3.11,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: bs4 (>=0.0.2,<0.0.3)
Requires-Dist: click (>=8.1.7,<9.0.0)
Requires-Dist: configobj (>=5.0.8,<6.0.0)
Requires-Dist: google-api-python-client (>=2.118.0,<3.0.0)
Requires-Dist: httplib2 (>=0.22.0,<0.23.0)
Requires-Dist: images-upload-cli (>=3.0.5,<4.0.0)
Requires-Dist: loguru (>=0.7.2,<0.8.0)
Requires-Dist: markdown2[all] (>=2.4.12,<3.0.0)
Requires-Dist: oauth2client (>=4.1.3,<5.0.0)
Requires-Dist: pyimgur (>=0.6.0,<0.7.0)
Description-Content-Type: text/markdown

# Markdown to Blogger

이 프로젝트는 마크다운 파일을 HTML로 변환하여 Blogger에 게시하는 도구입니다. Python과 Blogger API를 사용하여 마크다운 파일을 블로그 포스트로 쉽게 변환하고 업로드할 수 있습니다.

## 설치 방법

이 도구를 사용하기 전에, Python이 설치되어 있어야 합니다. 그 후에, 필요한 패키지를 설치하기 위해 다음 명령어를 실행하세요:

```bash
poetry install
```

## 사용법

이 도구는 명령줄 인터페이스(CLI)를 통해 다양한 명령어를 제공합니다. 사용 가능한 명령어는 다음과 같습니다:

### 블로그 ID 설정

블로그 ID를 설정하려면 다음 명령어를 사용하세요:

```bash
mdb set_blogid [블로그 ID]
```

### 현재 설정된 블로그 ID 확인

현재 설정된 블로그 ID를 확인하려면 다음 명령어를 사용하세요:

```bash
mdb get_blogid
```

### 마크다운 파일을 HTML로 변환

마크다운 파일을 HTML로 변환하려면 다음 명령어를 사용하세요:

```bash
mdb convert --input [마크다운 파일명] --output [저장될 HTML 파일명]
```

### Client Secret 파일 설정

Google API 사용을 위한 `client_secret.json` 파일을 설정하려면 다음 명령어를 사용하세요:

```bash
mdb set_client_secret [client_secret.json 파일 경로]
```

### 인증 정보 갱신

Google API의 인증 정보를 갱신하려면 다음 명령어를 사용하세요:

```bash
mdb refresh_auth
```

### 마크다운 파일을 Blogger에 게시

마크다운 파일을 Blogger에 직접 게시하려면 다음 명령어를 사용하세요:

```bash
mdb publish --title "[블로그 제목]" [마크다운 파일명]
```
 - ## publish

이 명령어는 여러 옵션을 포함하고 있으며, 각 옵션의 역할은 다음과 같습니다:

- `--title` / `-t`: 블로그 게시물의 제목을 지정합니다. 이 옵션이 제공되지 않으면, 마크다운 파일의 첫 번째 헤더를 제목으로 사용합니다.
- `--draft`: 이 옵션을 지정하면 게시물을 바로 게시하지 않고 드래프트(초안) 상태로 저장합니다. 옵션이 없으면 게시물이 즉시 게시됩니다.
- `--after` / `-af`: 게시물을 언제 게시할지를 지정합니다. 선택할 수 있는 옵션에는 "now"(즉시), "1m"(1분 후), "10m"(10분 후), "1h"(1시간 후), "1d"(1일 후), "1w"(1주 후), "1M"(1달 후)가 있습니다. 기본값은 "now"입니다.  
- `--blogid` / `-b`: 게시물을 업로드할 블로그의 ID를 지정합니다. 기본값은 `get_blogid()` 함수를 통해 얻은 ID입니다.
- `filename`: 발행할 마크다운 파일의 이름입니다. 이 값은 필수적으로 제공되어야 합니다.

이러한 옵션들을 받아 실제로 마크다운 파일을 Blogger에 업로드하는 작업을 수행합니다. 먼저, 제목이 명시적으로 제공되지 않은 경우 마크다운 파일의 첫 번째 헤더를 제목으로 사용합니다. 그 후, `--after` 옵션을 바탕으로 실제 게시 시간을 계산하고, 마크다운 파일의 내용을 Blogger에 업로드합니다. 이때, 게시물의 제목, 파일 이름, 블로그 ID, 드래프트 여부, 그리고 계산된 게시 시간을 인자로 전달합니다.

  - ### 기본 사용법

```bash
mdb publish [옵션들] 마크다운파일명
```

## 예제들

1. **즉시 발행하기**: `example.md` 파일을 즉시 Blogger에 발행하고 싶다면, 아래와 같이 명령어를 사용할 수 있습니다.

  ```bash
  mdb publish --title "블로그 제목" example.md
  ```

  이 경우, `--title` 옵션으로 게시물의 제목을 "블로그 제목"으로 지정하고, `example.md` 마크다운 파일을 사용합니다.

2. **드래프트로 저장하기**: 게시물을 바로 발행하지 않고 드래프트로 저장하려면 `--draft` 옵션을 사용합니다.

  ```bash
  mdb publish --draft example.md
  ```

  여기서 `--draft` 옵션은 게시물을 즉시 발행하지 않고 드래프트로 저장하라는 것을 의미합니다.

3. **예약 발행하기**: 게시물을 특정 시간 후에 발행하려면 `--after` 옵션을 사용합니다. 예를 들어, 1시간 후에 발행하고 싶다면:

  ```bash
  mdb publish --after 1h --title "예약된 블로그 제목" example.md
  ```

  여기서 `--after 1h`는 게시물을 현재 시간으로부터 1시간 후에 발행하라는 것을 의미합니다.

4. **블로그 ID 지정하기**: 특정 블로그에 게시하고 싶다면 `--blogid` 옵션으로 블로그 ID를 지정할 수 있습니다.

  ```bash
  mdb publish --blogid "your_blog_id" --title "블로그 제목" example.md
  ```

  이 명령어는 "your_blog_id"에 해당하는 블로그에 `example.md` 파일을 사용하여 게시물을 만듭니다.

이 예제들은 `mdb` 커맨드의 사용법과 각 옵션이 어떻게 사용되는지를 보여줍니다. 실제 사용 시에는 `mdb`가 올바르게 설치되어 있고, Blogger API와 연동되어 있어야 합니다. 또한, `get_blogid()` 함수가 올바른 블로그 ID를 반환하도록 설정되어 있어야 합니다.


### HTML 파일을 Blogger에 게시

HTML 파일을 Blogger에 게시하려면 다음 명령어를 사용하세요:

```bash
mdb publish_html --title "[블로그 제목]" [HTML 파일명]
```

## 기여하기

프로젝트에 기여하고 싶으신 분은 GitHub를 통해 Pull Request를 보내주시거나, 이슈를 등록해 주세요.

