Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
152 commits
Select commit Hold shift + click to select a range
6d34633
Initial step - building a section with some text already work.
svetlyak40wt Jun 26, 2021
229cfc6
Rendering for classes.
svetlyak40wt Jun 26, 2021
b60163a
New render for class slot accessors.
svetlyak40wt Jun 27, 2021
b829997
All locatives now can be rendered to common doc nodes.
svetlyak40wt Jun 29, 2021
67f13bc
Replaced xref collection with mapper.
svetlyak40wt Jul 3, 2021
8603ed8
Now using intermediate XREF objects instead of Markdown links to repr…
svetlyak40wt Jul 3, 2021
7d19cb5
Render multiple references if they where found for XREF.
svetlyak40wt Jul 3, 2021
df31b52
Added support for locative specifiers surrounding a symbol in the doc…
svetlyak40wt Jul 3, 2021
73b3d37
Added atomatic XREF generation out of uppercased symbols in docstrings.
svetlyak40wt Jul 3, 2021
e4281e5
Initial support for pages and themes.
svetlyak40wt Jul 4, 2021
854ee19
Fixed matching for @SYMBOLS used for sections.
svetlyak40wt Jul 4, 2021
39d26ce
Fixed section xreference rendering as a section name.
svetlyak40wt Jul 5, 2021
13f1c64
Fixed docstring rendering for classes, slot accessors and a glossary.
svetlyak40wt Jul 5, 2021
dd408b3
Make header link change a color when we are hovering cursor on it.
svetlyak40wt Jul 5, 2021
8d518e5
Working toc and multipage mode.
svetlyak40wt Jul 10, 2021
0320419
Now every page has a full TOC in the left sidebar.
svetlyak40wt Jul 10, 2021
55e24a3
A replacement for dislocated symbols was made. Now any documentation …
svetlyak40wt Jul 11, 2021
430d030
Fixed style for TOC footer.
svetlyak40wt Jul 11, 2021
b48f8e7
Support packages starting from digits.
svetlyak40wt Jul 11, 2021
0ef1c71
Fixed eating of a symbol after an extracted xref.
svetlyak40wt Jul 11, 2021
909811a
Fixed reference rendering in case if document is generated from a pac…
svetlyak40wt Jul 11, 2021
8437f4a
Fixed some problems with circular dependencies and such stuff.
svetlyak40wt Jul 14, 2021
4bb340d
Fixed arglist to markdown rendering.
svetlyak40wt Jul 15, 2021
88805d5
Fixed rendering of the code blocks inside docstrings.
svetlyak40wt Jul 15, 2021
b0c5b83
List items of asdf-system description are now paragraphs.
svetlyak40wt Jul 16, 2021
ac03e95
Fixed unnecessary empty lines.
svetlyak40wt Jul 16, 2021
f3ecc50
Fixed document-links in markdown.
svetlyak40wt Jul 16, 2021
fd1a222
Fixed cross links in the markdown render.
svetlyak40wt Jul 16, 2021
7472e5e
Returned warnings on missing references.
svetlyak40wt Jul 19, 2021
c39421d
Print the total number of warnings.
svetlyak40wt Jul 19, 2021
a0f14cb
Fixed finding symbols starting from digits.
svetlyak40wt Jul 19, 2021
1197b56
Fixed finding reference to ASDF systems.
svetlyak40wt Jul 20, 2021
97b1683
Automatically ignore XREFs to symbols from COMMON-LISP package.
svetlyak40wt Jul 21, 2021
ce55acc
Render ignored xrefs as code.
svetlyak40wt Jul 21, 2021
af7e335
Allow using slashes and dots in xref's package name.
svetlyak40wt Jul 21, 2021
2fa3547
Ignore ARGUMENT locatives mentioned in the text.
svetlyak40wt Jul 21, 2021
f221d33
Fixed package during replacing markdown links with xrefs.
svetlyak40wt Jul 22, 2021
bfdb877
Parse :KEYWORDS and ignore these XREFS.
svetlyak40wt Jul 22, 2021
5f8fb55
More fixes.
svetlyak40wt Jul 22, 2021
c439aef
Join italic nodes to the package names.
svetlyak40wt Jul 22, 2021
2607fa9
Transform into text nodes italic nodes which looks like symbol names.
svetlyak40wt Jul 22, 2021
1e4333e
Dont extract cross references inside code blocks.
svetlyak40wt Jul 22, 2021
82a047f
Fixed formatting.
svetlyak40wt Jul 24, 2021
3996830
Refactored warnings rules.
svetlyak40wt Jul 24, 2021
74efde2
Moved document processing pipeline to a file.
svetlyak40wt Jul 25, 2021
9973ac1
Added warnings on undocumented exports.
svetlyak40wt Jul 25, 2021
bac5558
Fixed a few issues with packages and symbol parsing.
svetlyak40wt Jul 25, 2021
0cfb6e0
Fixed all warnings.
svetlyak40wt Jul 26, 2021
0d32b9b
Updated dependencies.
svetlyak40wt Jul 27, 2021
cf1c039
Added dependency on str.
svetlyak40wt Jul 27, 2021
eebfed9
Updated ultralisp version again.
svetlyak40wt Jul 27, 2021
b5e75c2
Moved object-package method to a separate file to remove unnecessary …
svetlyak40wt Jul 27, 2021
85fd6e5
Single function RENDER-FILES to render any format.
svetlyak40wt Jul 27, 2021
7fca518
Tests were fixed and now links between pages can be relative.
svetlyak40wt Jul 28, 2021
f58b2cc
Tests were fixed and now links between pages can be relative.
svetlyak40wt Jul 28, 2021
037ae53
Removed duplicate MAKE-RELATIVE-PATH.
svetlyak40wt Jul 28, 2021
84ef698
Updated deps.
svetlyak40wt Jul 28, 2021
77846de
Tests were fixed.
svetlyak40wt Jul 28, 2021
a57e42c
Now theme URL is relative and work in nested doc pages.
svetlyak40wt Jul 28, 2021
c71770e
Fixed TOC links for multipage documents with nested pages.
svetlyak40wt Jul 28, 2021
20fc058
Fixed a few problems
svetlyak40wt Jul 29, 2021
1970d59
README was updated using new engine.
svetlyak40wt Jul 29, 2021
2a2609c
Fixed rendering of XREFs nested into the inline code blocks.
svetlyak40wt Jul 29, 2021
cb94e6b
Fixed xrefs nested in code blocks again.
svetlyak40wt Jul 29, 2021
3d2b26a
Fixed relative links inside the same page.
svetlyak40wt Jul 29, 2021
e5f1f6a
Fixed links in the README.
svetlyak40wt Jul 29, 2021
ab0900f
Don't output NIL fields for ASDF system.
svetlyak40wt Jul 30, 2021
6583192
Don't warn on "undocumented" but external documentation SECTION objects.
svetlyak40wt Jul 30, 2021
299b5ff
Allow to use variables as items in the DEFSECTION's body.
svetlyak40wt Jul 30, 2021
5fdaf0d
Added a todo section.
svetlyak40wt Jul 31, 2021
efb7358
Now IGNORE-WORDS argument is evaluated and can be anything.
svetlyak40wt Jul 31, 2021
511a9c3
Multiformatness was implemented in RENDER-TO-FILES.
svetlyak40wt Jul 31, 2021
62a1ce6
Changes.org updated.
svetlyak40wt Jul 31, 2021
4dbac58
Fixed http to https in ASDF system description.
svetlyak40wt Jul 31, 2021
dafc4eb
Manually fixed fences.
svetlyak40wt Aug 1, 2021
64b8305
Readme rerendered with newer common-markdown.
svetlyak40wt Aug 1, 2021
cc6b331
Allow FORMAT argument to be a :HTML or :MARKDOWN keyword.
svetlyak40wt Aug 1, 2021
f6e282b
Merge branch 'master' into commondoc-stage
svetlyak40wt Aug 1, 2021
be17170
Tests were fixed.
svetlyak40wt Aug 1, 2021
39218c4
Fixed TOC for cases when multiple formats are rendered together.
svetlyak40wt Aug 1, 2021
9fd1c05
Make TOC links "clean" as well.
svetlyak40wt Aug 1, 2021
eb973c1
Added JS code to highlight current TOC item.
svetlyak40wt Aug 1, 2021
fc6a58e
Tutorial modified to use new STDOUT-OF locative.
svetlyak40wt Aug 4, 2021
59cc053
INCLUDE locative now does not support :HEADER, :FOOTER and some other…
svetlyak40wt Aug 4, 2021
7877b80
Added code highlighting using Highlight.js library.
svetlyak40wt Aug 4, 2021
df27fc5
Fixed a typo.
svetlyak40wt Aug 4, 2021
219ea4d
Added IGNORE-WORDS-IN-PACKAGE macro.
svetlyak40wt Aug 5, 2021
cff3ef1
Fixed MathJax formulas.
svetlyak40wt Aug 5, 2021
123d030
Added a test page for searching.
svetlyak40wt Aug 5, 2021
d3b8bda
WIP full text static search.
svetlyak40wt Aug 7, 2021
17ec6a5
Added fulltext search (without a stemmer).
svetlyak40wt Aug 7, 2021
bbdaf72
Now search form is available on each page.
svetlyak40wt Aug 7, 2021
24c0a9f
Fixed object types on the search page.
svetlyak40wt Aug 7, 2021
ed2d6cc
Fixed delimiting package and symbol name in JavaScript code.
svetlyak40wt Aug 7, 2021
b758562
Use stemmer to build search index.
svetlyak40wt Aug 8, 2021
e34147f
Added a changelog.
svetlyak40wt Aug 8, 2021
dd16978
Fixed relative urls for XREFs.
svetlyak40wt Aug 8, 2021
6eb2a69
Fixed warnings in changelog.
svetlyak40wt Aug 8, 2021
676f1eb
Use non-deprecated MathJax cdn.
svetlyak40wt Aug 8, 2021
4242dd9
Fixed error in TOC item's highlighter.
svetlyak40wt Aug 8, 2021
c966ea3
Removed NEW.md
svetlyak40wt Aug 8, 2021
f3d0993
Warn on problems in cl-transcribe blocks.
svetlyak40wt Aug 11, 2021
c292504
Renames pax.el to edit-locative.el
svetlyak40wt Aug 11, 2021
b288b4d
Emacs integration was refactored.
svetlyak40wt Aug 13, 2021
4f63878
40ANTS-DOC:DEFSECTION macro now does not generate export code if :EXP…
svetlyak40wt Aug 13, 2021
c2a8648
Now new renderer supports link-title-to.
svetlyak40wt Aug 14, 2021
2015285
Added a function UPDATE-ASDF-SYSTEM-DOCS and a section about changelo…
svetlyak40wt Aug 16, 2021
20af68c
Fixed changelog generation.
svetlyak40wt Aug 16, 2021
595a77a
Removed a huge amount of old code.
svetlyak40wt Aug 16, 2021
aa34518
More refactorings.
svetlyak40wt Aug 16, 2021
db93516
Removed locate-and-document generic function.
svetlyak40wt Aug 16, 2021
e3dba67
Fixed doc on markdown indentation.
svetlyak40wt Aug 16, 2021
ed1b4de
Links to the GitHub now are generated automatically, if 40ANTS-DOC/BU…
svetlyak40wt Aug 18, 2021
60bf5a8
Updated section on syntax highlighting.
svetlyak40wt Aug 18, 2021
578d8e9
Fixed emacs command name.
svetlyak40wt Aug 19, 2021
7fe9800
Strike done TODO items.
svetlyak40wt Aug 19, 2021
5b6d97a
A few fixes in Adding new object types section.
svetlyak40wt Aug 19, 2021
55fa49f
Generic functions COLLECT-REACHABLE-OBJECTS and LOCATE-AND-COLLECT-RE…
svetlyak40wt Aug 19, 2021
1b31428
Added description for TO-COMMON-DOC and MAKE-BULLET.
svetlyak40wt Aug 19, 2021
b90c675
Fixed macro arguments rendering.
svetlyak40wt Aug 19, 2021
11bdcc8
Tests were fixed.
svetlyak40wt Aug 21, 2021
2a87caf
Fixed referencing methods.
svetlyak40wt Aug 21, 2021
e676c1c
Added a section on cross-referencing.
svetlyak40wt Aug 21, 2021
e2c1760
Implemented support for dislocated symbols in documentation bullets.
svetlyak40wt Aug 22, 2021
03b536b
Fixed some symbols.
svetlyak40wt Aug 22, 2021
5303c61
Documentation warnings were fixed.
svetlyak40wt Aug 22, 2021
3758bed
Dependency on slynk
svetlyak40wt Aug 22, 2021
3651c9a
Removed old code for replace-known-references and related things.
svetlyak40wt Aug 22, 2021
d2b9508
Removed footer and mark-up-superclasses function.
svetlyak40wt Aug 23, 2021
f35f371
Removed almos all code from markdown/transform package.
svetlyak40wt Aug 23, 2021
c8391c7
Some old functions were removed.
svetlyak40wt Aug 23, 2021
e2c5453
Renamed page2 to page.
svetlyak40wt Aug 23, 2021
807e83c
Moved docstring related functions to 40ants-doc/docstring package.
svetlyak40wt Aug 23, 2021
00977ce
Moved parse-markdown function.
svetlyak40wt Aug 23, 2021
3c8b1e1
Cleaned link.lisp file.
svetlyak40wt Aug 23, 2021
ea1bce3
Removed variable *document-min-link-hash-length*.
svetlyak40wt Aug 27, 2021
8ce0c37
Updated qlfile.lock.
svetlyak40wt Aug 27, 2021
5a47991
Updated test files.
svetlyak40wt Aug 27, 2021
d9a5341
Functions 40ANTS-DOC/BUILDER:UPDATE-ASDF-SYSTEM-DOCS and 40ANTS-DOC/B…
svetlyak40wt Aug 27, 2021
c8e3e30
Added CLEAN-URLS argument.
svetlyak40wt Aug 27, 2021
08cf1ab
Marked some variables as not supported yet.
svetlyak40wt Aug 27, 2021
f516e58
Fixes *document-link-code* variable effect.
svetlyak40wt Aug 27, 2021
7dcac81
Added DOWNCASE-UPPERCASE-CODE argument instead of *DOCUMENT-DOWNCASE-…
svetlyak40wt Aug 27, 2021
318901e
Updated test pages.
svetlyak40wt Aug 28, 2021
5e57f9d
Added warnings on symbols, referenced like internals, using `::`.
svetlyak40wt Aug 28, 2021
4831cc6
Fixed error in tests.
svetlyak40wt Aug 28, 2021
08ba607
Allow to reference sections as internal symbols.
svetlyak40wt Aug 28, 2021
77f8fc6
Fixed all symbols, referenced as internal.
svetlyak40wt Aug 28, 2021
cd2031c
Fixed one more reference to the find-source.
svetlyak40wt Aug 28, 2021
ce5f7eb
Added a section on rendering multiple formats.
svetlyak40wt Aug 28, 2021
8adf24c
Added reference to a changelog.
svetlyak40wt Aug 28, 2021
25b78dd
Shortened links and fixed code in tutorial section.
svetlyak40wt Aug 28, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
static/* linguist-vendored
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,7 @@ test/data/tmp/
world/
doc/
docs/
new-docs/
.qlot/
/coverage/
.DS_Store
5 changes: 3 additions & 2 deletions 40ants-doc-full.asd
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,12 @@
:version "0.1.0"
:author "Alexander Artemenko"
:mailto "svetlyak.40wt@gmail.com"
:homepage "http://40ants.com/doc"
:homepage "https://40ants.com/doc"
:bug-tracker "https://github.com/40ants/doc/issues"
:source-control (:git "https://github.com/40ants/doc.git")
:description "Documentation generator for 40ANTS-DOC (based on MGL-PAX). You will need to load this system, to build documentation for a library which uses 40ANTS-DOC system."
:description "Documentation generator. You will need to load this system, to build documentation for a library which uses 40ANTS-DOC system."
:class :package-inferred-system
:pathname "src"
:depends-on ("40ants-doc/full")
:in-order-to ((asdf:test-op (asdf:test-op "40ants-doc-test"))))

6 changes: 5 additions & 1 deletion 40ants-doc-test.asd
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,11 @@
:class :package-inferred-system
:pathname "test"
:depends-on ("40ants-doc-test/test-transcribe"
"40ants-doc-test/test")
"40ants-doc-test/test"
"40ants-doc-test/xref"
"40ants-doc-test/locatives"
"40ants-doc-test/utils-test"
"40ants-doc-test/markdown")
:perform (test-op (op c)
(unless (symbol-call :rove :run c)
(error "Tests failed"))))
6 changes: 4 additions & 2 deletions 40ants-doc.asd
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
:version "0.1.0"
:author "Alexander Artemenko"
:mailto "svetlyak.40wt@gmail.com"
:homepage "http://40ants.com/doc"
:homepage "https://40ants.com/doc"
:bug-tracker "https://github.com/40ants/doc/issues"
:source-control (:git "https://github.com/40ants/doc")
:description "Documentation generator, based on MGL-PAX. Allows to put documentation inside lisp files and cross-reference between different entities."
:description "Allows to put documentation inside lisp files and cross-reference between different entities. Based on MGL-PAX."
:class :package-inferred-system
:pathname "src"
:depends-on ("40ants-doc/core"
Expand All @@ -17,6 +17,8 @@
:in-order-to ((asdf:test-op (asdf:test-op "40ants-doc-test"))))


(asdf:register-system-packages "common-html" '("COMMON-HTML.EMITTER"))

(asdf:register-system-packages "3bmd-ext-code-blocks" '("3BMD-CODE-BLOCKS"))

(asdf:register-system-packages "swank" '("SWANK-BACKEND"
Expand Down
107 changes: 107 additions & 0 deletions ChangeLog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
<a id="x-2840ANTS-DOC-2FCHANGELOG-3A-40CHANGELOG-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

# Changes

<a id="x-2840ANTS-DOC-2FCHANGELOG-3A-3A-7C0-2E2-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

## 0.2.0

* 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`](e263) 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][140c] documentation builder.

* Elisp code for transcriptions was fixed and now should word not
only with `SLIME`, but also with `SLY`.

* [`40ants-doc:defsection`](3e7c) macro now does not generate export code
if `:EXPORT` argument is `NIL`.

* Functions `UPDATE-ASDF-SYSTEM-HTML-DOCS` and `UPDATE-ASDF-SYSTEM-README`
were replaced with [`40ants-doc/builder:update-asdf-system-docs`](f11d), which also supports
ChangeLog.md generation. Use [`40ants-doc/changelog:defchangelog`](28eb) 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 restrict `TOC`'s size.

* Removed `LOCATE-AND-DOCUMENT` generic function.

* Links to the GitHub now are generated automatically,
if [`40ants-doc/builder:update-asdf-system-docs`](f11d) function is used
and system definition has a `:SOURCE-CONTROL` slot.

* Generic functions `COLLECT-REACHABLE-OBJECTS` and `LOCATE-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. Use `COMMONDOC-MARKDOWN:*MIN-LINK-HASH-LENGTH*`

* Functions [`40ants-doc/builder:update-asdf-system-docs`](f11d) and [`40ants-doc/builder:render-to-files`](084c)
now accept `WARN-ON-UNDOCUMENTED-PACKAGES` argument and `CLEAN-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 `::`.

<a id="x-2840ANTS-DOC-2FCHANGELOG-3A-3A-7C0-2E1-2E0-7C-2040ANTS-DOC-2FLOCATIVES-3ASECTION-29"></a>

## 0.1.0

* Project forked from [`MGL-PAX`][7927].
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`](dd8b) 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. An `UIOP: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.


[7927]: https://github.com/melisgl/mgl-pax
[140c]: https://www.sphinx-doc.org/
[dd8b]: index.html#x-28-23A-28-2820-29-20BASE-CHAR-20-2E-20-2240ANTS-DOC-2FLOCATIVES-22-29-20PACKAGE-29
[084c]: index.html#x-2840ANTS-DOC-2FBUILDER-3ARENDER-TO-FILES-20FUNCTION-29
[f11d]: index.html#x-2840ANTS-DOC-2FBUILDER-3AUPDATE-ASDF-SYSTEM-DOCS-20FUNCTION-29
[28eb]: index.html#x-2840ANTS-DOC-2FCHANGELOG-3ADEFCHANGELOG-20-2840ANTS-DOC-2FLOCATIVES-3AMACRO-29-29
[e263]: index.html#x-2840ANTS-DOC-2FLOCATIVES-3AINCLUDE-20-2840ANTS-DOC-2FLOCATIVES-3ALOCATIVE-29-29
[3e7c]: index.html#x-2840ANTS-DOC-3ADEFSECTION-20-2840ANTS-DOC-2FLOCATIVES-3AMACRO-29-29
15 changes: 0 additions & 15 deletions Changes.org

This file was deleted.

Loading