[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