All notable changes to this project will be documented in this file. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
undefined in docs parsed from ES5 code.jsdoc.predicate (or jsdoc.filter) option would not be taken into account.Invalid assignment error due to ES2015 syntax.Map<String, Object>. (PR #65 by @MaienM)"path" routing which led to 404 page, occurred when a (deep) route was refreshed or loaded directly. (Due to a bug in core dependency.) Fixes #62.TypeError was thrown when debug is enabled.$docmaLink due to missing trailing slash, when routing method is "path".@default tag support for symbols. Fixes #60.contentView.faLibs that defines FontAwesome libraries to be included, such as solid, regular, brands. Set to null to completely exclude FontAwesome from the output. See Zebra documentation. Fixes #63.contentView.faVersion that defines FontAwesome icon library version to be included. fs-extra, jsdoc-x and jsdom.:md or :markdown. For HTML, append :htm or html. For example, LICENSE:md will force-parse LICENSE file as markdown. file.partial:html will force-parse file.partial as HTML. mylib/latestapp.favicon to your ICO file's local path.<details> and <summary> tags). This is great for generating styled collapsable lists (such as F.A.Q.) from your markdown files. If a bookmark (id) is passed in the location hash, that item will auto-expand. See Docma F.A.Q. for an example. Note that Edge does not support details/summary tags yet. All other modern browsers have support.-b or --base) for docma serve command to override/set the base path.<details> and <summary> tags).Uncaught TypeError when invalid JSDoc type specified for @returns. Fixes #55.base tag would not be added to the head of main document.app.base path to / as expected. Fixes #59.@constant and @module would cause an Uncaught TypeError. Fixes #41 and #45.Thanks to @feugy for this PR.
serve command now takes conf.app.base parameter into consideration, and will redirect http://localhost:9000/ to it.serve command can handle conf.app.dest relative path, and resolves them against current working directory. cannot find module error in case-sensitive systems. Fixes #38.--quite option to --quiet. Alias -q remains the same.v2.1.0Promise<Number> or Number[], etc...sidebar.outline is set to "tree".sidebar.itemsOverflow is set to "crop" (default); symbol names are faded-out on their edges, instead of using ellipsis (which behaves differently on browsers).This is a big release with some breaking changes.
Please read this changelog thoroughly before updating your Docma configuration.
assets build configuration which provides ability to copy defined asset files/directories to build directory; so you can use/link to non-source, static asset files (such as images, PDFs, etc). See build configuration. Fixes #29.markdown.xhtml option for build configuration.clean option that specifies whether to empty destination directory before the build. Default is false."path".100% of parent container while keeping the aspect ratio.jsdom), Docma v2+ requires Node.js v6 or newer.scope, by access type, by kind, grouped or alphabetic (default). See jsdoc.sort option in build configuration.clean option for the old behavior. Fixes #34.<h1 /> and <h2 /> tags are now followed with a <hr/>, like on GitHub.docma.template.json file that defines the template build and configuration options is dropped in favor of template module main (JS) file or package.json. There are several other improvements. See updated documentation on Creating Docma Templates.compile property of template configuration is removed. Now, scripts or less/sass files of the template should be pre-compiled. This is logical and speeds up the documentation build process of Docma.--clean to empty destination directory before the build.docma serve for starting a static server for serving / testing the generated SPA.docma template init for initializing a new Docma template project.docma template doctor for diagnosing a Docma template. Useful for template authors.docma.config.json in favor of docma.json (shorter) and .docma.json if you need to hide it. This does not break anything, you can still use the former if you want.docma.json (or .docma.json) file in the current working directory if -c option is omitted.-v (lowercase) and -V (uppercase) are swapped. -v gets the Docma version now (alias --version). And -V is --verbose.See CLI documentation for detailed information on updated CLI.
navigate that's triggered either when route is changed or on hash-change.docma.apis[name].documentation instances, now has a .$docmaLink property.DocmaWeb.Utils: .type(), .getSymbolLink(), .getLevels(), .getParentName(), .getParent(), .isPackagePrivate(), .isEvent(), .isGenerator(), .isCallback(), .isConstant(), .isInterface(), .isExternal() and .isMixin()..getCodeTags(), .getFormattedTypeList(). Fixes #33. .trimNewLines(). This also has a dust filter $tnl.#). e.g. when navigated to #MyClass%7EInnerObject instead of #MyClass~InnerObject.DocmaWeb.Utils.getLongName(), occured after JSDoc core upgrade.currentRoute parameter of the route event. Passing null instead of empty route object when route does not exist.DocmaWeb.Utils.isClass() utility method where meta.code.type is not set to ClassDeclaration.DocmaWeb.Utils.isProperty() utility method. It'll now return false if symbol is a method/function. This also affects the following methods: .isStaticProperty(), .isInstanceProperty().DocmaWeb.Utils static namespace (formerly under docma.utils).DocmaWeb.Utils.getSymbolByName() signature is changed.v2.0.0@example <caption>Title</caption>. Fixes issue #14. @hideconstructor tag. Fixes issue #21.@event, @emits (and alias @fires) tags. Fixes issue #35.@generator and @yields tags....args).@since tag.sidebar.itemsFolded (boolean) for setting the initial state. Fixes issue #26. sidebar.toolbar (boolean) that toggles a tiny toolbar below the search box, for switching symbol list outline or quick-filtering symbols by symbol-kind. Enabled by default.logo (String|Object) specifies the URL of your logo. If you need separate logos for dark and light backgrounds set this to an object. i.e. { dark: String, light: String }. Recommended size of a logo image is 120 x 120 pixels.symbols.autoLink (Boolean|String) specifies whether documented types should be auto-linked to internal paths (i.e. Docma route if type/object definition is within the generated documentation) or external URLs (MDN docs if it's a JS or Web-API built-in type/object such as String); or both. Thanks to @warpdesign for the idea.symbols.params, symbols.props and symbols.enums all taking a string value, either "list" (default) or "table"; defining the layout style for parameters, properties and enumerations. If you like the design in previous versions, set these to "table".sidebar.animations and navbar.animations (Boolean) specifies whether CSS transitions and animations should be enabled for navbar, sidebar and listed symbols.contentView.bookmarks option (Boolean|String) which automatically adds bookmark links to headings to content generated from markdown files. Default: false.generator badge for generator functions.@author, @version and @copyright would not be shown."flat" so that you see the parent of the symbol. When search box is cleaned, it's set back to the initial template setting. (e.g. "tree" if set).@example outputs. If there are multiple examples for a symbol, they will be numbered now..badges (default: true) to also accept a string value for custom bullets instead of badges..title to also accept an object { label:String, href:String } so you can link it.ico- CSS prefix) in favor of FontAwsome (v5) and SVG icons support.$ is not a function error on Windows. PR #23 by @warpdesign.Note: For this release, some dependencies (such as
jsdoc-x,jsdom) are NOT updated on purpose 'cause they introduce breaking changes. In v2 (WIP, to be released) these will be updated and many things will be improved.
slice error for non-string default value.config.jsdoc.ignored:Boolean option which specifies whether to include documentation symbols marked with @ignore tag.@example content.$val filter.outline, which determines the outline style of the sidebar symbols list. ("flat" or "tree"). See documentation and this example for outline set to "tree".symbolMeta which specifies whether to add meta information at the end of each symbol documentation such as code file name and line number. Default is false.static badge for static members, deprecated badge for deprecated symbols.Type.<T> is now represented as Type<T>.config.jsdoc.includePattern would not be respected when filtering files.config.jsdoc.hierarchy option is enabled.config.jsdoc.allowUnknownTags, config.jsdoc.dictionaries, config.jsdoc.includePattern, config.jsdoc.excludePattern (jsdoc-x feature).config.jsdoc.plugins option (jsdoc-x feature)."path".config.app.entrance is not set in build configuration, it now defaults to "api".config.app.server is not set in build configuration, it now defaults to "static". ("static" is similar to "github" which generates static HTML files.)--debug, --quiet, --nomin, --jd-out, --verbose, --web-logs); the bitwise debug value from the config file is used, if set..split() error for null (404) routes.config.template.title is omitted, config.app.title is used. (Defaults to "Documentation" if not set).config.app.routing accepts either a String ("query" or "path" as before) or now, an Object. e.g. { type: "query", caseSensitive: true }. This also fixes issue #3.```).docma.utils.normalizeTabs() method. Deep indents in JSDoc comments/descriptions are also normalized.<pre></pre> tags within JSDoc descriptions.Promise<Array>) would not be escaped and parsed properly. Fixes issue #4.config, src, dest and all debug options.@private is set. Fixed by jsdoc-x.private or protected access.David considers marked as insecure dependency. This is already reported.
.markdown:Object build configuration options. (Same as marked module options)..markdown.tasks:Boolean option for parsing GitHub-like markdown tasks..markdown.emoji:Boolean option..app.server build option that defines the server/host type for generating server config file(s) for the SPA. e.g., setting to "apache" generates an .htaccess file within the root of the generated output. Supports "apache" and "github"..app.base:String build option that sets the base path for the SPA..app.entrance:String build option that sets the initial content to be displayed..debug:Boolean build option..js files into multiple, separate documentation. See .src build option..src build option.src build option..dump config option in favor of .debug option..template.document configuration to .app./api/mylib) or query-strings (e.g. ?api=mylib). Configured via .app.routing:String option. Set to "path" or "query". Uses page.js internally.EventEmitter.docma.utils such as getCodeName(symbol), getFullName(symbol), etc...docma.ready() method. Use docma.on('ready', listener) that's only triggered once on every page load or docma.on('render', listener) triggered when each content is rendered. Also see docma.on('route', listener) triggered when SPA route is changed.docma.app:Object and docma.template.main:String are now exposed to the SPA.docma object accessible by the SPA is now Object.freezed.debug >= 3, web app will now also output logs.@property JSDoc tags.badges:Boolean.docma.template.json is no more copied over to the output.