• Stars
    star
    1,619
  • Rank 28,903 (Top 0.6 %)
  • Language
    C++
  • License
    MIT License
  • Created almost 7 years ago
  • Updated about 1 month ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Interactive ASCII art diagram generators. ๐ŸŒŸ

Diagon

logo

Diagon is an interactive interpreter. It transforms markdown-style expression into an ascii-art representation.

It is written in C++ and use WebAssembly, HTML and CSS to make a Web Application. We also expose a command line interface, for personal and 3rd party tools.

Web application

https://arthursonzogni.com/Diagon/

Command line interface

Diagon is also usable as a command line tool. For instance:

echo "1+1/2 + sum(i,0,10) = 113/2" | diagon Math
            10         
          ___        
      1   โ•ฒ       113
  1 + โ”€ + โ•ฑ   i = โ”€โ”€โ”€
      2   โ€พโ€พโ€พ      2 
           0         

To use it, you can either compile it from source or use the precompiled binaries published on the snapstore:

sudo snap install diagon

snapstore Get it from the Snap Store

IDE plugins

Make diagon easy to use inside your IDE. Thanks to contributors:

https://arthursonzogni.com/Diagon/

Table of content

Generators

Mathematic Expression

input:

f(x) = 1 + x / (1 + x)

output (Unicode):

             x  
f(x) = 1 + โ”€โ”€โ”€โ”€โ”€
           1 + x

input:

sqrt(1+sqrt(1+x/2))

output (Unicode)

     _____________
    โ•ฑ        _____
   โ•ฑ        โ•ฑ    x
  โ•ฑ  1 +   โ•ฑ 1 + โ”€
โ•ฒโ•ฑ       โ•ฒโ•ฑ      2

input:

f(x) = 1 + x^2 + x^3 + x^(1+1/2)

output (Unicode):

                      โŽ›    1โŽž
                      โŽœ1 + โ”€โŽŸ
            2    3    โŽ    2โŽ 
f(x) = 1 + x  + x  + x       

input:

sum(i^2,i=0,n) = n^3/2+n^2/2+n/6

output (Unicode):

  n                   
 ___        3    2    
 โ•ฒ     2   n    n    n
 โ•ฑ    i  = โ”€โ”€ + โ”€โ”€ + โ”€
 โ€พโ€พโ€พ        2    2   6
i = 0                 

input:

int(x^2/2 * dx ,0,1) = 1/6

output (Unicode):

1            
โŒ   2         
โŽฎ x         1
โŽฎ โ”€โ”€ โ‹… dx = โ”€
โŒก  2        6
0            

input:

[a;b] + [c;d] = [a+c; b+d]

output (Unicode):

โŽ›aโŽž   โŽ›cโŽž   โŽ›a + cโŽž
โŽœ โŽŸ + โŽœ โŽŸ = โŽœ     โŽŸ
โŽbโŽ    โŽdโŽ    โŽb + dโŽ 

input:

[1,2;3,4] * [x;y] = [1*x+2*y; 3*x+4*y]
โŽ›1 2โŽž   โŽ›xโŽž   โŽ›1 โ‹… x + 2 โ‹… yโŽž
โŽœ   โŽŸ โ‹… โŽœ โŽŸ = โŽœ             โŽŸ
โŽ3 4โŽ    โŽyโŽ    โŽ3 โ‹… x + 4 โ‹… yโŽ 
Sequence Diagram

Sequence Diagram

input

Alice -> Bob: Hello Bob!
Alice <- Bob: Hello Alice!

Output (Unicode)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”       โ”Œโ”€โ”€โ”€โ”
โ”‚Aliceโ”‚       โ”‚Bobโ”‚
โ””โ”€โ”€โ”ฌโ”€โ”€โ”˜       โ””โ”€โ”ฌโ”€โ”˜
   โ”‚            โ”‚  
   โ”‚ Hello Bob! โ”‚  
   โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>โ”‚  
   โ”‚            โ”‚  
   โ”‚Hello Alice!โ”‚  
   โ”‚<โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚  
โ”Œโ”€โ”€โ”ดโ”€โ”€โ”       โ”Œโ”€โ”ดโ”€โ”
โ”‚Aliceโ”‚       โ”‚Bobโ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”˜       โ””โ”€โ”€โ”€โ”˜

Input

Renderer -> Browser: BeginNavigation()
Browser -> Network: URLRequest()
Browser <- Network: URLResponse()
Renderer <- Browser: CommitNavigation()
Renderer -> Browser: DidCommitNavigation()

Output (Unicode)

 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”            โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚Rendererโ”‚            โ”‚Browserโ”‚     โ”‚Networkโ”‚
 โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜            โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜
     โ”‚                     โ”‚             โ”‚    
     โ”‚  BeginNavigation()  โ”‚             โ”‚    
     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>โ”‚             โ”‚    
     โ”‚                     โ”‚             โ”‚    
     โ”‚                     โ”‚URLRequest() โ”‚    
     โ”‚                     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>โ”‚    
     โ”‚                     โ”‚             โ”‚    
     โ”‚                     โ”‚URLResponse()โ”‚    
     โ”‚                     โ”‚<โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚    
     โ”‚                     โ”‚             โ”‚    
     โ”‚ CommitNavigation()  โ”‚             โ”‚    
     โ”‚<โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚             โ”‚    
     โ”‚                     โ”‚             โ”‚    
     โ”‚DidCommitNavigation()โ”‚             โ”‚    
     โ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€>โ”‚             โ”‚    
 โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”            โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”     โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”
 โ”‚Rendererโ”‚            โ”‚Browserโ”‚     โ”‚Networkโ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜            โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Input

1) Renderer -> Browser: Message 1
2) Renderer <- Browser: Message 2

Renderer: 1<2
Browser: 2<1

Output (Unicode)

 โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚Rendererโ”‚โ”‚Browserโ”‚
 โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜
     โ”‚         โ”‚    
     โ”‚โ”€โ”€โ”      โ”‚    
     โ”‚Message 2โ”‚    
     โ”‚<โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚    
     โ”‚  โ”‚      โ”‚    
     โ”‚Message 1โ”‚    
     โ”‚  โ””โ”€โ”€โ”€โ”€โ”€>โ”‚    
 โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”
 โ”‚Rendererโ”‚โ”‚Browserโ”‚
 โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Tree

Input

Linux
  Android
  Debian
    Ubuntu
      Lubuntu
      Kubuntu
      Xubuntu
      Xubuntu
    Mint
  Centos
  Fedora

Output (Style Unicode 1)

Linux
 โ”œโ”€Android
 โ”œโ”€Debian
 โ”‚  โ”œโ”€Ubuntu
 โ”‚  โ”‚  โ”œโ”€Lubuntu
 โ”‚  โ”‚  โ”œโ”€Kubuntu
 โ”‚  โ”‚  โ”œโ”€Xubuntu
 โ”‚  โ”‚  โ””โ”€Xubuntu
 โ”‚  โ””โ”€Mint
 โ”œโ”€Centos
 โ””โ”€Fedora

Output (Style ASCII 2)

Linux
 +--Android
 +--Debian
 |   +--Ubuntu
 |   |   +--Lubuntu
 |   |   +--Kubuntu
 |   |   +--Xubuntu
 |   |   `--Xubuntu
 |   `--Mint
 +--Centos
 `--Fedora

Output (Style Unicode right top)

โ”€โ”€โ”€Linuxโ”€โ”ฌโ”€Android
         โ”œโ”€Debianโ”€โ”ฌโ”€Ubuntuโ”€โ”ฌโ”€Lubuntu
         โ”‚        โ”‚        โ”œโ”€Kubuntu
         โ”‚        โ”‚        โ”œโ”€Xubuntu
         โ”‚        โ”‚        โ””โ”€Xubuntu
         โ”‚        โ””โ”€Mint
         โ”œโ”€Centos
         โ””โ”€Fedora

Output (Style Unicode right center)

         โ”Œโ”€Android
         โ”‚                 โ”Œโ”€Lubuntu
         โ”‚                 โ”œโ”€Kubuntu
         โ”œโ”€Debianโ”€โ”ฌโ”€Ubuntuโ”€โ”ผโ”€Xubuntu
โ”€โ”€โ”€Linuxโ”€โ”ค        โ”‚        โ””โ”€Xubuntu
         โ”‚        โ””โ”€Mint
         โ”œโ”€Centos
         โ””โ”€Fedora
Frame

Input

#include <iostream>
using namespace std;

int main() 
{
    cout << "Hello, World!";
    return 0;
}

Output

โ”Œโ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚1โ”‚#include <iostream>         โ”‚
โ”‚2โ”‚using namespace std;        โ”‚
โ”‚3โ”‚                            โ”‚
โ”‚4โ”‚int main()                  โ”‚
โ”‚5โ”‚{                           โ”‚
โ”‚6โ”‚    cout << "Hello, World!";โ”‚
โ”‚7โ”‚    return 0;               โ”‚
โ”‚8โ”‚}                           โ”‚
โ””โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
Table

Input

Column 1,Column 2,Column 3
C++,Web,Assembly
Javascript,CSS,HTML

Output (Style Unicode)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚Column 1  โ”‚Column 2โ”‚Column 3โ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚C++       โ”‚Web     โ”‚Assemblyโ”‚
โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค
โ”‚Javascriptโ”‚CSS     โ”‚HTML    โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ดโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
GraphPlanar

Input

if -> "then A" -> end
if -> "then B" -> end
end -> loop -> if

Output (Unicode)

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”     
โ”‚    if    โ”‚     
โ””โ–ณโ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”˜     
 โ”‚ โ”‚     โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ โ”‚     โ”‚then Aโ”‚
 โ”‚ โ”‚     โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”โ”‚      
 โ”‚โ”‚then Bโ”‚โ”‚      
 โ”‚โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜โ”‚      
 โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ”    
 โ”‚โ”‚   end   โ”‚    
 โ”‚โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜    
โ”Œโ”ดโ”€โ–ฝโ”€โ”           
โ”‚loopโ”‚           
โ””โ”€โ”€โ”€โ”€โ”˜           
GraphDAG

Input:

socks -> shoes    
underwear -> shoes
underwear -> pants
pants -> shoes    
pants -> belt     
belt -> jacket    
shirt -> belt     
shirt -> tie      
tie -> jacket     

Output:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”Œโ”€โ”€โ”€โ”€โ”€โ”     
โ”‚socksโ”‚โ”‚underwearโ”‚โ”‚shirtโ”‚     
โ””โ”ฌโ”€โ”€โ”€โ”€โ”˜โ””โ”ฌโ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”ฌโ”€โ”ฌโ”€โ”€โ”˜     
 โ”‚      โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”  โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚      โ”‚โ”‚pants โ”‚  โ”‚โ”‚tie     โ”‚
 โ”‚      โ”‚โ””โ”ฌโ”€โ”€โ”ฌโ”€โ”€โ”˜  โ”‚โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ–ฝโ”โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ–ฝโ”โ”‚        
โ”‚shoes     โ”‚โ”‚belt   โ”‚โ”‚        
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ”‚        
โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”       
โ”‚jacket               โ”‚       
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜       

Input:

chrome -> content  
chrome -> blink    
chrome -> base     
                   
content -> blink   
content -> net     
content -> base    
                   
blink -> v8        
blink -> CC        
blink -> WTF       
blink -> skia      
blink -> base      
blink -> net       
                   
weblayer -> content
weblayer -> chrome 
weblayer -> base   
                   
net -> base        
WTF -> base        

Output

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”                     
โ”‚weblayerโ”‚                     
โ””โ”ฌโ”€โ”ฌโ”€โ”ฌโ”€โ”€โ”€โ”˜                     
 โ”‚ โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
 โ”‚ โ”‚โ”‚chrome                   โ”‚
 โ”‚ โ”‚โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”˜
 โ”‚โ”Œโ–ฝโ”€โ–ฝโ”€โ”€โ”€โ”€โ”โ”‚                 โ”‚ 
 โ”‚โ”‚contentโ”‚โ”‚                 โ”‚ 
 โ”‚โ””โ”ฌโ”€โ”ฌโ”€โ”ฌโ”€โ”€โ”˜โ”‚                 โ”‚ 
 โ”‚ โ”‚ โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ”‚ 
 โ”‚ โ”‚ โ”‚โ”‚blink              โ”‚  โ”‚ 
 โ”‚ โ”‚ โ”‚โ””โ”ฌโ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”˜  โ”‚ 
 โ”‚ โ”‚โ”Œโ–ฝโ”€โ–ฝโ”โ”Œโ–ฝโ”€โ”€โ”โ”‚โ”Œโ–ฝโ”€โ”โ”Œโ–ฝโ”€โ”โ”Œโ–ฝโ”€โ”€โ”€โ”โ”‚ 
 โ”‚ โ”‚โ”‚netโ”‚โ”‚WTFโ”‚โ”‚โ”‚v8โ”‚โ”‚CCโ”‚โ”‚skiaโ”‚โ”‚ 
 โ”‚ โ”‚โ””โ”ฌโ”€โ”€โ”˜โ””โ”ฌโ”€โ”€โ”˜โ”‚โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”˜โ””โ”€โ”€โ”€โ”€โ”˜โ”‚ 
โ”Œโ–ฝโ”€โ–ฝโ”€โ–ฝโ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”
โ”‚base                         โ”‚
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Input:

random -> pool_urbg              
random -> nonsecure_base         
random -> seed_sequence          
random -> distribution           
                                 
nonsecure_base -> pool_urbg      
nonsecure_base -> salted_seed_seq
                                 
seed_sequence -> pool_urbg       
seed_sequence -> salted_seed_seq 
seed_sequence -> seed_material   
                                 
distribution -> strings          
                                 
pool_urbg -> seed_material       
                                 
salted_seed_seq -> seed_material 
                                 
seed_material -> strings         

Output:

โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”             
โ”‚random                         โ”‚             
โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”ฌโ”˜             
โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”โ”‚โ”Œโ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
โ”‚distributionโ”‚โ”‚seed_sequenceโ”‚โ”‚โ”‚nonsecure_baseโ”‚
โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”ฌโ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”˜โ”‚โ””โ”ฌโ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜
 โ”‚             โ”‚  โ”Œโ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ”€โ”‚โ”€โ”‚โ”˜             
 โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜  โ”‚โ”‚       โ”‚ โ”‚โ”Œโ”˜              
 โ”‚ โ”‚โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ–ฝโ”โ”Œโ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ–ฝโ–ฝโ”              
 โ”‚ โ”‚โ”‚salted_seed_seqโ”‚โ”‚pool_urbgโ”‚              
 โ”‚ โ”‚โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜              
 โ”‚โ”Œโ–ฝโ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”                      
 โ”‚โ”‚seed_material       โ”‚                      
 โ”‚โ””โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                      
โ”Œโ–ฝโ”€โ–ฝโ”€โ”€โ”€โ”€โ”                                     
โ”‚stringsโ”‚                                     
โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                     
Flowchart

Input:

if ("DO YOU UNDERSTAND FLOW CHARTS?")                
  "GOOD!";                                           
else if ("OKAY, YOU SEE THE LINE LABELED 'YES'?") {  
  if ("... AND YOU CAN SEE THE ONES LABELED 'NO'?") {
    "GOOD";                                          
  } else {                                           
    if ("BUT YOU JUST FOLLOWED THEM TWICE?")         
      noop;                                          
    else                                             
      noop;                                          
    "(THAT WASN'T A QUESTION)";                      
    "SCREW IT"                                       
  }                                                  
} else {                                             
  if ("BUT YOU SEE THE ONES LABELED 'NO'?") {        
    return "WAIT, WHAT?";                            
  } else {                                           
    "LISTEN.";                                       
    return "I HATE YOU";                             
  }                                                  
}                                                    
                                                     
"LET'S GO DRING";                                    
"HEY, I SHOULD TRY INSTALLING FREEBSD!"              

Output:

   _________________                                                              
  โ•ฑ                 โ•ฒ                                                     โ”Œโ”€โ”€โ”€โ”€โ”€โ” 
 โ•ฑ DO YOU UNDERSTAND โ•ฒ____________________________________________________โ”‚GOOD!โ”‚ 
 โ•ฒ FLOW CHARTS?      โ•ฑyes                                                 โ””โ”€โ”€โ”ฌโ”€โ”€โ”˜ 
  โ•ฒ_________________โ•ฑ                                                        โ”‚    
           โ”‚no                                                               โ”‚    
  _________โ–ฝ_________                    ______________________              โ”‚    
 โ•ฑ                   โ•ฒ                  โ•ฑ                      โ•ฒ    โ”Œโ”€โ”€โ”€โ”€โ”   โ”‚    
โ•ฑ OKAY, YOU SEE THE   โ•ฒ________________โ•ฑ ... AND YOU CAN SEE    โ•ฒ___โ”‚GOODโ”‚   โ”‚    
โ•ฒ LINE LABELED 'YES'? โ•ฑyes             โ•ฒ THE ONES LABELED 'NO'? โ•ฑyesโ””โ”€โ”€โ”ฌโ”€โ”˜   โ”‚    
 โ•ฒ___________________โ•ฑ                  โ•ฒ______________________โ•ฑ       โ”‚     โ”‚    
           โ”‚no                                     โ”‚no                 โ”‚     โ”‚    
   ________โ–ฝ_________                     _________โ–ฝ__________         โ”‚     โ”‚    
  โ•ฑ                  โ•ฒ    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”  โ•ฑ                    โ•ฒ        โ”‚     โ”‚    
 โ•ฑ BUT YOU SEE THE    โ•ฒ___โ”‚WAIT, WHAT?โ”‚ โ•ฑ BUT YOU JUST         โ•ฒ___    โ”‚     โ”‚    
 โ•ฒ ONES LABELED 'NO'? โ•ฑyesโ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ•ฒ FOLLOWED THEM TWICE? โ•ฑyesโ”‚   โ”‚     โ”‚    
  โ•ฒ__________________โ•ฑ                   โ•ฒ____________________โ•ฑ    โ”‚   โ”‚     โ”‚    
           โ”‚no                                     โ”‚no             โ”‚   โ”‚     โ”‚    
       โ”Œโ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”                                   โ”‚               โ”‚   โ”‚     โ”‚    
       โ”‚LISTEN.โ”‚                                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜   โ”‚     โ”‚    
       โ””โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜                                    โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”     โ”‚     โ”‚    
     โ”Œโ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”                                   โ”‚(THAT WASN'Tโ”‚     โ”‚     โ”‚    
     โ”‚I HATE YOUโ”‚                                   โ”‚A QUESTION) โ”‚     โ”‚     โ”‚    
     โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜                                   โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚     โ”‚    
                                                      โ”Œโ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”       โ”‚     โ”‚    
                                                      โ”‚SCREW ITโ”‚       โ”‚     โ”‚    
                                                      โ””โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”˜       โ”‚     โ”‚    
                                                           โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜     โ”‚    
                                                                 โ”‚           โ”‚    
                                                                 โ””โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”˜    
                                                               โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”   
                                                               โ”‚LET'S GO DRINGโ”‚   
                                                               โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”˜   
                                                             โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–ฝโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”
                                                             โ”‚HEY, I SHOULD TRY  โ”‚
                                                             โ”‚INSTALLING FREEBSD!โ”‚
                                                             โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜

Download packages

Binaries using multiple formats are provided in the release section.

Build

This depends on cmake, uuid-dev and libboost-graph-dev On Linux:

sudo apt install make uuid-dev libboost-graph-dev cmake default-jdk;
mkdir build;
cd build;
cmake .. -DCMAKE_BUILD_TYPE=Release
make -j
sudo make install 

Packaging status

Packaging status

diagon

Thanks

This project has been possible thanks to these great projects

More Repositories

1

FTXUI

๐Ÿ’ป C++ Functional Terminal User Interface. โค๏ธ
C++
6,828
star
2

json-tui

A JSON terminal UI made in C++
C++
342
star
3

OpenGL_CMake_Skeleton

โค๏ธ A ready to use cmake skeleton using GLFW, Glew and glm. ๐Ÿ‘
C++
287
star
4

git-tui

Collection of human friendly terminal interface for git.
C++
138
star
5

smk

SMK - Simple multimedia kit - C++ WebAssembly
C++
126
star
6

rgb-tui

Create and get colors code from the terminal using a nice interface.
C++
82
star
7

nlohmann_json_cmake_fetchcontent

A lightweight Release-tracking repository for nlohmann/json. Suitable for CMake fetchcontent. Automatically upgraded every weeks.
C++
78
star
8

ftxui-starter

A starter project using the FTXUI library
HTML
73
star
9

smkflow

A C++ dataflow node editor -- Compatible with WebAssembly.
C++
64
star
10

asm-dom-cmake

Virtual dom for C++ using asm-dom and cmake
CMake
25
star
11

FluidScripten

HTML fluid simulation using Emscripten, C++, cmake.
C++
24
star
12

CppBot

Portable C++ tools for bot creations : keyboard and mouse event generations, screen capture !
C++
23
star
13

chrome-log-beautifier

Make Chrome log fancy. Demultiplex by process/thread + colorize.
C++
17
star
14

termBreaker

C++
16
star
15

CommitTracker

A D3 visualisations of web browsers commits
Vue
14
star
16

gcloud-cpp-starter

[Starter project] web server & client. Fully C++/WebAssembly. Server runs on google cloud function. Client uses a C++ virtual dom.
C++
12
star
17

IceMaze

WebAssembly game: a sliding block adventure.
C++
12
star
18

light-flow-editor

A raytracer of implicit geometry bundled with a Node based editor.
C++
10
star
19

ANTLR-cmake-starter

โค๏ธ A ready to use CMake + ANTLR simple starter with not dependencies. ๐Ÿ‘
C++
10
star
20

InTheCube

The webassembly port of InTheCube
C++
9
star
21

pigami

A rolling block game
C++
8
star
22

cmake-Qt5-example

A simple example with Qt 5 and CMake
C++
7
star
23

OpenGL_CMake_Skeleton_WebAssembly

โค๏ธ A ready to use cmake OpenGL skeleton supporting WebAssembly using GLFW, Glew and glm. ๐Ÿ‘
C++
6
star
24

postwimp

Volumic 3D painting
C++
5
star
25

smk-starter

A starter project for the SMK library.
C++
5
star
26

neovim-configuration

my personal neovim configuration
Lua
3
star
27

learn-webgpu

C++
3
star
28

ANTLR-cmake-Emscripten-starter

โค๏ธ A ready to use CMake + ANTLR + Emscripten (WebAssembly) simple starter with not dependencies. ๐Ÿ‘
C++
3
star
29

gn

Mirror of the GN build system repository. Updated daily. https://gn.googlesource.com/gn/
C++
3
star
30

dawn

Mirror of the dawn (WebGPU) repository. Updated daily.
C++
3
star
31

wasm-simd-instruction-list

2
star
32

Animation3D-Ensimag-Starter

TP d'animation 3D
C++
2
star
33

Terra

A 3D world constructor using C++, OpenGL and SFML
C++
2
star
34

chromiumos-platform2

Mirror of the chromiumos/platform2 repository. Updated daily.
C++
1
star
35

wgpu-starter

Saving of my first working webgpu project in C++
C++
1
star
36

neural-webgpu

Testing webgpu for building neural networks.
C++
1
star
37

EnsimagZenithPlus

Script Greasmonkey apportant diverses amรฉliorations au ZENITH de l'Ensimag.
JavaScript
1
star
38

ftxui-window

C++
1
star
39

GPGPU-HPC

C++
1
star
40

StrangeMansion

C++
1
star
41

asm-dom-starter

๐Ÿ’ฅ An example with asm-dom (virtual HTML dom with C++)
JavaScript
1
star
42

Parallel

A 2D game about the same character in 2 different parallale world. You play both of them at the same time.
C++
1
star
43

chrome-dangling-ptr-apply-edit

C++
1
star
44

ChromeDanglingUntriagedTracker

C++
1
star
45

vim-configuration

My vim configuration
Vim Script
1
star
46

PartitionAlloc

Mirror of the chromium partition_alloc repository. Updated daily.
C++
1
star
47

webgpu-dawn-cmake-test

I am testing dawn - https://dawn.googlesource.com/dawn
C++
1
star
48

ChromeSpanificationTracker

C++
1
star
49

SyntheseImage

C++
1
star