ASN TOOLKIT. ASN Toolkit “Leveraging Supply Chain Information”
JSDoc ToolKit
-
Upload
ryo-maruyama -
Category
Technology
-
view
721 -
download
2
Transcript of JSDoc ToolKit
![Page 1: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/1.jpg)
JSDoc ToolKit~ javascript documentation ~
2011/12/26h13i32maru@Twitter
maruyama-r@KLab
![Page 2: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/2.jpg)
自己紹介• 丸山 亮(h13i32maru) 最近はJSを触ってます
• KLab株式会社所属
http://twitter.com/h13i32maru
https://www.facebook.com/ryo.maruyama
https://github.com/h13i32maru
32 http://blog.h13i32maru.jp
![Page 3: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/3.jpg)
ドキュメント大事ですよね
![Page 4: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/4.jpg)
でも書くのは面倒(´・ω・`)
![Page 5: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/5.jpg)
じゃあせめてクラス・メソッドのリファレンスは書こう(・∀・)
![Page 6: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/6.jpg)
Hoge Doc
• Java Docに代表されるHoge Docって結構ある
• Java Doc
• PHP Documenter
• Py Doc
• RDoc
![Page 7: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/7.jpg)
JSDoc ToolKit
• Javascript用ドキュメントツール
• JSDocの後継
• @hoge foo barスタイルのJava Doc風
![Page 8: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/8.jpg)
/** * @class /ALLIANCE/作成 * @author <a href="mailto:[email protected]">Naohide Sano</a> (sano-n) * @extends KNGP.GLPage */var AllianceCreatePage = KNGP.GLPage.subclass(/** @lends AllianceCreatePage.prototype */{ /** * Sets current step on the page. * And control UI enabling. * @private * @param {Number} step */ _setStep: function(step) { //... }}
![Page 9: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/9.jpg)
アノテーション
• 動的言語ならではのアノテーション
• @extends
• @lends
• @constructor
• @class, @function, @field
• @private
![Page 10: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/10.jpg)
独自アノテーションも追加したいな(´・ω・`)
![Page 11: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/11.jpg)
プラグイン
• Javascriptでプラグインも簡単に作れる
• ドキュメント生成時の各ライフサイクルをフック
![Page 12: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/12.jpg)
JSDOC.PluginManager.registerPlugin( "JSDOC.tagSynonyms", { onDocCommentSrc: function(comment) { comment.src = comment.src.replace(/@methodOf\b/i, "@function\n@memberOf"); comment.src = comment.src.replace(/@fieldOf\b/i, "@field\n@memberOf"); }, onDocCommentTags: function(comment) { for (var i = 0, l = comment.tags.length; i < l; i++) { var title = comment.tags[i].title.toLowerCase(); var syn; if ((syn = JSDOC.tagSynonyms.synonyms["="+title])) { comment.tags[i].title = syn; } } } });
![Page 13: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/13.jpg)
注意点
• シノニムが結構ある
• @returns == @return
• @constructor == @constructs
• @augments == @extends
• etc...
![Page 14: JSDoc ToolKit](https://reader033.fdocuments.in/reader033/viewer/2022052412/5590bc9e1a28abc5308b475d/html5/thumbnails/14.jpg)
おわり