티스토리 자동 포스팅 만들어보도록 한다.
티스토리 자동포스팅?
개인적으로 티스토리를 사용할때 가장큰 불만은…
마크다운을 지원하지 않는 것- 블로그의 데이터들이 온전히 나의것이 아닌것 같다.
위의 두가지의 단점을 모두 해결해준것은 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 에서 동작시키도록 한다. 즉, 다음의 동작들은 주기적으로 실행하게될것이다.
md문서에 대한 티스토리와의 연동데이터등을 관리 (발행정보)md문서의 첨부파일(그림)등을 티스토리 에 upload 후 관리md문서의 내용중 첨부파일(그림)링크를 티스토리 upload url 로 변경md문서를html문서로 변환html문서로 변환된것을 티스토리에 발행- 해당
md파일에 대한 발행정보를 관리
대략 이런정도면 될것 같다.
각 md 파일에 대한 발행정보등을 관리하는 이유는 해당 md파일이 티스토리에 정상적으로 올라갔을때 고유id 를 갖게되는데 해당 고유id를 이용하면 글에 대한 수정도 가능하다. 로컬에서 md 파일을 수정하게되면 수정된 파일의 고유id를 통해서 티스토리에 수정하여 재 업로드할 예정.
주기적으로 실행건과 관련하여 하나의 아이디어는 git hook 을 이용하는 것이다. 즉, md 파일이 추가, 수정, 삭제 기능등을 git hook 쪽에 걸어두면.. 매번 파일시스템을 모니터링 하지 않아도 될듯 하다.
…
모든기능은 메모하면서 구현해보도록하자.
시작.