DEV Community

Discussion on: Who's looking for open source contributors? (August 28 edition)

Collapse
 
cjbrooks12 profile image
Casey Brooks

I just started a new project yesterday to add JSON output formatting to Dokka, the code documentation tool for Kotlin. I'm just starting to get my feet wet and figure the thing out, and I would love some help getting the right information in the JSON output.

copper-leaf / dokka-json

Dokka formatter to output JSON

dokka-json

Dokka formatter to output JSON

Usage

build.gradle

configurations { dokka }
repositories {
    maven { url 'https://jitpack.io' }
}
dependencies {
    dokka 'org.jetbrains.dokka:dokka-fatjar:0.9.17'
      dokka 'com.github.copper-leaf:dokka-json:0.1.0'
}
task runDokkaWithJsonFormatter(type: JavaExec) {
    dependsOn classes
    outputs.files(fileTree("${project.buildDir}/docs/dokkaJson"))

    main = "org.jetbrains.dokka.MainKt"
    classpath = configurations.dokka
    args = [
            "-format", "json",
            "-src", "${project.projectDir}/src/main/kotlin",
            "-output", "${project.buildDir}/docs/dokkaJson"
    ]
}
project.tasks.assemble.dependsOn runDokkaWithJsonFormatter

The default output of Dokka is pretty minimalistic and not very pretty, and is created to be deployed directly, which makes it not very useful for other tools to do cool things with the output. The ultimate end-goal for this small project is to add full KDoc support to the Orchid static site generator, my main project, which I would also love feedback on and help with documentation.

JavaEden / Orchid

A beautiful and truly unique documentation engine and static site generator.

Orchid

Linux and Mac Build Status Windows Build status Current Version License: LGPL-3.0 Codacy Grade Codacy Coverage Gitter chat

A beautiful and truly unique documentation engine and static site generator.

Example Orchid site

Orchid is a brand-new, general-purpose static site generator for Java and Kotlin, with a focus on extensibility and aimed at developers looking to improve their technical documentation. Orchid was born out of a desire for better-looking Javadocs and frustration with how difficult is it to manage large Jekyll sites and keep it up-to-date with your code.

Orchid supports a variety of plugins, including a wiki, static pages, blogs, and much more. It aims to have high compatibility with many of the existing static site generators, such as Jekyll, Gitbook, and Hugo, so that migration to Orchid is painless. And if you can't find a plugin to do what you need, Orchid provides an intuitive way to add your own private plugins and a rich API so you can make your site as beautiful and unique as an Orchid.