2012-09-16
DropPress
DropPress는 이번에 다 죽어있던 블로그를 개편하면서 만든 정적 사이트 생성 스크립트다.
왜 이름이 DropPress 이냐면, 이 프로젝트의 시작은 드랍박스를 연동하는 웹서비스였기 때문이다. 드랍박스에 마크다운 포맷의 글을 저장해두면, 버전관리를 안해도 되고, 드랍박스와 연동되는 훌륭한 편집기가 널려 있으니, 나는 마크다운 변환과 github 배포를 구현하기만 하면 된다고 생각했다. 그런데, 비슷한 웹 에디터나 호스팅 서비스도 이미 존재하길래, 목표를 간단한 스크립트로 바꿨다. :)
소스코드는 github에 공개되어 있다.
기능 소개
웬만한 블로그에 있는 기본적인 기능(이라고 하면 부끄럽지만)은 대충 다 구현했다.
- 페이지 네비게이션, 아카이브, 카테고리, 태그, RSS, 최근 글목록
- disqus 기반의 코멘트
- google analytics 연동
- 글 제목 검색
- 쉘 명령 지원: Octopress처럼 init, generate, clean, deploy, new_post 같은 쉘 명령을 지원한다. new_post 의 경우 새 파일을 만든 후 서브라임 텍스트2에 띄워준다. 원래는 Makefile을 쓰려다가 파일 갯수를 줄인다는(?) 취지에서 그냥 파이썬으로 모두 구현해 버렸다.
- wordpress 변환기
구현
파이썬 스크립트 자체는 몇 줄 안되는데도 봐줄만하게 나온 이유는 트위터 부트스트랩 덕분이다. 이런 라이브러리가 전업이 아니라 주말 작업만으로 나왔다니, 진짜 대단한 친구들이다.
octopress에서 영감을 많이 받아서 글 헤더의 포맷이나 형태, 구조, 쉘 명령 등을 많이 참조했다. 얘들이 업데이트만 자주 했더라도 내가 안만들었을텐데..
라이브러리 | 적용 |
---|---|
twitter bootstrap | HTML 레이아웃 및 웹 디자인. 페이지 곳곳마다 진짜 열심히 사용했다. |
bootstwatch | 부트스트랩의 무료 테마. 현재 readable 테마를 사용중이다. |
python-markdown | 마크다운 변환. 테이블을 지원하는 플러그인도 존재한다. :) |
jinja2 | 파이썬용 HTML 템플릿 라이브러리 |
yaml | 설정 파일 및 글의 헤더 포맷 |
feedgenerator | atom.xml 생성용 |
google-code-prettifier | 자바스크립트 코드 하일라이팅 |
locally | 테스트용 로컬 웹서버(node.js 필요) |
향후 계획
위에서도 밝혔지만 이제 블로그 생성기로서의 웬만한 기능은 이미 다 구현했고, 뭔가를 더 추가한다면
- 더 많은 설치 및 배포 테스트: 아직 제대로 안해봤다.
- 트위터 위젯 연동
- ACE 에디터로 드랍박스 API연동해서 웹 편집하기
- 최종적으로는 웹 서비스 기반의 배포 시스템
정도가 남은 셈이다. 근데 과연 거기까지 갈지가 의문이다.
그나저나, 실컷 끝내고 나니 왠지 바퀴만 재발명한 거 같은 생각이 든다. 좀 더 컨텐츠에 집중해야 되는데..
Source: http://github.com/Reiot/droppress
Category:programming
Tags:droppresspythongithubbootstrapmarkdowndropbox
Category:programming
Tags:droppresspythongithubbootstrapmarkdowndropbox