Convertir pàgina de Notion a document d’Overleaf

Convertir pàgina de Notion a document d’Overleaf

A mig fer encara…

Pàgina on hi ha la integració i les instruccions

Quins blocs s’han implementat i quins no? (de moment)

  • ✅ Paràgrafs amb text normal, cursiva, negreta, subratllat i inline equation
  • ✅ Títols nivell 3 amb text normal, cursiva, negreta, subratllat i inline equation
  • ✅ Títols nivell 2 amb text normal, cursiva, negreta, subratllat i inline equation
  • ✅ Títols nivell 1 amb text normal, cursiva, negreta, subratllat i inline equation
  • ✅ Elements de llistes no ordenades amb text normal, cursiva, negreta, subratllat i inline equation
  • ✅ Elements de llistes numerades amb text normal, cursiva, negreta, subratllat i inline equation
  • ✅ Blocs d’equacions
  • ✅ Imatges amb la seva descripció
  • ❌ Taules
  • ❌ Elements de llistes no ordenades niuats (nivell 2 o 3)
  • ❌ Elements de llistes numerades niuats (nivell 2 o 3)
  • ❌ Paràgrafs niuats (nivell 2 o 3)
  • ❌ Desplegables a paràgraf normal amb un ‘▼’ previ
  • ❌ Títols nivell 3 desplegables a títols nivell 3 normals amb un ‘’ previ
  • ❌ Títols nivell 2 desplegables a títols nivell 2 normals amb un ‘▼’ previ
  • ❌ Títols nivell 1 desplegables a títols nivell 1 normals amb un ‘▼’ previ
  • ❌ Referències a altres pàgines a links de la web
  • ❌ Subpàgines al seu link de la web
  • ❌ Callouts a ambients tcolorbox amb el corresponent color, títol, icona i contingut.
  • ❌ Cites amb csquotes i mdframed
    • Exemple
      notion image
      \documentclass{article} \usepackage[utf8]{inputenc} \usepackage{csquotes} \usepackage[framemethod=TikZ]{mdframed} \setlength{\parindent}{0pt} % Definim l'entorn de cita decorativa \newmdenv[ leftline=true, topline=false, bottomline=false, rightline=false, linecolor=gray, linewidth=3pt, backgroundcolor=gray!5, skipabove=\baselineskip, skipbelow=\baselineskip, innerleftmargin=10pt, innerrightmargin=10pt, innertopmargin=10pt, innerbottommargin=10pt, ]{decorquote} \begin{document} Bla bla \begin{decorquote} \enquote{Tot anirà bé} --- \textit{Anònim} \end{decorquote} Bla bla \end{document}
  • ❌ Fitxers com a links al bloc en la web (https://fisicaubwiki.notion.site/IDparent#IDbloc)

Funcionament

  • Una integració interna afegida en la pàgina de conversió
    • notion image
  • Un escenari de Make que obté tots els blocs i els processa afegint cada un la seva versió LaTeX en una datastore.
    • notion image
  • Una web allotjada a GitHub Pages que conté el botó i quan és detectat inicialitza (webhook) l’escenari de Make. I que a més té una lògica interna amb javascript que al rebre una resposta positiva executa un segon escenari de Make (un altre webhook) i en un futur recent es crida recursivament per obtenir els blocs fills (per llistes anidades).
    • notion image
  • Un segon escenari de Make (executat pel javscript de la web) que s’encarrega de transformar la datastore en una sola cadena de text molt llarga que conté tot el document TeX, i la posa dins del bloc de codi de Notion que es troba en el desplegable ‘RESULTAT (CODI LATEX)’.
    • notion image
  • Un script de CustomJS que s’executa durant el segon escenari, i ajunta tots els elements de llistes no numerades consecutives en un sol ambient itemize i tots els elements de llistes numerades consecutives en un sol ambient enumerate.
    • notion image

Idees de millora

  • Es pot fer amb Make (o Zapier o N8n) fàcilment, però ràpidament acabaries amb les 1000 operacions mensuals.
  • Aleshores potser provar de fer-ho amb la pròpia API de Notion (obtenir el JSON sencer). I amb un script ja generar tot el LaTeX i també amb la API de Notion per l’update block.
  • Quan ja estigui enllestit fer que es pugui triar la pàgina (ID) la qual es vol exportar a LaTeX