Upgrade to Pro — share decks privately, control downloads, hide ads and more …

sphinx로 시작하는 문서 빌드와 외국어 버전 관리

sphinx로 시작하는 문서 빌드와 외국어 버전 관리

Avatar for Jieun Kim

Jieun Kim

May 28, 2019
Tweet

More Decks by Jieun Kim

Other Decks in Programming

Transcript

  1. ӣ૑਷ ӝࣿҗ ੋрਸ ੒ח ੌী 
 ҙब੉ ݆णפ׮. (੹) ֎੉ߡ

    Clova AI ੋఢ 
 - Technical writing
 - UX research
  2. ݾ಴ • ޙࢲ ઁ੘ بҳ Sphinx ౵ঈೞӝ • য়ט ׼੢

    Sphinx ޙࢲܳ ઁ੘ೞח ߑߨ ੉೧ೞӝ • Sphinx ޙࢲ ઁ੘ Ҋ޹೧ࠁӝ
 
 => ౚషܻ঴ + ҙ۲ ੉ঠӝ
  3. ೡ ੉ঠӝ 1. Sphinxܳ ঌইࠇद׮! 2. ࡅܰѱ ݅٘ח Sphinx ޙࢲ

    3. ޙࢲ ղਊ ଻਋ӝ 4. ৻Ҵয ޙࢲ ઁ੘ 5. ݃ޖܻ
  4. BSD ۄ੉ࣃझܳ о૓ ޙࢲ ઁ੘ بҳ • BSD ۄ੉ࣃझ =

    ੗ਬ܂ѱ ߸ഋ оמ, 
 ࢚স੸ ࢎਊ оמ • য়೑ࣗझ۽ ܻࠛӝب ೤פ׮. • ಞೞѱ ޙࢲܳ ٜ݅ ࣻ ੓׹פ׮ :)
  5. Sphinx੄ ੢੼ • ׮নೠ Output ನݘ : HTML (including Windows

    HTML Help), LaTeX (for printable PDF versions), ePub, Texinfo, manual pages, plain text
 • ҅கഋ ҳઑ : ޙࢲ উ੄ ޙࢲ ੘ࢿ • ௏٘ ೞ੉ۄ੉౟ : ঱যী ٮۄ ъઑ ಴द оמ • Extension ࢎਊ : ^^ http://www.sphinx-doc.org/en/master/
  6. Sphinx ޙࢲ ݅٘ח ߨ 1) Docker ஶప੉ց ٜ݅ӝ 2) Docker

    উী 
 pip install sphinx-rtd-theme
 pip install sphinx-intl 3) sphinx-quickstart -> [y] ࢶఖ 4) make html೧ࢲ ޙࢲ ࠽٘
  7. 1) Docker ஶప੉ց হযب ࠽٘ח оמ. ޙࢲ ഈসਸ ૓೯ೞ׮ ࠁݶ

    ߡ੹੉ Ԙੌ ࣻب ੓ਵ޲۽ 
 ݅٘ח Ѧ ୶ୌ! IUUQTXXXEPDLFSDPN
  8. 1) Docker ஶప੉ց // بழ ٜ݅ӝ
 // -itd : interactive

    mode, dockerܳ onਸ ೞח ࢚క ٜ݅ӝ
 docker run -itd --name new-docs -v $(pwd):/app python:3.5 bash // بழ ੽ࣘೞӝ
 docker exec -it new-docs bash
 cd app/ // بழ աоӝ
 exit ఠ޷օী ੗઱ ॳח Docker ݺ۸য new-docs < ਗೞח ੉ܴਵ۽ ߸҃ೞࣁਃ!
  9. 1) Docker ஶప੉ց // بழ ੤द੘, ઺૑
 docker start new-docs


    docker stop new-docs // ځ੓ח(?) بழ ݾ۾ ഛੋ docker ps // લ਷ Ѫө૑ ࠁৈષ docker ps -a // بழ ࢏ઁೞӝ docker rm new-docs(ژח docker id) ఠ޷օী ੗઱ ॳח Docker ݺ۸য(2)
  10. 2) pip install pip install sphinx-rtd-theme => rtd theme۽ sphinx

    ޙࢲ ੘ࢿ pip install sphinx-intl => ৻Ҵয ߡ੹ ઁ੘ਊ
  11. 2) pip install // ޙࢲܳ ҙܻೞח ಫ؊ܳ ٜ݅Ҋ, Ӓ ಫ؊

    উীࢲ بழী 
 ੽ࣘ೤פ׮.
 mkdir new-docs
 cd new-docs
 docker exec -it new-docs bash
 cd app/ // sphinxܳ ࢸ஖೤פ׮. pip install sphinx-rtd-theme pip install sphinx-intl
  12. 3) sphinx-quickstart -> [y] ࢶఖ //ӝࠄ ޙࢲ ࢤࢿ sphinx-quickstart -

    yܳ ੑ۱ 
 => ࣗझ ౵ੌҗ ࠽٘ ౵ੌਸ ٮ۽ ҙܻೞח ѱ ಞܻ.
 - աݠ૑ח ਗೞח؀۽. - Language ࢸ੿ਸ ਗೠ׮ݶ ೠҴযח ko ੑ۱ - config.py ౵ੌীࢲ html_theme = ‘sphinx_rtd_theme’
 ۽ ߄Լસפ׮. http://www.sphinx-doc.org/en/master/usage/quickstart.html
  13. 4) make html۽ ޙࢲ ࠽٘ // ޙࢲ ࠽٘ make build

    makeח ই઱ ੗઱ ॳѱ ؼ ݺ۸য
  14. ٜযח ࠌա, reStructuredText ޙߨ • য۵૑ ঋইਃ :) .mdی ࠺तೞѱ

    ࢤпೞݶ ؽ • .rst۽ աয়ח ౵ੌী ղਊ ੘ࢿ • reST ޙߨ੉ۄҊب ࠛܿ
  15. ৻Ҵয ޙࢲ, ৵ ٜ݅যঠ ೡөਃ? • Ӗ۽ߥೠ ࢎਊ ࢸݺࢲо ೙ਃೞ׮ݶ?

    
 Ӓؘ۠ ೠҴ ࢎਊ੗о ݆ইࢲ ೠҴযܳ ॳҊ र׮ݶ? • ࢎղ/Ӓܛ ղ ৻Ҵੋ ݯߡܳ ਤೠ ׮নࢿ
 
 => ੌױ ৔য۽ ݅ٚ׮Ҋ ࢤп೧ࠇद׮.
  16. 3ױ҅ җ੿ //.rst ౵ੌਸ pot ౵ੌ۽ build/gettextۄח ਤ஖ী ߸ജ 


    sphinx-build -b gettext ./source build/gettext // build/gettext ਤ஖ী ੓ח pot ౵ੌਸ locale/en_US/ LC_MESSAGESۄח ਤ஖ী po ౵ੌ۽ ߸ജ
 sphinx-intl update -p build/gettext -l en_US // locale/en_US/LC_MESSAGES ਤ஖ী ੓ח po ౵ੌਸ build/html/en_US ਤ஖ী html۽ ߸ജ, mo ౵ੌ੉ ࢤࢿؽ.
 sphinx-build -b html -D language=en_US ./source build/html/en_US (1) (2) (3) https://docs.readthedocs.io/en/stable/localization.html
  17. 3ױ҅ җ੿ //.rst ౵ੌਸ pot ౵ੌ۽ build/gettextۄח ਤ஖ী ߸ജ 


    sphinx-build -b gettext ./source build/gettext // build/gettext ਤ஖ী ੓ח pot ౵ੌਸ locale/en_US/ LC_MESSAGESۄח ਤ஖ী po ౵ੌ۽ ߸ജ
 sphinx-intl update -p build/gettext -l en_US // locale/en_US/LC_MESSAGES ਤ஖ী ੓ח po ౵ੌਸ build/html/en_US ਤ஖ী html۽ ߸ജ, mo ౵ੌ੉ ࢤࢿؽ.
 sphinx-build -b html -D language=en_US ./source build/html/en_US (1) (2) (3) https://docs.readthedocs.io/en/stable/localization.html ਗೞח ঱যܳ աఋղݶ OK! EN, en, US ݽف оמ
  18. .po ౵ੌী ڣٯڣٯ ৔য ߣ৉ .rst ౵ੌী ڣٯڣٯ ೠҴয ੘ࢿ

    (ബਯ੸੉ۄ ࢤпೞח) ઁ੘ җ੿ (1) (2) (3) 
 make html
 sphinx-build -b gettext ./source build/gettext
 sphinx-intl update -p _build/gettext -l en_US 
 
 
 
 sphinx-build -b html -D language=en_US ./source build/html/en_US 1. 2. 3. 4. 5. 6.
  19. Makefileী ݺ۸য customizing Makefile ౵ੌী make _____ ഋधਵ۽ ઁ੘ .PHONY:

    intlpo intlpo: $(SPHINXBUILD) -b gettext . $(BUILDDIR)/gettext $(SPHINXINTL) update -p $(BUILDDIR)/gettext -l en_US @echo @echo "Build finished. The .po file is updated." # You can set these variables from the command line. SPHINXBUILD = sphinx-build BUILDDIR = _build SPHINXINTL = sphinx-intl
  20. ੗߄झ௼݀౟ ܻ׮੉۩౟ <script type="text/javascript"> function getLang(){ var userLang = navigator.language

    || navigator.userLanguage; return userLang; } var lang = getLang(); if(lang != ("ko-KR" || "ko")){ lang = "en_US"; } else{ lang = "ko_KR"; } var meta = document.getElementsByTagName('meta')[0]; meta.setAttribute("content","0; url=_build/html/"+lang+"/index.html"); meta.setAttribute("http-equiv","refresh"); </script>
  21. ߣ৉੄ נ • ৌब൤ ೠ઴ঀ ֍णפ׮! ROI উաয়૑݅ Տӝ੓ѱ ೧

    ࠇद׮! Transifexۄח ోب ੓਺.
 
 
 
 
 
 • ೠҴয(ਗޙ)ਸ Ҋ஖ݶ .po ౵ੌী 
 #,fuzzy੉ աয়ݶࢲ ৔য(ߣ৉ޙ)о ӵ૑ח Ѫ ઱੄! ৈӝী ߣ৉