[티스토리자동포스팅] 프로젝트 시작하며

티스토리 자동 포스팅 만들어보도록 한다.

티스토리 자동포스팅?

개인적으로 티스토리를 사용할때 가장큰 불만은…

  • 마크다운 을 지원하지 않는 것
  • 블로그의 데이터들이 온전히 나의것이 아닌것 같다.

위의 두가지의 단점을 모두 해결해준것은 hexo 였다.

하지만. 블로그 유입 및 애드센스 수익이 조금이나마 나고 있는 기존의 티스토리를 버릴수가 없었다. 그래서 아예 hexo 와 같은 기능(?)을 간단하게 구현해보도록 한다.

github 쪽에 몇 가지 프로젝트들을 찾아보고 간단하게나마 테스트해보니 생각보다 간단하게 구현가능한것을 확인하였다.

필요한것은 만들어서쓰자.

사용언어 및 개발툴

가장 핫하다는 python으로 개발하도록 한다. (python 은 개인적으로 취미코딩, 생활코딩하기에 딱 적당한 난이도인것 같다.)

그래서.. 프로그램 제작에 앞서 최초 몇가지 테스트를 진행하였다.

pytistory library

https://github.com/jeongukjae/pytistory

  • 기능 : tistory api 를 간단하게 사용할 수 있도록 wrap api 를 제공한다.

문서매뉴얼도 잘되어있으며, 개발자분도 나름 유지보수를 계속 해주시는것 같다. 또한 github 쪽에 커밋된 소스들을 보면 주석도 한글로 잘되어있어서 코드 분석 및 내용 파악도 쉬운편.

추후, 문제가 생기거나 신규기능등은 직접 수정 및 pull request 가 가능하지 않을까?

물론, 직접 webapi 호출해서 써도되겄지만.. 이래저래 개발의 속도를 위해서 해당 라이브러를 쓰자!

markdown tool

https://github.com/Python-Markdown/markdown

  • 기능 : md 파일을 html 로 변환

일종의 마크다운 변환 엔진이라고 보면된다. 어차피 티스토리의 본문에는 생짜 html 코드로 올리게 될것이다. 각종 스타일일등은 테마의 css 쪽에서 처리를 하게될것이다.

해당 라이브러는 역사외 전통의 라이브러로 안정성 및 예제, 플러그인등이 충분하게 있으니 안심. 몇가지 다른 라이브러리들을 테스트해봤으니 본 라이브러리 만한 것을 못봤다.

계속적으로 업데이트도 되고있으니, 안쓸이유가 없다.

간단한 프로그램 구현 계획

markdown tool 로 html 로 변환 후에 pytistory 로 올리는 기능을 구현하도록한다. 각 라이브러리의 예제 코드로 테스트해보니 코딩량은 생각보다 많지 않을것으로 예상된다.

간단 동작루틴

메인동작은 linux server 에서 동작시키도록 한다. 즉, 다음의 동작들은 주기적으로 실행하게될것이다.

  1. md 문서에 대한 티스토리와의 연동데이터등을 관리 (발행정보)
  2. md 문서의 첨부파일(그림)등을 티스토리 에 upload 후 관리
  3. md 문서의 내용중 첨부파일(그림)링크를 티스토리 upload url 로 변경
  4. md 문서를 html 문서로 변환
  5. html 문서로 변환된것을 티스토리에 발행
  6. 해당 md 파일에 대한 발행정보를 관리

대략 이런정도면 될것 같다.

md 파일에 대한 발행정보등을 관리하는 이유는 해당 md파일이 티스토리에 정상적으로 올라갔을때 고유id 를 갖게되는데 해당 고유id를 이용하면 글에 대한 수정도 가능하다. 로컬에서 md 파일을 수정하게되면 수정된 파일의 고유id를 통해서 티스토리에 수정하여 재 업로드할 예정.

주기적으로 실행건과 관련하여 하나의 아이디어는 git hook 을 이용하는 것이다. 즉, md 파일이 추가, 수정, 삭제 기능등을 git hook 쪽에 걸어두면.. 매번 파일시스템을 모니터링 하지 않아도 될듯 하다.

모든기능은 메모하면서 구현해보도록하자.

시작.

0%