Compare commits
8 commits
Author | SHA1 | Date | |
---|---|---|---|
1a9e1b0a01 | |||
a2fd169fea | |||
8b3762ded6 | |||
2e5b9be7c6 | |||
4aa8d6fadf | |||
23d36d8705 | |||
e20bd612c5 | |||
58a638be2c |
7 changed files with 222 additions and 84 deletions
|
@ -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
|
||||
|
|
56
Makefile
56
Makefile
|
@ -1,14 +1,60 @@
|
|||
DARK_BASE_ATTRS=\
|
||||
color=white \
|
||||
fontcolor=white
|
||||
|
||||
DARK_GRAPH_ATTRS=\
|
||||
$(DARK_BASE_ATTRS) \
|
||||
bgcolor=gray8
|
||||
|
||||
DARK_NODE_ATTRS=\
|
||||
$(DARK_BASE_ATTRS)
|
||||
|
||||
DARK_EDGE_ATTRS=\
|
||||
$(DARK_BASE_ATTRS)
|
||||
|
||||
|
||||
BASE_ATTRS=\
|
||||
fontname="sans-serif"
|
||||
|
||||
GRAPH_ATTRS=\
|
||||
$(BASE_ATTRS) \
|
||||
|
||||
NODE_ATTRS=\
|
||||
$(BASE_ATTRS)
|
||||
|
||||
EDGE_ATTRS=\
|
||||
$(BASE_ATTRS)
|
||||
|
||||
DOT_BASE_CMD=dot \
|
||||
$(patsubst %,-G%,$(GRAPH_ATTRS)) \
|
||||
$(patsubst %,-N%,$(NODE_ATTRS)) \
|
||||
$(patsubst %,-E%,$(EDGE_ATTRS))
|
||||
|
||||
DARK_CMD_EXT=\
|
||||
$(patsubst %,-G%,$(DARK_GRAPH_ATTRS)) \
|
||||
$(patsubst %,-N%,$(DARK_NODE_ATTRS)) \
|
||||
$(patsubst %,-E%,$(DARK_EDGE_ATTRS))
|
||||
|
||||
DOT_CMD=$(shell if [[ -v "LIGHT_MODE" ]]; then echo "$(DOT_BASE_CMD)"; else echo "$(DOT_BASE_CMD) $(DARK_CMD_EXT)"; fi)
|
||||
|
||||
BUILD_PATH_PREFIX=$(shell if [[ -v "LIGHT_MODE" ]]; then echo "light/"; fi)
|
||||
|
||||
.PHONY: All
|
||||
All: build/de.png build/de.svg build/en.png build/en.svg
|
||||
All:\
|
||||
$(BUILD_PATH_PREFIX)build/de.png \
|
||||
$(BUILD_PATH_PREFIX)build/de.svg \
|
||||
$(BUILD_PATH_PREFIX)build/en.png \
|
||||
$(BUILD_PATH_PREFIX)build/en.svg
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
rm -rf build
|
||||
|
||||
build/%.svg: %.mmd
|
||||
$(BUILD_PATH_PREFIX)build/%.svg: %.dot
|
||||
@mkdir -p $(@D)
|
||||
mmdc -i $< -o $@ -p ./puppeteer-config.json
|
||||
$(DOT_CMD) -Tsvg $< -o $@
|
||||
|
||||
build/%.png: %.mmd
|
||||
$(BUILD_PATH_PREFIX)build/%.png: %.dot
|
||||
@mkdir -p $(@D)
|
||||
mmdc -i $< -o $@ -w 2000 -p ./puppeteer-config.json
|
||||
$(DOT_CMD) -Tpng $< -o $@
|
||||
|
||||
|
|
85
de.dot
Normal file
85
de.dot
Normal 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";
|
||||
|
||||
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="Nein"];
|
||||
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="Ja"];
|
||||
n_14 -> v_bad [label="CLI App"];
|
||||
n_14 -> good [label="Embedded Scripting"];
|
||||
n_14 -> v_good [label="Game Dev"];
|
||||
n_14 -> acceptable [label="GUI App"];
|
||||
}
|
||||
|
36
de.mmd
36
de.mmd
|
@ -1,36 +0,0 @@
|
|||
flowchart TD
|
||||
A[Ist diese Programmiersprache gut?] --> B([Ist die Sprache interpretiert?])
|
||||
|
||||
I --> |Nein| Schlecht{{Die Sprache ist schlecht, 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| Schlecht
|
||||
C --> |Nein| D([Hat die Sprache whitespace-dependant Syntax?])
|
||||
|
||||
D --> |Ja| Schlecht
|
||||
D --> |Nein| E([Funktionierd diese Sprache VOLLSTÄNDIG auf linux?])
|
||||
|
||||
E --> |Nein| Schlecht
|
||||
E --> |Ja| F([Ist die GESAMTE Toolchain FOSS?])
|
||||
|
||||
F --> |Nein| Schlecht
|
||||
F --> |Ja| G([Wurde die Sprache von Microsoft entwickelt?])
|
||||
|
||||
G --> |Ja| Schlecht
|
||||
G --> |Nein| H([Läuft die Sprache nur in einer VM?])
|
||||
|
||||
H --> |Ja| L([Wird die Sprache für embedded-scripting 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 --> |Nein| Ok{{Die Sprache ist akzeptabel}}
|
||||
L --> |Ja| Gut
|
||||
|
85
en.dot
Normal file
85
en.dot
Normal 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";
|
||||
|
||||
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="No"];
|
||||
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="Yes"];
|
||||
n_14 -> v_bad [label="CLI App"];
|
||||
n_14 -> good [label="Embedded Scripting"];
|
||||
n_14 -> v_good [label="Game Dev"];
|
||||
n_14 -> acceptable [label="GUI App"];
|
||||
}
|
||||
|
36
en.mmd
36
en.mmd
|
@ -1,36 +0,0 @@
|
|||
flowchart TD
|
||||
A[Is this programming language good?] --> B([Is the language interpreted?])
|
||||
|
||||
I --> |No| Bad{{The language is bad, dispose of immediately!}}
|
||||
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| Bad
|
||||
C --> |No| D([Does the language have whitespace-dependant syntax?])
|
||||
|
||||
D --> |Yes| Bad
|
||||
D --> |No| E([Does the language COMPELTELY work on linux?])
|
||||
|
||||
E --> |No| Bad
|
||||
E --> |Yes| F([Is the WHOLE Toolchain FOSS?])
|
||||
|
||||
F --> |No| Bad
|
||||
F --> |Yes| G([Has the language been developed by Microsoft?])
|
||||
|
||||
G --> |Yes| Bad
|
||||
G --> |No| H([Does the language only run in a VM?])
|
||||
|
||||
H --> |Yes| L([Is the language used for embedded scripting?])
|
||||
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 --> |No| Ok{{The language is acceptable}}
|
||||
L --> |Yes| Good
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
{
|
||||
"args": [
|
||||
"--no-sandbox"
|
||||
]
|
||||
}
|
Loading…
Reference in a new issue