-
Enhancements
- Add "mix " prefix to Mix tasks
-
Bug fixes
- Improve scrolling on Safari
- Prevent text casing of codes
- Do not remove stop words from search and make sure function names are searchable in isolation
- Reduce the size of the search metadata
- Remove outline on focus and keep width in version dropdown
- Do not fail if we can't persist index
- Bug fixes
- Hide the spinner when no term is searched
- Use
?
for the shortcut hint text - Improve style of the version dropdown
-
Enhancements
- Rework the search bar to provide autocompletion
- Provide full-text search
- Automatically generate documentation for
defdelegate
definitions (requires Elixir v1.8+) - Provide keyboard shortcuts (press
?
to see all available outputs) or click the link at the bottom of the page - Add support for versions dropdown to the HTML sidebar. This requires adding a
docs_config.js
(also configurable) that sets aversionNodes
JavaScript variable. - Improve mouseover titles on sidebar navigation
-
Bug fixes
- Do not hide structs in type/callback summary signatures
- No longer require double click to open up a sidebar on Mobile Safari
- Keep trailing periods in summaries
- Fix typespec
arg
number to start from 1 instead of 0
-
Enhancements
- Include a "goto" link on mouseover for expandable menu items
-
Bug fixes
- Always expand menu items, even if has a single child
- Fix sidebar bottom margin on Firefox
- Fix anchor links sometimes not working by moving js to html head
- Unify code styling for makeup and hljs
- Do not replace the content of custom links pointing to Elixir modules
- Remove border-left on deprecated to not mistake it with a heading
-
Enhancements
- Allow logo in SVG extension
- Allow functions to be grouped based on metadata
- Allow api-reference.html page to be disabled
- Allow nesting of modules by prefix
- Autolink
mix help TASK
- Warn on undefined remote functions from project's docs
-
Bug fixes
- Sort function names alphabetically in the sidebar
- Fix search input color
- Disable earmark smartypants option
- Enhancements
- Update CSS styles
- Remove sourcemaps from package
This release requires Elixir v1.7 and later. For earlier Elixir versions, use ExDoc ~> 0.18.0.
-
Enhancements
- Do not select "iex>" when selecting code samples
- Use makeup to perform ELixir's syntax highlighting (other languages still use highlight.js)
- Use
[rel="noopener"]
on external links - Link directly to page if sidebar item has no subitems
- Autolink Kernel and Kernel functions and special forms with shorthands (for example, only
is_atom/1
is necessary) - Trim EEx contents to reduce HTML size
- Allow apps to be excluded from umbrella app docs
-
Bug fixes
- Exclude types with
@typedoc false
from the docs - Make sure autolink considers the longest matching dependency name in case of shared prefixes
- Exclude types with
- Bug fix
- Fix formatting of typespecs causing errors
- Update jQuery
- Properly remove underscore from typespec links
- Enhancements
- Improve documentation pages for printing
- Autolink Kernel, Kernel.SpecialForms, and built-in types
- Annotate opaque types
- Add vertical-align:top to tables
- Allow module-function-arity references in links, for example: some code
- Remove underscore from view source link
- Run code formatter on typespecs (if one is available)
- Make night mode switch link more obvious
- Bug fixes
- Include missing formatter files
-
Enhancements
- No longer strip empty parens from types
- Provide more extension point for markdown processors
- Remove assets from priv since they are now embedded at compile time
-
Backwards incompatible changes
- Remove built-in support for hoedown markdown processor
- No longer add favicon when logo option is present (this was added in 0.17.0 but it was reported the logo almost never fits as a favicon)
- Bug fixes
- Fix broken search caused by outdated JavaScript files
-
Enhancements
- Allow modules to be grouped on the sidebar with the
:groups_for_modules
option - Allow extras to be grouped on the sidebar with the
:groups_for_extras
option
- Allow modules to be grouped on the sidebar with the
-
Backwards incompatible changes
- The previous
:group
option that could be specified for each entry in:extras
is no longer supported - No longer add a specific section for "Protocols". If you would like to segregate the protocols in your application, use the new
:groups_for_modules
functionality
- The previous
-
Enhancements
- Generate favicon link if a logo is available
-
Bug fixes
- Do not version epub filename as the doc directory is likely already versioned
-
Enhancements
- Make sure its own search.html page and provide history
- Generate source maps only if the
--debug
flag is given - Users can now add custom HTML before the closing head tag and the closing body tag
- Highlight the target function/macro/type/callback when clicked
-
Bug fixes
- Remove extra
term()
argument at start of macro spec - Add unencoded link target for functions with special chars to cope with different behaviour in browsers
- Remove extra
- Enhancements
- Link
<h3>
headers as well - Add border to code tag
- Link
- Bug fixes
- Fix sidebar on mobile devices
- Bug fixes
- Fix hover icons coloring
-
Enhancements
- Separate tasks into "Mix Tasks" in sidebar
- Add types to the search results
- Improve accessibility
-
Bug fixes
- Strip nesting HTML tags in h2 headers
- Remove the old search results after every new search attempt
- Bug fixes
- Improve project name wrapping on HTML
- Properly set link in types with parameter
- Fix ExDoc.CLI.main/2 to keep --source-ref on Elixir v1.4
- Do not fail if localStorage is not available
-
Enhancements
- Closing the search takes you to where you were in the previous page
- Handle
__struct__/0
by displaying the struct instead - Warn when redirecting to a non-existent file
- List both functions and macros under "Functions"
- Automatically detect GitLab source URL patterns
-
Bug fixes
- Break long specs into lines
- Fix the initial state of the sidebar hamburger
- Do not error when abstract code is missing
- Properly link to erlang lib dirs
-
Backwards incompatible changes
- No longer support Pandoc
- Require Earmark 1.1
- Enhancements
- Allow ExDoc to work as an escript
- Enhancements
- Point to Elixir docs on hexdocs.pm
- Many improvements to layout and styling of EPUB formatter
- Support multiple formatters to be configured on
mix.exs
- Also digest
sidebar_items.js
- Force parentheses on type signature to remove ambiguity
- Generate top-level docs for an umbrella project
- Searching on mobile closes menu when the Enter key is hit
-
Enhancements
- Support the
:assets
option that automatically copies all entries in the given directory todoc/assets
- Remove numbering on Extras subheaders from sidebar
- Pass file and line information to markdown formatters for better warnings
- Allow extra pages to be grouped together under a given heading
- Generate ids for default name/arity pairs so they can be linked (both remotely and locally)
- Support the
-
Bug fixes
- Fix autolink for functions containing
%
,{
,}
or uppercase characters in the name
- Fix autolink for functions containing
-
Enhancements
- Automatically generate documentations links to any of your dependencies (by default links to hexdocs.pm but allows the URL to be configured)
- Allow documentation to be generated to Erlang modules
-
Bug fixes
- Make sure "Top" is not included twice on pages
- Bug fixes
- Include "Top" link in pages with no headings
- Include "Top" link in modules with no docs
-
Enhancements
- Add support for the epub formatter
- Support extraction from
<h2>
headers out of the settext format
-
Layout changes
- Indent documentation inside the function/macro/type/callback header
- Style types the same way as function/macro/callback and include a link to the source
- Increase font-sizes in the sidebar and code snippets
- Move the specs definition inside the function/macro/type/callback header and make better use of vertical space
- Use a gradient on the sidebar to avoid sudden cut-off when scrolling the modules list
- Fix the use of the back-button in some browsers
- Allow the whole sidebar to be navigated without moving away from the current page. Expand (+) and collapse (-) buttons have been added to aid exploration
- Numerically order pages/guides headers
- Bug fixes
- Avoid scrollbar from appearing on all code snippets
-
Enhancements
- Autolink Elixir's stdlib modules and functions
- Show callbacks in search results
- Reduce size taken by font-sizes
- Increase size for headings in the moduledoc
-
Bug fixes
- Fix opened sidebar on small screens
- Allow horizontal scrolling for code snippets on small screens
-
Bug fixes
- Fix issue where docs would fail when being built on Erlang 19
- Store templates in
priv
rather than inlib
-
Backwards incompatible changes
- Require Elixir ~> v1.2
-
Enhancements
- Remove warnings when running on Elixir v1.3
- Support for
@optional_callbacks
- Improve styling for nested lists
- Include earmark as a default dependency
-
Bug fixes
- Fix many styling and performance front-end related bugs
-
Enhancements
- Support canonical URLs
-
Bug fixes
- Autolink now allows digits in function names
- Sort specs by line to preserve ordering
- Focus on content element on document ready
- Remove ligature fix on Firefox and Safari as Google Fonts have been updated
- Bug fixes
- Fix ligature issues in recent browsers
- HTML escape headers
- Avoid warning on Elixir master (v1.3)
- Bug fixes
- Fix a regression where the sidebar wouldn't stick on small screens
-
Enhancements
- Include night mode for docs
- Take advantage of extra space on large screens by widening sidebar
-
Bug fixes
- Do not attempt to retrieve docs from Erlang modules
- Bug fixes
- Include callbacks even if a module defines a struct
-
Enhancements
- From now on it's possible to set the title in the sidebar area for additional content, default: "Pages"
- Set the path and title of each additional page in
mix.exs
file - Use the first
h1
as menu title if title is not configured - Include the project name as part of the header in small devices
-
Bug fixes
- Increase the visual separation between functions
- Remove the
extra-
prefix for the additional documentation files - Extra large images do not create an overflow in the content
- Enhancements
- Many improvements and bug fixes in new layout
- Reduced build size
- Overview has been renamed to API Reference
- All extra content, including API Reference, has been moved to inside "Pages"
- Extra files are now downcased and prefixed by
extra-
-
Enhancements
- Whole new clean, readable, usable, responsive layout
- Support for adding logo to generated docs (must be 64x64 pixels)
- Support for adding extra pages to generated docs
- Improve formatting of typespecs and callbacks
-
Backwards incompatible changes
--readme
option and:readme
configuration have been removed. Use:extras
in yourmix.exs
file or pass--extra
/-e
in the command-line (may be given multiple times)
- Bug fixes
- Generate
README.html
file instead ofreadme.html
as in previous releases - Style fixes in the new layout
- Generate
- Bug fixes
- Style fixes in the new layout
-
Enhancements
- Uglify and minify JS and CSS code
- Performance improvements when building sidebar
- Redirect from index.html to proper page
-
Bug fixes
- Style fixes in the new layout
- Bug fixes
- Style fixes in the new layout
- Enhancements
- New and responsive layout without frames
- Bug fixes
- Update highlight.js with fixes some inlining issues
- Require latest Earmark
- Bug fixes
- Support Elixir master
- Fix error reporting when modules are compiled without docs
- Enhancements
- Use
type=search
for search input - Update highlight.js dependency
- Properly tag code comments as coming from Elixir/IEx unless noted otherwise
- Add support for hash redirection
- Use
- Enhancements
- Documentation is now generated at
doc
to follow OTP "standard"
- Documentation is now generated at
- Enhancements
- Improvements to the document structure
- Add syntax highlight
- Enhancements
- Autolink modules and functions in the README
- Generate ids for callbacks starting with "c:"
- Ensure group ordering is consistent: TYPES > FUNCTIONS > MACROS > CALLBACKS
- Allow users to search by Module.function
- Enhancements
- Support Elixir v1.0.0-rc1
- Bug fixes
- Use proper ANSI escape sequence on Mix success messages
- Enhancements
- Support Elixir v0.15.0
- Add support for Earmark - no need for external processors
- Enhancements
- First public release
- Support pandoc and devinus/markdown as markdown processors