JSDoc ToolKit

14
JSDoc ToolKit ~ javascript documentation ~ 2011/12/26 h13i32maru@Twitter maruyama-r@KLab

Transcript of JSDoc ToolKit

Page 1: JSDoc ToolKit

JSDoc ToolKit~ javascript documentation ~

2011/12/26h13i32maru@Twitter

maruyama-r@KLab

Page 2: JSDoc ToolKit

自己紹介• 丸山 亮(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

ドキュメント大事ですよね

Page 4: JSDoc ToolKit

でも書くのは面倒(´・ω・`)

Page 5: JSDoc ToolKit

じゃあせめてクラス・メソッドのリファレンスは書こう(・∀・)

Page 6: JSDoc ToolKit

Hoge Doc

• Java Docに代表されるHoge Docって結構ある

• Java Doc

• PHP Documenter

• Py Doc

• RDoc

Page 7: JSDoc ToolKit

JSDoc ToolKit

• Javascript用ドキュメントツール

• JSDocの後継

• @hoge foo barスタイルのJava Doc風

Page 8: JSDoc ToolKit

/** * @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

アノテーション

• 動的言語ならではのアノテーション

• @extends

• @lends

• @constructor

• @class, @function, @field

• @private

Page 10: JSDoc ToolKit

独自アノテーションも追加したいな(´・ω・`)

Page 11: JSDoc ToolKit

プラグイン

• Javascriptでプラグインも簡単に作れる

• ドキュメント生成時の各ライフサイクルをフック

Page 12: JSDoc ToolKit

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

注意点

• シノニムが結構ある

• @returns == @return

• @constructor == @constructs

• @augments == @extends

• etc...

Page 14: JSDoc ToolKit

おわり