docviz-builder 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -261,4 +261,64 @@ function c4Id(raw, existing) {
261
261
  n += 1;
262
262
  return `${id}_${n}`;
263
263
  }
264
+ /**
265
+ * `quadrant` con Vega-Lite, cuando no hay navegador para Mermaid.
266
+ *
267
+ * Es el respaldo mas natural del catalogo: un cuadrante **ya es** un grafico de
268
+ * dispersion con dos lineas de referencia en el centro. Cada elemento trae su
269
+ * `x` y su `y`, asi que no hay que aproximar nada; lo unico que se pierde son
270
+ * los nombres de los cuatro cuadrantes, que pasan a los ejes.
271
+ */
272
+ export function vegaQuadrant(doc) {
273
+ const items = requireArray(doc['items'] ?? doc['points'], 'diagram.items');
274
+ const title = optionalString(doc, 'title');
275
+ const ejeX = optionalArray(doc['xAxis'], 'diagram.xAxis').map((v) => String(v));
276
+ const ejeY = optionalArray(doc['yAxis'], 'diagram.yAxis').map((v) => String(v));
277
+ const valores = items.map((raw) => {
278
+ const record = asNamedRecord(raw, 'diagram.items');
279
+ return {
280
+ nombre: requireString(record, 'name', 'diagram.items'),
281
+ x: numeroDe(record['x'], 'diagram.items.x'),
282
+ y: numeroDe(record['y'], 'diagram.items.y'),
283
+ };
284
+ });
285
+ // El titulo de cada eje recoge sus dos extremos, que es donde Mermaid los
286
+ // dibuja: "Bajo esfuerzo -> Alto esfuerzo".
287
+ const tituloEje = (extremos, porDefecto) => extremos.length >= 2 ? `${extremos[0]} → ${extremos[1]}` : (extremos[0] ?? porDefecto);
288
+ const spec = {
289
+ $schema: 'https://vega.github.io/schema/vega-lite/v5.json',
290
+ data: { values: valores },
291
+ layer: [
292
+ {
293
+ mark: { type: 'point', filled: true, size: 120 },
294
+ encoding: {
295
+ x: { field: 'x', type: 'quantitative', scale: { domain: [0, 1] }, title: tituloEje(ejeX, 'x') },
296
+ y: { field: 'y', type: 'quantitative', scale: { domain: [0, 1] }, title: tituloEje(ejeY, 'y') },
297
+ tooltip: { field: 'nombre', type: 'nominal' },
298
+ },
299
+ },
300
+ {
301
+ mark: { type: 'text', align: 'left', dx: 8, dy: -8 },
302
+ encoding: {
303
+ x: { field: 'x', type: 'quantitative' },
304
+ y: { field: 'y', type: 'quantitative' },
305
+ text: { field: 'nombre', type: 'nominal' },
306
+ },
307
+ },
308
+ // Las dos lineas que parten el plano en cuatro.
309
+ { mark: { type: 'rule', strokeDash: [4, 4] }, encoding: { x: { datum: 0.5 } } },
310
+ { mark: { type: 'rule', strokeDash: [4, 4] }, encoding: { y: { datum: 0.5 } } },
311
+ ],
312
+ };
313
+ if (title !== undefined)
314
+ spec['title'] = title;
315
+ return JSON.stringify(spec, null, 2);
316
+ }
317
+ /** Un numero obligatorio dentro de un elemento del cuadrante. */
318
+ function numeroDe(valor, field) {
319
+ const n = typeof valor === 'number' ? valor : Number(valor);
320
+ if (!Number.isFinite(n))
321
+ fail(`${field} debe ser numerico`, `valor recibido: ${String(valor)}`);
322
+ return n;
323
+ }
264
324
  //# sourceMappingURL=fallbacks.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fallbacks.js","sourceRoot":"","sources":["../../src/dsl/fallbacks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fallbacks.js","sourceRoot":"","sources":["../../src/dsl/fallbacks.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "docviz-builder",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "Compila bloques declarativos de diagramas dentro de Markdown a imagenes SVG/PNG, produciendo Markdown estandar y portable.",
5
5
  "keywords": [
6
6
  "diagrams",
@@ -30,25 +30,45 @@ const check = process.argv.includes('--check');
30
30
  // Fragmentos generados
31
31
  // --------------------------------------------------------------------------
32
32
 
33
- const LANGS = [
34
- ['diagram', 'Diagramas — bloque `diagram`'],
35
- ['chart', 'Gráficos — bloque `chart`'],
36
- ['architecture', 'Arquitectura — bloque `architecture`'],
37
- ];
38
-
39
- /** Tabla "necesidad -> tipo -> motor" de una valla. */
40
- function tablaPorValla(lang) {
33
+ const LANGS = {
34
+ es: [
35
+ ['diagram', 'Diagramas — bloque `diagram`'],
36
+ ['chart', 'Gráficos — bloque `chart`'],
37
+ ['architecture', 'Arquitectura — bloque `architecture`'],
38
+ ],
39
+ en: [
40
+ ['diagram', 'Diagrams — `diagram` block'],
41
+ ['chart', 'Charts — `chart` block'],
42
+ ['architecture', 'Architecture — `architecture` block'],
43
+ ],
44
+ };
45
+
46
+ const CABECERAS = {
47
+ es: ['| Necesidad | `type` | Motor |', '|---|---|---|'],
48
+ en: ['| What you need | `type` | Engine |', '|---|---|---|'],
49
+ };
50
+
51
+ /** Tabla "necesidad -> tipo -> motor" de una valla, en el idioma pedido. */
52
+ function tablaPorValla(lang, idioma) {
41
53
  const filas = TYPE_CATALOG.filter((s) => s.lang === lang).map((s) => {
42
- const respaldo = s.fallbacks !== undefined && s.fallbacks.length > 0 ? ` (o ${s.fallbacks.join(' / ')})` : '';
43
- return `| ${s.purpose.replace(/\.$/, '')} | \`${s.type}\` | ${s.engine}${respaldo} |`;
54
+ const respaldo =
55
+ s.fallbacks !== undefined && s.fallbacks.length > 0
56
+ ? ` (${idioma === 'en' ? 'or' : 'o'} ${s.fallbacks.join(' / ')})`
57
+ : '';
58
+ // El proposito en ingles sale del catalogo, no de una traduccion aparte:
59
+ // asi la tabla no puede desfasarse de lo que responde `docviz types`.
60
+ const proposito = idioma === 'en' && s.en !== undefined ? s.en.purpose : s.purpose;
61
+ return `| ${proposito.replace(/\.$/, '')} | \`${s.type}\` | ${s.engine}${respaldo} |`;
44
62
  });
45
- return ['| Necesidad | `type` | Motor |', '|---|---|---|', ...filas].join('\n');
63
+ return [...CABECERAS[idioma], ...filas].join('\n');
46
64
  }
47
65
 
48
66
  /** Las tres tablas, con su encabezado. */
49
- function tablasCompletas(nivel) {
67
+ function tablasCompletas(nivel, idioma = 'es') {
50
68
  const h = '#'.repeat(nivel);
51
- return LANGS.map(([lang, titulo]) => `${h} ${titulo}\n\n${tablaPorValla(lang)}`).join('\n\n');
69
+ return LANGS[idioma]
70
+ .map(([lang, titulo]) => `${h} ${titulo}\n\n${tablaPorValla(lang, idioma)}`)
71
+ .join('\n\n');
52
72
  }
53
73
 
54
74
  /** Recuento por motor, para el resumen del README. */
@@ -85,6 +105,8 @@ function diagramaDeReparto() {
85
105
  const FRAGMENTOS = {
86
106
  'tipos-tablas-3': () => tablasCompletas(3),
87
107
  'tipos-tablas-4': () => tablasCompletas(4),
108
+ 'tipos-tablas-4-en': () => tablasCompletas(4, 'en'),
109
+ 'tipos-tablas-3-en': () => tablasCompletas(3, 'en'),
88
110
  'tipos-resumen': () => resumenPorMotor(),
89
111
  'tipos-reparto': () => diagramaDeReparto(),
90
112
  'tipos-total': () => String(TYPE_CATALOG.length),
@@ -129,7 +151,7 @@ function aplicar(texto, archivo) {
129
151
  return salida;
130
152
  }
131
153
 
132
- const ARCHIVOS = ['README.md', 'AGENTS.md', 'docs-src/dsl.md'];
154
+ const ARCHIVOS = ['README.md', 'README.en.md', 'AGENTS.md', 'AGENTS.en.md', 'docs-src/dsl.md'];
133
155
 
134
156
  let desfasados = [];
135
157
  for (const relativo of ARCHIVOS) {
@@ -0,0 +1,110 @@
1
+ ---
2
+ name: docviz
3
+ description: Generate diagrams and charts inside Markdown documentation by declaring the intent (sequence, flow, C4 architecture, bars, trend…) instead of hand-writing PlantUML, Mermaid, D2 or Vega-Lite. Use it whenever you are about to draw something in a document, when you are unsure which diagram type fits, or when a diagram block fails to compile. Everything renders locally and the output is standard Markdown with SVG images, so it looks the same on GitHub, in a wiki or in a PDF.
4
+ ---
5
+
6
+ # DocViz — diagrams as code inside Markdown
7
+
8
+ You write **what you want to explain**; DocViz picks the engine and returns
9
+ portable Markdown with the image already generated. Do not hand-write PlantUML,
10
+ Mermaid, D2, Graphviz, Vega-Lite or LikeC4: every viewer supports a different
11
+ subset, and the result stops rendering depending on where it is read.
12
+
13
+ ## The three fences
14
+
15
+ | Fence | When |
16
+ |---|---|
17
+ | `diagram` | Interaction, flow, states, dependencies, strategic analysis |
18
+ | `chart` | Quantitative comparison, trend, distribution |
19
+ | `architecture` | C4 model |
20
+
21
+ ````md
22
+ ```diagram
23
+ type: sequence
24
+ title: Authentication
25
+
26
+ participants:
27
+ - User
28
+ - API
29
+
30
+ flow:
31
+ - User -> API: Login
32
+ - API --> User: Token
33
+ ```
34
+ ````
35
+
36
+ `->` is a message, `-->` is a reply.
37
+
38
+ ## Don't guess the type — ask
39
+
40
+ There are 57 types. Before writing a block, if you are not sure:
41
+
42
+ ```bash
43
+ npx docviz suggest "the approval process for a request" # recommends the type
44
+ npx docviz types --lang en # the catalog with purposes
45
+ npx docviz types sequence --lang en # one type, plus an example that compiles as-is
46
+ ```
47
+
48
+ `docviz types <type>` prints the minimal skeleton. Copy it and fill it in: it is
49
+ the fastest way to not get the fields wrong.
50
+
51
+ ## Workflow
52
+
53
+ ```bash
54
+ npx docviz check docs-src # validate without drawing (fast)
55
+ npx docviz build docs-src --output docs # compile to Markdown + SVG
56
+ npx docviz verify docs # check for broken images
57
+ npx docviz diff <previous docs-src> docs-src # which diagrams changed
58
+ ```
59
+
60
+ Do not consider the task done while `check` or `verify` fail.
61
+
62
+ ## When something fails
63
+
64
+ Every error carries a **code** as well as a file and a line. Read it, don't
65
+ guess:
66
+
67
+ | Code | What to do |
68
+ |---|---|
69
+ | `DV101` | A required field is missing; the detail says which |
70
+ | `DV102` | The field has the wrong shape (a list where a map was expected, or vice versa) |
71
+ | `DV103` | The value is not one of the allowed ones; the detail lists them |
72
+ | `DV104` | You wrote a field this type does not use. If it proposes another name, it is a typo |
73
+ | `DV105` | The block is not valid YAML; usually the indentation |
74
+ | `DV106` | The `type` does not exist, or belongs to another fence; use `docviz suggest` |
75
+ | `DV005` | Java or Chromium is missing on this machine. Do not change the diagram: say so |
76
+
77
+ A document with several broken blocks reports them **all at once**: fix them in
78
+ a single pass. And before rewriting a block by hand:
79
+
80
+ ```bash
81
+ npx docviz fix block.yaml # fixes typos and says whether that was enough
82
+ ```
83
+
84
+ A warning `AVISO ... [DV104]` does not break the build, but it means a field you
85
+ wrote never reached the drawing. Either it is redundant, or it is misspelled;
86
+ never ignore it.
87
+
88
+ ## Rules
89
+
90
+ - Edit the source documents; never the output directory or `assets/generated`.
91
+ - Do not hand-write SVG or PNG if DocViz can generate them.
92
+ - Do not hardcode colours: the theme carries its dark-mode equivalent, and a
93
+ hand-written colour loses that property.
94
+ - Do not replace a declarative diagram with a screenshot.
95
+ - Before drawing, check that it adds something: for simple information a table
96
+ or a paragraph communicates better. A twenty-box diagram explains nothing —
97
+ split it.
98
+
99
+ ## First time in a project
100
+
101
+ ```bash
102
+ npm install -D docviz-builder
103
+ npx docviz setup # downloads plantuml.jar (the only network operation)
104
+ npx docviz init # config, AGENTS.md and a sample document
105
+ npx docviz doctor # which engines this machine can use
106
+ ```
107
+
108
+ `docviz init` leaves an `AGENTS.md` with the full catalog of all 57 types and
109
+ their decision tables. Consult it when you need detail this summary does not
110
+ carry.