Updated docs

This commit is contained in:
Bartek Kryza
2023-03-25 20:41:00 +01:00
parent 3b75da062e
commit 9e7c290685
6 changed files with 35 additions and 7 deletions

View File

@@ -1,5 +1,6 @@
# CHANGELOG # CHANGELOG
* Added JSON generator (#114)
* Added diagram templates support (#105) * Added diagram templates support (#105)
* Added parents (base classes) diagram filter * Added parents (base classes) diagram filter
* Fixed namespace handling for nested template specializations * Fixed namespace handling for nested template specializations

View File

@@ -12,7 +12,7 @@ YAML configuration files. The main idea behind the
project is to easily maintain up-to-date diagrams within a code-base or document project is to easily maintain up-to-date diagrams within a code-base or document
legacy code. The configuration file or files for `clang-uml` define the legacy code. The configuration file or files for `clang-uml` define the
type and contents of each generated diagram. type and contents of each generated diagram.
Currently, the diagrams are generated in [PlantUML](https://plantuml.com) and JSON formats. The diagrams can be generated in [PlantUML](https://plantuml.com) and JSON formats.
`clang-uml` currently supports C++ up to version 17 and partial support for C++ 20. `clang-uml` currently supports C++ up to version 17 and partial support for C++ 20.
@@ -44,14 +44,16 @@ Main features supported so far include:
* **Include graph diagram generation** * **Include graph diagram generation**
* Show include graph for selected files * Show include graph for selected files
To see what `clang-uml` can do so far, checkout the diagrams generated for unit test cases [here](./docs/test_cases.md) To see what `clang-uml` can do so far, checkout the diagrams generated for unit
and examples in [clang-uml-examples](https://github.com/bkryza/clang-uml-examples) repository. test cases [here](./docs/test_cases.md) and examples in
[clang-uml-examples](https://github.com/bkryza/clang-uml-examples) repository.
More comprehensive documentation can be found [here](./docs/README.md). More comprehensive documentation can be found [here](./docs/README.md).
## Installation ## Installation
Installation instructions for `Linux`, `macos` and `Windows` can be found [here](./docs/installation.md). Installation instructions for `Linux`, `macos` and `Windows` can be found
[here](./docs/installation.md).
## Usage ## Usage
@@ -425,6 +427,7 @@ This project relies on the following great tools:
* [CLI11](https://github.com/CLIUtils/CLI11) - command line parser for C++ * [CLI11](https://github.com/CLIUtils/CLI11) - command line parser for C++
* [inja](https://github.com/pantor/inja) - a template engine for modern C++ * [inja](https://github.com/pantor/inja) - a template engine for modern C++
* [backward-cpp](https://github.com/bombela/backward-cpp) - stack trace pretty printer for C++ * [backward-cpp](https://github.com/bombela/backward-cpp) - stack trace pretty printer for C++
* [yaml-cpp](https://github.com/jbeder/yaml-cpp) - YAML parser library for C++
## Contributing ## Contributing

View File

@@ -22,6 +22,7 @@ toc:
$(UPDATE_TOC) class_diagrams.md $(UPDATE_TOC) class_diagrams.md
$(UPDATE_TOC) comment_decorators.md $(UPDATE_TOC) comment_decorators.md
$(UPDATE_TOC) common_options.md $(UPDATE_TOC) common_options.md
$(UPDATE_TOC) generator_types.md
$(UPDATE_TOC) configuration_file.md $(UPDATE_TOC) configuration_file.md
$(UPDATE_TOC) diagram_filters.md $(UPDATE_TOC) diagram_filters.md
$(UPDATE_TOC) doxygen_integration.md $(UPDATE_TOC) doxygen_integration.md

View File

@@ -3,7 +3,8 @@
* [Quick start](./quick_start.md) * [Quick start](./quick_start.md)
* [Installation](./installation.md) * [Installation](./installation.md)
* Generating diagrams * Generating diagrams
* [Common options](./common_options.md) * [Common options](./common_options.md)
* [Generator types](./generator_types.md)
* [Class diagrams](./class_diagrams.md) * [Class diagrams](./class_diagrams.md)
* [Sequence diagrams](./sequence_diagrams.md) * [Sequence diagrams](./sequence_diagrams.md)
* [Package diagrams](./package_diagrams.md) * [Package diagrams](./package_diagrams.md)

22
docs/generator_types.md Normal file
View File

@@ -0,0 +1,22 @@
# Generator types
<!-- toc -->
* [PlantUML](#plantuml)
* [JSON](#json)
<!-- tocstop -->
Currently, there are 2 types of diagram generators: `plantuml` and `json`.
## PlantUML
Generates UML diagrams in textual PlantUML format, which can then
be converted to various image formats.
## JSON
Generates a JSON representation of the intermediate `clang-uml` model, which
can be used for scripting, integrations as well as analysing the code base
or even generating diagrams in other formats.

View File

@@ -56,7 +56,7 @@ To add an initial class diagram to your project, follow these steps:
- another_diagram [sequence] - another_diagram [sequence]
- some_class_diagram [class] - some_class_diagram [class]
``` ```
7. Generate only the new diagram: 7. Generate only the new diagram in JSON format:
```bash ```bash
clang-uml -n another_diagram clang-uml -n another_diagram -g json
``` ```