Back to Gems
ember-learn/ember-cli-addon-docs-yuidoc(opens in a new tab)
Language: JavaScript
- stars
- 12
- watchers
- 5
- forks
- 8
- open issues
- 15
- Last updated
- 05/10/2024
Language: JavaScript
YUIDoc plugin for Ember CLI Addon Docs. This plugin adds automatic API documentation to your addon through a modified version of YUIDoc with support for:
ember install ember-cli-addon-docs-yuidoc
You can document classes using standard YUIDoc syntax with a few modifications
@field as an alias for @property@accessor to reference a native getter/setter, or @computed
for an Ember computed. These document the same, but @computed assumes a
setter exists, whereas @accessor requires you to add the @set tag.@static, @async, and @generator modifiers to methods/** A foo class @class Foo @anArbitraryTag @public */ export default class Foo { /** A field named foo @field foo @type number */ foo = 123; /** An accessor named baz @accessor baz @type any @set */ get bar() { return this._baz; } set bar(val) { this._baz = val; } /** A static async method named grault @method grault @static @async */ static async baz() { // ... } }
Components can be documented the same as classes, and will be automatically detected based on folder structure. They also have two extra types of properties:
@yield which must be applied to the class itself@argument which is meant to represent an argument passed into the
component/** A foo-bar component. Usage: ```hbs {{#foo-bar baz=123 as |hash|}} {{/foo-bar}} ``` @class FooBarComponent @yield {Hash} hash @yield {number} hash.foo */ export default Ember.Component.extend({ /** @argument baz @type {number} */ baz: -1 });
Modules will automatically be detected - no need to use @module. You can use
the following tags:
@function documents plain functions@variable, @const, or @constant documents variable values@export [named|default] specifies the export type
/** @class Foo @export named */ export class Foo {} /** @function bar @export default */ export default function bar() {} /** @const baz @type {number} */ export const baz = 123;
See the Contributing guide for details.
This project is licensed under the MIT License.