Public
Likemy-portfolio
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data – all from the browser, and deployed in milliseconds.
Viewing readonly version of main branch: v17View latest version
O portfolio é um HTTP val em Deno que usa React com Server-Side Rendering (SSR). Não há cliente JS — tudo renderizado no servidor e enviado como HTML estático.
- SQLite via
@std/sqlite, tabelaportfolio_hits - Conta visitas hoje + mês actual
- Email automático a cada 100 visitas diárias
| Secção | Descrição |
|---|---|
| Header | Nome, introdução, projecto principal, hit counter |
| Projects | Lista com data e link |
| Writing | Artigos publicados |
| Speaking | Talks e podcasts |
| Blog | Posts com excerpt e tags |
| Skills | Technical / Tools / Languages |
| Get in Touch | Formulário de contacto (UI only) |
| Footer | Links sociais |
- Posts com frontmatter YAML:
title,date,author,tags,excerpt markedconverte Markdown → HTML- Rota
/blog/{slug}para cada post
| Rota | Comportamento |
|---|---|
/ | Página principal |
/blog/{slug} | Post individual |
/test.json | Health check |
/favicon.ico | 404 |
Objecto data hardcoded com toda a informação pessoal e conteúdo.
⚠️ Actualmente com placeholders ("Your Name", "Location", etc.)
| Pacote | Uso |
|---|---|
react-dom/server | SSR |
marked | Markdown → HTML |
deno.land/x/frontmatter | Parse YAML frontmatter |
@std/email | Alertas de visitas |
@std/sqlite | Hit counter |
stevekrouse/tailwindURL | CSS framework |
- Formulário de contacto sem backend (
handleSubmitvazio) LanguageSelectorreferenciado mas não definido- Posts de blog hardcoded no código
- Dados pessoais com placeholders
- Sem meta tags SEO
- Dark mode com classes mas sem toggle funcional