aboutsummaryrefslogtreecommitdiff
path: root/webcoso.rest.txt
blob: 9eee5acb20f724830aeb3a47747d310993503eaf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
====================
 WebCoso (e *n*...)
====================
 
Struttura file input
====================
 
- albero di documenti
 
- un documento è una directory con dentro ``document.{lang}.rest.txt``
  e risorse private (es. immagini, stylesheet)
 
- i link sono a mano, e puntano alle directory
 
  - se si sposta un documento, si aggiornano i link a manina (o 2
    righe di Perl)
 
- il tutto in un repository `Subversion`
 
Elaborazione
============
 
Prima passata
-------------
 
1) ``$lastdate`` è il valore della property ``webocoso:lastdate``
   della directory "radice" del sito, o 0 se non esiste
 
2) per ciascun documento:
 
   a) ``$lastmod`` è la data di ultima modifica (commit o in working
      copy, whichever is newer)
 
   b) se non ha property ``webcoso:adddate`` è un documento nuovo; se
      ``$lastmod`` è maggiore di ``$lastdate`` è modificato
 
   c) converti in Docutils XML in un file in output e estrai le
      categorie
 
   A questo punto abbiamo tutta la sitemap fatta.
 
Seconda passata
---------------
 
1) avendo la sitemap in memoria (sostanzialmente, categorie e
   documenti associati), si passa ciascun documento a un template
   (`TT2`), dicendogli anche la lingua
 
2) il template può chiedere i dati della sitemap, usare `XSLT`, etc.
 
3) l'output sta in una directory di nome pari all'input, nome file:
   ``index.{lang}.html``
 
4) si passa ad altro template la sola sitemap, una volta per lingua,
   con output ``tags/index.{lang}.html``
 
5) si passa ad altro template la sola sitemap, una volta per lingua,
   una volta per categoria, con output
   ``tags/{categoria}/index.{lang}.html``
 
Chiusura
--------
 
1) si imposta ``webcoso:lastdate`` sulla "radice" e
   ``webcoso:adddate`` su ciascun file nuovo