@gitpagedocs/cli 0.0.10 → 0.0.12
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.
- package/README.md +27 -7
- package/ai/application/run-ai-cli-command.ts +2 -2
- package/builders/theme-template.mjs +3 -0
- package/builders/version-config-builder.mjs +10 -4
- package/content/configuration-examples.mjs +23 -8
- package/content/content-blocks.mjs +142 -0
- package/content/docs-en.mjs +44 -19
- package/content/docs-es.mjs +162 -137
- package/content/docs-pt.mjs +186 -161
- package/content/html-doom.mjs +19 -60
- package/content/operations-en.mjs +2 -2
- package/content/operations-es.mjs +5 -5
- package/content/operations-pt.mjs +3 -3
- package/content/overviews-en.mjs +115 -0
- package/content/overviews-es.mjs +115 -0
- package/content/overviews-pt.mjs +115 -0
- package/content/practical-en.mjs +7 -5
- package/content/practical-es.mjs +8 -6
- package/content/practical-pt.mjs +9 -7
- package/content/theme-backgrounds.mjs +241 -0
- package/contracts/doc-versions.mjs +2 -2
- package/data/animated-layouts.mjs +7583 -0
- package/data/composed-pages.mjs +25 -0
- package/data/default-site-config.mjs +150 -130
- package/data/i18n-langmenu.mjs +34 -28
- package/data/i18n-translations.mjs +7 -7
- package/data/layouts.mjs +4 -1
- package/data/menu-sections.mjs +11 -1
- package/data/path-mappings.mjs +10 -1
- package/data/route-metas.mjs +45 -9
- package/data/theme-colors.mjs +4 -1
- package/package.json +3 -3
- package/runtime/doc-path-resolver.mjs +17 -2
package/content/practical-es.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { HTML_ROUTE_JSON, RECIPE_ROOT_JSON, RECIPE_VERSION_JSON } from "./config
|
|
|
3
3
|
export const practicalEs = {
|
|
4
4
|
htmlContainers: `# Contenedores HTML y ejemplos interactivos
|
|
5
5
|
|
|
6
|
-
Una ruta HTML muestra un documento local o una página externa dentro de un iframe. Úsala para una demostración interactiva de confianza que Markdown no puede representar. El scaffold incluye **DOOM: ejemplo HTML**, ruta 29
|
|
6
|
+
Una ruta HTML muestra un documento local o una página externa dentro de un iframe. Úsala para una demostración interactiva de confianza que Markdown no puede representar. El scaffold incluye **DOOM: ejemplo HTML**, ruta 29. El título y la descripción pertenecen al contenedor de documentación; el HTML contiene solo el reproductor, sin repetir encabezados, instrucciones ni crear un botón de carga propio. El juego permanece alojado por su proveedor; el paquete npm incluye la integración HTML, no los archivos del juego.
|
|
7
7
|
|
|
8
8
|
## Configura una ruta HTML local
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ Añade esta ruta al array \`routes-html\` existente en la configuración de la v
|
|
|
13
13
|
${HTML_ROUTE_JSON}
|
|
14
14
|
\`\`\`
|
|
15
15
|
|
|
16
|
-
Añade un elemento traducido en \`menus-header-html\`. Cada \`path-click\` debe coincidir con la ruta de su idioma, como \`gitpagedocs/docs/versions/0.0.
|
|
16
|
+
Añade un elemento traducido en \`menus-header-html\`. Cada \`path-click\` debe coincidir con la ruta de su idioma, como \`gitpagedocs/docs/versions/0.0.12/es/doom.html\`; no sustituyas esta ruta HTML local por \`page:29\`. Una etiqueta de menú no crea una ruta. HTML admite la misma estructura recursiva \`submenus\` que los demás menús.
|
|
17
17
|
|
|
18
18
|
## Tamaño, contenido y URLs externas
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ El servidor externo puede impedir la incorporación mediante CSP o X-Frame-Optio
|
|
|
25
25
|
|
|
26
26
|
## Utiliza y mantén el ejemplo del juego
|
|
27
27
|
|
|
28
|
-
Selecciona la entrada HTML
|
|
28
|
+
Selecciona la entrada HTML. El SDK del reproductor se carga al abrir la página; usa su control Play nativo para iniciar el juego. No hay inicio automático ni un botón de carga separado de la documentación. Se necesita conexión. Un fallo de inicialización muestra un error que indica recargar la página; la vista normal contiene solo el reproductor. Prueba el foco del teclado, pantallas pequeñas, pantalla completa y el regreso a la documentación. La disponibilidad del reproductor y las capacidades del navegador pueden cambiar independientemente de GitPageDocs.
|
|
29
29
|
|
|
30
30
|
Revisa el HTML y sus dependencias antes de publicar. El iframe actual permite scripts y contenido del mismo origen, por lo que no es una barrera de seguridad para HTML arbitrario no confiable. No incluyas secretos en HTML, URLs ni configuración del cliente. El alojamiento estático expone los archivos independientemente de la visibilidad del menú o autorización de la ruta. En local y Pages, versiona la página junto con su configuración y valida las rutas generadas antes de publicar.
|
|
31
31
|
`,
|
|
@@ -35,7 +35,9 @@ Esta guía crea un sitio pequeño en tres idiomas, con dos páginas Markdown y u
|
|
|
35
35
|
|
|
36
36
|
## 1. Genera y revisa la estructura
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
El scaffold incluye las versiones 0.0.12, 0.0.11 y 0.0.10 en el selector. Las tres contienen los ejemplos actuales; la versión del paquete es 0.0.12. Las rutas y etiquetas se generan para la versión correspondiente de la documentación. No se eliminan las carpetas existentes de versiones anteriores.
|
|
39
|
+
|
|
40
|
+
Ejecuta \`npx --yes @gitpagedocs/cli@0.0.12 --no-interactive --owner TU_USUARIO --repo TU_REPOSITORIO\` en un directorio de proyecto nuevo. En este repositorio de código fuente, \`node cli/index.mjs\` ejecuta la versión del checkout. La generación escribe configuración y documentación; no inicia el visor Next.js.
|
|
39
41
|
|
|
40
42
|
El siguiente JSON completo es un ejemplo mínimo de \`gitpagedocs/config.json\`. Para un sitio existente, combina los campos relevantes y conserva la identidad del repositorio, la publicación, los temas y las demás versiones.
|
|
41
43
|
|
|
@@ -43,7 +45,7 @@ El siguiente JSON completo es un ejemplo mínimo de \`gitpagedocs/config.json\`.
|
|
|
43
45
|
${RECIPE_ROOT_JSON}
|
|
44
46
|
\`\`\`
|
|
45
47
|
|
|
46
|
-
Las
|
|
48
|
+
Las nueve entradas heredan la presentación común de \`icons.defaults\`. Para mostrar texto en una acción, añade \`"reactIcon": false\` a esa entrada. No cambies un valor compartido solo para modificar un botón. Los campos planos antiguos tienen prioridad sobre los compactos; elimina o actualiza un campo conflictivo tras confirmar su intención.
|
|
47
49
|
|
|
48
50
|
## 2. Crea la configuración de versión
|
|
49
51
|
|
|
@@ -111,6 +113,6 @@ La configuración E2E usa los puertos 3100 y 3101; conserva el servicio existent
|
|
|
111
113
|
|
|
112
114
|
Revisa accesibilidad, autorización, validación de entradas, errores, liberación de recursos y coherencia de archivos generados. Analiza cada fuente modificada en el proyecto SonarQube configurado con el alcance de prueba o producción correspondiente; usa parser/linter de la stack para formatos no compatibles. Mantén credenciales y archivos temporales fuera de commits.
|
|
113
115
|
|
|
114
|
-
Los paquetes publicables son \`@gitpagedocs/tools\`, \`@gitpagedocs/mcp\` y \`@gitpagedocs/cli\`; raíz y frontend son privados. Sincroniza versiones, dependencias internas y lockfile, inspecciona los paquetes y completa las verificaciones antes del push. El workflow npm actual se ejecuta en pushes a main y
|
|
116
|
+
Los paquetes publicables son \`@gitpagedocs/tools\`, \`@gitpagedocs/mcp\` y \`@gitpagedocs/cli\`; raíz y frontend son privados. Sincroniza versiones, dependencias internas y lockfile, inspecciona los paquetes y completa las verificaciones antes del push. El workflow npm actual se ejecuta en pushes a main y pública en orden de dependencias cuando la versión CLI es nueva. Confirma npm y Pages después; un build local correcto no equivale a publicar.
|
|
115
117
|
`,
|
|
116
118
|
};
|
package/content/practical-pt.mjs
CHANGED
|
@@ -3,7 +3,7 @@ import { HTML_ROUTE_JSON, RECIPE_ROOT_JSON, RECIPE_VERSION_JSON } from "./config
|
|
|
3
3
|
export const practicalPt = {
|
|
4
4
|
htmlContainers: `# Containers HTML e exemplos interativos
|
|
5
5
|
|
|
6
|
-
Uma rota HTML exibe um documento local ou uma página externa dentro de um iframe. Use-a para uma demonstração interativa confiável que o Markdown não consegue representar. O scaffold inclui **DOOM: exemplo HTML**, rota 29
|
|
6
|
+
Uma rota HTML exibe um documento local ou uma página externa dentro de um iframe. Use-a para uma demonstração interativa confiável que o Markdown não consegue representar. O scaffold inclui **DOOM: exemplo HTML**, rota 29. O título e a descrição pertencem ao container da documentação; o HTML contém somente o player, sem repetir títulos, instruções ou criar um botão próprio de carregamento. O jogo continua hospedado pelo provedor; o pacote npm inclui a integração HTML, não os arquivos do jogo.
|
|
7
7
|
|
|
8
8
|
## Configure uma rota HTML local
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ Adicione esta rota ao array \`routes-html\` existente na configuração da vers
|
|
|
13
13
|
${HTML_ROUTE_JSON}
|
|
14
14
|
\`\`\`
|
|
15
15
|
|
|
16
|
-
Adicione um item traduzido em \`menus-header-html\`. Cada \`path-click\` deve corresponder ao caminho da rota no mesmo idioma, como \`gitpagedocs/docs/versions/0.0.
|
|
16
|
+
Adicione um item traduzido em \`menus-header-html\`. Cada \`path-click\` deve corresponder ao caminho da rota no mesmo idioma, como \`gitpagedocs/docs/versions/0.0.12/pt/doom.html\`; não substitua esse caminho HTML local por \`page:29\`. Um rótulo de menu não cria uma rota. HTML aceita a mesma estrutura recursiva \`submenus\` dos outros menus.
|
|
17
17
|
|
|
18
18
|
## Dimensões, conteúdo e URLs externas
|
|
19
19
|
|
|
@@ -25,7 +25,7 @@ O servidor externo pode impedir incorporação por CSP ou X-Frame-Options. Hosts
|
|
|
25
25
|
|
|
26
26
|
## Use e mantenha o exemplo do jogo
|
|
27
27
|
|
|
28
|
-
Escolha o item HTML no menu
|
|
28
|
+
Escolha o item HTML no menu. O SDK do player carrega quando a página abre; use o controle Play nativo para iniciar o jogo. Não há início automático nem botão de carregamento separado da documentação. É necessária conexão. Uma falha de inicialização exibe um erro que orienta recarregar a página; a visualização normal contém apenas o player. Teste foco de teclado, telas pequenas, tela cheia e retorno à documentação. Disponibilidade do player e recursos do navegador podem mudar independentemente do GitPageDocs.
|
|
29
29
|
|
|
30
30
|
Revise o HTML e suas dependências antes de publicar. O iframe atual permite scripts e conteúdo de mesma origem, portanto não funciona como barreira de segurança para HTML arbitrário não confiável. Não inclua segredos em HTML, URLs ou configuração do cliente. A hospedagem estática expõe os arquivos independentemente da visibilidade do menu ou autorização da rota. No ambiente local e no Pages, versione a página com a configuração correspondente e valide os caminhos gerados antes da publicação.
|
|
31
31
|
`,
|
|
@@ -35,7 +35,9 @@ Este guia monta um site pequeno em três idiomas, com duas páginas Markdown e m
|
|
|
35
35
|
|
|
36
36
|
## 1. Gere e confira a estrutura
|
|
37
37
|
|
|
38
|
-
|
|
38
|
+
O scaffold inclui as versões 0.0.12, 0.0.11 e 0.0.10 no seletor. As três contêm os exemplos atuais; a versão do pacote é 0.0.12. Caminhos e rótulos de versão são gerados para a versão correspondente da documentação. Pastas existentes de versões anteriores não são apagadas.
|
|
39
|
+
|
|
40
|
+
Execute \`npx --yes @gitpagedocs/cli@0.0.12 --no-interactive --owner SEU_USUARIO --repo SEU_REPOSITORIO\` em um diretório de projeto novo. Neste repositório de código-fonte, \`node cli/index.mjs\` executa a versão do checkout. A geração grava configuração e documentação; ela não inicia o visualizador Next.js.
|
|
39
41
|
|
|
40
42
|
O JSON completo abaixo é um exemplo mínimo de \`gitpagedocs/config.json\`. Em um site existente, mescle os campos relevantes e preserve a identidade do repositório, opções de publicação, temas e demais versões.
|
|
41
43
|
|
|
@@ -43,7 +45,7 @@ O JSON completo abaixo é um exemplo mínimo de \`gitpagedocs/config.json\`. Em
|
|
|
43
45
|
${RECIPE_ROOT_JSON}
|
|
44
46
|
\`\`\`
|
|
45
47
|
|
|
46
|
-
As
|
|
48
|
+
As nove entradas herdam a apresentação comum de \`icons.defaults\`. Para mostrar texto em uma ação, acrescente \`"reactIcon": false\` à entrada correspondente. Não altere um default compartilhado apenas para mudar um botão. Campos planos antigos de ícones prevalecem sobre os compactos; remova ou atualize um campo conflitante somente depois de confirmar sua intenção.
|
|
47
49
|
|
|
48
50
|
## 2. Crie a configuração da versão
|
|
49
51
|
|
|
@@ -109,8 +111,8 @@ A configuração E2E usa as portas 3100 e 3101; preserve o serviço existente na
|
|
|
109
111
|
|
|
110
112
|
## Revise e publique
|
|
111
113
|
|
|
112
|
-
Revise acessibilidade, autorização, validação de entrada, erros, liberação de recursos e consistência dos arquivos gerados.
|
|
114
|
+
Revise acessibilidade, autorização, validação de entrada, erros, liberação de recursos e consistência dos arquivos gerados. Análise cada fonte alterada no projeto SonarQube configurado com o escopo correto de teste ou produção; use parser/linter da stack nos formatos sem suporte. Não inclua credenciais ou artefatos temporários nos commits.
|
|
113
115
|
|
|
114
|
-
Os pacotes publicáveis são \`@gitpagedocs/tools\`, \`@gitpagedocs/mcp\` e \`@gitpagedocs/cli\`; raiz e frontend são privados. Sincronize versões, dependências internas e lockfile, inspecione os pacotes e conclua a validação antes do push. O workflow npm atual roda em pushes para main e
|
|
116
|
+
Os pacotes publicáveis são \`@gitpagedocs/tools\`, \`@gitpagedocs/mcp\` e \`@gitpagedocs/cli\`; raiz e frontend são privados. Sincronize versões, dependências internas e lockfile, inspecione os pacotes e conclua a validação antes do push. O workflow npm atual roda em pushes para main e pública em ordem de dependência quando a versão da CLI é nova. Confirme npm e Pages depois; um build local verde não equivale à publicação.
|
|
115
117
|
`,
|
|
116
118
|
};
|
|
@@ -0,0 +1,241 @@
|
|
|
1
|
+
import { ANIMATED_BACKGROUNDS, ANIMATED_LAYOUTS } from "../data/animated-layouts.mjs";
|
|
2
|
+
|
|
3
|
+
const SITE_EXAMPLE = JSON.stringify({
|
|
4
|
+
site: {
|
|
5
|
+
ThemeDefault: "matrix-rain-dark",
|
|
6
|
+
backgroundEffects: {
|
|
7
|
+
enabled: true,
|
|
8
|
+
overrides: {
|
|
9
|
+
animation: { speed: 0.6 }, parallax: { enabled: false },
|
|
10
|
+
accessibility: { showPauseButton: true },
|
|
11
|
+
},
|
|
12
|
+
themes: {
|
|
13
|
+
"matrix-rain-dark": {
|
|
14
|
+
layers: [{
|
|
15
|
+
id: "code", kind: "matrix", count: 12,
|
|
16
|
+
colors: ["#4ADE80", "#BEF264"], opacity: 0.22,
|
|
17
|
+
size: { min: 13, max: 17 }, duration: { min: 20, max: 36 },
|
|
18
|
+
travel: { x: 0, y: 115 }, characters: "0123456789ABCDEF", rows: 16, seed: 1049,
|
|
19
|
+
}],
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
icons: {
|
|
24
|
+
BackgroundAnimationPause: { reactIcon: true, tag: "FiPause", size: "22px", colorDark: "currentColor", colorLight: "currentColor" },
|
|
25
|
+
BackgroundAnimationResume: { reactIcon: true, tag: "FiPlay", size: "22px", colorDark: "currentColor", colorLight: "currentColor" },
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
}, null, 2);
|
|
29
|
+
|
|
30
|
+
function catalogRows() {
|
|
31
|
+
return ANIMATED_LAYOUTS.map((layout) => {
|
|
32
|
+
const layers = ANIMATED_BACKGROUNDS[layout.id].layers.map(({ kind }) => `\`${kind}\``).join(" + ");
|
|
33
|
+
return `| \`${layout.id}\` | ${layout.name} | \`${layout.mode}\` | ${layers} |`;
|
|
34
|
+
}).join("\n");
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
const CATALOG_ROWS = catalogRows();
|
|
38
|
+
|
|
39
|
+
export const THEME_BACKGROUND_DOCS = {
|
|
40
|
+
en: `## Animated backgrounds and 20 paired parallax families
|
|
41
|
+
|
|
42
|
+
The catalog contains 124 themes: 64 original themes, 20 standalone animated presets and 20 additional families with dark and light variants (40 entries). All 84 earlier themes retain their palettes, components and behavior. Existing Matrix Dark and Matrix Light remain unchanged; select **Matrix Rain** for falling characters. The 60 animated presets use the existing Motion renderer, with no extra runtime dependency.
|
|
43
|
+
|
|
44
|
+
| ID | Name | Mode | Layers |
|
|
45
|
+
| --- | --- | --- | --- |
|
|
46
|
+
${CATALOG_ROWS}
|
|
47
|
+
|
|
48
|
+
### Switch a family between dark and light
|
|
49
|
+
|
|
50
|
+
Choose a paired theme such as \`aurora-borealis-dark\`, then use the existing light/dark control to switch to \`aurora-borealis-light\`. The 20 families cover auroras, fireflies, ocean currents, forests, rainfall, clouds, sakura, embers, glaciers, dunes, mist, lagoons, bamboo, storm horizons, crystals, ponds, savannas, meadows, cosmic tides and lanterns. Each pair shares its composition and deterministic seed, with a separate readable palette and softer effects in light mode. Both modes enable pointer and scroll parallax by default.
|
|
51
|
+
|
|
52
|
+
Pairing is declared in the catalog: both entries use \`supportsLightAndDarkModes: true\` and the same \`supportsLightAndDarkModesReference\` (for example, \`aurora-borealis\`), with different \`mode\` values. IDs end in \`-dark\` or \`-light\`; older standalone presets are not silently paired or replaced. A per-theme override targets one exact ID, so configure both IDs when a family needs the same custom override.
|
|
53
|
+
|
|
54
|
+
### Configure everything in JSON
|
|
55
|
+
|
|
56
|
+
No JavaScript edits are needed. Select a preset with \`site.ThemeDefault\` or the theme selector. A template's optional top-level \`backgroundEffects\` defines its background. In \`gitpagedocs/config.json\`, \`site.backgroundEffects\` controls all backgrounds and customizes individual themes:
|
|
57
|
+
|
|
58
|
+
\`\`\`json
|
|
59
|
+
${SITE_EXAMPLE}
|
|
60
|
+
\`\`\`
|
|
61
|
+
|
|
62
|
+
Resolution order is template → \`site.backgroundEffects.overrides\` → \`site.backgroundEffects.themes[themeId]\`. Nested settings merge; \`layers\` replaces the entire layer array, so include every layer you want to keep. The example replaces Matrix Rain's grid and character layers with one custom character layer. Other themes retain their layers and receive only the global speed/parallax overrides.
|
|
63
|
+
|
|
64
|
+
- Set \`site.backgroundEffects.enabled: false\` to turn off every background. A per-theme \`enabled: true\` cannot bypass this master switch.
|
|
65
|
+
- Set \`themes[themeId].enabled: false\` to disable one theme's background.
|
|
66
|
+
- Set \`animation.enabled: false\` and \`parallax.enabled: false\` for a static background. \`animation.speed\` multiplies movement speed; smaller values are slower.
|
|
67
|
+
- Change \`count\`, \`colors\`, \`size\`, \`duration\` and \`opacity\` inside a layer to adjust density, palette, scale, timing and visibility. A count of zero removes that layer.
|
|
68
|
+
- Themes without \`backgroundEffects\` remain static unless you explicitly supply an enabled background and valid layers through these settings.
|
|
69
|
+
|
|
70
|
+
### Pause from the navigation menu
|
|
71
|
+
|
|
72
|
+
The pause/resume control sits beside the navigation lock in the documentation menu, including the collapsed sidebar and mobile menu. Search pages expose it in their header. A manual pause remains active when opening or closing menus and when changing themes; use Resume to continue. Reduced-motion and hidden-tab protections still take precedence.
|
|
73
|
+
|
|
74
|
+
\`site.backgroundEffects.overrides.accessibility.showPauseButton\` defaults explicitly to \`true\`. Set it to \`false\` to hide the control only; this does not stop animation. Disable all backgrounds with the master \`site.backgroundEffects.enabled: false\`. Customize \`site.icons.BackgroundAnimationPause\` (\`FiPause\`) and \`BackgroundAnimationResume\` (\`FiPlay\`) independently using \`reactIcon\`, \`tag\`, \`size\`, \`colorDark\` and \`colorLight\`. The defaults are icons, 22px and \`currentColor\`; \`reactIcon: false\` shows localized action text while retaining the accessible name.
|
|
75
|
+
|
|
76
|
+
### Background and layer fields
|
|
77
|
+
|
|
78
|
+
| Field | Meaning and accepted range |
|
|
79
|
+
| --- | --- |
|
|
80
|
+
| \`enabled\`, \`surface\`, \`opacity\` | Enable the background, choose its CSS color/gradient, and set total opacity from 0 to 1 |
|
|
81
|
+
| \`animation.enabled\`, \`animation.speed\` | Enable automatic movement; speed multiplier from 0.05 to 4 |
|
|
82
|
+
| \`parallax.enabled\` | Enable pointer/scroll depth independently of automatic movement |
|
|
83
|
+
| \`parallax.pointer\`, \`parallax.scroll\` | Pointer displacement from 0 to 80 px; scroll ratio from 0 to 0.3 |
|
|
84
|
+
| \`accessibility.reducedMotion\` | \`static\` retains a still composition; \`hide\` hides it when reduced motion is requested |
|
|
85
|
+
| \`accessibility.showPauseButton\` | Show the visitor's pause/resume control; enabled in every new preset |
|
|
86
|
+
| \`layers[].id\`, \`kind\` | Unique layer ID and one of \`stars\`, \`streaks\`, \`matrix\`, \`orbs\`, \`grid\`, \`waves\` |
|
|
87
|
+
| \`count\`, \`colors\`, \`opacity\` | 0–80 elements, up to 8 CSS colors, and layer opacity 0–1 |
|
|
88
|
+
| \`size.min/max\`, \`duration.min/max\` | Size range in px (0.5–800), duration range in seconds (2–120) |
|
|
89
|
+
| \`travel.x/y\`, \`position.x/y\` | Travel in vw/vh (−200–200); initial percentage offsets (−100–100) |
|
|
90
|
+
| \`blur\`, \`glow\`, \`rotation\`, \`depth\` | Blur/glow 0–80 px, rotation −360–360 degrees, parallax depth 0–2 |
|
|
91
|
+
| \`length\` | Streak length from 1 to 500 px |
|
|
92
|
+
| \`characters\`, \`rows\` | Matrix alphabet and 1–48 characters per column |
|
|
93
|
+
| \`seed\` | Integer 0–2147483647 for a repeatable particle arrangement |
|
|
94
|
+
|
|
95
|
+
At most 8 layers and 200 configured elements are used. Invalid layer kinds/IDs and duplicate IDs are ignored; finite numbers outside their range are clamped, and invalid numeric values use defaults. Lower counts, smaller blur and slower movement are useful on modest devices. Keep text and controls readable over the background, and retain the pause control for continuously moving presets. Reduced-motion preferences apply even when animation is enabled in JSON.
|
|
96
|
+
|
|
97
|
+
Colors accept CSS values such as hex, \`rgb(...)\` or \`var(--primary)\`. An omitted/empty color list falls back to \`var(--primary)\` and \`var(--secondary)\`, following the active palette. Text fields are trimmed and limited to 2048 characters; reversed min/max ranges are ordered automatically. Counts, rows and seeds become integers. An enabled background needs at least one valid layer; absent automatic-animation/parallax settings default to enabled for that background.
|
|
98
|
+
|
|
99
|
+
### Authoring and compatibility
|
|
100
|
+
|
|
101
|
+
In this repository, add a preset under \`gitpagelayouts/v2/layouts/\` with \`overrides.backgroundEffects\` and register its metadata in \`layoutsConfig.json\`. \`pnpm run layouts:sync\` expands the template, documents the preset and compiles the same background/palette into package-local CLI data. Do not edit \`cli/data/animated-layouts.mjs\` directly. The generated template uses top-level \`backgroundEffects\`, not a field inside \`animations\`.
|
|
102
|
+
|
|
103
|
+
The official catalog and \`npx @gitpagedocs/cli --layoutconfig\` expose the same 124 themes, including all 60 animated presets. Existing configurations and all 84 earlier themes keep working. Older viewers without background support still use the template's ordinary colors and components.
|
|
104
|
+
|
|
105
|
+
For an unpublished source-checkout preview, set \`GITPAGEDOCS_LAYOUTS_SOURCE=local\` before starting the development server. Only \`NODE_ENV=development\` honors this switch: it reads the local \`gitpagelayouts/\` catalog without changing the saved configuration. Production and an unset/unknown value continue following JSON configuration. To use local templates in production, configure \`site.layoutsConfigPathOficial: false\` and the appropriate local/custom layout paths instead.
|
|
106
|
+
`,
|
|
107
|
+
pt: `## Fundos animados e 20 famílias com paralaxe em dois modos
|
|
108
|
+
|
|
109
|
+
O catálogo contém 124 temas: 64 originais, 20 presets animados independentes e mais 20 famílias com versões escura e clara (40 entradas). Todos os 84 temas anteriores preservam suas paletas, componentes e comportamento. Matrix Dark e Matrix Light continuam iguais; escolha **Matrix Rain** para letras caindo. Os 60 presets animados utilizam o renderer Motion existente, sem dependência adicional em tempo de execução.
|
|
110
|
+
|
|
111
|
+
| ID | Nome | Modo | Camadas |
|
|
112
|
+
| --- | --- | --- | --- |
|
|
113
|
+
${CATALOG_ROWS}
|
|
114
|
+
|
|
115
|
+
### Alternar uma família entre escuro e claro
|
|
116
|
+
|
|
117
|
+
Escolha um tema pareado, como \`aurora-borealis-dark\`, e use o controle existente de modo claro/escuro para alternar para \`aurora-borealis-light\`. As 20 famílias incluem auroras, vaga-lumes, correntes marinhas, florestas, chuva, nuvens, cerejeiras, brasas, geleiras, dunas, névoa, lagoas, bambus, tempestades no horizonte, cristais, lagos, savanas, prados, marés cósmicas e lanternas. Cada par compartilha composição e semente determinística, com paletas legíveis próprias e efeitos mais suaves no modo claro. Ambos os modos habilitam paralaxe do ponteiro e da rolagem por padrão.
|
|
118
|
+
|
|
119
|
+
O pareamento fica no catálogo: as duas entradas usam \`supportsLightAndDarkModes: true\` e a mesma \`supportsLightAndDarkModesReference\` (por exemplo, \`aurora-borealis\`), com valores de \`mode\` diferentes. Os IDs terminam em \`-dark\` ou \`-light\`; os presets independentes anteriores não são pareados nem substituídos automaticamente. Um ajuste por tema aponta para um ID exato: configure os dois IDs quando a família precisar do mesmo ajuste personalizado.
|
|
120
|
+
|
|
121
|
+
### Personalizar tudo em JSON
|
|
122
|
+
|
|
123
|
+
Não é necessário editar JavaScript. Escolha o preset em \`site.ThemeDefault\` ou no seletor. O campo opcional \`backgroundEffects\`, na raiz do template, define o fundo. Em \`gitpagedocs/config.json\`, \`site.backgroundEffects\` controla todos os fundos e permite ajustes por tema:
|
|
124
|
+
|
|
125
|
+
\`\`\`json
|
|
126
|
+
${SITE_EXAMPLE}
|
|
127
|
+
\`\`\`
|
|
128
|
+
|
|
129
|
+
A precedência é template → \`site.backgroundEffects.overrides\` → \`site.backgroundEffects.themes[themeId]\`. Objetos internos são mesclados; \`layers\` substitui o array inteiro, portanto inclua todas as camadas que deseja manter. O exemplo troca a grade e as letras originais de Matrix Rain por uma camada personalizada de caracteres. Os demais temas mantêm suas camadas e recebem apenas os ajustes globais de velocidade e paralaxe.
|
|
130
|
+
|
|
131
|
+
- Use \`site.backgroundEffects.enabled: false\` para desligar todos os fundos. Um \`enabled: true\` específico não supera essa chave principal.
|
|
132
|
+
- Use \`themes[themeId].enabled: false\` para desativar o fundo de um tema.
|
|
133
|
+
- Use \`animation.enabled: false\` e \`parallax.enabled: false\` para um fundo estático. \`animation.speed\` multiplica a velocidade; valores menores deixam o movimento mais lento.
|
|
134
|
+
- Altere \`count\`, \`colors\`, \`size\`, \`duration\` e \`opacity\` de cada camada para ajustar densidade, paleta, tamanho, tempo e visibilidade. Contagem zero remove a camada.
|
|
135
|
+
- Temas sem \`backgroundEffects\` permanecem estáticos, a menos que você forneça explicitamente um fundo habilitado com camadas válidas nessas opções.
|
|
136
|
+
|
|
137
|
+
### Pausar pelo menu de navegação
|
|
138
|
+
|
|
139
|
+
O controle de pausar/retomar fica junto do cadeado de navegação no menu da documentação, inclusive na barra lateral recolhida e no menu móvel. Nas páginas de busca, ele aparece no cabeçalho. A pausa manual permanece ao abrir ou fechar menus e ao trocar de tema; use Retomar para continuar. As proteções de movimento reduzido e aba oculta continuam tendo prioridade.
|
|
140
|
+
|
|
141
|
+
\`site.backgroundEffects.overrides.accessibility.showPauseButton\` tem padrão explícito \`true\`. Defina \`false\` para ocultar somente o controle; isso não interrompe a animação. Desative todos os fundos com o interruptor geral \`site.backgroundEffects.enabled: false\`. Personalize \`site.icons.BackgroundAnimationPause\` (\`FiPause\`) e \`BackgroundAnimationResume\` (\`FiPlay\`) independentemente com \`reactIcon\`, \`tag\`, \`size\`, \`colorDark\` e \`colorLight\`. Os padrões são ícones, 22px e \`currentColor\`; \`reactIcon: false\` mostra o texto localizado da ação e mantém seu nome acessível.
|
|
142
|
+
|
|
143
|
+
### Campos do fundo e das camadas
|
|
144
|
+
|
|
145
|
+
| Campo | Significado e intervalo aceito |
|
|
146
|
+
| --- | --- |
|
|
147
|
+
| \`enabled\`, \`surface\`, \`opacity\` | Habilita o fundo, define sua cor/gradiente CSS e a opacidade total de 0 a 1 |
|
|
148
|
+
| \`animation.enabled\`, \`animation.speed\` | Movimento automático; multiplicador de velocidade de 0,05 a 4 |
|
|
149
|
+
| \`parallax.enabled\` | Profundidade pelo ponteiro/rolagem, independente do movimento automático |
|
|
150
|
+
| \`parallax.pointer\`, \`parallax.scroll\` | Deslocamento pelo ponteiro de 0 a 80 px; razão da rolagem de 0 a 0,3 |
|
|
151
|
+
| \`accessibility.reducedMotion\` | \`static\` mantém a composição parada; \`hide\` oculta o fundo quando o usuário pede movimento reduzido |
|
|
152
|
+
| \`accessibility.showPauseButton\` | Mostra o controle de pausar/retomar; habilitado nos 60 presets animados |
|
|
153
|
+
| \`layers[].id\`, \`kind\` | ID único e tipo \`stars\`, \`streaks\`, \`matrix\`, \`orbs\`, \`grid\` ou \`waves\` |
|
|
154
|
+
| \`count\`, \`colors\`, \`opacity\` | 0–80 elementos, até 8 cores CSS e opacidade da camada de 0 a 1 |
|
|
155
|
+
| \`size.min/max\`, \`duration.min/max\` | Tamanho em px (0,5–800) e duração em segundos (2–120) |
|
|
156
|
+
| \`travel.x/y\`, \`position.x/y\` | Deslocamento em vw/vh (−200–200); posição inicial em porcentagem (−100–100) |
|
|
157
|
+
| \`blur\`, \`glow\`, \`rotation\`, \`depth\` | Desfoque/brilho de 0–80 px, rotação de −360–360 graus e profundidade de 0–2 |
|
|
158
|
+
| \`length\` | Comprimento dos rastros de 1 a 500 px |
|
|
159
|
+
| \`characters\`, \`rows\` | Alfabeto Matrix e 1–48 caracteres por coluna |
|
|
160
|
+
| \`seed\` | Inteiro de 0 a 2147483647 para uma distribuição repetível das partículas |
|
|
161
|
+
|
|
162
|
+
São usadas até 8 camadas e 200 elementos configurados. Tipos/IDs inválidos e IDs repetidos são ignorados; números finitos fora da faixa são limitados, e valores numéricos inválidos usam o padrão. Em dispositivos modestos, reduza contagens e desfoque e prefira movimentos lentos. Preserve a leitura dos textos e controles e mantenha o botão de pausa em fundos contínuos. A preferência por movimento reduzido vale mesmo com a animação habilitada no JSON.
|
|
163
|
+
|
|
164
|
+
As cores aceitam valores CSS como hexadecimal, \`rgb(...)\` ou \`var(--primary)\`. Uma lista ausente/vazia usa \`var(--primary)\` e \`var(--secondary)\`, acompanhando a paleta ativa. Campos de texto perdem espaços nas extremidades e são limitados a 2048 caracteres; intervalos min/max invertidos são ordenados automaticamente. Contagens, linhas e sementes são inteiros. Um fundo habilitado precisa de ao menos uma camada válida; animação automática e paralaxe ficam habilitadas quando suas opções são omitidas nesse fundo.
|
|
165
|
+
|
|
166
|
+
### Autoria dos temas e compatibilidade
|
|
167
|
+
|
|
168
|
+
Neste repositório, adicione o preset em \`gitpagelayouts/v2/layouts/\` usando \`overrides.backgroundEffects\` e cadastre seus metadados em \`layoutsConfig.json\`. \`pnpm run layouts:sync\` expande o template, documenta o tema e compila o mesmo fundo/paleta nos dados empacotados da CLI. Não edite \`cli/data/animated-layouts.mjs\` diretamente. O template gerado usa \`backgroundEffects\` na raiz, separado de \`animations\`.
|
|
169
|
+
|
|
170
|
+
O catálogo oficial e \`npx @gitpagedocs/cli --layoutconfig\` oferecem os mesmos 124 temas, incluindo os 60 presets animados. Configurações antigas e todos os 84 temas anteriores continuam funcionando. Visualizadores antigos sem suporte aos fundos continuam usando as cores e os componentes normais do template.
|
|
171
|
+
|
|
172
|
+
Para visualizar alterações ainda não publicadas neste checkout, defina \`GITPAGEDOCS_LAYOUTS_SOURCE=local\` antes de iniciar o servidor de desenvolvimento. Somente \`NODE_ENV=development\` aceita essa opção: o catálogo local \`gitpagelayouts/\` é lido sem alterar a configuração salva. Produção e valores ausentes/desconhecidos continuam seguindo o JSON. Para usar templates locais em produção, configure \`site.layoutsConfigPathOficial: false\` e os caminhos locais/personalizados correspondentes.
|
|
173
|
+
`,
|
|
174
|
+
es: `## Fondos animados y 20 familias con paralaje en dos modos
|
|
175
|
+
|
|
176
|
+
El catálogo contiene 124 temas: 64 originales, 20 presets animados independientes y otras 20 familias con versiones oscura y clara (40 entradas). Los 84 temas anteriores conservan sus paletas, componentes y comportamiento. Matrix Dark y Matrix Light no cambian; elige **Matrix Rain** para caracteres que caen. Los 60 presets animados utilizan el renderer Motion existente, sin otra dependencia en tiempo de ejecución.
|
|
177
|
+
|
|
178
|
+
| ID | Nombre | Modo | Capas |
|
|
179
|
+
| --- | --- | --- | --- |
|
|
180
|
+
${CATALOG_ROWS}
|
|
181
|
+
|
|
182
|
+
### Alternar una familia entre oscuro y claro
|
|
183
|
+
|
|
184
|
+
Elige un tema emparejado, como \`aurora-borealis-dark\`, y utiliza el control existente de modo claro/oscuro para cambiar a \`aurora-borealis-light\`. Las 20 familias incluyen auroras, luciérnagas, corrientes marinas, bosques, lluvia, nubes, cerezos, brasas, glaciares, dunas, niebla, lagunas, bambú, tormentas en el horizonte, cristales, estanques, sabanas, praderas, mareas cósmicas y faroles. Cada pareja comparte composición y semilla determinista, con paletas legibles propias y efectos más suaves en modo claro. Ambos modos habilitan el paralaje del puntero y del desplazamiento por defecto.
|
|
185
|
+
|
|
186
|
+
El emparejamiento se declara en el catálogo: ambas entradas utilizan \`supportsLightAndDarkModes: true\` y la misma \`supportsLightAndDarkModesReference\` (por ejemplo, \`aurora-borealis\`), con valores de \`mode\` diferentes. Los IDs terminan en \`-dark\` o \`-light\`; los presets independientes anteriores no se emparejan ni se reemplazan automáticamente. Un ajuste por tema apunta a un ID exacto: configura ambos IDs si la familia necesita el mismo ajuste personalizado.
|
|
187
|
+
|
|
188
|
+
### Personalizar todo mediante JSON
|
|
189
|
+
|
|
190
|
+
No necesitas editar JavaScript. Selecciona un preset mediante \`site.ThemeDefault\` o el selector. El campo opcional \`backgroundEffects\`, en la raíz de la plantilla, define su fondo. En \`gitpagedocs/config.json\`, \`site.backgroundEffects\` controla todos los fondos y permite ajustes individuales:
|
|
191
|
+
|
|
192
|
+
\`\`\`json
|
|
193
|
+
${SITE_EXAMPLE}
|
|
194
|
+
\`\`\`
|
|
195
|
+
|
|
196
|
+
La precedencia es plantilla → \`site.backgroundEffects.overrides\` → \`site.backgroundEffects.themes[themeId]\`. Los objetos internos se combinan; \`layers\` sustituye el array completo, por lo que debes incluir todas las capas que quieras conservar. El ejemplo sustituye la cuadrícula y las letras originales de Matrix Rain por una capa de caracteres personalizada. Los demás temas conservan sus capas y solo reciben los ajustes globales de velocidad y paralaje.
|
|
197
|
+
|
|
198
|
+
- Usa \`site.backgroundEffects.enabled: false\` para desactivar todos los fondos. Un \`enabled: true\` individual no anula este interruptor principal.
|
|
199
|
+
- Usa \`themes[themeId].enabled: false\` para desactivar el fondo de un tema.
|
|
200
|
+
- Usa \`animation.enabled: false\` y \`parallax.enabled: false\` para un fondo estático. \`animation.speed\` multiplica la velocidad; los valores menores producen movimientos más lentos.
|
|
201
|
+
- Cambia \`count\`, \`colors\`, \`size\`, \`duration\` y \`opacity\` por capa para ajustar densidad, paleta, tamaño, tiempo y visibilidad. Una cantidad de cero elimina la capa.
|
|
202
|
+
- Los temas sin \`backgroundEffects\` permanecen estáticos, salvo que añadas explícitamente un fondo habilitado con capas válidas mediante estas opciones.
|
|
203
|
+
|
|
204
|
+
### Pausar desde el menú de navegación
|
|
205
|
+
|
|
206
|
+
El control de pausa/reanudación aparece junto al candado de navegación en el menú de documentación, incluida la barra lateral contraída y el menú móvil. Las páginas de búsqueda lo muestran en su cabecera. La pausa manual se conserva al abrir o cerrar menús y al cambiar de tema; utiliza Reanudar para continuar. Las protecciones de movimiento reducido y pestaña oculta siguen teniendo prioridad.
|
|
207
|
+
|
|
208
|
+
\`site.backgroundEffects.overrides.accessibility.showPauseButton\` tiene el valor explícito \`true\` por defecto. Define \`false\` para ocultar solo el control; esto no detiene la animación. Desactiva todos los fondos con el interruptor general \`site.backgroundEffects.enabled: false\`. Personaliza \`site.icons.BackgroundAnimationPause\` (\`FiPause\`) y \`BackgroundAnimationResume\` (\`FiPlay\`) de forma independiente mediante \`reactIcon\`, \`tag\`, \`size\`, \`colorDark\` y \`colorLight\`. Los valores predeterminados son iconos, 22px y \`currentColor\`; \`reactIcon: false\` muestra el texto localizado de la acción y conserva su nombre accesible.
|
|
209
|
+
|
|
210
|
+
### Campos del fondo y las capas
|
|
211
|
+
|
|
212
|
+
| Campo | Significado e intervalo aceptado |
|
|
213
|
+
| --- | --- |
|
|
214
|
+
| \`enabled\`, \`surface\`, \`opacity\` | Habilita el fondo, define su color/degradado CSS y la opacidad total de 0 a 1 |
|
|
215
|
+
| \`animation.enabled\`, \`animation.speed\` | Movimiento automático; multiplicador de velocidad entre 0,05 y 4 |
|
|
216
|
+
| \`parallax.enabled\` | Profundidad con el puntero/desplazamiento, independiente del movimiento automático |
|
|
217
|
+
| \`parallax.pointer\`, \`parallax.scroll\` | Desplazamiento del puntero de 0 a 80 px; proporción de desplazamiento de 0 a 0,3 |
|
|
218
|
+
| \`accessibility.reducedMotion\` | \`static\` mantiene una composición inmóvil; \`hide\` la oculta cuando se solicita movimiento reducido |
|
|
219
|
+
| \`accessibility.showPauseButton\` | Muestra el control de pausa/reanudación; habilitado en los 60 presets animados |
|
|
220
|
+
| \`layers[].id\`, \`kind\` | ID único y tipo \`stars\`, \`streaks\`, \`matrix\`, \`orbs\`, \`grid\` o \`waves\` |
|
|
221
|
+
| \`count\`, \`colors\`, \`opacity\` | 0–80 elementos, hasta 8 colores CSS y opacidad de capa de 0 a 1 |
|
|
222
|
+
| \`size.min/max\`, \`duration.min/max\` | Tamaño en px (0,5–800) y duración en segundos (2–120) |
|
|
223
|
+
| \`travel.x/y\`, \`position.x/y\` | Recorrido en vw/vh (−200–200); posición inicial porcentual (−100–100) |
|
|
224
|
+
| \`blur\`, \`glow\`, \`rotation\`, \`depth\` | Desenfoque/brillo de 0–80 px, rotación de −360–360 grados y profundidad de 0–2 |
|
|
225
|
+
| \`length\` | Longitud de los rastros entre 1 y 500 px |
|
|
226
|
+
| \`characters\`, \`rows\` | Alfabeto Matrix y 1–48 caracteres por columna |
|
|
227
|
+
| \`seed\` | Entero entre 0 y 2147483647 para una distribución repetible de partículas |
|
|
228
|
+
|
|
229
|
+
Se utilizan hasta 8 capas y 200 elementos configurados. Se omiten tipos/IDs inválidos e IDs duplicados; los números finitos fuera del intervalo se limitan y los valores numéricos inválidos usan los predeterminados. Para dispositivos modestos, reduce cantidades y desenfoque y utiliza movimientos lentos. Conserva la legibilidad de textos y controles y mantén el botón de pausa en fondos continuos. La preferencia de movimiento reducido se aplica aunque la animación esté habilitada en JSON.
|
|
230
|
+
|
|
231
|
+
Los colores aceptan valores CSS como hexadecimal, \`rgb(...)\` o \`var(--primary)\`. Una lista ausente/vacía utiliza \`var(--primary)\` y \`var(--secondary)\`, siguiendo la paleta activa. Los textos pierden espacios en los extremos y se limitan a 2048 caracteres; los intervalos min/max invertidos se ordenan automáticamente. Cantidades, filas y semillas se convierten en enteros. Un fondo habilitado necesita al menos una capa válida; la animación automática y el paralaje se habilitan cuando se omiten sus opciones en ese fondo.
|
|
232
|
+
|
|
233
|
+
### Creación de temas y compatibilidad
|
|
234
|
+
|
|
235
|
+
En este repositorio, añade el preset en \`gitpagelayouts/v2/layouts/\` con \`overrides.backgroundEffects\` y registra sus metadatos en \`layoutsConfig.json\`. \`pnpm run layouts:sync\` expande la plantilla, documenta el tema y compila el mismo fondo/paleta en los datos incluidos en la CLI. No edites \`cli/data/animated-layouts.mjs\` directamente. La plantilla generada usa \`backgroundEffects\` en su raíz, separado de \`animations\`.
|
|
236
|
+
|
|
237
|
+
El catálogo oficial y \`npx @gitpagedocs/cli --layoutconfig\` ofrecen los mismos 124 temas, incluidos los 60 presets animados. Las configuraciones antiguas y los 84 temas anteriores siguen funcionando. Los visores antiguos sin soporte para fondos siguen utilizando los colores y componentes normales de la plantilla.
|
|
238
|
+
|
|
239
|
+
Para previsualizar cambios aún no publicados en este checkout, define \`GITPAGEDOCS_LAYOUTS_SOURCE=local\` antes de iniciar el servidor de desarrollo. Solo \`NODE_ENV=development\` acepta esta opción: lee el catálogo local \`gitpagelayouts/\` sin modificar la configuración guardada. Producción y valores ausentes/desconocidos siguen respetando el JSON. Para utilizar plantillas locales en producción, configura \`site.layoutsConfigPathOficial: false\` y las rutas locales/personalizadas correspondientes.
|
|
240
|
+
`,
|
|
241
|
+
};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export const PACKAGE_VERSION = "0.0.
|
|
1
|
+
export const PACKAGE_VERSION = "0.0.12";
|
|
2
2
|
|
|
3
|
-
export const DOC_VERSIONS = [PACKAGE_VERSION];
|
|
3
|
+
export const DOC_VERSIONS = [PACKAGE_VERSION, "0.0.11", "0.0.10"];
|