|
12 | 12 | # Qu'est-ce que le package markdown |
13 | 13 | Le package markdown est un constructeur de markdown simple en Golang. Le package markdown assemble le Markdown en utilisant le chaînage de méthodes, n'utilise pas un moteur de modèles comme [html/template](https://pkg.go.dev/html/template). La syntaxe de Markdown suit **GitHub Markdown**. |
14 | 14 |
|
15 | | -Le package markdown a été initialement développé pour sauvegarder les résultats de tests dans [nao1215/spectest](https://github.com/nao1215/spectest). Par conséquent, le package markdown implémente les fonctionnalités requises par spectest. Par exemple, le package markdown prend en charge **les diagrammes de séquence mermaid (diagramme de relation d'entité, diagramme de séquence, diagramme de parcours utilisateur, diagramme git graph, diagramme de carte mentale, diagramme d'exigences, graphique XY, diagramme Packet, diagramme Block, organigramme, graphique en secteurs, graphique à quadrants, diagramme d'état, diagramme de classes, diagramme de Gantt, diagramme d'architecture)**, ce qui était une fonctionnalité nécessaire dans spectest. |
| 15 | +Le package markdown a été initialement développé pour sauvegarder les résultats de tests dans [nao1215/spectest](https://github.com/nao1215/spectest). Par conséquent, le package markdown implémente les fonctionnalités requises par spectest. Par exemple, le package markdown prend en charge **les diagrammes de séquence mermaid (diagramme de relation d'entité, diagramme de séquence, diagramme de parcours utilisateur, diagramme git graph, diagramme de carte mentale, diagramme d'exigences, graphique XY, diagramme Packet, diagramme Block, diagramme Kanban, organigramme, graphique en secteurs, graphique à quadrants, diagramme d'état, diagramme de classes, diagramme de Gantt, diagramme d'architecture)**, ce qui était une fonctionnalité nécessaire dans spectest. |
16 | 16 |
|
17 | 17 | De plus, le code complexe qui augmente la complexité de la bibliothèque, tel que la génération de listes imbriquées, ne sera pas ajouté. Je veux garder cette bibliothèque aussi simple que possible. |
18 | 18 |
|
@@ -43,6 +43,7 @@ De plus, le code complexe qui augmente la complexité de la bibliothèque, tel q |
43 | 43 | - [x] graphique XY mermaid |
44 | 44 | - [x] diagramme Packet mermaid |
45 | 45 | - [x] diagramme Block mermaid |
| 46 | +- [x] diagramme Kanban mermaid |
46 | 47 | - [x] diagramme de relation d'entité mermaid |
47 | 48 | - [x] organigramme mermaid |
48 | 49 | - [x] graphique en secteurs mermaid |
@@ -891,6 +892,83 @@ block |
891 | 892 | Backend -- "reads from" --> Cache |
892 | 893 | ``` |
893 | 894 |
|
| 895 | +### Syntaxe du diagramme Kanban Mermaid |
| 896 | + |
| 897 | +```go |
| 898 | +package main |
| 899 | + |
| 900 | +import ( |
| 901 | + "io" |
| 902 | + "os" |
| 903 | + |
| 904 | + "github.com/nao1215/markdown" |
| 905 | + "github.com/nao1215/markdown/mermaid/kanban" |
| 906 | +) |
| 907 | + |
| 908 | +//go:generate go run main.go |
| 909 | + |
| 910 | +func main() { |
| 911 | + diagram := kanban.NewDiagram( |
| 912 | + io.Discard, |
| 913 | + kanban.WithTitle("Sprint Board"), |
| 914 | + kanban.WithTicketBaseURL("https://example.com/tickets/"), |
| 915 | + ). |
| 916 | + Column("Todo"). |
| 917 | + Task("Define scope"). |
| 918 | + Task( |
| 919 | + "Create login page", |
| 920 | + kanban.WithTaskTicket("MB-101"), |
| 921 | + kanban.WithTaskAssigned("Alice"), |
| 922 | + kanban.WithTaskPriority(kanban.PriorityHigh), |
| 923 | + ). |
| 924 | + Column("In Progress"). |
| 925 | + Task("Review API", kanban.WithTaskPriority(kanban.PriorityVeryHigh)). |
| 926 | + String() |
| 927 | + |
| 928 | + if err := markdown.NewMarkdown(os.Stdout). |
| 929 | + H2("Kanban Diagram"). |
| 930 | + CodeBlocks(markdown.SyntaxHighlightMermaid, diagram). |
| 931 | + Build(); err != nil { |
| 932 | + panic(err) |
| 933 | + } |
| 934 | +} |
| 935 | +``` |
| 936 | + |
| 937 | +Sortie de texte brut : [markdown est ici](../kanban/generated.md) |
| 938 | +````text |
| 939 | +## Kanban Diagram |
| 940 | +```mermaid |
| 941 | +--- |
| 942 | +title: Sprint Board |
| 943 | +config: |
| 944 | + kanban: |
| 945 | + ticketBaseUrl: 'https://example.com/tickets/' |
| 946 | +--- |
| 947 | +kanban |
| 948 | + [Todo] |
| 949 | + [Define scope] |
| 950 | + [Create login page]@{ ticket: 'MB-101', assigned: 'Alice', priority: 'High' } |
| 951 | + [In Progress] |
| 952 | + [Review API]@{ priority: 'Very High' } |
| 953 | +``` |
| 954 | +```` |
| 955 | + |
| 956 | +Sortie Mermaid : |
| 957 | +```mermaid |
| 958 | +--- |
| 959 | +title: Sprint Board |
| 960 | +config: |
| 961 | + kanban: |
| 962 | + ticketBaseUrl: 'https://example.com/tickets/' |
| 963 | +--- |
| 964 | +kanban |
| 965 | + [Todo] |
| 966 | + [Define scope] |
| 967 | + [Create login page]@{ ticket: 'MB-101', assigned: 'Alice', priority: 'High' } |
| 968 | + [In Progress] |
| 969 | + [Review API]@{ priority: 'Very High' } |
| 970 | +``` |
| 971 | + |
894 | 972 | ### Syntaxe du diagramme de relation d'entité |
895 | 973 |
|
896 | 974 | ```go |
|
0 commit comments