Skip to content

Commit 7260003

Browse files
committed
docs(pdf): overhaul readme_pdf and optimize PDF generation workflow
- Remove accents, emojis and box-drawing chars that broke LaTeX rendering - Replace ASCII box diagrams with plain text (tectonic UTF-8 limitation) - Fix endpoint /books/{id}/picture -> /cover - Add JWT Filter architectural decision - Update Proximos Passos — remove duplicate, add pre-Phase 3 review item - Update Contribuicoes — remove Rate Limiting and OTel (already implemented) - Switch pdf-engine from tectonic to xelatex (texlive) — more stable, no runtime external download dependency - Add --highlight-style=tango for syntax highlighting in code blocks - Add --toc and --toc-depth=2 for auto-generated clickable index - Add colorlinks, linkcolor, urlcolor for clickable links in PDF - Increase timeout-minutes from 10 to 15 (texlive heavier than tectonic)
1 parent 2d757f4 commit 7260003

File tree

3 files changed

+383
-351
lines changed

3 files changed

+383
-351
lines changed

.github/workflows/readme-pdf.yml

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,31 +11,38 @@ on:
1111
jobs:
1212
docs:
1313
runs-on: ubuntu-latest
14-
timeout-minutes: 10
14+
timeout-minutes: 15
1515

1616
permissions:
1717
contents: write
1818

1919
steps:
2020
- uses: actions/checkout@v6
2121

22-
- name: Install Pandoc
23-
run: sudo apt-get update && sudo apt-get install -y pandoc
24-
25-
- name: Install Tectonic
22+
- name: Install dependencies
2623
run: |
27-
curl -fsSL https://drop-sh.fullyjustified.net | sh
28-
sudo mv tectonic /usr/local/bin/tectonic
24+
sudo apt-get update
25+
sudo apt-get install -y pandoc texlive-xetex texlive-fonts-recommended \
26+
texlive-fonts-extra texlive-lang-portuguese
2927
3028
- name: Generate README PDF
3129
run: |
3230
pandoc readme_pdf.md -o library.pdf \
33-
--pdf-engine=tectonic \
31+
--pdf-engine=xelatex \
32+
--highlight-style=tango \
33+
--toc \
34+
--toc-depth=2 \
3435
-V mainfont="DejaVu Sans" \
3536
-V monofont="DejaVu Sans Mono" \
3637
-V fontsize=11pt \
37-
-V geometry:margin=1.5cm \
38-
-V linestretch=1.05
38+
-V geometry:margin=2cm \
39+
-V linestretch=1.2 \
40+
-V colorlinks=true \
41+
-V linkcolor=blue \
42+
-V urlcolor=blue \
43+
-V toccolor=black \
44+
-V papersize=a4 \
45+
--variable=subparagraph
3946
4047
- name: Upload README PDF
4148
uses: actions/upload-artifact@v7
@@ -48,4 +55,4 @@ jobs:
4855
if: startsWith(github.ref, 'refs/tags/')
4956
uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b
5057
with:
51-
files: library.pdf
58+
files: library.pdf

readme.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -553,7 +553,7 @@ Relatório HTML: `build/reports/jacoco/test/html/index.html`
553553
| GET | `/api/v1/books/{id}` | Busca por ID (com cache Redis) ||
554554
| POST | `/api/v1/books` | Cria livro ||
555555
| DELETE | `/api/v1/books/{id}` | Remove livro | 🔐 ADMIN |
556-
| POST | `/api/v1/books/{id}/picture` | Upload de imagem de capa (S3) ||
556+
| POST | `/api/v1/books/{id}/cover` | Upload de imagem de capa (S3) ||
557557

558558
### Autores
559559
| Método | Endpoint | Descrição | Auth |
@@ -592,7 +592,7 @@ Relatório HTML: `build/reports/jacoco/test/html/index.html`
592592
### Como funciona
593593

594594
```
595-
POST /api/v1/books/{id}/picture
595+
POST /api/v1/books/{id}/cover
596596
Content-Type: multipart/form-data
597597
```
598598

@@ -657,11 +657,14 @@ Marca como `OVERDUE` empréstimos com `status = WAITING_RETURN` e `dueDate < hoj
657657
- [x] **Rate limiting** — Bucket4j ou Resilience4j
658658
- [x] **OpenTelemetry** — Tracing distribuído
659659
- [x] **Microservices** — Bounded contexts definidos, anticorrupção e schema per service implementados
660+
- [x] **Revisão pré-Fase 3** — JWT filter otimizado, double fetch eliminado, workflows corrigidos, BookMediaService extraído
660661
- [ ] **Extração Auth-Service** — primeiro serviço independente (menor e mais isolado)
662+
- [ ] **Extração Catalog-Service** — books, authors, categories
663+
- [ ] **Extração Loan-Service** — depende dos outros, separar por último
664+
- [ ] **API Gateway** — roteamento entre serviços
661665
- [ ] **Deploy em cloud** — AWS ECS ou Render
662666
- [ ] **HATEOAS** — Hypermedia links
663667
- [ ] **WebSockets** — Notificações real-time de devolução
664-
- [ ] **Microservices** — Extração em serviços independentes
665668
- [ ] **LocalStack** — Suporte a S3 local em testes de integração
666669

667670
---
@@ -690,9 +693,9 @@ Issues marcadas com `good-first-issue`:
690693
- [MEDIUM] Adicionar paginação customizada nas loans
691694

692695
### Para Experientes
693-
- [HARD] Implementar rate limiting (Bucket4j)
694-
- [HARD] Adicionar tracing distribuído (OpenTelemetry)
695696
- [HARD] Suporte a LocalStack nos testes de integração
697+
- [HARD] Implementar HATEOAS
698+
- [HARD] Extração de microservices (Auth-Service, Catalog-Service, Loan-Service)
696699

697700
### Processo de Contribuição
698701

0 commit comments

Comments
 (0)