Git Product home page Git Product logo

livingdocumentation's Introduction

Living Documentation Doclet

LivingDocDoclet is a Javadoc Doclet inspired by concepts from the "Living Documentation" book by Cyrille Martraire. It can be used to create architectural documentation with particular reference to Hexagonal Architecture and documentation of projects compatible with Domain Driven Design.

Introduction

...

Documenting code

...

Usage

Command line

$ javadoc -language pl -category architecture \
  -doclet org.cricketmsf.livingdocumentation.LivingDocDoclet \
  -docletpath ./lib/LivingDocumentation.jar \
  -classpath ./lib/cricket-1.3.0-alpha.12.jar \
  ./src/java/com/myapp/*.java

Ant

LivingDocDoclet may be used via a doclet element in Ant javadoc task:

<javadoc destdir="target/javadoc"
         sourcepath="src"
         overview="src/overview.md">
  <doclet name="org.cricketmsf.livingdocumentation.LivingDocDoclet" 
          pathref="livingdocdoclet.classpath">
    <param name="--base-dir" value="${basedir}"/>
    <param name="--attribute" value="-file=glossary.md"/>
    <param name="--attribute" value="-category=glossary"/>
    <param name="--attribute" value="-syntax=markdown"/>
  </doclet>
</javadoc>

Doclet options

-file <file>

Sets the output file location. If <file> is a relative path name, it is assumed to be relative to the --base-dir directory.

-category <doccategory>

Sets the document category. It can be glossary or architecture. The default is glossary.

-syntax <syntax>

Sets the syntax usedto generate the document. It can be markdown or asciidoc. The default is markdown.

-context <context>

Includes only classes with BoundedContext annotation named <context>. With this option all Bounded Contexts will be included.

-type <type>

Only classes annotated with selected building block type will be included. It can be one of event, entity, feature, service. Without this option, all types will be included.

livingdocumentation's People

Contributors

gskorupa avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.