@gitpagedocs/cli 0.0.10 → 0.0.11
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/builders/version-config-builder.mjs +10 -4
- package/content/configuration-examples.mjs +22 -8
- package/content/content-blocks.mjs +142 -0
- package/content/docs-en.mjs +31 -15
- package/content/docs-es.mjs +148 -132
- package/content/docs-pt.mjs +169 -153
- 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 +6 -4
- package/content/practical-es.mjs +7 -5
- package/content/practical-pt.mjs +8 -6
- package/contracts/doc-versions.mjs +2 -2
- package/data/composed-pages.mjs +25 -0
- package/data/default-site-config.mjs +130 -130
- package/data/i18n-langmenu.mjs +28 -28
- package/data/i18n-translations.mjs +7 -7
- package/data/menu-sections.mjs +11 -1
- package/data/path-mappings.mjs +10 -1
- package/data/route-metas.mjs +45 -9
- package/package.json +3 -3
- package/runtime/doc-path-resolver.mjs +17 -2
package/content/docs-pt.mjs
CHANGED
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
import { practicalPt } from "./practical-pt.mjs";
|
|
2
2
|
import { operationsPt } from "./operations-pt.mjs";
|
|
3
|
+
import { overviewsPt } from "./overviews-pt.mjs";
|
|
4
|
+
import { CONTENT_BLOCKS_DOCS } from "./content-blocks.mjs";
|
|
5
|
+
import { PARENT_MENU_JSON } from "./configuration-examples.mjs";
|
|
3
6
|
|
|
4
7
|
export const docsPt = {
|
|
5
8
|
...practicalPt,
|
|
6
9
|
...operationsPt,
|
|
10
|
+
...overviewsPt,
|
|
11
|
+
contentBlocks: CONTENT_BLOCKS_DOCS.pt,
|
|
7
12
|
pdf: `# Documentos PDF
|
|
8
13
|
|
|
9
14
|
PDF é um tipo de conteúdo próprio, junto com Markdown, HTML, código-fonte, vídeo e áudio. A prévia usa o visualizador nativo de PDF do navegador. As ações de baixar e abrir em nova aba são configuráveis de forma independente.
|
|
@@ -33,11 +38,11 @@ Adicione este bloco dentro de \`site\` em \`gitpagedocs/config.json\`:
|
|
|
33
38
|
|
|
34
39
|
A precedência das ações é \`rota.pdf.<flag>\` > \`site.pdf.<flag>\` > \`true\`. Um \`true\` explícito na rota habilita aquela ação mesmo quando o padrão do site é \`false\`; \`site.pdf.enabled: false\` continua desabilitando todos os PDFs. Sem caminho para o idioma selecionado, o PDF fica indisponível; não há fallback automático de idioma.
|
|
35
40
|
|
|
36
|
-
As ações PDF usam ícones por padrão. Configure \`site.icons.PdfDownload\` (\`
|
|
41
|
+
As ações PDF usam ícones por padrão. Configure \`site.icons.PdfDownload\` (\`LuDownload\`) e \`site.icons.PdfOpenInNewTab\` (\`LuExternalLink\`) individualmente com \`reactIcon\`, \`tag\`, \`size\`, \`colorDark\` e \`colorLight\`. Por exemplo, \`"PdfDownload": { "reactIcon": false }\` exibe texto no download enquanto a nova aba continua com ícone. A aparência não altera as opções de habilitação acima.
|
|
37
42
|
|
|
38
43
|
## Exemplo de rota e menu
|
|
39
44
|
|
|
40
|
-
Em \`gitpagedocs/docs/versions/0.0.
|
|
45
|
+
Em \`gitpagedocs/docs/versions/0.0.11/config.json\`, mantenha as listas de rotas e menus no nível principal:
|
|
41
46
|
|
|
42
47
|
\`\`\`json
|
|
43
48
|
{
|
|
@@ -46,9 +51,9 @@ Em \`gitpagedocs/docs/versions/0.0.10/config.json\`, mantenha as listas de rotas
|
|
|
46
51
|
"title": { "en": "Project guide (English)", "pt": "Guia do projeto (inglês)", "es": "Guía del proyecto (inglés)" },
|
|
47
52
|
"pdf": {
|
|
48
53
|
"pathPdf": {
|
|
49
|
-
"en": "gitpagedocs/docs/versions/0.0.
|
|
50
|
-
"pt": "gitpagedocs/docs/versions/0.0.
|
|
51
|
-
"es": "gitpagedocs/docs/versions/0.0.
|
|
54
|
+
"en": "gitpagedocs/docs/versions/0.0.11/en/gitpagedocs-project-guide.pdf",
|
|
55
|
+
"pt": "gitpagedocs/docs/versions/0.0.11/en/gitpagedocs-project-guide.pdf",
|
|
56
|
+
"es": "gitpagedocs/docs/versions/0.0.11/en/gitpagedocs-project-guide.pdf"
|
|
52
57
|
},
|
|
53
58
|
"previewEnabled": true,
|
|
54
59
|
"downloadEnabled": true,
|
|
@@ -86,15 +91,15 @@ O botão de nova aba abre o Blob PDF validado em vez de navegar para a URL raw d
|
|
|
86
91
|
`,
|
|
87
92
|
index: `# Git Page Docs
|
|
88
93
|
|
|
89
|
-
Git Page Docs
|
|
94
|
+
Git Page Docs é um runtime de documentação multi-idioma para repositórios que possuem a pasta \`gitpagedocs/\`.
|
|
90
95
|
|
|
91
96
|
## O que este projeto entrega
|
|
92
97
|
|
|
93
|
-
-
|
|
94
|
-
- Roteamento por
|
|
98
|
+
- Renderização markdown em varios idiomas (\`en\`, \`pt\`, \`es\`)
|
|
99
|
+
- Roteamento por versão (\`/v/:versao\`)
|
|
95
100
|
- Sistema de temas por templates JSON
|
|
96
|
-
-
|
|
97
|
-
- Busca de
|
|
101
|
+
- Execução local e em GitHub Pages
|
|
102
|
+
- Busca de repositório + renderização remota opcional
|
|
98
103
|
|
|
99
104
|
## Contrato de pastas
|
|
100
105
|
|
|
@@ -107,14 +112,14 @@ O runtime espera esta estrutura:
|
|
|
107
112
|
- \`gitpagelayouts/layoutsConfig.json\`
|
|
108
113
|
- \`gitpagelayouts/templates/*.json\`
|
|
109
114
|
|
|
110
|
-
##
|
|
115
|
+
## Navegação rápida
|
|
111
116
|
|
|
112
117
|
- Abra **Primeiros passos** para setup local.
|
|
113
|
-
- Abra **
|
|
114
|
-
- Abra **
|
|
115
|
-
- Abra **Arquitetura** para mapa de
|
|
118
|
+
- Abra **Configuração** para detalhes completos do \`config.json\`.
|
|
119
|
+
- Abra **Publicação** para comportamento local/produção/GitHub Pages.
|
|
120
|
+
- Abra **Arquitetura** para mapa de código e fluxo de dados.
|
|
116
121
|
- Abra **Temas e layouts** para autoria de templates.
|
|
117
|
-
- Abra **Rotas autorizadas** para configurar chave, papeis e
|
|
122
|
+
- Abra **Rotas autorizadas** para configurar chave, papeis e autenticação externa.
|
|
118
123
|
- Abra **FAQ** para troubleshooting.
|
|
119
124
|
|
|
120
125
|
## Referências detalhadas
|
|
@@ -122,6 +127,7 @@ O runtime espera esta estrutura:
|
|
|
122
127
|
- **Referência da CLI**: instalação, todos os comandos e flags de compatibilidade.
|
|
123
128
|
- **Servidor MCP**: cliente, 20 tools, 7 resources e configuração de provedores.
|
|
124
129
|
- **Navegação e submenus**: árvores recursivas, URLs e sobrescritas dos breadcrumbs.
|
|
130
|
+
- **Blocos de conteúdo ordenados**: repita e ordene Markdown, HTML, vídeo, áudio e PDF na mesma página; posicione títulos e descrições configurados independentemente.
|
|
125
131
|
- **Modo foco**: copiar/baixar Markdown e navegar por seção/documento.
|
|
126
132
|
- **Acessibilidade e narração**: vozes do navegador, controles e interação com mídias.
|
|
127
133
|
- **Documentos PDF**: prévia nativa, download/nova aba e o guia incluído em inglês.
|
|
@@ -181,59 +187,59 @@ O repositório fixa o pnpm em \`packageManager\`. \`pnpm dev\` ativa a busca de
|
|
|
181
187
|
|
|
182
188
|
Use Configuração para idiomas, ícones, navegação, foco e narração; Funcionalidades para CLI e MCP; Temas e layouts para tokens visuais; Perguntas frequentes para diagnóstico.
|
|
183
189
|
`,
|
|
184
|
-
projectOverview: `#
|
|
190
|
+
projectOverview: `# Visão geral do projeto
|
|
185
191
|
|
|
186
|
-
Git Page Docs
|
|
192
|
+
Git Page Docs é um monorepo pnpm + turborepo que transforma a pasta \`gitpagedocs/\` de um repositório em um site de documentação multilinguagem e versionado — com assistente de IA integrado e um servidor MCP (Model Context Protocol).
|
|
187
193
|
|
|
188
194
|
## Pacotes do monorepo
|
|
189
195
|
|
|
190
196
|
- **frontend/** — visualizador Next.js 15 (App Router, React 19), exportado estaticamente para o GitHub Pages.
|
|
191
197
|
- **cli/** — o pacote npm publicado \`@gitpagedocs/cli\` (\`npm install -g @gitpagedocs/cli\`): gera a estrutura de docs, documenta com IA, configura o Pages e roda o servidor MCP.
|
|
192
|
-
- **tools/** — \`@gitpagedocs/tools\`, o
|
|
198
|
+
- **tools/** — \`@gitpagedocs/tools\`, o núcleo de lógica compartilhado: sistema de IA com 14 provedores, cofre de credenciais criptografado, loader de config, caches e logger.
|
|
193
199
|
- **mcp/** — \`@gitpagedocs/mcp\`, servidor Model Context Protocol (20 ferramentas + 7 recursos).
|
|
194
|
-
- **gitpagedocs/** — o contrato do
|
|
200
|
+
- **gitpagedocs/** — o contrato do usuário: \`config.json\`, docs versionados e layouts.
|
|
195
201
|
|
|
196
202
|
## Stack
|
|
197
203
|
|
|
198
|
-
- Next.js 15 (App Router) + React 19 + TypeScript;
|
|
204
|
+
- Next.js 15 (App Router) + React 19 + TypeScript; exportação estática para GitHub Pages
|
|
199
205
|
- gray-matter + marked para Markdown; react-icons
|
|
200
206
|
- pnpm workspaces + turborepo; Vitest + Playwright; ESLint
|
|
201
207
|
|
|
202
208
|
## Destaques
|
|
203
209
|
|
|
204
|
-
- Multilinguagem (\`en\`, \`pt\`, \`es\`) e rotas por
|
|
210
|
+
- Multilinguagem (\`en\`, \`pt\`, \`es\`) e rotas por versão (\`/v/:version\`)
|
|
205
211
|
- Sistema de IA com 14 provedores (OpenAI, Anthropic, Gemini, Ollama, Mistral, DeepSeek, Cohere, Groq, xAI e mais) com streaming
|
|
206
212
|
- Chaves de IA **criptografadas em repouso** (AES-256-GCM) atras de uma senha local — nunca em texto puro
|
|
207
213
|
- **Drawer de chat de IA** nos docs + um **console \`/ai\`** dedicado
|
|
208
|
-
- Sistema de 64 temas (variantes escuras e claras);
|
|
214
|
+
- Sistema de 64 temas (variantes escuras e claras); execução local e no GitHub Pages
|
|
209
215
|
`,
|
|
210
216
|
functionalities: `# Funcionalidades
|
|
211
217
|
|
|
212
|
-
|
|
218
|
+
Referência completa de opções da CLI, chaves de configuração e recursos do runtime.
|
|
213
219
|
|
|
214
220
|
## Linha de comando
|
|
215
221
|
|
|
216
222
|
Consulte **Referência da CLI** para comandos, flags, exemplos e compatibilidade. Consulte **Servidor MCP** para integração com editores.
|
|
217
223
|
|
|
218
|
-
## Tipos de
|
|
224
|
+
## Tipos de conteúdo
|
|
219
225
|
|
|
220
|
-
| Tipo | Chave config |
|
|
226
|
+
| Tipo | Chave config | Descrição |
|
|
221
227
|
|------|--------------|-----------|
|
|
222
228
|
| Markdown | \`routes-md\` | Arquivos .md com \`path\` por idioma |
|
|
223
229
|
| HTML | \`routes-html\` | \`path\` local ou \`url\` externa |
|
|
224
|
-
|
|
|
225
|
-
|
|
|
230
|
+
| Vídeo | \`routes-video\` | \`video.pathVideo\`, \`video.videoType\` |
|
|
231
|
+
| Áudio | \`routes-audio\` | \`audio.pathAudio\`, \`audio.audioType\` |
|
|
226
232
|
| PDF | \`routes-pdf\` | \`pdf.pathPdf\` por idioma; prévia nativa e download |
|
|
227
233
|
|
|
228
|
-
## Visualizador de
|
|
234
|
+
## Visualizador de código fonte
|
|
229
235
|
|
|
230
|
-
O config da
|
|
236
|
+
O config da versão pode renderizar um container **Código fonte** via \`routes-source-viewer\` e \`menus-header-source-viewer\`. O viewer lê a árvore do repositório no GitHub em tempo de execução e aplica o tema atual da documentação.
|
|
231
237
|
|
|
232
|
-
-
|
|
233
|
-
-
|
|
234
|
-
- Listagem de
|
|
235
|
-
-
|
|
236
|
-
-
|
|
238
|
+
- Árvore do repositório a partir de \`source-viewer-path\`; a branch padrão é \`main\`
|
|
239
|
+
- Navegação por pastas e filtro de arquivos
|
|
240
|
+
- Listagem de diretórios no estilo GitHub
|
|
241
|
+
- Renderização de código com números de linha
|
|
242
|
+
- Alternância preview/código para Markdown, incluindo \`README.md\`
|
|
237
243
|
- Pastas recolhiveis na lateral
|
|
238
244
|
|
|
239
245
|
## Chaves de config (site)
|
|
@@ -243,67 +249,67 @@ O config da versao pode renderizar um container **Codigo fonte** via \`routes-so
|
|
|
243
249
|
- \`ProjectLink\`, \`layoutsConfigPathOficial\`, \`layoutsConfigPath\`
|
|
244
250
|
- Idiomas: \`site.languages\` (liga/desliga cada um); textos da UI: \`gitpagedocs/langs/<lang>.json\`
|
|
245
251
|
|
|
246
|
-
##
|
|
252
|
+
## Reprodução de midia (um som por vez)
|
|
247
253
|
|
|
248
|
-
\`site.mediaExclusivePlayback\` (
|
|
254
|
+
\`site.mediaExclusivePlayback\` (padrão \`true\`): dar play num vídeo de rota pausa o rádio e as trilhas de áudio, e dar play no rádio ou numa trilha de áudio pausa o vídeo. Funciona com YouTube e Vimeo (pelas APIs dos players), arquivos nativos (\`mp4\`, \`webm\`, …) e qualquer outro embed.
|
|
249
255
|
|
|
250
|
-
Para mostrar um
|
|
256
|
+
Para mostrar um vídeo sem som enquanto o rádio ou uma trilha de áudio o explica, use \`"muted": true\` no objeto \`video\` da rota: o vídeo roda só a imagem e fica fora da regra. \`"mediaExclusivePlayback": false\` desliga a regra no site inteiro.
|
|
251
257
|
|
|
252
|
-
##
|
|
258
|
+
## Variáveis de ambiente
|
|
253
259
|
|
|
254
|
-
- \`GITPAGEDOCS_REPOSITORY_SEARCH\` – busca de
|
|
260
|
+
- \`GITPAGEDOCS_REPOSITORY_SEARCH\` – busca de repositório (local)
|
|
255
261
|
- \`GITHUB_ACTIONS\` – modo build GitHub Pages
|
|
256
262
|
|
|
257
263
|
## Assistente de IA
|
|
258
264
|
|
|
259
|
-
Os docs trazem um assistente de IA em duas
|
|
265
|
+
Os docs trazem um assistente de IA em duas superfícies: um **chat drawer** dentro dos docs (botão de chat de IA na barra lateral, ativado por \`site.AiChatEnabled\`) e uma página **console \`/ai\`** dedicada.
|
|
260
266
|
|
|
261
|
-
- **14 provedores** em um
|
|
262
|
-
- **Escolha de modelo** — a partir do
|
|
267
|
+
- **14 provedores** em um único core compartilhado: OpenAI, Anthropic, Gemini, OpenRouter, Ollama, Azure OpenAI, Mistral, DeepSeek, Cohere, Groq, xAI, Together, Fireworks, Perplexity.
|
|
268
|
+
- **Escolha de modelo** — a partir do catálogo de cada provedor (\`gitpagedocs models <provedor>\`); um id de modelo salvo que o provedor aposentou é trocado pelo padrão do provedor automaticamente.
|
|
263
269
|
- **Criptografia em repouso** — sua chave de API e selada com AES-256-GCM atras de uma **senha local** e nunca fica em texto puro nem em logs.
|
|
264
|
-
- **Bloqueio por inatividade** — o chat drawer se bloqueia sozinho
|
|
265
|
-
- **Provedores resilientes** — erros
|
|
266
|
-
- **
|
|
270
|
+
- **Bloqueio por inatividade** — o chat drawer se bloqueia sozinho após \`site.AiChatAutoLockSeconds\` segundos sem uso (padrão 30, \`0\` desativa): um modal centralizado com contagem regressiva, no seu idioma, permite cancelar ou bloquear agora, e desbloquear pede a senha de novo.
|
|
271
|
+
- **Provedores resilientes** — erros transitórios do provedor são repetidos (3 tentativas) e uma falha final vira uma mensagem simples terminando em "Tente novamente!".
|
|
272
|
+
- **Geração de documentação com IA** — \`gitpagedocs ai\` varre os caminhos escolhidos e escreve markdown multilíngue (pt/en/es); reutilizável via \`.gitpagedocsconfig\`, cuja chave de API fica selada no cofre criptografado \`.gitpagedocsvault\` (a senha do cofre é pedida em toda execução). \`gitpagedocs chat\` leva o mesmo assistente ao terminal.
|
|
267
273
|
|
|
268
274
|
## Servidor MCP
|
|
269
275
|
|
|
270
|
-
\`gitpagedocs mcp start\` sobe um servidor Model Context Protocol (stdio) expondo **20 tools** (sistema de arquivos, IA,
|
|
276
|
+
\`gitpagedocs mcp start\` sobe um servidor Model Context Protocol (stdio) expondo **20 tools** (sistema de arquivos, IA, geração/análise de docs) e **7 resources** (\`project://structure|docs|config|repository|readme|ai/providers|ai/models\`) para editores e agentes de IA.
|
|
271
277
|
`,
|
|
272
|
-
configuration: `#
|
|
278
|
+
configuration: `# Configuração
|
|
273
279
|
|
|
274
|
-
A
|
|
280
|
+
A configuração de runtime fica em \`gitpagedocs/config.json\`. Os textos da UI ficam ao lado, um arquivo por idioma.
|
|
275
281
|
|
|
276
282
|
## Idiomas (\`site.languages\` + \`langs/\`)
|
|
277
283
|
|
|
278
|
-
- \`site.languages\` em \`gitpagedocs/config.json\` liga (\`true\`) ou desliga (\`false\`) cada idioma, na ordem do menu: \`{ "languages": { "en": true, "pt": true, "es": false } }\`. Um idioma em \`false\` some do seletor de idiomas e seus textos
|
|
279
|
-
- \`gitpagedocs/langs/<lang>.json\` guarda os textos daquele idioma: \`langmenu\` (
|
|
284
|
+
- \`site.languages\` em \`gitpagedocs/config.json\` liga (\`true\`) ou desliga (\`false\`) cada idioma, na ordem do menu: \`{ "languages": { "en": true, "pt": true, "es": false } }\`. Um idioma em \`false\` some do seletor de idiomas e seus textos não são carregados, mesmo que os docs existam.
|
|
285
|
+
- \`gitpagedocs/langs/<lang>.json\` guarda os textos daquele idioma: \`langmenu\` (cabeçalho, busca, visualizador de código, player de áudio, chat de IA e acesso aos docs) e \`translations\` (\`notFound\`, \`navigation\`, \`footer\`).
|
|
280
286
|
- Para adicionar um idioma, crie \`langs/<lang>.json\` e inclua \`"<lang>": true\` em \`site.languages\`.
|
|
281
|
-
- Arquivos \`config.json\` antigos que ainda trazem \`site.langmenu\` / \`translations\` inline continuam funcionando; quando os dois existem, os arquivos de \`langs/\` prevalecem e qualquer chave ausente
|
|
287
|
+
- Arquivos \`config.json\` antigos que ainda trazem \`site.langmenu\` / \`translations\` inline continuam funcionando; quando os dois existem, os arquivos de \`langs/\` prevalecem e qualquer chave ausente é preenchida a partir da versão atual.
|
|
282
288
|
|
|
283
|
-
##
|
|
289
|
+
## Seção \`site\`
|
|
284
290
|
|
|
285
291
|
Principais chaves:
|
|
286
292
|
|
|
287
|
-
- \`name\`:
|
|
288
|
-
- \`defaultLanguage\`: idioma
|
|
293
|
+
- \`name\`: título do projeto no UI
|
|
294
|
+
- \`defaultLanguage\`: idioma padrão
|
|
289
295
|
- \`HideThemeSelector\`: esconde/mostra seletor de tema
|
|
290
296
|
- \`ThemeDefault\`: id do tema inicial
|
|
291
297
|
- \`ThemeModeDefault\`: modo inicial (\`light\` ou \`dark\`)
|
|
292
|
-
- \`ProjectLink\`: URL de
|
|
293
|
-
- \`docsVersion\`:
|
|
298
|
+
- \`ProjectLink\`: URL de repositório para acoes no cabeçalho
|
|
299
|
+
- \`docsVersion\`: versão inicial selecionada
|
|
294
300
|
- \`ActiveNavigation\`: habilita a navegação rápida e o atalho Ctrl+K
|
|
295
301
|
- \`FocusMode\`: habilita modo foco/leitura
|
|
296
|
-
- \`icons\`:
|
|
297
|
-
- \`IconImageMenuHeaderImgWidth\`, \`IconImageMenuHeaderImgHeight\`: tamanho do
|
|
298
|
-
- \`IconImageMenuHeaderLightImg\`, \`IconImageMenuHeaderDarkImg\`:
|
|
299
|
-
- \`IconProjectLinkImgWidth\`, \`IconProjectLinkImgHeight\`: tamanho do
|
|
300
|
-
- \`IconProjectLinkLightImg\`, \`IconProjectLinkDarkImg\`:
|
|
301
|
-
- \`IconVersionLinksImgWidth\`, \`IconVersionLinksImgHeight\`: tamanho do
|
|
302
|
-
- \`IconVersionLinksLightImg\`, \`IconVersionLinksDarkImg\`:
|
|
303
|
-
- \`IconInfoHeaderMenuImgWidth\`, \`IconInfoHeaderMenuImgHeight\`: tamanho do
|
|
304
|
-
- \`IconInfoHeaderMenuLightImg\`, \`IconInfoHeaderMenuDarkImg\`:
|
|
305
|
-
- \`IconPreviewProjectLinkImgWidth\`, \`IconPreviewProjectLinkImgHeight\`: tamanho do
|
|
306
|
-
- \`IconPreviewProjectLinkLightImg\`, \`IconPreviewProjectLinkDarkImg\`:
|
|
302
|
+
- \`icons\`: ícones do cabeçalho. \`icons.defaults\` guarda o que todos compartilham (\`reactIcon\`, \`colorDark\`, \`colorLight\`, \`size\`, \`imgDark\`, \`imgLight\`, \`imgWidth\`, \`imgHeight\`) e cada ícone define seu \`tag\` e o que muda (\`null\` remove um campo). As chaves planas abaixo continuam valendo e vencem quando as duas formas existem.
|
|
303
|
+
- \`IconImageMenuHeaderImgWidth\`, \`IconImageMenuHeaderImgHeight\`: tamanho do ícone principal
|
|
304
|
+
- \`IconImageMenuHeaderLightImg\`, \`IconImageMenuHeaderDarkImg\`: ícone principal (light/dark)
|
|
305
|
+
- \`IconProjectLinkImgWidth\`, \`IconProjectLinkImgHeight\`: tamanho do ícone link do projeto
|
|
306
|
+
- \`IconProjectLinkLightImg\`, \`IconProjectLinkDarkImg\`: ícone link do projeto
|
|
307
|
+
- \`IconVersionLinksImgWidth\`, \`IconVersionLinksImgHeight\`: tamanho do ícone links de versão
|
|
308
|
+
- \`IconVersionLinksLightImg\`, \`IconVersionLinksDarkImg\`: ícone links de versão
|
|
309
|
+
- \`IconInfoHeaderMenuImgWidth\`, \`IconInfoHeaderMenuImgHeight\`: tamanho do ícone info
|
|
310
|
+
- \`IconInfoHeaderMenuLightImg\`, \`IconInfoHeaderMenuDarkImg\`: ícone info
|
|
311
|
+
- \`IconPreviewProjectLinkImgWidth\`, \`IconPreviewProjectLinkImgHeight\`: tamanho do ícone preview
|
|
312
|
+
- \`IconPreviewProjectLinkLightImg\`, \`IconPreviewProjectLinkDarkImg\`: ícone preview
|
|
307
313
|
- \`layoutsConfigPath\`: fallback remoto para layouts
|
|
308
314
|
- \`rendering\`: URL canonica publicada
|
|
309
315
|
|
|
@@ -316,35 +322,35 @@ Em \`gitpagedocs/config.json\`, estas entradas de \`site.icons\` configuram idio
|
|
|
316
322
|
"site": {
|
|
317
323
|
"icons": {
|
|
318
324
|
"LanguageSelector": {
|
|
319
|
-
"reactIcon": true, "tag": "
|
|
325
|
+
"reactIcon": true, "tag": "SiGoogletranslate", "size": "22px",
|
|
320
326
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
321
327
|
},
|
|
322
328
|
"ThemeSelector": {
|
|
323
|
-
"reactIcon": true, "tag": "
|
|
329
|
+
"reactIcon": true, "tag": "LuPencil", "size": "22px",
|
|
324
330
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
325
331
|
},
|
|
326
332
|
"FocusMode": {
|
|
327
|
-
"reactIcon": true, "tag": "
|
|
333
|
+
"reactIcon": true, "tag": "LuBookOpen", "size": "22px",
|
|
328
334
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
329
335
|
},
|
|
330
336
|
"QuickNavigation": {
|
|
331
|
-
"reactIcon": true, "tag": "
|
|
337
|
+
"reactIcon": true, "tag": "LuSearch", "size": "22px",
|
|
332
338
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
333
339
|
},
|
|
334
340
|
"PdfDownload": {
|
|
335
|
-
"reactIcon": true, "tag": "
|
|
341
|
+
"reactIcon": true, "tag": "LuDownload", "size": "22px",
|
|
336
342
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
337
343
|
},
|
|
338
344
|
"PdfOpenInNewTab": {
|
|
339
|
-
"reactIcon": true, "tag": "
|
|
345
|
+
"reactIcon": true, "tag": "LuExternalLink", "size": "22px",
|
|
340
346
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
341
347
|
},
|
|
342
348
|
"DocumentPrevious": {
|
|
343
|
-
"reactIcon": true, "tag": "
|
|
349
|
+
"reactIcon": true, "tag": "LuChevronLeft", "size": "22px",
|
|
344
350
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
345
351
|
},
|
|
346
352
|
"DocumentNext": {
|
|
347
|
-
"reactIcon": true, "tag": "
|
|
353
|
+
"reactIcon": true, "tag": "LuChevronRight", "size": "22px",
|
|
348
354
|
"colorDark": "currentColor", "colorLight": "currentColor"
|
|
349
355
|
}
|
|
350
356
|
}
|
|
@@ -356,66 +362,66 @@ Cada controle é independente: \`reactIcon: true\` mostra o ícone (padrão); \`
|
|
|
356
362
|
|
|
357
363
|
Configs compactos podem mover valores comuns para \`site.icons.defaults\`; campos omitidos herdam esses defaults. Defina \`reactIcon: false\` em uma entrada específica para substituir o ícone padrão por texto.
|
|
358
364
|
|
|
359
|
-
##
|
|
365
|
+
## Seção \`VersionControl\`
|
|
360
366
|
|
|
361
367
|
\`VersionControl.versions\` define:
|
|
362
368
|
|
|
363
|
-
- \`id\`: identificador da
|
|
364
|
-
- \`path\`: caminho do config da
|
|
369
|
+
- \`id\`: identificador da versão
|
|
370
|
+
- \`path\`: caminho do config da versão
|
|
365
371
|
- links opcionais (\`ProjectLink\`, \`branch\`, \`release\`, \`commit\`)
|
|
366
372
|
- metadados opcionais do source viewer (\`source-viewer\`, \`source-viewer-path\`)
|
|
367
373
|
|
|
368
|
-
##
|
|
374
|
+
## Navegação e rotas
|
|
369
375
|
|
|
370
376
|
- \`routes\`: caminhos markdown por idioma (legado)
|
|
371
377
|
- \`menus-header\`: menu hierarquico
|
|
372
|
-
- \`translations\`: labels de UI para not-found e
|
|
378
|
+
- \`translations\`: labels de UI para not-found e navegação
|
|
373
379
|
|
|
374
|
-
##
|
|
380
|
+
## Autorização (config de versão)
|
|
375
381
|
|
|
376
|
-
- \`auth\`:
|
|
382
|
+
- \`auth\`: configurações globais de autorização para a versão
|
|
377
383
|
- \`auth.accessKeys\`: mapa de chaves usado por \`authorization.accessKeyId\`
|
|
378
384
|
- \`auth.rolesStorageKey\`: chave de localStorage para bootstrap de papeis
|
|
379
385
|
- \`auth.providers\`: adaptadores de provedor (\`authjs\`, \`clerk\`, \`firebase\`, \`jwt\`)
|
|
380
386
|
|
|
381
|
-
## Tipos de
|
|
387
|
+
## Tipos de conteúdo (config de versão)
|
|
382
388
|
|
|
383
|
-
Configs de
|
|
389
|
+
Configs de versão suportam múltiplos tipos:
|
|
384
390
|
|
|
385
391
|
- \`routes-md\`: Rotas markdown com \`title\`, \`description\` (centralizados via \`titlePosition\`, \`descriptionPosition\`)
|
|
386
|
-
- \`routes-source-viewer\`: Containers de
|
|
387
|
-
- \`routes-html\`: Caminhos de
|
|
388
|
-
- \`routes-video\`: Config de
|
|
389
|
-
- \`routes-audio\`: Config de
|
|
392
|
+
- \`routes-source-viewer\`: Containers de código fonte com \`source-viewer: true\` e \`source-viewer-path\`
|
|
393
|
+
- \`routes-html\`: Caminhos de páginas HTML por idioma
|
|
394
|
+
- \`routes-video\`: Config de vídeo com \`video.videoType\` (youtube, vimeo, mp4, etc.) e \`video.pathVideo\`
|
|
395
|
+
- \`routes-audio\`: Config de áudio com \`audio.audioType\` (youtube, mp3, etc.) e \`audio.pathAudio\`
|
|
390
396
|
- \`routes-pdf\`: PDF com \`pdf.pathPdf\` por idioma; consulte Documentos PDF.
|
|
391
|
-
- \`authorization\` (md/html/
|
|
397
|
+
- \`authorization\` (md/html/vídeo): guarda de acesso por chave, papeis e autenticação externa
|
|
392
398
|
- \`menus-header-md\`, \`menus-header-source-viewer\`, \`menus-header-html\`, \`menus-header-video\`, \`menus-header-audio\`, \`menus-header-pdf\`: menus por tipo
|
|
393
|
-
- \`hierarchyPage\`: ordem dos containers na
|
|
394
|
-
- \`hierarchyMenu\`: ordem das
|
|
399
|
+
- \`hierarchyPage\`: ordem dos containers na página \`{ md: 0, "source-viewer": 1, html: 2, video: 3, audio: 4, pdf: 5 }\`
|
|
400
|
+
- \`hierarchyMenu\`: ordem das seções do menu \`{ md: 0, "source-viewer": 1, html: 2, video: 3, audio: 4, pdf: 5 }\`
|
|
395
401
|
|
|
396
402
|
Cada rota pode incluir \`title\`, \`description\` (por idioma), \`titleCss\`, \`titlePosition: "center"\`, \`descriptionPosition: "center"\`, \`titleIsVisible\`, \`descriptionIsVisible\`.
|
|
397
403
|
|
|
398
|
-
|
|
404
|
+
Configurações que todas as rotas compartilham ficam uma única vez em \`routeDefaults\`, no topo do config da versão; cada rota guarda só os próprios valores, e um valor escrito na rota vence o \`routeDefaults\`.
|
|
399
405
|
|
|
400
|
-
##
|
|
406
|
+
## Variáveis por rota (blockLink, container, url, browseAll)
|
|
401
407
|
|
|
402
|
-
|
|
408
|
+
Opções por rota em \`routes-md\`, \`routes-html\` e \`routes-video\`:
|
|
403
409
|
|
|
404
|
-
- **\`blockLink\`** (
|
|
405
|
-
- **\`container\`** – \`"full"\` = altura
|
|
406
|
-
- **\`url\`** – Apenas em \`routes-html\`: \`Record<LanguageCode, string>\` com URLs externas. Quando definido, o iframe usa \`src={url}\` em vez de HTML local via \`srcDoc\`. Rotas com \`url\`
|
|
407
|
-
- **\`browseAll\`** (
|
|
410
|
+
- **\`blockLink\`** (padrão: true) – Para HTML: se true, links abrem em nova aba (\`target="_blank"\`); se false, no próprio contexto.
|
|
411
|
+
- **\`container\`** – \`"full"\` = altura automática; numero (ex: \`500\`) = altura fixa em px com overflow auto. Aplica-se a md, html e vídeo.
|
|
412
|
+
- **\`url\`** – Apenas em \`routes-html\`: \`Record<LanguageCode, string>\` com URLs externas. Quando definido, o iframe usa \`src={url}\` em vez de HTML local via \`srcDoc\`. Rotas com \`url\` não geram arquivos HTML locais.
|
|
413
|
+
- **\`browseAll\`** (padrão: false) – Se true, o container mostra botões Anterior/Próximo para navegar entre todos os itens daquele tipo.
|
|
408
414
|
|
|
409
|
-
## Tipos de
|
|
415
|
+
## Tipos de conteúdo: path vs url (HTML)
|
|
410
416
|
|
|
411
417
|
- **Markdown (\`routes-md\`)**: usa \`path\` apontando para arquivos \`.md\` locais.
|
|
412
|
-
- **HTML (\`routes-html\`)**: usa \`path\` para arquivos HTML locais (sem
|
|
413
|
-
- **
|
|
418
|
+
- **HTML (\`routes-html\`)**: usa \`path\` para arquivos HTML locais (sem extensão .html no config) ou \`url\` para URLs externas. Com \`url\`, o iframe carrega a página externa; nenhum arquivo local é gerado.
|
|
419
|
+
- **Vídeo (\`routes-video\`)**: usa \`video.pathVideo\` e \`video.videoType\` (youtube, vimeo, mp4, etc.).
|
|
414
420
|
|
|
415
|
-
##
|
|
421
|
+
## Variáveis de ambiente
|
|
416
422
|
|
|
417
423
|
- \`GITPAGEDOCS_REPOSITORY_SEARCH\`: ativa/desativa busca remota localmente
|
|
418
|
-
- \`GITHUB_ACTIONS\`: ativa comportamento
|
|
424
|
+
- \`GITHUB_ACTIONS\`: ativa comportamento específico de GitHub Pages
|
|
419
425
|
|
|
420
426
|
## Comportamento do site e padrões
|
|
421
427
|
|
|
@@ -491,7 +497,7 @@ Em um checkout do runtime com dependências instaladas, \`node cli/index.mjs --h
|
|
|
491
497
|
|
|
492
498
|
## Releases npm para mantenedores
|
|
493
499
|
|
|
494
|
-
O monorepo
|
|
500
|
+
O monorepo pública \`@gitpagedocs/tools\`, \`@gitpagedocs/mcp\` e \`@gitpagedocs/cli\`; raiz e frontend são privados. O \`npm-publish.yml\` atual roda em pushes para \`main\` e ignora uma versão da CLI já publicada. Usa o secret \`NPM_TOKEN\` do repositório e pública workspaces na ordem de dependência. Criar somente uma release no GitHub não é seu gatilho.
|
|
495
501
|
|
|
496
502
|
Sincronize versões e dependências internas, regenere docs/baselines, execute typecheck, lint, testes, smoke, build e Playwright e revise antes do push. Confirme as três versões no npm e o resultado do Pages. A CLI de configuração ignora \`prebuilt/\`; essa pasta não é exigida pelo workflow de publicação.
|
|
497
503
|
`,
|
|
@@ -502,34 +508,34 @@ O projeto e organizado por fronteiras de feature e responsabilidades do runtime.
|
|
|
502
508
|
## Pacotes
|
|
503
509
|
|
|
504
510
|
- **frontend/** — visualizador Next.js (Feature-Sliced: app / widgets / features / entities / shared); export estatico.
|
|
505
|
-
- **cli/** — o bin publicado \`gitpagedocs\` (hexagonal) + \`cli/ai/\` (CLI de
|
|
511
|
+
- **cli/** — o bin publicado \`gitpagedocs\` (hexagonal) + \`cli/ai/\` (CLI de documentação com IA).
|
|
506
512
|
- **tools/** — \`@gitpagedocs/tools\`: ai/ security/ crypto/ cache/ config/ logger/ errors/ filesystem/ documentation/ i18n/ ports/.
|
|
507
513
|
- **mcp/** — \`@gitpagedocs/mcp\`: ferramentas + recursos MCP que delegam ao tools/.
|
|
508
514
|
|
|
509
515
|
## Modulos principais (frontend)
|
|
510
516
|
|
|
511
|
-
- \`frontend/src/app/[[...repo]]/page.tsx\` — parser de rota, generateStaticParams,
|
|
512
|
-
- \`frontend/src/entities/docs/api/load-docs-data.ts\` — config local/remota,
|
|
513
|
-
- \`frontend/src/widgets/docs-shell/docs-shell.tsx\` — UI, estado idioma/
|
|
517
|
+
- \`frontend/src/app/[[...repo]]/page.tsx\` — parser de rota, generateStaticParams, seleção de shell.
|
|
518
|
+
- \`frontend/src/entities/docs/api/load-docs-data.ts\` — config local/remota, versão, parse markdown, layouts + temas.
|
|
519
|
+
- \`frontend/src/widgets/docs-shell/docs-shell.tsx\` — UI, estado idioma/versão/tema, sync de URL, montagem do chat de IA.
|
|
514
520
|
|
|
515
|
-
##
|
|
521
|
+
## Segurança: credenciais de IA criptografadas
|
|
516
522
|
|
|
517
|
-
O console \`/ai\` e o chat drawer exigem uma senha local que deriva (PBKDF2) uma chave AES-256-GCM; as chaves ficam criptografadas no \`localStorage\` e
|
|
523
|
+
O console \`/ai\` e o chat drawer exigem uma senha local que deriva (PBKDF2) uma chave AES-256-GCM; as chaves ficam criptografadas no \`localStorage\` e só são descriptografadas durante a sessão (\`@gitpagedocs/tools/security\`). O drawer se bloqueia sozinho após \`site.AiChatAutoLockSeconds\` segundos sem uso (padrão 30; \`0\` desativa): um modal centralizado com contagem regressiva, no idioma selecionado, permite cancelar ou bloquear agora, e voltar exige a senha de novo. Na CLI, a chave de \`.gitpagedocsconfig\` fica selada no cofre criptografado \`.gitpagedocsvault\` e a senha do cofre é pedida em toda execução.
|
|
518
524
|
|
|
519
525
|
## Fluxo de dados
|
|
520
526
|
|
|
521
527
|
1. A rota chega (\`/owner/repo/v/x.y.z\` ou equivalente local)
|
|
522
528
|
2. O config e resolvido (local ou remoto)
|
|
523
|
-
3. Config de
|
|
529
|
+
3. Config de versão sobrescreve rotas/menus base
|
|
524
530
|
4. Markdown e carregado e convertido para HTML
|
|
525
531
|
5. Template de layout e resolvido e aplicado em CSS vars
|
|
526
|
-
6. Shell renderiza
|
|
532
|
+
6. Shell renderiza conteúdo e controles
|
|
527
533
|
|
|
528
534
|
## Pontos de resiliencia
|
|
529
535
|
|
|
530
536
|
- fallback de carga para layouts/templates
|
|
531
537
|
- carregamento de markdown por idioma com fallback de erro
|
|
532
|
-
-
|
|
538
|
+
- sincronização de linguagem/versão/tema via localStorage
|
|
533
539
|
`,
|
|
534
540
|
githubIssuesProjects: `# GitHub Issues e Projects
|
|
535
541
|
|
|
@@ -547,7 +553,7 @@ Conceitos basicos de Git para iniciantes.
|
|
|
547
553
|
|
|
548
554
|
## Comandos essenciais
|
|
549
555
|
|
|
550
|
-
- \`git init\` - iniciar
|
|
556
|
+
- \`git init\` - iniciar repositório
|
|
551
557
|
- \`git add\` - preparar alteracoes
|
|
552
558
|
- \`git commit\` - registrar commit
|
|
553
559
|
- \`git push\` - enviar para remoto
|
|
@@ -556,21 +562,21 @@ Conceitos basicos de Git para iniciantes.
|
|
|
556
562
|
|
|
557
563
|
Proteja rotas por chave de acesso, papeis obrigatorios e provedores externos.
|
|
558
564
|
|
|
559
|
-
## Local do config de
|
|
565
|
+
## Local do config de versão
|
|
560
566
|
|
|
561
567
|
Configure em:
|
|
562
568
|
|
|
563
569
|
- \`gitpagedocs/docs/versions/<versao>/config.json\`
|
|
564
570
|
|
|
565
|
-
##
|
|
571
|
+
## Seção global auth
|
|
566
572
|
|
|
567
|
-
Use \`auth\` no topo do config de
|
|
573
|
+
Use \`auth\` no topo do config de versão:
|
|
568
574
|
|
|
569
575
|
- \`accessKeys\`: mapa de ids de chave para segredo esperado
|
|
570
576
|
- \`rolesStorageKey\`: chave de localStorage para bootstrap de papeis
|
|
571
577
|
- \`providers\`: lista de provedores externos (\`authjs\`, \`clerk\`, \`firebase\`, \`jwt\`)
|
|
572
578
|
|
|
573
|
-
##
|
|
579
|
+
## Autorização por rota
|
|
574
580
|
|
|
575
581
|
Dentro de cada rota (\`routes-md\`, \`routes-html\`, \`routes-video\`):
|
|
576
582
|
|
|
@@ -608,7 +614,7 @@ Adaptadores suportados:
|
|
|
608
614
|
`,
|
|
609
615
|
themes: `# Temas e layouts
|
|
610
616
|
|
|
611
|
-
Temas
|
|
617
|
+
Temas são templates JSON mapeados por \`layoutsConfig.json\`.
|
|
612
618
|
|
|
613
619
|
## Arquivos
|
|
614
620
|
|
|
@@ -629,15 +635,15 @@ Cada template normalmente contem:
|
|
|
629
635
|
|
|
630
636
|
## Comportamento em runtime
|
|
631
637
|
|
|
632
|
-
- tema ativo vem de config/
|
|
633
|
-
- toggle light/dark resolve o tema pareado por
|
|
634
|
-
-
|
|
638
|
+
- tema ativo vem de config/usuário
|
|
639
|
+
- toggle light/dark resolve o tema pareado por referência
|
|
640
|
+
- variáveis CSS são geradas dos tokens do template
|
|
635
641
|
|
|
636
642
|
## Boas praticas
|
|
637
643
|
|
|
638
644
|
- mantenha contraste acessivel
|
|
639
645
|
- padronize escala de espaco e borda
|
|
640
|
-
- ofereca variantes dark e light quando
|
|
646
|
+
- ofereca variantes dark e light quando possível
|
|
641
647
|
|
|
642
648
|
## Escolher e personalizar
|
|
643
649
|
|
|
@@ -772,47 +778,47 @@ A etapa de geração envia o conteúdo selecionado do projeto ao provedor config
|
|
|
772
778
|
|
|
773
779
|
## Comandos da CLI
|
|
774
780
|
|
|
775
|
-
| Comando |
|
|
781
|
+
| Comando | Descrição |
|
|
776
782
|
|---------|------------|
|
|
777
783
|
| \`npx @gitpagedocs/cli\` | Gera config e docs em \`gitpagedocs/\` |
|
|
778
|
-
| \`npx @gitpagedocs/cli --layoutconfig\` |
|
|
784
|
+
| \`npx @gitpagedocs/cli --layoutconfig\` | Também gera layouts/templates locais em \`gitpagelayouts/\` |
|
|
779
785
|
| \`npx @gitpagedocs/cli --home\` | Distribuicao standalone (\`gitpagedocshome/\`) |
|
|
780
786
|
| \`npx @gitpagedocs/cli --push --owner X --repo Y\` | Configura workflow, commit, push |
|
|
781
|
-
| \`npx @gitpagedocs/cli --interactive\` / \`-i\` | Modo interativo com prompts (
|
|
782
|
-
| \`npx @gitpagedocs/cli --no-interactive\` / \`--yes\` / \`-y\` | Nunca pergunta; usa flags e
|
|
783
|
-
| \`gitpagedocs ai\` | Gerador interativo de
|
|
784
|
-
| \`gitpagedocs chat [pergunta]\` | Chat de IA com streaming no terminal (REPL em TTY; resposta
|
|
785
|
-
| \`gitpagedocs provider [id]\` / \`models [provider]\` | Lista provedores de IA / modelos do
|
|
786
|
-
| \`gitpagedocs document[:repo\\|:file\\|:folder]\` | Gera
|
|
787
|
+
| \`npx @gitpagedocs/cli --interactive\` / \`-i\` | Modo interativo com prompts (padrão em um terminal) |
|
|
788
|
+
| \`npx @gitpagedocs/cli --no-interactive\` / \`--yes\` / \`-y\` | Nunca pergunta; usa flags e padrões |
|
|
789
|
+
| \`gitpagedocs ai\` | Gerador interativo de documentação com IA |
|
|
790
|
+
| \`gitpagedocs chat [pergunta]\` | Chat de IA com streaming no terminal (REPL em TTY; resposta única com pergunta ou stdin) |
|
|
791
|
+
| \`gitpagedocs provider [id]\` / \`models [provider]\` | Lista provedores de IA / modelos do catálogo |
|
|
792
|
+
| \`gitpagedocs document[:repo\\|:file\\|:folder]\` | Gera documentação com IA |
|
|
787
793
|
| \`gitpagedocs deploy\` / \`pages [actions\\|deploy]\` | Configura GitHub Pages via Actions + push |
|
|
788
794
|
| \`gitpagedocs docs\` | Atualiza as regioes gerenciadas de README/CONTRIBUTING/SECURITY |
|
|
789
|
-
| \`gitpagedocs password\` | Define a senha de acesso a
|
|
795
|
+
| \`gitpagedocs password\` | Define a senha de acesso a documentação (chave pública em \`site.docsAccess\`) |
|
|
790
796
|
| \`gitpagedocs config\` / \`config clear\` | Mostra a config resolvida / apaga a config salva e o cofre de chaves |
|
|
791
|
-
| \`gitpagedocs doctor\` / \`version\` / \`update\` |
|
|
797
|
+
| \`gitpagedocs doctor\` / \`version\` / \`update\` | Diagnóstico / versão / verificação de atualização no registro |
|
|
792
798
|
| \`gitpagedocs mcp start\` | Inicia o servidor MCP via stdio |
|
|
793
799
|
|
|
794
800
|
Instale globalmente com \`npm install -g @gitpagedocs/cli\` ou rode sem instalar com \`npx @gitpagedocs/cli\`.
|
|
795
801
|
|
|
796
|
-
##
|
|
802
|
+
## Opções da CLI
|
|
797
803
|
|
|
798
|
-
|
|
|
804
|
+
| Opção | Descrição |
|
|
799
805
|
|-------|-----------|
|
|
800
806
|
| \`--owner <user>\` | Owner do GitHub |
|
|
801
|
-
| \`--repo <repo>\` |
|
|
807
|
+
| \`--repo <repo>\` | Repositório GitHub |
|
|
802
808
|
| \`--path <subpath>\` | Subcaminho dos docs (ex: \`docs\`); sem ele, base path = nome do repo para CSS/JS em project sites |
|
|
803
|
-
| \`--output <dir>\` |
|
|
804
|
-
| \`--search <true-or-false>\` | Habilita/desabilita busca de
|
|
809
|
+
| \`--output <dir>\` | Diretório de saída (padrão: \`gitpagedocs\`) |
|
|
810
|
+
| \`--search <true-or-false>\` | Habilita/desabilita busca de repositório (\`--home\`) |
|
|
805
811
|
| \`--layoutconfig\` | Gera layouts locais em \`gitpagelayouts/\` |
|
|
806
|
-
| \`--layouts-dir <dir>\` | Pasta dos layouts locais (
|
|
812
|
+
| \`--layouts-dir <dir>\` | Pasta dos layouts locais (padrão: \`gitpagelayouts\`) |
|
|
807
813
|
| \`--push\` | Cria workflow, commit de artefatos, push |
|
|
808
814
|
| \`--pages-actions\` | Apenas muda a fonte do GitHub Pages para GitHub Actions (igual a \`pages actions\`) |
|
|
809
815
|
| \`--home\` | Gera \`gitpagedocshome/\` (estatico + .env + Dockerfile) |
|
|
810
816
|
|
|
811
|
-
##
|
|
817
|
+
## Saída gerada
|
|
812
818
|
|
|
813
819
|
- \`gitpagedocs/config.json\` – config raiz
|
|
814
|
-
- \`gitpagedocs/icon.svg\` –
|
|
815
|
-
- \`gitpagedocs/docs/versions/<ver>/config.json\` – rotas por
|
|
820
|
+
- \`gitpagedocs/icon.svg\` – ícone padrão
|
|
821
|
+
- \`gitpagedocs/docs/versions/<ver>/config.json\` – rotas por versão
|
|
816
822
|
- \`gitpagedocs/docs/versions/<ver>/{en,pt,es}/*.md\` – docs em markdown
|
|
817
823
|
- \`gitpagelayouts/\` – apenas com \`--layoutconfig\` (pasta configuravel com \`--layouts-dir\`)
|
|
818
824
|
|
|
@@ -857,7 +863,7 @@ Rotas definem o conteúdo; menus definem como o leitor o encontra. Configure-os
|
|
|
857
863
|
|
|
858
864
|
Cada entrada de \`menus-header-md\` tem \`id\` e objetos \`pt\`, \`en\`, \`es\` com \`title\` e \`path-click\` opcional. Adicione \`submenus\` com novas entradas para aninhar a árvore. O objeto de um idioma também aceita \`submenus\` localizados com título/caminho. Use uma forma de maneira consistente para não listar o mesmo filho duas vezes.
|
|
859
865
|
|
|
860
|
-
Grupos sem \`path-click\` organizam os filhos. Para
|
|
866
|
+
Grupos sem \`path-click\` organizam os filhos. Para o destino de uma rota Markdown, use seu caminho localizado real de \`routes-md[].path\`. Rotas source-viewer, vídeo, áudio, PDF e composições explícitas em \`pages\` registram \`page:<id>\`; uma rota Markdown simples usa o caminho do arquivo. O exemplo usa a versão \`0.0.8\`: troque esse trecho pela versão editada e crie os três arquivos chapter.
|
|
861
867
|
|
|
862
868
|
\`\`\`json
|
|
863
869
|
{
|
|
@@ -925,6 +931,14 @@ Grupos sem \`path-click\` organizam os filhos. Para um destino Markdown, use seu
|
|
|
925
931
|
|
|
926
932
|
## Comportamento do aninhamento
|
|
927
933
|
|
|
934
|
+
Um pai pode ser documento e grupo ao mesmo tempo. Mantenha seu \`path-click\` localizado junto com \`submenus\`: o título abre a página Markdown e a seta separada expande ou recolhe os filhos. O scaffold inclui visões gerais úteis para os oito grupos pais. Os ancestrais dos breadcrumbs apontam para esses documentos; o destino atual continua marcado como atual. Um grupo sem caminho ainda organiza filhos, mas não possui destino para abrir.
|
|
935
|
+
|
|
936
|
+
O trecho abaixo usa as rotas Markdown 31, 32 e 13 já presentes no scaffold. Combine-o com \`menus-header-md\` e preserve as definições correspondentes em \`routes-md\` e seus arquivos:
|
|
937
|
+
|
|
938
|
+
\`\`\`json
|
|
939
|
+
${PARENT_MENU_JSON}
|
|
940
|
+
\`\`\`
|
|
941
|
+
|
|
928
942
|
\`site.nestedMenusEnabled: true\` exibe menus recursivos expansíveis. Você pode acrescentar \`submenus\` em qualquer nó: não há limite fixo de profundidade na aplicação. A configuração deve ser finita e adequada à memória do navegador e à usabilidade. Com \`false\`, os destinos aparecem em uma lista plana; as páginas aninhadas não são removidas.
|
|
929
943
|
|
|
930
944
|
A árvore atende à navegação lateral, aos rótulos de busca, à expansão dos pais e à trilha de navegação. Mantenha IDs estáveis e sem ambiguidade; destinos protegidos seguem as regras de autorização da página. A mesma estrutura vale para \`menus-header-source-viewer\`, \`menus-header-html\`, \`menus-header-video\`, \`menus-header-audio\` e \`menus-header-pdf\`. \`hierarchyMenu\` ordena as seções por tipo; \`hierarchyPage\` ordena os containers que compartilham o ID da página.
|
|
@@ -939,7 +953,7 @@ A árvore atende à navegação lateral, aos rótulos de busca, à expansão dos
|
|
|
939
953
|
|
|
940
954
|
URLs versionadas usam \`/v/<version>/\`; \`?lang=pt\` escolhe o idioma e \`?id=101\` escolhe a página. \`?name=chapter\` seleciona o slug do documento. Mantenha \`VersionControl.versions[].path\` apontando para o config da versão correspondente. \`site.ActiveNavigation\` ativa a navegação rápida e seu atalho Ctrl+K. Os controles anterior/próximo do rodapé seguem os destinos disponíveis no menu; a navegação entre documentos no modo foco possui opção própria. Consulte Modo foco para os controles de seção e documento.
|
|
941
955
|
|
|
942
|
-
Os botões Voltar/Próximo do rodapé usam \`site.icons.DocumentPrevious\` (\`
|
|
956
|
+
Os botões Voltar/Próximo do rodapé usam \`site.icons.DocumentPrevious\` (\`LuChevronLeft\`) e \`site.icons.DocumentNext\` (\`LuChevronRight\`) por padrão. Defina \`reactIcon: false\` em qualquer entrada para exibir seu texto traduzido; cada entrada também aceita \`tag\`, \`size\`, \`colorDark\` e \`colorLight\`. A aparência não muda a navegação: o rodapé aparece quando há mais de um destino disponível no menu, e a direção indisponível continua desabilitada nas extremidades.
|
|
943
957
|
|
|
944
958
|
Teste um menu novo pela lateral, por URL direta e em cada idioma habilitado; confirme que o destino existe e é permitido para o leitor atual.
|
|
945
959
|
`,
|
|
@@ -978,6 +992,8 @@ Cada opção tem padrão \`true\`; \`false\` oculta a ação ou o grupo de naveg
|
|
|
978
992
|
|
|
979
993
|
## Copiar e baixar
|
|
980
994
|
|
|
995
|
+
Em uma página composta, o foco lê os blocos Markdown autorizados em ordem, incluindo repetições. Copiar/baixar reúne essas fontes e usa \`page-<id>.md\`; as ações individuais dos blocos mantêm os nomes originais. Consulte Blocos de conteúdo ordenados para o contrato completo.
|
|
996
|
+
|
|
981
997
|
Copiar e baixar usam o **Markdown original inteiro no idioma selecionado**, incluindo seções que não estão visíveis no momento. Não exportam o HTML renderizado nem apenas a seção atual.
|
|
982
998
|
|
|
983
999
|
O download conserva o nome-base Markdown do \`path\` localizado da rota; quando indisponível, o nome do arquivo é \`document.md\`. A área de transferência segue as permissões e regras de contexto seguro do navegador. Se a cópia falhar, use o download e confira o erro exibido.
|
|
@@ -1049,33 +1065,33 @@ Consulte a [referência da Web Speech API](https://developer.mozilla.org/en-US/d
|
|
|
1049
1065
|
`,
|
|
1050
1066
|
faq: `# FAQ
|
|
1051
1067
|
|
|
1052
|
-
## Por que
|
|
1068
|
+
## Por que repositórios remotos não abrem localmente?
|
|
1053
1069
|
|
|
1054
1070
|
Verifique:
|
|
1055
1071
|
|
|
1056
1072
|
- \`GITPAGEDOCS_REPOSITORY_SEARCH=true\` no \`.env\`
|
|
1057
|
-
-
|
|
1058
|
-
- paths markdown do
|
|
1073
|
+
- repositório alvo contem \`gitpagedocs/config.json\`
|
|
1074
|
+
- paths markdown do repositório batem com seu config de rotas
|
|
1059
1075
|
|
|
1060
|
-
## Por que rota de
|
|
1076
|
+
## Por que rota de versão mostra conteúdo errado?
|
|
1061
1077
|
|
|
1062
1078
|
Verifique:
|
|
1063
1079
|
|
|
1064
1080
|
- \`VersionControl.versions[*].path\` em \`gitpagedocs/config.json\`
|
|
1065
|
-
- config da
|
|
1081
|
+
- config da versão possui \`routes\` e \`menus-header\` válidos
|
|
1066
1082
|
- markdown existe para cada idioma
|
|
1067
1083
|
|
|
1068
|
-
## Por que tema
|
|
1084
|
+
## Por que tema não aplica corretamente?
|
|
1069
1085
|
|
|
1070
1086
|
Verifique:
|
|
1071
1087
|
|
|
1072
|
-
- \`layoutsConfig.json\`
|
|
1073
|
-
- ids de template
|
|
1088
|
+
- \`layoutsConfig.json\` referência templates válidos
|
|
1089
|
+
- ids de template são únicos
|
|
1074
1090
|
- tema selecionado existe no mapa de temas carregados
|
|
1075
1091
|
|
|
1076
1092
|
## Por que GitHub Pages pode se comportar diferente do local?
|
|
1077
1093
|
|
|
1078
|
-
Porque o build de GitHub Pages habilita
|
|
1094
|
+
Porque o build de GitHub Pages habilita página inicial de busca e comportamento específico de exportação.
|
|
1079
1095
|
|
|
1080
1096
|
## Por que o ícone ainda mostra texto?
|
|
1081
1097
|
|