dundalek / dinodoc Goto Github PK
View Code? Open in Web Editor NEWDocusaurus-powered documentation system for Clojure and other languages
Home Page: https://dinodoc.pages.dev
License: MIT License
Docusaurus-powered documentation system for Clojure and other languages
Home Page: https://dinodoc.pages.dev
License: MIT License
Which results in broken Edit URL for reitit
example, which needs workaround to specify repo+branch as global option instead of auto-detecting it.
Call graph:
When a namespace is mixed with clj and cljs (or cljc) there is no way to distinguish in which dialect the vars are defined. The resulting docstring is picked undeterministically (merge).
Get inspired by cljdoc which handles it pretty well. It determines which dialect is in majority and adds label to each var.
The original quickdoc works in babashka using clj-kondo pod, so generating docs should still work in babashka. The issue can be proper markdown parser #1, if we go with one like Flexmark (based on Java), we will need to make it into pod which adds extra effort.
Therefore I want to hold off on Babashka support, instead of having it and then removing it when proper markdown parser is introduced.
Asciidoc seens to be a popular alternative to Markdown. Recently Polylith changed readme and docs format to Asciidoc. Should we consider support for Asciidoc?
I always found markdown hitting the sweet spot naturally expressing common formatting. With Docusaurus there is MDX markup for richer elements. Asciidoc looks more complicated to me since it includes additional custom syntax for richer elements.
I wonder if translating Asciidoc to Markdown using Pandoc would work well as a preprocessing step?
Images have to be currently copied manually.
Possible solutions:
:copy-assets #"\.png|\.jpg"
![]()
Wiki links to doc pages are not linkified, e.g. in ring example.
wikilings are transformed already for vars, so maybe could add the pages hierarchy there during markdown processing
alternatively remark plugin for docusaurus
Currently markdown is processed using regexes which will likely result in some edge case issues (e.g. linkifying inside a fenced code block).
To handle it properly consider using proper parser. I am not aware of a good pure clojure parser, from Java ecosystem flexmark seems like a good candidate.
When there is a single namespace the nested hierarchy is not useful and takes extra clicks to expand.
For example instead of
com >
org >
project >
foo
bar
we could flatten as
com.org.project >
foo
bar
Is there also a way to perhaps have some items in sidebar expanded by default? With some heuristic to expand e.g. if there are less than 10 children items.
Collapsible categories are collapsed by default. If you want them to be expanded on the first render, you can set collapsed to false:
https://docusaurus.io/docs/sidebar/items#expanded-categories-by-default
Code blocks using clj
language not highlighted, only clojure
works (e.g. reitit example).
Prism.languages.js = Prism.languages.javascript;
npm run swizzle @docusaurus/theme-classic prism-include-languages
PrismObject.languages.clj = PrismObject.languages.clojure;
We are currently working on Prism v2 and will only accept security-relevant PRs for the time being.
generated-index
, but we will probably want a custom one anywayA declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.