[Python] [ANN] igloo beta

Manlio Perillo manlio_perillo a libero.it
Lun 27 Ago 2007 22:37:53 CEST


Alessandro ha scritto:
> Non capisco bene com'e' strutturato igloo: i template di mako sono sotto 
> "templates", mentre sotto "data" ci sono i contenuti e la struttura 
> delle directory.

Esatto.
Via opzioni puoi scegliere dove si trovano queste directory.

> Tali contenuti possono scegliere quale mako-template usare? Oppure usano 
> quello di default?

I contenuti possono scegliere il loro template, definendo l'header 
'Template'.

Ad esempio dai una occhiata a data/news/content.ht di python.org

> Perchè vedo che questi utilizzano delle "risorse" di tipo "yml", le 
> quali a loro volta possono richiamare un nuovo template che però non sta 
> sotto "templates" ed è di tipo "nevow"... ho le idee un po' confuse :-(
> 

Le risorse YAML sono qualcosa di diverso.
Ad esempio una risorsa sono le news.

Quando una pagina usa l'header 'Resources', indica le risorse di cui ha 
bisogno, che verranno caricate e messe a disposizione del template (con 
una variabile di nome 'resources' e di tipo lista di dizionari - o 
dizionari composti).

Queste risorse possono avere contenuto 'attivo' (ad esempio frammenti in 
reST, che verranno automaticamente convertiti in XHTML).

> Ovviamente c'ho passato solo un'oretta, magari leggendo ancora altri 
> template mi rispondo da solo
> 
> Poi trovo ostica la struttura di directory:
> /data
> /sitetools/nomesito/templates/...
> /sitetools/igloo
> /images
> 
> ma immagino sia così perchè igloo è pensato per python.org, da mettere 
> sulla root, vero?

No, è solo per fare in modo che sia facile scegliere i dati per un 
particolare sito via riga di comando (nella versione originale, tutti i 
template erano nella directory principale, quindi il software si poteva 
usare solo per python.org).

Dove metti /data, /images ed il resto lo decidi tu, e passi i path 
relativi alla riga di comando.

> Ad esempio c'e' la chiave "Using-Python" che mi sembra molto specifica 
> per python.org: per utilizzare igloo con un sito generico devo 
> riscrivere "generic.py" o simili?
> 

In genarator.SiteGenerator.process_page, vengono letti degli headers 
che, in alcuni casi, sono specifici di python.org.

Puoi tranquillamente non definirli.
Ad esempio il valore dell'header 'Using-Python' viene passato come 
variabile 'using' al template.

In futuro magari cercherò di spostare questi headers specifici fuori dal 
'core'.

> 
> Manlio Perillo wrote:
>>> Stai facendo già tantissimo, ti ringrazio. Diciamo che provo a fare 
>>> il possibile da solo e magari ti chiedo aiuto quando mi blocco o in 
>>> caso di dubbio; vorrei essere io a dare un mano, una volta tanto! ;-)
>> Se sai usare Mercurial puoi crearti un tuo branch di sviluppo.
> Trovo buffa questa cosa di mercurial: sapevo che non è centralizzato 
> come subversion, quindi posso "forcare" in locale il tuo codice, facendo 
> si che il ramo principale sia sempre sviluppato da te?
> 

Esatto.
E' molto comodo perchè puoi gestire la tua linea di sviluppo 
indipedentemente dalla mia; ovviamente possiamo sempre sincronizzarci 
via merge.


Saluti  Manlio Perillo


Maggiori informazioni sulla lista Python