port graphs to graphviz
continuous-integration/drone/push Build is passing Details

This commit is contained in:
LordMZTE 2021-04-09 21:26:15 +02:00
parent 4aa8d6fadf
commit 2e5b9be7c6
7 changed files with 193 additions and 100 deletions

View File

@ -2,9 +2,8 @@ kind: pipeline
name: release
steps:
- name: build
image: minlag/mermaid-cli
image: hamroctopus/graphviz:2.38.0
commands:
- apt install make
- make
- name: publish

View File

@ -1,7 +1,21 @@
THEME=neutral
BACKGROUND_COLOR=\\\#333333
BASE_ATTRS=\
color=white \
fontcolor=white
MMDC_BASE_CMD=mmdc --theme $(THEME) --backgroundColor $(BACKGROUND_COLOR) --puppeteerConfigFile ./puppeteer-config.json
GRAPH_ATTRS=\
$(BASE_ATTRS) \
bgcolor=gray8 \
NODE_ATTRS=\
$(BASE_ATTRS)
EDGE_ATTRS=\
$(BASE_ATTRS)
DOT_BASE_CMD=dot \
$(patsubst %,-G%,$(GRAPH_ATTRS)) \
$(patsubst %,-N%,$(NODE_ATTRS)) \
$(patsubst %,-E%,$(EDGE_ATTRS))
.PHONY: All
All: build/de.png build/de.svg build/en.png build/en.svg
@ -10,10 +24,11 @@ All: build/de.png build/de.svg build/en.png build/en.svg
clean:
rm -rf build
build/%.svg: %.mmd
build/%.svg: %.dot
@mkdir -p $(@D)
$(MMDC_BASE_CMD) -i $< -o $@
$(DOT_BASE_CMD) -Tsvg $< -o $@
build/%.png: %.mmd
build/%.png: %.dot
@mkdir -p $(@D)
$(MMDC_BASE_CMD) -i $< -o $@ -w 2000
$(DOT_BASE_CMD) -Tpng $< -o $@

85
de.dot Normal file
View File

@ -0,0 +1,85 @@
digraph langchart {
{
rank = same;
node [shape=hexagon];
v_bad [label="Die Sprache ist absoluter Dreck! Sofort entsorgen!"];
bad [label="Die Sprache taugt nichts!"];
acceptable [label="Die Sprache ist akzeptabel"];
good [label="Die Sprache ist gut"];
v_good [label="Die Sprache ist geil!"];
}
n_0 [shape=house, label="Ist diese Programmiersprache gut?"];
n_1 [label="Ist die Sprache interpretiert?"];
n_0 -> n_1;
n_2 [label="Wird die Sprache für embedded-scripting verwendet?"];
subgraph cluster0 {
label="Embedded Scripting";
color=white;
n_4 [label="Wird die Sprache in einem sehr komplexem Programm wie einem Browser als Scriptsprache verwendet?"];
n_2 -> n_4 [label="Ja"];
n_5 [shape=parallelogram, label="VM Sprache verwenden"];
n_4 -> n_5 [label="Ja"];
}
n_2 -> v_bad [label="Nein"];
n_5 -> bad;
n_4 -> n_6 [label="Nein"];
n_1 -> n_3 [label="Nein"];
n_1 -> n_2 [label="Ja"];
n_3 [label="Hat die Sprache dynamische Typen?"];
n_6 [label="Hat die Sprache whitespace-dependant Syntax?"];
n_3 -> v_bad [label="Ja"];
n_3 -> n_6 [label="Nein"];
n_6 -> v_bad [label="Ja"];
n_7 [label="Funktioniert diese Sprache VOLLSTÄNDIG auf Linux?"];
n_6 -> n_7 [label="Nein"];
n_7 -> v_bad [label="Nein"];
n_8 [label="Wurde die Sprache von Microsoft entwickelt?"];
n_8 -> v_bad [label="Ja"];
n_7 -> n_8 [label="Ja"];
n_9 [label="Ist die GESAMTE Toolchain FOSS?"];
n_8 -> n_9 [label="Nein"];
n_9 -> bad [label="Nein"];
n_10 [label="Wird die Sprache zu einer anderern transpiliert?"];
n_11 [label="Kommen alle Targets der Sprache in diesem Test bei \"Schlecht\" an?"];
n_12 [label="Läuft die Sprache in einer VM?"];
n_9 -> n_10 [label="Ja"];
n_10 -> n_11 [label="Ja"];
n_10 -> n_12 [label="Nein"];
n_11 -> acceptable [label="Ja"];
n_11 -> v_good [label="Nein"];
n_13 [label="Hat die Sprache einen Garbage Collector?"];
n_12 -> n_13 [label="Ja"];
n_13 -> good [label="Ja"];
n_13 -> v_good [label="Nein"];
n_14 [label="Wofür wird die Sprache verwendet?"];
n_12 -> n_14 [label="Nein"];
n_14 -> v_bad [label="CLI App"];
n_14 -> good [label="Embedded Scripting"];
n_14 -> v_good [label="Game Dev"];
}

43
de.mmd
View File

@ -1,43 +0,0 @@
flowchart TD
A[Ist diese Programmiersprache gut?] --> B([Ist die Sprache interpretiert?])
I --> |Nein| SSchlecht{{Die Sprache ist absoluter Dreck! Sofort entsorgen!}}
I --> |Ja| J([Wird die Sprache in einem sehr komplexem Programm wie einem Browser als Scriptsprache verwendet?])
J --> |Ja| K[\VM Sprache verwenden\] --> Schlecht
J --> |Nein| D
B --> |Ja| I([Wird die Sprache für embedded-scripting verwendet?])
B --> |Nein| C([Hat die Sprache dynamische Typen?])
C --> |Ja| SSchlecht
C --> |Nein| D([Hat die Sprache whitespace-dependant Syntax?])
D --> |Ja| SSchlecht
D --> |Nein| E([Funktionierd diese Sprache VOLLSTÄNDIG auf linux?])
E --> |Nein| SSchlecht
E --> |Ja| F([Wurde die Sprache von Microsoft entwickelt?])
F --> |Ja| SSchlecht
F --> |Nein| G([Ist die GESAMTE Toolchain FOSS?])
G --> |Nein| Schlecht{{Die Sprache taugt nichts!}}
G --> |Ja| N([Wird die Sprache zu einer anderern transpiliert?])
N --> |Ja| O(["Kommen alle Targets der sprache in diesem Test bei #quot;schlecht#quot; an?"])
N --> |Nein| H([Läuft die Sprache nur in einer VM?])
O --> |Ja| Ok{{Die Sprache ist akzeptabel}}
O --> |Nein| SGut
H --> |Ja| L([Wofür wird die Sprache verwendet?])
H --> |Nein| M([Hat die Sprache einen Garbage Collector?])
M --> |Ja| Gut{{Die Sprache ist gut}}
M --> |Nein| SGut{{Die Sprache ist geil!}}
L --> |CLI app| SSchlecht
L --> |Embedded Scripting| Gut
L --> |Game Dev| SGut

85
en.dot Normal file
View File

@ -0,0 +1,85 @@
digraph langchart {
{
rank = same;
node [shape=hexagon];
v_bad [label="The language is total Garbage! Immediately dispose of!"];
bad [label="The language is bad!"];
acceptable [label="The language is acceptable"];
good [label="The language is good"];
v_good [label="The language is awesome!"];
}
n_0 [shape=house, label="Is this programming language good?"];
n_1 [label="Is the language interpreted?"];
n_0 -> n_1;
n_2 [label="Is the language used for embedded scripting?"];
subgraph cluster0 {
label="Embedded Scripting";
color=white;
n_4 [label="Is the language used for scripting in a very complex program such as a browser?"];
n_2 -> n_4 [label="Yes"];
n_5 [shape=parallelogram, label="Use VM language"];
n_4 -> n_5 [label="Yes"];
}
n_2 -> v_bad [label="No"];
n_5 -> bad;
n_4 -> n_6 [label="No"];
n_1 -> n_3 [label="No"];
n_1 -> n_2 [label="Yes"];
n_3 [label="Does the language have dynamic types?"];
n_6 [label="Does the language have whitespace-dependant Syntax?"];
n_3 -> v_bad [label="Yes"];
n_3 -> n_6 [label="No"];
n_6 -> v_bad [label="Yes"];
n_7 [label="Does the language COMPLETELY work on linux?"];
n_6 -> n_7 [label="No"];
n_7 -> v_bad [label="No"];
n_8 [label="Has the language been developed by Microsoft?"];
n_8 -> v_bad [label="Yes"];
n_7 -> n_8 [label="Yes"];
n_9 [label="Is the WHOLE Toolchain FOSS?"];
n_8 -> n_9 [label="No"];
n_9 -> bad [label="No"];
n_10 [label="Is the language transpiled to another?"];
n_11 [label="Do all targets of the langauge arrive at \"Bad\" in this test?"];
n_12 [label="Does the language only run in a VM?"];
n_9 -> n_10 [label="Yes"];
n_10 -> n_11 [label="Yes"];
n_10 -> n_12 [label="No"];
n_11 -> acceptable [label="Yes"];
n_11 -> v_good [label="No"];
n_13 [label="Does the language have a Garbage Collector?"];
n_12 -> n_13 [label="Yes"];
n_13 -> good [label="Yes"];
n_13 -> v_good [label="No"];
n_14 [label="What is the language used for?"];
n_12 -> n_14 [label="No"];
n_14 -> v_bad [label="CLI App"];
n_14 -> good [label="Embedded Scripting"];
n_14 -> v_good [label="Game Dev"];
}

43
en.mmd
View File

@ -1,43 +0,0 @@
flowchart TD
A[Is this programming language good?] --> B([Is the language interpreted?])
I --> |No| VBad{{The language is total Garbage! Immediately dispose of!}}
I --> |Yes| J([Is the language used for scripting in a very complex program such as a browser?])
J --> |Yes| K[\Use VM language\] --> Bad
J --> |No| D
B --> |Yes| I([Is the language used for embedded scripting?])
B --> |No| C([Does the language have dynamic types?])
C --> |Yes| VBad
C --> |No| D([Does the language have whitespace-dependant syntax?])
D --> |Yes| VBad
D --> |No| E([Does the language COMPLETELY work on linux?])
E --> |No| VBad
E --> |Yes| F([Has the language been developed by Microsoft?])
F --> |Yes| VBad
F --> |No| G([Is the WHOLE Toolchain FOSS?])
G --> |No| Bad{{The language is bad!}}
G --> |Yes| N([Is the language transpiled to another?])
N --> |Yes| O(["Do all targets of the langauge arrive at #quot;Bad#quot; in this test?"])
N --> |No| H([Does the language only run in a VM?])
O --> |Yes| Ok{{The language is acceptable}}
O --> |No| VGood
H --> |Yes| L([What is the language used for?])
H --> |No| M([Does the language have a Garbage Collector?])
M --> |Yes| Good{{The language is good}}
M --> |No| VGood{{The language is awesome!}}
L --> |CLI app| VBad
L --> |Embedded Scripting| Good
L --> |Game Dev| VGood

View File

@ -1,5 +0,0 @@
{
"args": [
"--no-sandbox"
]
}