Obsidian+Pandoc
Obsidian+Pandoc

Obsidian & Pandoc

Ad Obsidian abbiamo dedicato ben due post, descrivendo le caratteristiche e le potenzialità.

Obsidian consente l’installazione di plugin di terze parti (Community plugins), realizzati da sviluppatori esterni ad Obsidian.

Tra i numerosi plugin di terze parti c’è anche “Obsidian Pandoc Plugin” di Oliver Balfour, mediante il quale è possibile utilizzare Pandoc all’interno di Obsidian.

Con tale plugin si realizza una valida integrazione tra Obsidian e Pandoc che è l’oggetto di questo nuovo post.

Riserviamo un paragrafo ad hoc su Pandoc e ci sofferiamo subito sugli aggiornamenti che sono stati rilasciati per Obsidian rispetto ai nostri post pubblicati in precedenza.

Gli aggiornamenti di Obsidian

Obsidian riceve frequenti aggiornamenti ed è difficile descriverli tutti; un elenco è disponibile sul Forum ufficiale di Obsidian.

In effetti, avevamo pubblicato due post su Obsidian e precisamente:

Il 21/12/2021, subito dopo la pubblicazione del nostro ultimo post su Obsidian, è stato rilasciato un aggiornamento.

Mentre scriviamo questo post (6/1/2022) è stato rilasciato altro aggiornamento e, quindi, la versione attuale di Obsidian è 0.13.19, come annunciato da Obsidian con il seguente tweet:

Le novità di questa nuova versione (0.13.19) sono:

  • Support embeds in plugin blocks like Admonition and Dataview
  • Support for headings in lists
  • Persistent undo history when switching notes
  • Search highlights and multiple cursor in Vim mode

A completamento di quanto già scritto su Obsidian nei nostri precedenti post, ci sembra utile evidenziare due novità conseguenti agli ultimi aggiornamenti.

- Controllo ortografico

Viene modificato il controllo ortografico.

L’impostazione Editor -> Comportamento -> Controllo ortografico, risulta disponibile solo per l’inglese Stati Uniti.

Tuttavia alla voce successiva Editor -> Comportamento -> Lingue del controllo ortografico l’utente non può selezionare nulla, ma è precisato che Obsidian fa riferimento alle lingue che sono installate su MacOS. Diverso, invece, il comportamento di Obsidian su Windows e Linux, sui quali SO è possibile cambiare la lingua.

Peraltro, il correttore ortografico, in maniera intelligente, salta il controllo di ciò che non dovrebbe essere controllato come parentesi, blocchi di codice, link e blocchi matematici.

- Vista Anteprima

Successivamente si è passati a implementazione della visualizzazione “Live Preview” e cioè della Vista Anteprima.

Con la nuova versione, infatti, è possibile selezionare nelle impostazioni (sempre in Editor) la vista predefinita di un nuovo pannello e si può optare tra “Vista Modifica” e “Vista Anteprima”.

Con la “Vista Anteprima” è possibile scrivere e contemporaneamente visualizzare il contenuto come sarà con l’applicazione dei markup e cioè si vede il documento nella visualizzazione con le formattazioni.

Abbiamo deciso di lasciare la Vista Modifica perché ci risulta più comodo scrivere e avere il contenuto con tutti i markup.

Obsidian & Pandoc: i prerequisiti

Per poter utilizzare il plugin “Pandoc Plugin” è necessario preventivamente aver installato sulla propria macchina:

LateX

Riservando un altro post per LateX, adesso ci limitiamo a descrivere brevemente come poterlo installare.

LateX è open-source e gratuito.

LateX è un sistema di composizione di alta qualità mediante il quale è possibile ottenere PDF di qualità tipografica. E’ molto noto per la produzione di documentazione tecnica e scientifica.

Per lavorare con LateX è necessario utilizzare editor specifico (ce ne sono molti open-source e gratuiti) mediante il quale impostare gli opportuni comandi e scrivere il testo che sarà il contenuto del PDF.

Per installare LateX su MacOS è necessario installare il pacchetto denominato MacTex disponibile a questa pagina.

Verrà scaricato sul Mac il file MacTeX.pkg che dovrà essere avviato per installare LateX.

Pandoc

Abbiamo detto all’inizio che Obsidian si integra con Pandoc.

Cos’è Pandoc?

Pandoc - che non ha un proprio logo come ci è stato confermato dallo sviluppatore John MacFarlane (Professore di Filosofia all’Università della California, Berkeley) - è definito “a universal document converter” (un convertitore di documenti universale).

Pandoc è un “potente tool” mediante il quale è possibile convertire documenti da un formato all’altro.

Ad esempio, si può convertire un documento scritto in Markdown (con estensione .md) in altro con formato Microsoft Word (con estensione .docx), oppure si può effettuare l’operazione inversa.

Per molti formati di file è possibile la conversione “bidirezionale” e cioè essi possono essere sia convertiti in un certo formato e quindi costituire la fonte o la sorgente (nell’esempio di prima da .md a .docx, il file markdown è la fonte o sorgente) sia risultare la destinazione (sempre restando sul caso precedente, la destinazione è il file .docx).

Il PDF, che è tra i formati di file più noti e comunemente utilizzati, può essere solo oggetto di conversione mediante Pandoc ma come destinazione e cioè non è possibile che il formato .pdf sia una sorgente per la conversione in un file in un formato.

Sul sito di Pandoc è presente un diagramma molto complesso che descrive i processi di conversione da un formato verso altri.

Spostandosi sugli aspetti un po’ più tecnici, Pandoc è definito come una libreria di Haskell per la conversione da un formato di markup ad un altro, e uno strumento a riga di comando che usa questa libreria.

Per poter urilizzare Pandoc, anche integrato in Obsidian, è necessario installarlo sulla macchina sulla quale si intende utilzizarlo.

Sulla pagina del sito web di Pandoc relativa alla installazione sono pubblicate le modalità per l’installazione sui diversi sistemi.

L’installazione di Pandoc su MacOS può essere effettuata in due modi:

  • scaricando l’installer dalla pagina ufficiale e poi avviare il file con estensione .pkg;
  • dal Terminale di MacOS mediante Homebrew (ne abbiamo già parlato) con il comando:
brew install pandoc

Una volta che Pandoc è installato sul Mac possiamo procedere alla sua integrazione in Obsidian.

Precisiamo che è possibile utilizzare Pandoc anche online raggiungendo questa pagina.

Ovviamente, se si intende integrare Pandoc in Obsidian, il servizio di conversione online non è la soluzione adeguata.

Riteniamo utile presentare di seguito un video che descrive - a titolo di esempio - una conversione di un file markdown (estensione .md) in un file Microsoft Word (estensione .docx).

Il comando per la conversione è

pandoc pandoc_test.md -o pandoc.docx

Ove il parametro -o sta per output, indicando cioè a Pandoc quale deve essere il formato di destinazione.

Pandoc: come configurare Obsidian

Per poter integrare Pandoc all’interno di Obsidian è necessario installare un plugin di terze parti.

Quindi all’interno di Obsidian si deve cliccare sull’icona a forma di ingranaggio che è presente in basso sulla barra laterale sinistra.

Si avrà accesso, quindi, alle impostazioni di Obsidian e si dovrà selezionare la voce “Plugin di terze parti” che è presente sul lato sinistro della finestra delle impostazioni.

Plugin di terze parti

Prima di procedere va disattivata la modalità sicura, altrimenti non sarà possibile installare i plugin di terze parti.

A questo punto cliccando sul pulsante “Sfoglia” che è presente all’interno della sezione “Plugin della comunità”, si avrà accesso ad una finestra dalla quale è possibile effettuare una ricerca testuale digitando appunto “Pandoc”.

Il sistema troverà il plugin e sarà sufficiente cliccare su “Installa” e successivamente su “Abilita” per abilitare il plugin installato.

Installa Pandoc

A questo punto il plugin è installato ma va indicato il percorso (path) di Pandoc sulla macchina.

Dovremo aprire l’app Terminale e digitale il comando

which pandoc

che restituirà il PATH dov’è installato Pandoc; molto probabilmente sarà

/opt/homebrew/bin/pandoc

Restando sempre nell’app Terminale digitiamo

which pdflatex

che restituirà il PATH dov’è installato LateX e molto probabilmente sarà

/Library/TeX/texbin/pdflatex

Accediamo nuovamente alle impostazioni e dopo aver selezionato il plugin Pandoc inseriamo nei campi corrispondenti i percorsi come sopra ottenuti.

PATH

A questo punto Obsidian è pienamente integrato con Pandoc e se clicchiamo la combinazione dei tasti command + p si aprirà una finestra nella quale digitiamo pandoc e si presenteranno tutte le opzioni possibili per esportare un documento in altro formato dall’interno di Obsidian.

Comandi Pandoc

Considerazioni conclusive

Abbiamo definito dal principio Obsidian “un’app straordinaria”.

Pandoc nasce dalla mente e dal lavoro del Prof. John MacFarlane che - peraltro - è anche l’autore delle CommonMark Spec che sono le specifiche per rendere Markdown (sviluppato nel 2004 da John Gruber in collaborazione con Aaron Swartz) fortemente definito.

Infatti, in Markdown ci sono delle incertezze sul codice di markup che hanno spinto John MacFarlane a definire delle specifiche per consolidare Markdown anche in termini di estrema compatibilità (non tutte le applicazioni che dichiarano di utilizzare Markdown utilizzano le medesime specifiche).

Utilizziamo Pandoc da anni e, in ragione del suo indubbio valore dell’impegno profuso dallo sviluppatore, abbiamo deciso di supportare, come sponsor, il progetto su GitHub.

Con queste implementazioni Obsidian si trasforma in un’app ancora più potente e valida che consente di scrivere libri o pubblicazioni voluminose, lasciando all’utente la libertà di scrivere senza distrazioni e offrendo numerosi tool a supporto come la vista grafo che descrive le interazioni tra i singoli file del vault per una visione globale del proprio lavoro.



Stay tuned!