DEV Community

Discussion on: Who's looking for open source contributors? (September 4 edition)

Collapse
 
cjbrooks12 profile image
Casey Brooks

Kotlin is an amazing language, but it's documentation tool, Dokka, leaves much to be desired. That's why I'm working on a project that will use Dokka and generate docs as json rather than a full site, so that other tools could pick up the data and make a site that looks much better!

Dokka JSON is that project, and I am looking for help structuring a good JSON model for the data available, and then finding out how to pull that from the internal Dokka model (which isn't very straightforward). It is challenging, but rewarding, and any help is appreciated!

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

In addition to formatting the results as JSON, I am also integrating the results into Orchid, to complete the pipeline. This week in particular I'm looking for help getting the Dokka data formatted nicely as an Orchid plugin, but also for people managing Kotlin projects, to be guinea pigs for testing this integration. I want to help you get set up using Orchid to document your Kotlin projects, and get your feedback on the whole process of getting set up and working with Orchid.

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.