docsify icon indicating copy to clipboard operation
docsify copied to clipboard

Configure docsify to use markdown-it

Open infinitecompute opened this issue 4 years ago • 32 comments

Feature request

Enable the use of markdown-it renderer instead of marked.

What problem does this feature solve?

Docsify is an incredibly well designed documentation generator and its ease of use with Github pages makes it well suited to that purpose. Docsify uses the marked renderer.

Unfortunately, the markdown tool ecosystem is very fragmented and it is difficult to choose feature rich markdown editing tools that will render with high fidelity across static website generation frameworks. On the editing side, HackMD (& CodiMD) is a pack leader for collaboration on Github based markdown. The HackMD VSCode extension also provides a great developer experience. It uses the modern and extensible markdown-it renderer. Its plugin model is allowing it to evolve fast and create the kind of modern content that is expected in blogs, docs, and websites.

What does the proposed API look like?

Not an API change, but presumably it involves swapping out the underlying node packages

These are the markdown-it dependencies in HackMD:

  "dependencies": {
    "markdown-it": "^10.0.0",
    "markdown-it-abbr": "^1.0.4",
    "markdown-it-container": "^2.0.0",
    "markdown-it-deflist": "^2.0.3",
    "markdown-it-footnote": "^3.0.2",
    "markdown-it-imsize": "^2.0.1",
    "markdown-it-ins": "^2.0.0",
    "markdown-it-mark": "^2.0.0",
    "markdown-it-mathjax": "^2.0.0",
    "markdown-it-regexp": "^0.4.0",
    "markdown-it-sub": "^1.0.0",
    "markdown-it-sup": "^1.0.0",
    "markdown-it-task-checkbox": "^1.0.6",
    "markdown-it-emoji": "^1.4.0"
  }

How should this be implemented in your opinion?

I believe that markdown-it's extensibility makes it a great default choice for docsify and having more future-proof. Alternatively, I would be happy to have instructions for swapping out the renderer.

Are you willing to work on this yourself?

Yes. Assuming I am not missing some reason why this isn't pluggable. I would need assistance from docsify core contributors.

infinitecompute avatar Apr 27 '20 23:04 infinitecompute