Pular para o conteúdo
0xrcosRyan Camargo — home

Notas de cybersecurity & tecnologia — aprendendo em público

Colofão

Como este site é construído, desenhado e mantido.

Princípios

  • Conteúdo acima de decoração.
  • Excelente experiência de leitura para escrita técnica.
  • Rápido, acessível e seguro por padrão.
  • Fácil de manter por anos — um novo post é um único arquivo Markdown.

Pilha de tecnologia

  • Next.js 16App Router, static HTML export (`output: 'export'`)
  • TypeScript 5strict typing throughout
  • Tailwind CSS 4design system + shadcn/ui components
  • Shikibuild-time syntax highlighting (dual light/dark themes)
  • unified / remark / rehypeMarkdown → static HTML pipeline
  • next-themeslight/dark/system theme (no flash on load)

Design

Warm-amber accent on a neutral base — deliberately avoiding both the cliché neon-green "hacker" aesthetic and the indigo/blue corporate-SaaS look. Typography is the default Geist sans + Geist mono pair; code blocks use a terminal-prompt brand mark and Shiki's GitHub light/dark themes. Whitespace and hierarchy do the work; there are no hero images, stock photography, or decorative animations.

Conteúdo

Every post is a single Markdown file in content/<locale>/posts/<slug>/index.md with YAML frontmatter. No CMS, no database, no registry — add a file, the page exists. The same pattern powers projects, reading, talks and certifications. Translations are separate Markdown files linked by a translationKey field; articles are never runtime-translated.

Implantação

next build produces a fully static out/ directory, pushed to GitHub and deployed to Cloudflare Pages automatically. No server runtime, no environment variables, no secrets. HTTPS is handled by Cloudflare. Build command: bun run build:cf.

Performance

Article bodies are rendered to static HTML at build time — zero client JS for the prose itself. The only client islands are: the theme toggle, language switcher, code-block copy buttons, TOC active-section tracking, search, and keyboard shortcuts. No tracking, no analytics, no cookies, no third-party scripts. Images are lazy-loaded and served unoptimized (static export).

Acessibilidade

Semantic HTML landmarks, skip-to-content link, visible focus states,prefers-reduced-motion support, keyboard shortcuts with a focus-trapped help dialog, accessible code-copy buttons with aria-labels, and per-locale <html lang>.

Segurança

No backend, no API keys, no secrets in the repo. A security.txt declares a vulnerability-disclosure contact. Cloudflare Pages serves a strict CSP, HSTS, nosniff and other security headers via _headers. The site itself demonstrates good security hygiene — it's a cybersecurity blog, after all.