Javadoc/Scaladoc to markdown converter
Switch branches/tags
Nothing to show
Clone or download
Latest commit 95132e8 Feb 25, 2015
Type Name Latest commit message Commit time
Failed to load latest commit information.
project refactor build Jan 29, 2015
src/main mvn query mode Feb 25, 2015
.DS_Store [WIP] Javadoc 1.6 support Nov 26, 2014
.gitignore repo Jan 28, 2015
LICENSE initial Oct 25, 2014 readme Jan 24, 2015
build.sbt refactor build Jan 29, 2015

Nyandoc: scaladoc/javadoc HTML parser / document generator



  • This software can convert javadoc/scaladoc html to markdown format.
  • Text-editor friendly!
  • Under development, but basically works.

Pre-build documents


Goal: To parse javadoc/scaladoc HTML and generate the document with specific format.

Motivation: I need Scala API documentation with more text-editor friendly format than HTML. But Scaladoc only support to generate HTML. "doclet" feature is provided, but it is very restricted and difficult to understand. So I don't generate document from sources directly, but instead parse HTML and transform it.

Current status

  • Basic features are supported
    • Parse scaladoc to internal representation
    • Parse javadoc to internal representation
    • Generate markdown documents from internal representation
  • Not supported yet
    • Other output format
    • Old-format(Java 1.6 or older) javadoc html
    • Some html tags (ol, blockquote, table, image)
    • Text layout engine is not support for fullwidth characters.


The project is packaged with Conscript.

Install conscript first, and

$ cs install todesking/nyandoc


Currently, output format fixed to markdown.

$ nyandoc <source-location> <dest-dir>


$ sbt 'run <source-location> <dest-dir>

source-location could be directory, html, jar, or zip. File type is determined by its extension.


Example usage: Use ctags to generate tags file

Add ~/.ctags to this:

--regex-markdown-scala-nyandoc=/^#+ .*(def|val|var|type)[[:space:]]+([^ (\[]+)/\2/

--regex-markdown-java-nyandoc=/^#+ .*[[:space:]]([a-zA-Z0-9]+(<.+>)?)\(/\1/


ctags -R . # For Scala project
ctags -R .  # For Java project

in nyandoc document directory.

Example usage: Use Vim as document browser

I used these technologies:

At first,

:Unite file:.nyandoc/ -default-action=rec


and select scala-2.11.2


and select immutable/



:Unite outline