- Fixed dependency from swank-backend package for autodoc package.
- Type definitions now supported by
40ants-doc/autodoc:defautodoc
macro. - Type expansion is shown for type definitions when building doc on
SBCL
.
- Argument
IGNORE-PACKAGES
was added to40ants-doc/autodoc:defautodoc
macro. It can be used to exclude some packages from autogenerated docs. - Image
URL
s now can be specified relative to some otherASDF
system. For example![](asdf:some-other-system:images/demo.gif) will look for the image inside the directory of
some-other-system
- Now default theme looks good on mobile devices.
- Update 5
- Update 2
- Another update.
- Just a check if tag will be added automatically.
- A plugin system was introduced.
- Highlight.js and MathJax support were refactored into plugins and MathJax is turned off by default, because it's assets too heavy and math is unnecessary in most Common Lisp libraries.
- Generic-function
40ants-doc-full/themes/api:highlight-languages
and generic-function40ants-doc-full/themes/api:highlight-theme
are now deprecated. Pass options:LANGUAGES
and:THEME
arguments to40ants-doc-full/plugins/highlightjs:highlightjs
function instead.
- A generic-function
40ants-doc/locatives/asdf-system:asdf-system-documentation-title
was added. It allows to override the text of a section showing an information aboutASDF
system.
- Another fix to
URL
s on the search page. Now ifCLEAN-URLS
argument is true, search page will link to the pages ended with a backslash. Otherwise, it will link to the html pages.
- Fixed
URL
s in the search index file whenCLEAN-URLS
argument is given. This should prevent redirection to index.html file from search page - now index.html will be stripped from the path.
- Fixed stack exhausting when trying to collect dependencies for some
ASDF
systems.
- Fixed issue with unpacking Highlight.js archive when it is having absolute pathnames.
Also, a new download API
is used now.
- Autodoc was fixed to not show packages without external symbols.
- Also, now autodoc sorts packages alphabetically.
- Added
40ants-doc:*symbols-with-ignored-missing-locations*
variable to ignore warnings on missing source location.
This might be useful for autogenerated methods. For example, Mito does generate such reader methods here.
- Support for variables was added to autodoc subsystem.
- Autodoc subsystem was added. It provides a
40ants-doc/autodoc:defautodoc
macro which can build anAPI
reference for a givenASDF
system. - Now we output a list of dependencies for an
ASDF
system description.
- Script on the search page was fixed.
- Fixed
40ants-doc/locatives/base:locative-type
broken by previous refactoring. Now this function was transformed into generic-function as well as40ants-doc/locatives/base:locative-args
.
- Large refactoring was introduced. All files related to the documentation builder were moved to
./full/
folder and corresponding packages was renamed to have40ants-doc-full/
prefix.
- Default theme was reworked and now uses divs and flex for rendering "bullets".
Also, bullets were made more structured and now it is more convenient to change their design using
CSS
.
- Fixed a few issues with
ASDF
and warnings from find-system generic-function:
Computing just-done stamp for action (ASDF/LISP-ACTION:COMPILE-OP
"40ants-asdf-system/changelog"), but dependency (ASDF/LISP-ACTION:COMPILE-OP
"40ants-asdf-system/changelog"
"file-type") wasn't done yet!
- Fixed 40ants-doc asdf system dependency from the 40ants-doc/ignored-words. Because this module should be in the core system.
- Now you can refer internal documentation section of other libraries.
To do this, put the link to this library documentation to the
EXTERNAL-DOCS
argument of40ants-doc:defsection
macro and then mention other section like this:40ANTS-CI::@CRITIC section
.
- Now
40ants-doc-full/commondoc/mapper:map-nodes
generic-function supports any node type which defines a method for generic-function40ants-doc-full/commondoc/mapper:node-supports-children
. - Default theme was fixed to work with latest Spinneret, which now
escapes single quotes inside
HTML
nodes.
40ants/changelog:defchangelog
now supportsEXTERNAL-LINKS
argument.- Automatic symbol extraction now ignores dates like 2021-12-31. Now to make it work, the symbol should contain at least one alpha character.
- Fixed the issue, when we tried to find uppercased xrefs inside inline code and links.
- Added
EXTERNAL-LINKS
argument todefsection
macro. It can be useful, if you have a multiple text sections having the same external link. - Now it is possible to use
40ants-doc/ignored-words:ignore-words-in-package
to suppress warning on symbols which are exported but not documented.
- Fixed the way of how a
TOC
is built. Previosly it incorrectly shown nestedCOMMONDOC:SECTION
objects.
defsection
macro now supportsEXTERNAL-DOCS
argument.
- Blockquotes markup is supported now.
- Now external references are rendered as code and downcased according to the settings.
Warning messages like:
Unable to find target for reference #<XREF 40ANTS-DOC/COMMONDOC/XREF:XREF> mentioned at ChangeLog / 0.5.3 (2021-09-08)
were rewritten to be more actionable:
Object referenced as #<XREF 40ANTS-DOC/COMMONDOC/XREF:XREF> in ChangeLog / 0.5.3 (2021-09-08) is not documented.
- Included changelog.lisp into the
40ants-doc
system.
- Fixed locatives parsing in case if there are more than one
40ANTS-DOC/COMMONDOC/XREF:XREF
in the text.
- Now default theme removes underline from images nested into the
<a>
HTML
tag. - Fixed images collection for case when current directory is different from the
ASDF
system's directory.
- Fixed reference index generation and comparison of usual references with references where locative is a string.
- Now
40ants-doc:defsection
macro acceptsEXTERNAL-DOCS
argument. Together withHTML
pages,references.json
file is rendered, and you can provide a list of urls of external libraries' documentation to have an automatic cross-referencing between them.
- Function
40ants-doc-full/builder:get-current-asdf-system
was added. Now you can use it to do something interesting like showing "Fork me on the GitHub" stripe as my own theme do. - Markdown files now will have a footer saying that a file was generated by
40ants-doc
. - An
RSS
feed is generated for changelog. Also, changelog items can have a date now.
*DOCUMENT-NORMALIZE-PACKAGES*
variable was replaced withFULL-PACKAGE-NAMES
argument of40ants-doc-full/builder:render-to-files
function.
- Now images are copied to target folder together with
HTML
documentation and links are adjusted accordingly. - Added a protocol to define new color themes and change page layout.
Three new themes are available out of the box.
Read more at
Defining a Custom Theme
section.
- Now defsection does not exports symbols by default
- You can render documents in multiple formats in a single run having cross links.
For example shorter
README
.md could mention symbols and have correct links to the full documentation - "Clean"
URL
s are supported out of the box. - Now defsection does not export nor mentioned symbols nor the name of the section It is better to have explicit exports.
40ants-doc/locatives:include
locative now does not support:HEADER
,:FOOTER
and some other arguments. Use:LANG
argument instead.- Added code highlighting using Highlight.js library.
- Added search form which uses index in browser.
JS
code was taken from Sphinx documentation builder. - Elisp code for transcriptions was fixed and now should word not
only with
SLIME
, but also withSLY
. 40ants-doc:defsection
macro now does not generate export code if:EXPORT
argument isNIL
.- Functions
UPDATE-ASDF-SYSTEM-HTML-DOCS
andUPDATE-ASDF-SYSTEM-README
were replaced with40ants-doc-full/builder:update-asdf-system-docs
, which also supports ChangeLog.md generation. Use40ants-doc/changelog:defchangelog
to define versions. - Variables
*DOCUMENT-HTML-MAX-NAVIGATION-TABLE-OF-CONTENTS-LEVEL*
and*DOCUMENT-MAX-TABLE-OF-CONTENTS-LEVEL*
were removed. Probably we'll return this feature back in other form, to restrictTOC
's size. - Removed
LOCATE-AND-DOCUMENT
generic function. - Links to the GitHub now are generated automatically,
if
40ants-doc-full/builder:update-asdf-system-docs
function is used and system definition has a:SOURCE-CONTROL
slot. - Generic functions
COLLECT-REACHABLE-OBJECTS
andLOCATE-AND-COLLECT-REACHABLE-OBJECTS
were removed. - Variables
*DOCUMENT-LINK-SECTIONS*
,*DOCUMENT-TEXT-NAVIGATION*
and*DOCUMENT-FANCY-HTML-NAVIGATION*
were removed. - Variable
*DOCUMENT-MIN-LINK-HASH-LENGTH*
was removed. UseCOMMONDOC-MARKDOWN:*MIN-LINK-HASH-LENGTH*
- Functions
40ants-doc-full/builder:update-asdf-system-docs
and40ants-doc-full/builder:render-to-files
now acceptWARN-ON-UNDOCUMENTED-PACKAGES
argument andCLEAN-URLS
argument. - Variable
*DOCUMENT-MARK-UP-SIGNATURES*
was removed. - Added
DOWNCASE-UPPERCASE-CODE
argument instead of*DOCUMENT-DOWNCASE-UPPERCASE-CODE*
. This argument is true by default. - Added warnings on symbols, referenced like internals, using
::
. - Added
40ants-doc:defsection-copy
macro to define copy of the section but with a different name.
- Project forked from MGL-PAX. Code refactored into the package inferred system and core is separated to have minimum dependencies.
- Fixed displaying docstring for constant locative.
- Include locative was fixed for files with unicode characters file-subseq function was rewritten.
- Locatives can be specified without a package prefix inside the defsection
because all locative symbols now live in
40ants-doc/locatives
package. - Function update-asdf-system-readmes was renamed to update-asdf-system-readmes and now
it generates only one
README
file. - Tests were rewritten to use Rove and to support
(asdf:test-system :40ants-doc)
. - Removed
MGL-PAX:DEFINE-PACKAGE
macro. AnUIOP:DEFINE-PACKAGE
can be used instead. - Now builder issues a warning if it wasn't able to find a symbol mentioned in the docstring.
- Uppercase word should have at least two charaters to be resolved as a symbol.
- Improved work with package inferred systems. For examples, when fixed the automatic symbol rendering for case when documentation section and referenced objects are in different packages.
- Allowed to reference objects using keywords.
- Fixed docstring extraction for compiler macro.