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/latest
app.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.0
Promise<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.freeze
d.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.