https://github.com/nazarepiedady/adonis-docs-pt
Documentação da Adonis em Português. 🇦🇴 🇧🇷 🇵🇹
https://github.com/nazarepiedady/adonis-docs-pt
adonis adonis-framework adonis5 adonisjs adonisjs-framework adonisjs5 pt pt-br pt-pt
Last synced: 7 months ago
JSON representation
Documentação da Adonis em Português. 🇦🇴 🇧🇷 🇵🇹
- Host: GitHub
- URL: https://github.com/nazarepiedady/adonis-docs-pt
- Owner: nazarepiedady
- Created: 2023-02-08T04:56:40.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-24T12:07:00.000Z (over 1 year ago)
- Last Synced: 2025-01-12T18:51:55.506Z (9 months ago)
- Topics: adonis, adonis-framework, adonis5, adonisjs, adonisjs-framework, adonisjs5, pt, pt-br, pt-pt
- Language: TypeScript
- Homepage:
- Size: 2.85 MB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
Documentação Oficial da AdonisJS em Português
Código-fonte e documentação para página oficial da documentação hospedado na docs.adonisjs.com
## Configuração
Siga os passos mencionados abaixo para configurares o teu projeto local:
- Bifurque o repositório
- Empurre o repositório no teu local
- Instale todas as dependências usando `npm install`.
- Inicie o servidor de desenvolvimento da AdonisJS usando `node ace serve --watch`**Nós não seguimos nenhum processo para transformar documento markdown em HTML**. No lugar disto, compilamos os ficheiros em cada requisição de página. Isto garante que não tenhamos de executar nenhum compilador de fundo para compilar o markdown e depois recompilar tudo numa única mudança. O processo é tão simples quanto:
```
--> Nova requisição de HTTP --> Encontrar o ficheiro markdown para a URL --> Compilá-lo e servi-lo
```## Variáveis de Ambiente
As seguintes variáveis de ambiente são obrigatórias para iniciar o servidor de desenvolvimento ou criar uma construção de produção:
```
PORT=3333
HOST=0.0.0.0
NODE_ENV=development
APP_KEY=iPbHJ0Wdr8_hA4DLTj83lKedQP9I5rJO
CACHE_VIEWS=false
DEBUG_DOCS=true
ALGOLIA_API_KEY=
COPY_REDIRECTS_FILE=false
```A variável de ambiente `ALGOLIA_API_KEY` é opcional e exigida apenas se quiseres ativar a pesquisa de conteúdo.
Se estiveres a implementar em produção uma versão traduzida da documentação, então defina a `COPY_REDIRECTS_FILE=false`. Já que o ficheiro de redirecionamentos é apenas aplicável para a documentação oficial para evitar quebrar as URLs de `previw.adonisjs.com`.
## Estrutura do Conteúdo
O conteúdo de markdown é guardado dentro do diretório `content` e cada tipo de documentação (nós as chamamos de zonas) tem sua própria sub-pasta.
A navegação para cabeçalho da página e barra lateral é orientada pelo ficheiro `menu.json` dentro de cada sub-diretório da zona:
```
content
├── cookbooks
│ ├── menu.json
├── guides
│ ├── menu.json
├── reference
│ └── menu.json
└── releases
├── menu.json
```O ficheiro `menu.json` tem a seguinte estrutura:
```json
{
"name": "Database",
"categories": [
{
"name": "root",
"docs": [
{
"title": "Connection",
"permalink": "database/connection",
"contentPath": "database/connection.md",
}
]
}
]
}
```- O objeto de alto nível é nome do grupo. Tu podes ter um ou mais grupos dentro duma zona e serão listados num menu deslizante na navegação do cabeçalho.
- Se não houver nenhum grupo. Tu podes nomeia-lo como `root`.
- Cada grupo pode ter um ou mais `categories`. As categorias são listadas dentro da barra lateral.
- A categoria com nome `root` não será impressa no HTML.
- Cada categoria pode ter um ou mais `docs`.
- A documentação ainda tem um `title`, `permalink` e o caminho para o ficheiro de conteúdo. **O caminho é relativo da zona raiz.**## Gerando o HTML
Nós fazemos uso dum módulo [@dimerapp/content](https://npm.im/@dimerapp/content) escrito por nós para transformar o markdown em HTML usando modelos de marcação de Edge no meio.
Nós começamos primeiro por converter o Markdown numa Árvore de Sintaxe Abstrata e depois transformamos cada nó Árvore de Sintaxe Abstrata usando os modelos de marcação de Edge. Isto permite separar o markdown personalizado. Consulte o diretório [./resources/views/elements](./resources/views/elements) para veres como estamos a usá-lo.
Os blocos de código são gerados usando o [shiki](https://github.com/shikijs/shiki). O módulo usa a gramática e temas do Visual Studio Code para processar os blocos de código. Além disto, os blocos de código são processados no backend e cliente recebe o HTML formatado.
## Configurando o `@dimerapp/content`
O módulo `@dimerapp/content` não vem com nenhuma interface da linha de comando ou opções sobre como o conteúdo deveria ser estruturado.
Então temos de configurar o módulo `@dimerapp/content`. Isto é feito dentro do ficheiro `start/content.ts`, que depende do ficheiro `config/markdown.ts`.
## CSS e JavaScript de Frontend
Os estilos são escritos em CSS puro e armazenados dentro do diretório `./resources/css`. Para organizarmos um pouco as coisas, temos de separá-los dentro de vários ficheiros `.css`.
Nós também fazemos uso de `alpine.js` para adicionar pequenos componentes interativos, como deslize da navegação de cabeçalho e a alternância do grupo de código.
O `@hotwire/turbo` é usado para navegar entre as páginas sem fazer uma atualização completa.
### JavaScript Personalizado
O redesenho das páginas de HTML reinicia a posição do deslocamento da barra lateral, o que é um pouco irritante. Então fazemos uso de eventos de turbo `turbo:before-render` e `turbo:render` para armazenar a posição da barra lateral e então restaurá-lo depois da navegação.
No primeiro carregamento da página, deslocamos o item da barra lateral ativo para a visão usando o método `scrollIntoView`.
## Implementação em Produção
Execute o seguinte comando para criar a construção de produção.
```sh
npm run build
```A saída é escrita no diretório `public` e podes servi-lo em qualquer hospedeiro capaz de servir ficheiros estáticos.
A página oficial está hospedada na [pages.cloudflare.com](https://pages.cloudflare.com/)
### Variáveis de Ambientes Importantes
A variável de ambiente `ALGOLIA_API_KEY` é opcional e exigida apenas se quiseres ativar a pesquisa de conteúdo.
Se estiveres a implementar em produção uma versão traduzida da documentação, então defina a `COPY_REDIRECTS_FILE=false`. Já que o ficheiro de redirecionamentos é apenas aplicável para a documentação oficial para evitar quebrar as URLs de `previw.adonisjs.com`.
## Traduzindo a Documentação para Idiomas Diferentes
Tu estás livre de bifurcar este repositório e traduzir a documentação para diferentes idiomas e publicá-los num sub-domínio separado.
> Desmentido: A documentação traduzida é considerada um esforço da comunidade. A página e traduções nunca serão suportadas ou mantidas pela equipa principal.
### Processo de Tradução da Documentação
- Notifique a todos sobre a documentação traduzida nesta [questão fixada](https://github.com/adonisjs/docs.adonisjs.com/issues/1).
- Nós podemos entregar-te um sub-domínio para o idioma uma vez que tiveres traduzido mais de 50% da documentação.
- A medida que a documentação for atualizada na página oficial, deixaremos uma ligação para o pedido de atualização na [questão fixada](https://github.com/adonisjs/docs.adonisjs.com/issues/1) e podes empurrar de volta aquelas mudanças.
- Nós recomendados não localizar as URLs. Apenas traduza o conteúdo da documentação.
- Sinta-se livre para enviar um pedido de atualização para a Algolia para indexar o página traduzida. Cá está uma [referência para a configuração da algolia](https://github.com/algolia/docsearch-configs/blob/master/configs/adonisjs_next.json) da página oficial.