exploring-the-testing-hyperpyramid
d2
exploring-the-testing-hyperpyramid | d2 | |
---|---|---|
2 | 92 | |
11 | 15,926 | |
- | 2.0% | |
5.4 | 9.7 | |
about 2 months ago | 2 days ago | |
Kotlin | Go | |
- | Mozilla Public License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
exploring-the-testing-hyperpyramid
-
Architecture diagrams enable better conversations
Http4k, a http library for Kotlin, has an, in my opinion, great way of generating documentation for you [0]. They explain it in more detail in their talk [1] and also have an example repository [2], if you favor to look at code.
[0] https://www.http4k.org/blog/http4k_v5/#tracerbullet_a_brand_...
[1] https://www.youtube.com/watch?v=CrslqbMbaD8
[2] https://github.com/http4k/exploring-the-testing-hyperpyramid
-
http4k at KotlinConf '23: Exploring the Testing Hyperpyramid. aka: Auto-generation of visual documentation from tests
There is also a companion GitHub repo where you can find all of the code.
d2
- NMAP-formatter: convert NMAP results to HTML, CSV, JSON, graphviz (dot), SQLite
- Penrose – Penrose
-
Pikchr: A PIC-like markup language for diagrams in technical documentation
While not embedded in markdown, I like d2 [1]. I can use it with org-babel to embed and view the diagrams on emacs. After using graphviz for years, the visual output seems more polished to me. With that said, I want to give pikchr a try.
[1]:https://d2lang.com/
- Ask HN: How do you build diagrams for the web?
-
Documentation as Code for Cloud - C4 Model & Structurizr
In the next post I'll deep-dive into the D2 language which also has a huge set of features. Stay tuned.
- Inkscape Cloud Architect
-
Nomnoml
That site is created by the maintainers of D2[1], so it might be biased, but I still think D2 has the friendliest syntax of the bunch, including nomnoml.
[1]: https://d2lang.com/
- Software Architecture Tools
- D2: Declarative Diagramming
-
Architecture diagrams enable better conversations
I've been using https://structurizr.com/ to automatically generate C4 diagrams from a model (rather than drawing them by hand). It works well with the approach for written documentation as proposed in https://arc42.org/. It's very easy to embed a C4 diagram into a markdown document.
The result is a set of documents and diagrams under version control that can be rendered using the structurizr documentation server (for interactive diagrams and indexed search).
I also use https://d2lang.com/ for declarative diagrams in addition to C4, e.g., sequence diagrams and https://adr.github.io/ for architectural decision records. These are also well integrated into structurizr.
What are some alternatives?
architecture-decision
mermaid - Generation of diagrams like flowcharts or sequence diagrams from text in a similar manner as markdown
arc42.org-site - (jekyll-based) website for arc42.org - the template for communicating software architectures.
C4-PlantUML - C4-PlantUML combines the benefits of PlantUML and the C4 model for providing a simple way of describing and communicate software architectures
java - Structurizr for Java
d3 - Bring data to life with SVG, Canvas and HTML. :bar_chart::chart_with_upwards_trend::tada:
architecture_decision_record - Architecture decision record (ADR) examples for software planning, IT leadership, and template documentation
Mermaid - Edit, preview and share mermaid charts/diagrams. New implementation of the live editor.
Diagon - Interactive ASCII art diagram generators. :star2:
diagrams - :art: Diagram as Code for prototyping cloud system architectures
structurizr-site-generatr - Static site generator for architecture models created with Structurizr DSL
mermaid-cli - Command line tool for the Mermaid library