8. 굳굳굳
• 기존방식 - *.docx, *.xlsx + sample code
• asp.net_example.zip, jsp_example.zip
• 업데이트가 쉽지 않다.
8
9. 굳굳굳
• Stripe 같은 API 문서화 사이트를 이용하면..
• API 를 실제 코드와 함께 볼수 있다는 장점.
• API를 업데이트 하더라도, 좀 더 쉽게 문서와 코드를 같이 업데이트 가능.
9
10. 답정너 - slate
• slate 로 정하고 살펴보기 시작.
• 어엇, 이건 루비. 루비는 사랑입니다.
10
11. 분석
• 구성
• middleman : static site generator based Ruby
• layout.erb - 템플릿
• index.md - API문서
• 결국..
1. index.md 을 변환
2. middleman 을 이용해서 layout.erb 에 넣고
3. HTML 로 출력.
11
12. conv2python
12
• 좀더 익숙한 언어와 환경 사용. 사실은 slate 돌려보다 지쳐서…
• 팀내 주 언어로 파이썬을 밀고 있는 상태
• 루비와 가장 비슷한?
14. conv2python
14
• markdown to html
• markdown : 변환 및 다양한 확장 모듈 제공
• fence_codes : markdown code block to <pre></pre>
• tables : markdown table syntax to <table></table>
import markdown
return markdown.markdown(md_text, extensions=["fenced_code", "tables"])
18. slate-flask 로 github 공개
• 이유 :
• 아까움.
• 나처럼 Ruby 에 익숙하지 않은 사람도 있지 않을까.
공개 하나마나. 오픈만 된.
• 쓸곳을 찾아보자. 아니 내가 쓰자. 알바하는 서버API 문서화에 적용.
• 써보니, 안좋은 부분이 보이기 시작.
18
24. 서버 API 개발시의 패턴
• 사용한 테스팅을 문서로 만들수 있지 않을까?
postman2md
• postman collection json 을 markdown 으로 변환
• 변환된 markdown 을 문서화에 이용(plate에 이용)
• postman collection json with plate
24
testing
API
Design
docdev
25. 검색의 문제 : lunr.js 이용
• 영어만을 지원하는 문제, 다국어 지원의 이슈
• lunr-languages 를 plate 에 연동, 몇 개의 다국어 검색 가능.
• 현재 한국어가 없어서 lunr.kr.js 를 만들고 있는 중
25
26. static html
• 사실 크게 생각하지 않았던 기능.
• github.io 같은 곳에 올리거나 Apache에 올린다면
• 원래 Flask 는 jinja2 template 를 이용, 변환된 HTML 을 저장
• http://plate-project.github.io/
26
27. 앞으로의 계획
• 에디터
• 테스팅부분의 추가 : slate에도 꾸준한 이슈
• 카피캣의 탈피 - Front-End
• 조금은 다른 방향으로의 API Documentation Tool을 만들고 싶다.
27