🌐

Projecte de futur: Notion Static Website

Demo funcional (de moment)


Pàgina publicada a Vercel

Opció ideal


  1. La web funciona com sempre en Notion
  1. A partir de la API oficial de Notion, s’extreu el JSON de la pàgina principal i totes les subpàgines.
  1. Aquest JSON es simplifica i se’n crea una versió web estàtica (ja sigui amb react, astro…)
  1. Es posa (build) tot el HTML, JS, CSS i altres components d’aquesta web estàtica a un repositori de GitHub. En canvi els blocs que són fitxers (.pdf, .zip, .tex…) es posen a un servei d’emmagatzematge en el núvol com ara DropBox o AWS S3 (si cal es paga, serien màxim 1-2€ al mes).
    1. Opcionalment també es pot tenir en local (a qualsevol ordinador personal) a mode de còpia de seguretat.
  1. Es puja (deploy) a un servidor com ara Vercel, Netlify, etc.
  1. S’utilitza el domini gratuït de Vecerl o Netilify, o si es vol, es paga (10€/mes) un domini propi (fisicaubwiki.com) des del qual poder accedir a la web.
  1. Es pot configurar perquè es vagi actualitzant dinàmicament (per exemple cada hora) o si es vol, es pot fer manualment (un cop al mes per exemple), s’actualitza el build i es torna a fer deploy.

Què s’obté?

  • Es pot utilitzar el disseny que es vulgui (colors, tipografia, etc.)
  • Es pot crear una pàgina principal diferent, pestanyes, ‘about’, ‘home’, etc.
  • Es pot treure el ‘edit’ per persones externes en el Notion Site, i deixar-lo sols pels editors habituals.
  • Si es fa en mode wiki, es pot fer que a baix de les pàgines que es seleccionin (una propietat oculta que sigui una checkbox ‘Mostrar detalls al publicar’) es vegi la data d’actualització d’aquella pàgina i les persones col·laboradores (que han escrit aquells punts). Es pot fer que cada editor habitual tingui el seu perfil… un piló de coses.
  • Es pot crear fins i tot si es vol, una pàgina ‘fisicaubwiki.com/blog’ que sigui un blog amb notícies (referents a la web, o referents a la facultat) i que aquest tingui un disseny especial.
  • Es pot posar contrasenyes tipus ‘fisicaub’ per entrar a certes pàgines o a la web mateixa, també pot servir pels llocs on hi ha arxius ‘il·legals’ en el sentit de copyright (per exemple llibres de text provinents d’Anna’s Archive).
  • Es pot fer que al clicar un bloc es mostri el latex.
  • Es pot fer la interactivitat que es vulgui del disseny de la pàgina principal.

Com es pot aconseguir


Hi han diferents vies
  • NextJS, React (la millor)
  • Astro
  • Markdown i Hugo o Quarto
  • Svelte
  • Alternatives que utilitzen typescript?
Nota: la majoria de tutorials a internet són per fer blogs, i utilitzen bases de dades. La pregunta és, i si no es vol un blog? I si es vol una child-page normal? Doncs en principi també es pot. Tot i així sorgeix una pregunta: i si és més fàcil amb bases de dades? Aleshores es podria solucionar axiò convertint la web en una wiki?
Tot això caldria investigar-ho.

Diferents maneres d’aconseguir una web estàtica (tutorials)

NextJS i React
El que utilitza la nostra demo actual:
Aprendre NextJS
Versió encara més xetada (es pot personalitzar més):
Svelte
Quarto

Demo minimalista antiga