<commit_before>ifndef::imagesdir[:imagesdir: images]

image:https://travis-ci.org/jboz/living-documentation.svg?branch=master["Build Status", link="https://travis-ci.org/jboz/living-documentation"]
image:https://img.shields.io/badge/PRs-welcome-brightgreen.svg["Make a pull request", link="http://makeapullrequest.com"]
image:https://img.shields.io/github/license/jboz/living-documentation.svg[License]

= Living documentation tools

This project is intented to provide some tools to allow a nice Living Documentation.

_Inspired by https://livingdocumentation.github.io/livingdoc-maven-plugin/intro.html_

See examples to show the powerfull !

You'll be able to generate beautiful diagrams with a simple configuration.

Create a living documentation from the code automatically. Easily customizable.

==== Generate a conception diagram
image::conception-diagram.png[Asciidoctor Diagram javaClasses diagram]


==== And a business glossary (with asciidoc syntax)

[[glossaryid-100]]
===== Bill ^100^
*Monthly* bill.
[NOTE]
Generate by the system at contract birth date.



[[glossaryid-101]]
===== month ^101^
Facturation month.



[[glossaryid-200]]
===== Contract ^200^
Telecom contract



[[glossaryid-201]]
===== id ^201^
Contract identifier.
Generate by the system and communicate to client.



[[glossaryid-202]]
===== effectDate ^202^
Contract effect date.



[[glossaryid-300]]
===== Customer ^300^
Customer of the telecom service



[[glossaryid-301]]
===== name ^301^
Name of the customer.



[[glossaryid-400]]
===== Access ^400^
Use of telecom service.



[[glossaryid-401]]
===== phoneNumber ^401^
Phone number used.



[[glossaryid-402]]
===== price ^402^
Price of use of the service.



[[glossaryid-403]]
===== dateTime ^403^
Timestamp of use.



[[glossaryid-500]]
===== CallAccess ^500^
Phone call type access.



[[glossaryid-501]]
===== duration ^501^
Phone call duration



[[glossaryid-600]]
===== SmsAccess ^600^
SMS type access.



=== Maven configuration :
[source,xml]
----
<plugin>
    <groupId>ch.ifocusit.livingdoc</groupId>
    <artifactId>livingdoc-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <executions>
        <execution>
            <id>class-diagram</id>
            <phase>package</phase>
            <goals>
                <goal>diagram</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <prefix>ch.ifocusit.telecom.domain</prefix>
        <diagramType>plantuml</diagramType>
        <output>${project.build.directory}/domain.plantuml</output>
        <excludes><commit_msg>correct xml doc<commit_after>ifndef::imagesdir[:imagesdir: images]

image:https://travis-ci.org/jboz/living-documentation.svg?branch=master["Build Status", link="https://travis-ci.org/jboz/living-documentation"]
image:https://img.shields.io/badge/PRs-welcome-brightgreen.svg["Make a pull request", link="http://makeapullrequest.com"]
image:https://img.shields.io/github/license/jboz/living-documentation.svg[License]

= Living documentation tools

This project is intented to provide some tools to allow a nice Living Documentation.

_Inspired by https://livingdocumentation.github.io/livingdoc-maven-plugin/intro.html_

See examples to show the powerfull !

You'll be able to generate beautiful diagrams with a simple configuration.

Create a living documentation from the code automatically. Easily customizable.

== Generate a conception diagram
image::conception-diagram.png[Asciidoctor Diagram javaClasses diagram]


== And a business glossary (with asciidoc syntax)

[[glossaryid-100]]
=== Bill ^100^
*Monthly* bill.
[NOTE]
Generate by the system at contract birth date.

[[glossaryid-101]]
=== month ^101^
Facturation month.

[[glossaryid-200]]
===== Contract ^200^
Telecom contract

[[glossaryid-201]]
=== id ^201^
Contract identifier.
Generate by the system and communicate to client.

[[glossaryid-202]]
=== effectDate ^202^
Contract effect date.

[[glossaryid-300]]
=== Customer ^300^
Customer of the telecom service

[[glossaryid-301]]
=== name ^301^
Name of the customer.

[[glossaryid-400]]
=== Access ^400^
Use of telecom service.

[[glossaryid-401]]
=== phoneNumber ^401^
Phone number used.

[[glossaryid-402]]
=== price ^402^
Price of use of the service.

[[glossaryid-403]]
=== dateTime ^403^
Timestamp of use.

[[glossaryid-500]]
=== CallAccess ^500^
Phone call type access.

[[glossaryid-501]]
=== duration ^501^
Phone call duration

[[glossaryid-600]]
=== SmsAccess ^600^
SMS type access.

== Maven configuration :
[source,xml]
----
<plugin>
    <groupId>ch.ifocusit.livingdoc</groupId>
    <artifactId>livingdoc-maven-plugin</artifactId>
    <version>1.0-SNAPSHOT</version>
    <executions>
        <execution>
            <id>class-diagram</id>
            <phase>package</phase>
            <goals>
                <goal>diagram</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <packageRoot>ch.ifocusit.telecom.domain</packageRoot>
        <diagramType>plantuml</diagramType>
        <output>${project.build.directory}/domain.plantuml</output>
        <excludes>
{'fraction_non_alphanumeric': 0.1449814126394052, 'fraction_numerical': 0.033652905497945605, 'mean_word_length': 4.066402378592666, 'pattern_counts': {'":': 0, '<': 57, '<?xml version=': 0, '>': 57, 'https://': 10, 'lorem ipsum': 0, 'www.': 0, 'xml': 3}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '5851165', 'n_tokens_mistral': 1835, 'n_tokens_neox': 1613, 'n_words': 399}