lunedì 29 settembre 2014

Sigil 0.8.0, cosa cambia

Sigil, il programma per creare e modificare e-book in formato EPUB, è ancora vivo e, dopo quasi un anno di silenzio, finalmente ne abbiamo una nuova versione, la 0.8.0, per l’appunto. Non che ci siano stati grandi cambiamenti, almeno in superficie, ed è probabile che grandi cambiamenti non ci saranno neppure in un futuro prossimo, dato il ritmo con cui il suo sviluppo procede: al momento, Sigil è un programma sviluppato e mantenuto, di fatto, da una sola persona, il che non offre grandi prospettive di aggiornamenti rapidi. Ma vediamo cosa sia cambiato.
Prima di tutto, è cambiato il sito da cui poter scaricare gratuitamente Sigil. Le nuove versioni, per Windows, GNU-Linux e Macintosh, sono scaricabili da GitHub, ossia da questa pagina, invece che dal vecchio sito di Google Code. Non proprio un cambiamento radicale, ma la scelta della versione giusta potrebbe risultare meno chiara del passato, considerata la discutibile grafica della pagina. Leggete con cura il testo biancastro, sullo sfondo verde dei pulsanti, e dovreste poter reperire la versione che vi serve. Dopo aver visto come procurarci il programma, passiamo alle novità nel suo funzionamento. Che di fatto è una sola.
Lasciano da parte le correzioni di alcuni errori, presenti nella precedente versione 0.7.4, la grande novità di Sigil 0.8.0 è la introduzione di una infrastruttura, che supporta l’utilizzo di plugin in questo programma. Più o meno come quella che ha Calibre, giusto per dare una idea. In altri termini, è possibile programma re e aggiungere nuove funzioni a Sigil, attraverso un sano fai-da-te informatico. Per chiunque abbia le competenze necessarie, è ovvio.
Al momento, il supporto di plugin è ancora parecchio limitato, sia perché di fatto è disponibile un solo linguaggio di programmazione, per realizzare i plugin, sia perché i plugin stessi non esistono: se li volete, dovete programmarveli voi, oppure modificare plugin già esistenti per programmi analoghi. Piuttosto che niente, è pur sempre meglio piuttosto.
Nello specifico, l’unico linguaggio di programmazione supportato, per realizzare plugin, è il Python, sia nella versione 2 che nella versione 3 del linguaggio. Una scelta che mi entusiasma moltissimo, dato che trovo la programmazione in Python piacevole come una colonscopia, ma questo è solo un parere personale. In apparenza, molti altri apprezzano invece il linguaggio: buon per loro.
Gusti a parte, la scelta è motivata dal fatto che il Python è un linguaggio già ampiamente usato per realizzare plugin in altri programmi, per cui non dovrebbe essere troppo difficile riciclare e modificare plugin già esistenti, adattandoli alle necessità di Sigil. In particolare, pare che i plugin di Calibre siano riciclabili in Sigil con poche modifiche, dato che la struttura di base è la stessa per i due programmi. O almeno, così sostiene la persona che si occupa dello sviluppo di Sigil e chi sono io per contraddirlo?
Plugin a parte, per il resto non ci sono cambiamenti nel funzionamento di Sigil: tutto ciò che avevo detto per la precedente versione rimane valido anche per questa. Anche la sua interfaccia non è cambiata, a parte l’aggiunta di una nuova voce di menu: Plugin, per l’appunto, e dovreste poter immaginare a cosa serva. Vedremo se, dopo questa versione, altre ne arriveranno, con novità più consistenti e, magari, miglioramenti più consistenti. Considerato il ritmo, non la aspetterei prima della prossima estate, ma spero di esserne smentito.

martedì 11 marzo 2014

Guida al CSS per e-book

Il CSS è il principale linguaggio di programmazione, per realizzare la grafica di siti e applicazioni web, ma è anche la prima scelta quando si tratta di impaginare un ampio settore di formati e-book. Dopo aver parlato in più occasioni delle regole del CSS più comunemente utilizzate, per impaginare uno e-book, mi sono infine deciso a scrivere anche una guida in merito, in cui raccolgo, riorganizzo ed estendo quanto già si poteva trovare nei singoli post. La si può considerare una presentazione di un sottoinsieme del CSS, ossia quello che trova spazio (o che ha senso applicare) in uno e-book: altre proprietà che non ho toccato sono di uso più comune in un sito web e, sebbene non impossibile, il loro utilizzo in un libro sarebbe quantomeno discutibile. In altri termini, se vi accorgete di avere spesso bisogno di proprietà più complesse, è probabile che il vostro progetto funzionerà meglio sotto forma di app, piuttosto che di e-book.
Questa è la lista degli argomenti trattati, capitolo per capitolo:
Se i titoli non sono sufficienti, ecco anche una brevissima presentazione di ogni capitolo e del relativo contenuto.
Capitolo dedicato a una presentazione generale del CSS e dello HTML, con uno excursus su come strutturare un capitolo di e-book e quali tag siano utilizzati più di frequente.
Capitolo dedicato al foglio di stile: la sua anatomia, la struttura di una regola, come assegnare un foglio di stile a una pagina e così via.
Capitolo dedicato ai selettori: come selezionare un tag, per poi modificarlo con una apposita regola CSS, ma anche come creare e selezionare una classe di stile, come funzionano i selettori discendenti e quali sono le pseudoclassi e gli pseudoelementi usati più di frequente in uno e-book.
Capitolo dedicato al funzionamento della ereditarietà nelle regole del CSS: come si tramandano le proprietà CSS da un tag all'altro, ma anche come funziona la "cascata", ossia il processo per cui una proprietà, assegnata a un tag, è valida anche per i tag che sono contenuti in quel primo tag.
Capitolo dedicato alle regole più generali, per impaginare un capitolo: come impostare i margini tra i vari elementi di una pagina, come impostare il margine tra l'inizio del contenuto e il bordo dello schermo, come racchiudere un elemento in una cornice, come decorare lo sfondo di un elemento.
Capitolo dedicato alla impaginazione dei singoli paragrafi: come allineare il contenuto del paragrafo, come formattare soltanto la prima lettera o la prima riga di un paragrafo, impostare i rientri iniziali e così via.
Capitolo dedicato al testo e ai caratteri: come impostare e incorporare font, come regolare le dimensioni del testo, lo spazio tra le linee, il colore del testo e altre decorazioni più o meno decorative.
Capitolo dedicato alla formattazione e alla impaginazione di liste e tabelle: contiene una descrizione dei tag utilizzati per realizzarle e delle proprietà che possono essere loro assegnate, specifiche per questi due tipi di struttura.
A titolo di esempio, i capitoli sono consultabili liberamente anche qui, cliccando sui link corrispondenti. Per tutto il resto, potete procurarvi la Guida: la sua versione in EPUB, peraltro, è liberamente vivisezionabile con Sigil (o anche solo con un qualsiasi programma per aprire cartelle compresse), così da studiarne in concreto la struttura, e può essere convertita facilmente in qualsiasi altro formato con Calibre, così da adattarsi al lettore di vostra preferenza, ma può anche essere modificata, se qualcosa non vi dovesse piacere. La versione per Kindle è inevitabilmente meno malleabile, per i limiti insiti nel formato utilizzato dal Kindle. In entrambi i casi, a ogni modo, non sono presenti DRM o accidenti simili.