{"id":20057657,"url":"https://github.com/todesking/nyandoc","last_synced_at":"2025-05-05T14:31:17.768Z","repository":{"id":136156229,"uuid":"28135569","full_name":"todesking/nyandoc","owner":"todesking","description":"Javadoc/Scaladoc to markdown converter","archived":false,"fork":false,"pushed_at":"2015-02-25T16:10:09.000Z","size":448,"stargazers_count":10,"open_issues_count":5,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-09T00:25:55.892Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/todesking.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-17T12:03:07.000Z","updated_at":"2023-09-19T05:06:04.000Z","dependencies_parsed_at":"2023-03-12T19:40:43.618Z","dependency_job_id":null,"html_url":"https://github.com/todesking/nyandoc","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todesking%2Fnyandoc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todesking%2Fnyandoc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todesking%2Fnyandoc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/todesking%2Fnyandoc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/todesking","download_url":"https://codeload.github.com/todesking/nyandoc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252514923,"owners_count":21760467,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-13T12:59:49.730Z","updated_at":"2025-05-05T14:31:17.518Z","avatar_url":"https://github.com/todesking.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nyandoc: scaladoc/javadoc HTML parser / document generator\n\n[日本語の解説を書きました](http://www.todesking.com/blog/2015-01-24-markdown-converter-for-javadoc-and-scaladoc/)\n\n## tl;dr\n\n* This software can convert javadoc/scaladoc html to markdown format.\n* Text-editor friendly!\n* Under development, but basically works.\n\n## Pre-build documents\n\n* Scala API documentation(scala-library): http://todesking.github.io/nyandoc/scala-docs-markdown-2.11.5.zip\n\n## About\n\n*Goal:* To parse javadoc/scaladoc HTML and generate the document with specific format.\n\n*Motivation:* I need Scala API documentation with more text-editor friendly format than HTML.\nBut Scaladoc only support to generate HTML. \"doclet\" feature is provided, but it is very restricted and difficult to understand.\nSo I don't generate document from sources directly, but instead parse HTML and transform it.\n\n## Current status\n\n* Basic features are supported\n\t* Parse scaladoc to internal representation\n\t* Parse javadoc to internal representation\n\t* Generate markdown documents from internal representation\n* Not supported yet\n\t* Other output format\n\t* Old-format(Java 1.6 or older) javadoc html\n\t* Some html tags (ol, blockquote, table, image)\n\t* Text layout engine is not support for fullwidth characters.\n\n## Install\n\nThe project is packaged with [Conscript](https://github.com/n8han/conscript).\n\nInstall `conscript` first, and\n\n```shell-session\n$ cs install todesking/nyandoc\n```\n\n## Usage\n\nCurrently, output format fixed to markdown.\n\n```shell-session\n$ nyandoc \u003csource-location\u003e \u003cdest-dir\u003e\n```\n\nor\n\n```shell-session\n$ sbt 'run \u003csource-location\u003e \u003cdest-dir\u003e\n```\n\n`source-location` could be directory, html, jar, or zip.\nFile type is determined by its extension.\n\n\n## Links\n\n* Scala API Documentation\n\t* [2.11.5](http://scala-lang.org/download/2.11.5.html)\n* JDK API Documentation\n\t* [JDK8](http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html)\n\t* [JDK7](http://www.oracle.com/technetwork/java/javase/documentation/java-se-7-doc-download-435117.html)\n\t* [Japanese document(1.4 - 8)](http://www.oracle.com/technetwork/jp/java/java-sun-1440465-ja.html)\n* Java/Scala library documentation\n\t* Jar-packed documents often found in [maven.org](http://search.maven.org)\n\n## Example usage: Use ctags to generate tags file\n\nAdd `~/.ctags` to this:\n```\n--langdef=markdown-scala-nyandoc\n--regex-markdown-scala-nyandoc=/^#+ .*(def|val|var|type)[[:space:]]+([^ (\\[]+)/\\2/\n\n--langdef=markdown-java-nyandoc\n--regex-markdown-java-nyandoc=/^#+ .*[[:space:]]([a-zA-Z0-9]+(\u003c.+\u003e)?)\\(/\\1/\n```\n\nand\n\n```shell-session\nctags --langmap=markdown-scala-nyandoc:.md -R . # For Scala project\nctags --langmap=markdown-java-nyandoc:.md -R .  # For Java project\n```\n\nin nyandoc document directory.\n\n## Example usage: Use Vim as document browser\n\nI used these technologies:\n\n* Vim - THE text editor\n* [unite.vim](https://github.com/Shougo/unite.vim) - Multi-purpose \"filter and select\" plugin\n  like [ctrlp.vim](https://github.com/kien/ctrlp.vim) or [anything.el](http://www.emacswiki.org/Anything).\n* [unite-outline](https://github.com/Shougo/unite-outline) - Gather outline information from various file types for unite.vim.\n\nAt first,\n```vim\n:Unite file:.nyandoc/ -default-action=rec\n```\n\n![select-document-type](http://gyazo.todesking.com/081766c99138daccd741f3656860f637.png)\n\nand select `scala-2.11.2`\n\n![select-document](http://gyazo.todesking.com/d06d318d4699b73a67fd0dad74120bf4.png)\n\nand select `immutable/Seq.md`\n\n![view-document](http://gyazo.todesking.com/0ffb76891bab32d34412a3d961279e72.png)\n\n\nand\n```vim\n:Unite outline\n```\n\n![view-document-outline](http://gyazo.todesking.com/70f1cb0bf27c18c1facd4ab9198ea9ac.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftodesking%2Fnyandoc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftodesking%2Fnyandoc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftodesking%2Fnyandoc/lists"}