ãŠã©ãžããŒã«ã»ãã£ãããã®çŽ æŽãããåçããåããããã®æ ŒèšããŒã ã®äžã§ãå°ãªããšãããã°ã©ãã³ã°ãšé ãé¢ä¿ã«ãããã¹ãŠã®äººã圌ã®çœ²åãããã§ãããã 質åå
šäœã¯ã©ãã§ããïŒ äœããæ£ç¢ºã«ææžåããã«ã¯ïŒ
以äžã®ããã¹ãã«ã¯ããã€ãã®ç®çããããŸãã
- C / C ++ã®äžçã®chthonicã¢ã³ã¹ã¿ãŒã«é©çšå¯èœãªããŒã«ã®äžæºè¶³ãªç¶æ
ã®æŠèŠãèªãã§ãã ããïŒãããã¯ãå°ã調æŽããŠãã ããïŒ;
- 代æ¿ãœãªã¥ãŒã·ã§ã³ãæäŸããŸãïŒç¡æãSMSããã³ç»é²ãªã-ãããžã§ã¯ãã¯éå¶å©ã§ãããMITã©ã€ã»ã³ã¹ã®äžã§GitHubã«æçš¿ãããŸãïŒã
- ãããã¯ã«ã€ããŠã³ãã¥ãã±ãŒã·ã§ã³ãåããã¢ã€ãã¢ãåéããããã«ã³ãã¥ããã£ã奚å±ããŸãã
- GitHubã§ãããžã§ã¯ãã®éçºã«åå ããŠãã ããã
ãã®ãããžã§ã¯ãã¯äž»ã«ä»£æ¿ãšããŠããŸãã¯syshlãšAPIã®Doxygenã¢ããªã³ãšããŠäž»ã«äœæãããŸããããã¢ãŒããã¯ãã£çã«ã¯ä»ã®èšèªã«ãçããé©ããŠãããšããã«èšããªããã°ãªããŸããã ããã«ãããããŸããŸãªã©ã€ãã©ãªã®ããã¥ã¡ã³ãããŒã¿ã«ãäœæã§ããŸããã©ã€ãã©ãªèªäœã¯ç°ãªãèšèªã§èšè¿°ã§ããããã¥ã¡ã³ãã®å€èŠ³ãšåäœã¯çµ±äžãããã¹ã¿ã€ã«ã«ãªããŸãã
ããæ°
æŠããŠãAPIãšã©ã€ãã©ãªã®ããã¥ã¡ã³ãåã«ã¯ãè¯å®çãããã§ãªããã®2ã€ã®ã¢ãããŒãããããŸãã
- æåã¯ãã³ã§ãã¹ãŠãæžãããšã§ãã
ãã«ããšããã¥ã¢ã«ãRoboHelpãWordããŸãã¯å¥ã®ãšãã£ã¿ãŒã§-ããã¯äœã§ãæ§ããŸããã ãã®äŒçµ±çãªæ¹æ³ã¯èª°ã«ã§ãæããã§ããããŸã åºã䜿çšãããŠãããšããäºå®ã«ãããããããç§ã¯ãããæ ¹æ¬çã«ééã£ãŠãããšæ·±ã確信ããŠããŸãã å®éã«ã¯ãããã¥ã¡ã³ããçæããŸãããããã¯åžžã«å Žæã§ã¯ç¡é¢ä¿ã§ãããããã¥ã¡ã³ããªããžã§ã¯ããããé
ããŠããŸã ã å¥ã
ã«äœæãããå€ãã®å Žåç°ãªã人ã
ãããã¥ã¡ã³ãã絶ããé²åããŠããã©ã€ãã©ãªAPIéã®äžè²«æ§ãç¶æããŸã-æ»ãã ãŸãã¯å·åãããé£åã®ã¿ãé²åããŸãã -ããã¯å·šå€§ãªã¿ã¹ã¯ã§ãããäž»èŠãªããã¥ã¡ã³ããæžãã®ã¯å°ãç°¡åã§ãã
- 2ã€ç®ã®ãæ£ãããã¢ãããŒãã¯ããœãŒã¹ããã¥ã¡ã³ããèªåçã«çæããããšã§ãã
ç¹å¥ã«èšç·ŽãããããŒãµãŒããœãŒã¹ãå®è¡ããç¹å¥ãªåœ¢åŒã®ã³ã¡ã³ããããã¥ã¡ã³ãã§åé¢ããAPIå
¬ç€ºããªãŒã®æ§é ãæ§ç¯ããŸãã ãã®åŸãããã¥ã¡ã³ãã¯å¿
èŠãªåœ¢åŒã§çæãããŸããç§ã¯ã倧åã®äººãäž»ã«HTMLãšPDFã«èå³ããããšä¿¡ããŠããŸãã ãã®ã¢ãããŒãã®äž»ãªå©ç¹ã¯ãAPIã®ãœãŒã¹ã³ãŒããšæçµããã¥ã¡ã³ãã®å®£èšã®äžè²«æ§ãä¿èšŒãããŠããããšã§ãã å®éã®ãããã¥ã¡ã³ããã«æå³ã®ããã³ã¡ã³ãããœãŒã¹ã³ãŒãã«å®å
šã«ååšããªãå Žåã§ããæçµçã«ã¯ã宣èšãåã®èª¬æãªã©ãããžã£ã³ããããæ©èœãåããAPIã©ã€ãã©ãªã®ç¶æ
ã®åªããã¹ãããã·ã§ãããåŸãããŸã ã
ããã§ãããªãã®èš±å¯ãåŸãŠãèªåçæã®ãæ£ãããã¢ãããŒãã«éäžããŸãã ããã«ã¯ã©ã®ãããªãªãã·ã§ã³ããããŸããïŒ æ²ããããªãçŸæç¹ã§ã¯C / C ++ã®ããã¥ã¡ã³ããŒã·ã§ã³ã®ããã«ã DoxygenãšQDocããããå®éã«ã¯ã»ãšãã©äœ¿çšãããŠããŸãã ã ãããŠãããã2ã€ã§ãããã¹ãŠãé 調ã«é²ãã§ãããšã¯èšããŸããã
Doxygenã¯ãããã®ã³ãŒãããã³ã¡ã³ããæœåºãããã€ããŒãªã³ã¯ãç¶æ¿ã°ã©ãã®ç»åãåŒã³åºããªã©ãå«ãHTMLããã¥ã¡ã³ãã«å€æããæåã®æ¬åœã«æåãããããžã§ã¯ãã§ãã çŽæ¥ã®èŠªã§ããDoc ++ã®å
é§è
ã§ãããååãªé
åžãåããããšããªãDoxygenã¯ãC / C ++ã³ãŒããææžåããããã®äºå®äžã®æšæºã«ãªããŸãã ã ãããŠããããã®2ã€ããªããã°ãããã¯ãã¹ãŠçŽ æŽãããã§ãããïŒ
- doxigenãçæããæšæºã®HTMLã¯ãæ§ããã«èšã£ãŠã... åªé
ããåããŠããŸãã ã
ãã¡ããã䞻芳䞻矩ã®å ŽæããããŸãã ç§ã¯ãæ¯çŽ æåºã«å®å
šã«æºè¶³ããŠããããã»ã©ãããã人ãäžçã«ããªãããšãå®å
šã«èªããŠããŸãïŒããããç§ã¯åœŒãã®äžã«ããã®ãã¶ã€ããŒã¯ããªãã ãããšæããŸãïŒã ããããããã©ã«ãã®Doxigenic HTMLãèŠèŠã®èŠ³ç¹ãã誰ãã«åã£ãŠããŠãïŒãããŠãçå£ã«ã çŸçã«æ¬åœã«å¥œããªäººãããŸããïŒã³ã¡ã³ããæžããŠãã ããïŒïŒãéåžžã«é »ç¹ã«CSSã®ããããè¶
ãããã®ãå€æŽããŠæ§æããã-ããšãã°ããã®ç¹å®ã®ã©ã€ãã©ãªã§åãå
¥ããããŠããã³ãŒãã£ã³ã°ã¹ã¿ã€ã«ã«åŸã£ãŠã <pre>
ã«åºåãé
眮ããã€ã³ãã³ããšã¹ããŒã¹ãé
眮ããŸãã ããã«ãããDoxygenã®2çªç®ã®ãããæ ¹æ¬çãªåé¡ãçºçããŸãã
- Doxygenã¯é·å¯¿åœã§ãããããå®éã®ã¢ãžã¥ãŒã«åŒã®ã«ã¹ã¿ãã€ãºæ§ã¯åäžããŠããŸããã
ã¯ããããããã®å€æ°ãæã€Doxyfile
ããããŸããHTMLããããŒãšCSSãå€æŽããããšã¯å¯èœã§ãããã¢ãŒããã¯ãã£çã«ã¯ãã¹ãŠãã¢ããªã·ãã¯C ++ã«ãŒãã«ã«ããŒãã³ãŒãã£ã³ã°ãããŠããŸãã ããã«ãããã³ããšã³ããã€ãŸããœãŒã¹ããŒãµãŒãšããã¯ãšã³ãïŒHTMLãPDFãRTFãããã³ãã®ä»ã®ãžã§ãã¬ãŒã¿ãŒïŒã®äž¡æ¹ãããŒãã³ãŒãã£ã³ã°ãããŠããŸãïŒãã®äžã«ã¯ãXMLããããŸãïŒã
QDocã¯ããã©ã«ãã§ãDoxygenãããã¯ããã«ããããªHTMLãçæããŸãã æ®å¿µãªããã ããã©ã«ãã§ã¯ãªãäœããå¿
èŠãªå Žå ãQDocã¯DoxygenãšåãçãŸãã€ãã®æšè£œæ§ã«æ©ãŸãããŸã ïŒãã¡ãããåã ãŸã... ããŒãµãŒãšãžã§ãã¬ãŒã¿ãŒã®äž¡æ¹ã®ç¡¬åºŠãã¢ããªã·ãã¯ãã©ã¹ã³ã¢ã«ããŸãïŒã Doxygenãšã¯ç°ãªããQDocã«ã¯æšè£œæ§ã«å ããŠãC ++ã®QTæ¹èšçšã®å
¥åããŒãµãŒã1ã€ãããããŸãã ïŒãã¹ãŠã®Q_OBJECT
ã Q_PROPERTY
ã foreach
ãªã©ãããŒã¯ãŒããšããŠããŒãã³ãŒããããŠããŸãïŒã ãããŠåæã«-絶察ã«ã²ãŒãã§ã¯ãªã-PDFãçæã§ããŸããïŒ
代æ¿æ¡
1ã€ã®ããŒã«ãã³ã³ãã¢ã«çœ®ãæããããšãææ¡ãããŠããŸãã 代ããã«
Doxygen -> (HTML, PDF, ...)
...次ã®ãã€ãã©ã€ã³ã䜿çšããŸãã
Doxygen -> (XML) -> -> - -> (reStructuredText) -> -> Sphinx -> (HTML, PDF, ...)
ç§ãã¡ã¯å€ããã®ãæ®ããŠããŸããïŒ
éçºè
ã¯ã Doxygenã³ã¡ã³ãã䜿çšããŠC / C ++ã³ãŒããããã¥ã¡ã³ãåããæ¹æ³ãç¥ã£ãŠãããæ
£ããŠããŸã ïŒ
class Foo {
ãªãæ°ããæ§æãçºæããã®ã§ããïŒ ä»¥åãšåãæ¹æ³ã§ããã¥ã¡ã³ããæžããŸãïŒ
Doxygenã¯ããœãŒã¹ããããã¥ã¡ã³ããååŸããXMLããŒã¿ããŒã¹ã®å®£èšããªãŒãšäžç·ã«ãŸãšããããšãã§ããŸãã ãããïŒ ãããããã³ããšã³ãã«ãªããŸãã
ããã¯ãšã³ããšããŠäœã䜿çšããããšãã質åã«çããã®ã¯ç°¡åã§ã-ãã¡ããã ã¹ãã£ã³ã¯ã¹ã§ãã Sphinxã¯ãæè¡ææžãäœæããããã®ããŒã«ãšããŠãèšå€§ãªéã®ãã£ã¹ããªãã¥ãŒã·ã§ã³ã«å€ãããã®ã§ããã CSSã ãã§ãªããæ¬æ ŒçãªããŒãããµããŒãããéåžžã«çŸå³ãªHTMLãçæããŸãããã¹ãŠã1ã€ã®HTMLã·ãŒãã«æ¥çããPDFãEPUBãããã³ä»ã®å€ãã®åœ¢åŒã®ããã¥ã¡ã³ããçæã§ããŸãã ããããæãéèŠãªã®ã¯ãPythonã¹ã¯ãªããã®å©ããåããŠå®å
šã«ã«ã¹ã¿ãã€ãºå¯èœã§ãããå€èŠ³ã®èª¿æŽãšå
¥åèšèªïŒreStructuredTextã¯Sphinxã®å ŽåïŒã®æ¡åŒµã®äž¡æ¹ã«äœ¿çšã§ããããšã§ããã€ãŸããç¬èªã®ãã£ã¬ã¯ãã£ããè¿œå ããŠããã¥ã¡ã³ãã§äœ¿çšã§ããŸãã
DoxygenãšSphinxãåéã«ããããšã¯æ®ã£ãŠããŸãã
æ©ãæ¶ãã
DoxygenãšSphinxã®éã«æ©ãæ¶ããããšããã®ã¯ç§ãæåã§ã¯ãªãããšã«æ³šæããŠãã ããã Sphinxã®æ¡åŒµæ©èœãšããŠPythonã§èšè¿°ãããbreathãããžã§ã¯ãã¯ãæ¯èŒçæåã«ãªããŸããã çŸæç¹ã§ã¯ããããžã§ã¯ãã¯ãã©ã€ããŒã§ããŸãç©æ¥µçã«ãããã³ã°ããŠããããæ²ããããšã«ãç®±ããåºããŠããã«æ·±å»ãªã¿ã¹ã¯ã«é©ããŠããŸããã ã¢ãŒããã¯ãã£çã«ã¯ã次ã®ããã«æ§æãããŠããŸããDoxigenXMLåºåã解æããã¡ã¢ãªå
ã®ããªãŒã®reStructuredTextããŒããçŽæ¥äœæããŸãã
ç§ã¯å°ãéãæ¹æ³ã§è¡ãããšã«ããŸããã Doxyrest-ããã¯ããªããžã®ååã§ã-Doxigen .xml
ãã¡ã€ã«ã解æãã解æãããXMLãšäžé£ã®ãã³ãã¬ãŒããã¡ã€ã«ããã³ãã¬ãŒããšã³ãžã³ ïŒæååãã³ãã¬ãŒããšã³ãžã³ããã³ãã¬ãŒãããã»ããµïŒã«éä¿¡ããŸãã ãã³ãã¬ãŒããšã³ãžã³ã¯reStructuredTextã䜿çšããŠãã¡ã€ã«ãçæããŸãããããã®.rst
ãã¡ã€ã«ã¯æ¢ã«Sphinx-back-endã«è»¢éãããæå®ããã圢åŒã®æçµããã¥ã¡ã³ããååŸããŸãã
ãã¡ãããäž»ãªæ©èœã¯ãã³ãã¬ãŒããšã³ãžã³ã®äœ¿çšã§ãã ããã«ãããããã¥ã¡ã³ãã®æ§é ãå®å
šã«ã«ã¹ã¿ãã€ãºã§ããŸã ïŒé åºã®å€æŽãšããã¥ã¡ã³ãåããããªããžã§ã¯ãïŒã¯ã©ã¹/é¢æ°/ããããã£ãªã©ïŒã®ã°ã«ãŒãåã宣èšã®ã¹ã¿ã€ã«ïŒã€ã³ãã³ããã¹ããŒã¹ãæ¹è¡ãªã©ã®äœ¿çšå Žæãšæ¹æ³ïŒã®ã«ã¹ã¿ãã€ãºãä»»æã®ããžãã¯ã®äœ¿çšããã¥ã¡ã³ãã«ãã®ç¹å®ã®ãªããžã§ã¯ããå«ãããå«ããªããã®é£ãã-ãããŠãããããã¹ãŠãåã³ã³ãã€ã«ããã« ãå
¥åãã³ãã¬ãŒããç·šéããã ãã§ãïŒ
ããããäž»ãªãã®-ãã³ãã¬ãŒããšã³ãžã³ã䜿çšããã¢ãããŒãã«ãããDoxyrestãä»ã®ã»ãšãã©ã®èšèª ãç¹ã«ããŸããŸãªDSLã«é©çšããããšãã§ããŸã-誰ãç¹å¥ãªããã¥ã¡ã³ãã·ã¹ãã ãäœæããããšã¯ãããŸããã Doxygenã¯èšèªã解æã§ããŸãããïŒ èšèªã³ã³ãã€ã©ã䜿çšããæ¢åã®ASTããDoxygenã®ãããªXMLã®çæãè¿œå ããåºå.rst
ãã¡ã€ã«ãã³ãã¬ãŒããä¿®æ£ããŸãã-ããã¥ã¡ã³ãã®å®£èšãå¿
èŠãªæ§æã§ããããã«-ãããŠããã§ãïŒ Doxygenã³ã¡ã³ãã䜿çšããŠèšèªãããã¥ã¡ã³ãåããåºåãšããŠçŸããSphinxããã¥ã¡ã³ããååŸã§ããããã«ãªããŸããã
çŸåšã Luaèšèªã¯ãã³ãã¬ãŒãåã«äœ¿çšãããŠããŸãïŒåã«ãæ¢è£œã§ãããã°æžã¿ã®Luaæååãã³ãã¬ãŒãã©ã€ãã©ãªããã§ã«ããããã§ãïŒããçè«çã«ã¯ãä»ã®ãã³ãã¬ãŒãèšèªã®ãµããŒãã®è¿œå ã劚ãããã®ã¯ãããŸããã
ãã³ãã¬ãŒãã¯æ¬¡ã®ããã«èŠããæ©èœããŸãã
Title ===== %{ if false then } This text will be excluded.. %{ end
åºåã«ã¯æ¬¡ã®ãã®ããããŸãã
Title ===== * List item 1 * List item 2 * List item 3
䜿çšäŸ
çŸåèããããäžåºŠèŠãã»ããããã ãããã£ãŠãçµè«ãåºã代ããã«ãããŸããŸãªèšèªã«é©çšãããDoxyrestã®äœæ¥ã®çµæãžã®ãªã³ã¯ãåã«æäŸããããšã«ããŸããã
äžèšã®ãªã³ã¯ã®ããã¥ã¡ã³ãã®å
容ïŒã¯ã©ã¹ãé¢æ°ãªã©ã®å®éã®èª¬æïŒãäžå®å
šã§ãã£ãŠããã¡ãœããã®æäœæ§ãå®èšŒããã«ã¯ããã§ååã§ãã
GitHubãããžã§ã¯ãããŒãžïŒ http : //github.com/vovkos/doxyrest
ãã®ãããžã§ã¯ãã¯ãäžçã§æãå³æ Œã§ã¯ãªãã©ã€ã»ã³ã¹ã®1ã€ã§ããMITã©ã€ã»ã³ã¹ã®äžã§èšèšãããŠããŸãã éçºã«åå ããŠã¿ãŠãã ããã ãããŠãç§ã¯ã³ã¡ã³ãã®ãã¹ãŠã®è³ªåã«çããããŠããã ããŸãã