Articoli Manifesto Tools Links Canali Libri Contatti ?
SIForge

Estensione siforge.el per emacs

Abstract
In questo articolo viene descritto come installare ed usare siforge.el, una semplice estensione per scrivere articoli per SIForge con emacs.
Data di stesura: 05/12/2002
Data di pubblicazione: 05/12/2002
Ultima modifica: 04/04/2006
di Giovanni Giorgi Discuti sul forum   Stampa

Introduzione

In questo articolo descrivo la versione 1.0 di siforge.el, un piccolissimo tool per editare comodamente i file nel formato xml[2] di siforge.

Per usare siforge.el è necessario emacs.

Attualmente siforge.el è una semplice raccolta di scheletri, comandi e funzioni atte a semplificare la scrittura ex-novo di articoli. In futuro fornirà probabilmente un motore di parsing ad hoc, per raccogliere le risorse ed inserire automaticamente link, creare la volo l'output html, ecc.

Il package è stato scritto in emacs lisp. Gli avveduti sostengono che Emacs sia l'acronimo di "Excavating Mayan Architecture Comes Simpler" mentre Lisp stia per "Lots of Isolated Silly Parentheses". Benché ci sia del vero in queste affermazioni, emacs è uno dei pochi editor per programmatori con una vastissima libreria di utility già collaudate e pronte all'uso. Emacs dispone di potenti tool per fare confronti tra file (ediff/emerge), gestire file sotto controllo di revisione (CVS/SCCS/RCS), consultare i newsgroup e la posta, ecc.
Questo non toglie che abbia le sue idiosincrasie (come vi).

Installazione

siforge.el è stato testato su Emacs 21.2.1 ma dovrebbe funzionare anche su emacs 20 e 19.

Per Unix: create una directory ~/emacs. Sotto Windows la home va creata definendo una variabile di sistema HOME e poi creando lì dentro la directory, esempio:

 set HOME=C:\Documenti
 md %HOME%\emacs
 runemacs.exe

Scaricate il file siforge.el e copiatelo in ~/emacs, Inserite le seguenti linee nel vostro ~/.emacs:
 (add-to-list 'load-path (expand-file-name "~/emacs"))
 (load "siforge.el")
Fate ripartire emacs.

Uso base

Al Boot noterete un nuovo menu a sinistra, chiamato SIForge. Da questo menu, potete inserire i tag xml necessari per scrivere articoli.

Iniziamo dal menu "SIForge/Insert": esso contiene una serie di template che possono essere usati in due modi differenti. Per iniziare a scrivere un nuovo articolo posizioniamoci su un buffer vuoto e selezioniamo "SIForge/Insert/Article".
Rispondiamo diligentemente a tutte le domande e ... saremo già al centro del nostro articolo. Supponiamo ora di voler inserire un nuovo paragrafo: basterà posizionarci nel punto desiderato e selezionare "SIForge/Insert/New Par. Title[h1]".
C'è un secondo uso di questi menu: proviamo ad evidenziare una stringa con il mouse (per esempio la parola 'MioTitolo') e poi selezionare "SIForge/Insert/New Par. Title[h1]". Emacs scriverà:

<h1>MioTitolo</h1>
Questo comportamento funziona in modo standard con tutti i template, che "sanno" dove inserire il testo selezionato.

Un'altra feature interessante è la seguente: quando si copia un articolo di MS-Word in emacs (con la clipboard) si possono trovare i paragrafi già separati da una linea vuota. È allora possibile chiedere ad emacs di inserire automaticamente i tag di paragrafo <p/> in modo controllato.
Per provare, selezionate "SIForge/Query Insert <p/>": emacs sfrutterà una espressione regolare per "indovinare" se si trova di fronte ad un fine paragrafo e vi chiederà se deve inserire il tag P. Se non volete annoiarvi rispondete con ! (Shift-1) e lasciate che emacs faccia tutte le sostituzioni senza interpellarvi.

Custom menu

Il package in esame espone una serie di opzioni, che seguono lo standard imposto da emacs.
Per usarle, selezionare "Options/Cutomize Emacs/Browse Customization Groups". Poi cliccate sul simbolo [+] a fianco di Applications. Apparirà un sotto menu: come prima, cliccare sul simbolo [+] di SIForge.
Dovrebbe apparire qualcosa si simile alla seguente figura:
[Figura 1]

Figura 1: Esempio d'uso delle customizations in emacs

Le variabili attualmente sono usate nella costruzione di alcuni template e dalle funzionalità avanzate. Per esempio la variabile siforge-author-tag è usata dal comando "Insert Article" per popolare l'attributo author del tag XML <article>.

Uso avanzato

Durante la digitazione risulta comodo annotare una risorsa, per ricordarsi che andrà poi descritta. Per fare questo potete usare il menu "SIForge/Insert/Resource [smart]" Contrariamente a "Insert/Resource" questo menu salva la posizione corrente del cursore, si posiziona alla fine della lista di resources e inserisce la risorsa, dopodiché vi riporta dove eravate.

Resource Indexing

Questa funzionalità non è ancora pronta ma risulta comunque utile. Potete ottenere una lista di tutte le risorse presenti nel documento corrente, selezionando "SIForge/Experimental/List Resources". Il buffer "*siforge*" va poi distrutto manualmente.

Limitazioni

siforge.el funziona solo con il formato xml definito per siforge, e richiede una buona padronanza di tale formato, perché altrimenti è possibile scrivere un xml errato.
Benché esistano dei tool xml/sgml per emacs, questa libreria non li usa ne' fornisce un minor mode di affiancamento.
Personalmente uso l'html-mode (Provare con Alt-x e poi scrivete html-mode) che evidenzia i tag e la chiusura delle parentesi angolari. Purtroppo di default inserisce i tag in maiuscolo, cosa che non è XHTML-compliant.

Informazioni sull'autore

Giovanni Giorgi, classe 1974. Dopo il diploma di liceo Classico, si è laureato in Informatica nel febbraio 2000, e attualmente lavora nel campo del software finanziario (trading on line, soluzioni web).
Appassionato di linguaggi di programmazione, si interessa anche di politica e letteratura.

È possibile consultare l'elenco degli articoli scritti da Giovanni Giorgi.

Altri articoli sul tema SIForge.

Risorse

  1. Sorgente descritto nell'articolo
    http://www.siforge.org/articles/2002/12/siforge-4-emacs/siforge.el (9Kb)
  2. SIForge XML (6ML) reference.
    http://www.siforge.org/articles/2002/09/01-sixml.html
  3. L' "Emacs Wiki" è sicuramente un ottimo sito da cui iniziare per imparare ad usare emacs.
    http://www.emacswiki.org/cgi-bin/wiki.pl?SiteMap
  4. Sempre sull' "Emacs Wiki" trovate parecchia documentazione su emacs: a questa pagina trovate link sia ad una introduzione ad emacs lisp (elisp), che la reference del linguaggio.
    http://www.emacswiki.org/cgi-bin/wiki.pl?CategoryDocumentation
  5. In questo tutorial trovate le informazioni basilari per imparare emacs lisp.
    http://www.gnu.org/manual/emacs-lisp-intro/
  6. A questo link trovate tutto il necessario per installare emacs sotto Window NT/2000/XP
    http://www.gnu.org/software/emacs/windows/ntemacs.html
  7. Qui trovate risorse specifiche/trucchetti per emacs per Windows
    http://www.emacswiki.org/cgi-bin/wiki.pl?CategoryWThirtyTwo
Discuti sul forum   Stampa

Cosa ne pensi di questo articolo?

Discussioni

Questo articolo o l'argomento ti ha interessato? Parliamone.