Giter Club home page Giter Club logo

dinodoc's People

Contributors

borkdude avatar dundalek avatar grahamcarlyle avatar helins avatar ikappaki avatar pedrorgirardi avatar rads avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

dinodoc's Issues

Improve mixed clj+cljs docstrings

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.

Run in babashka

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 support

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?

Automatically copy image assets

Images have to be currently copied manually.

Possible solutions:

  • have option like :copy-assets #"\.png|\.jpg"
  • or just copy over images starting with ![]()

Proper markdown parser

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.

Nested sidebar items

When there is a single namespace the nested hierarchy is not useful and takes extra clicks to expand.

DeepinScreenshot_select-area_20240112171554

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

Code blocks using clj language not highlighted, only clojure works (e.g. reitit example).

  • prism (the code highlight library) does aliases like Prism.languages.js = Prism.languages.javascript;
  • but it does not have it for clojure
  • pr that add zsh alias
  • see if it can be hacked/swizzled
  • PR to prism would be nice, but v1 does not currently accept contributions

    We are currently working on Prism v2 and will only accept security-relevant PRs for the time being.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.