TODO in genit-1.0.1 vs TODO in genit-2.0
- old
+ new
@@ -1,25 +1,190 @@
-BUG
-================
+version 2
+=============================================================
-Un site HTML5 compilé -> le résultat du doctype, head, etc. est un mélange
-de html5 et xhtml.
+[done] improve the layout folder structure
+[done] html5 uniquement
+[done] ajouter un serveur
+[done] config file should not be hidden
+[done] retirer alsa et yui
+[done] error msg when template is malformed
-Update docs to reflect the fact that all tags MUST be closed.
+version 2.x
+===============================================================
+menu: Pouvoir changer l'id "actif". Exemple li.active avec twitter bootstrap.
+a custom class for the selected menu item
-messages warning
-----------------
+use haml
+use sass/scss or less
+Document the genit tag and its attributes
+
+think about a deamon to auto-compile
+
+think about a pager for the news
+
+Think about i18n
+
+per page script
+
+per page style
+
+--minimize option for the compile command
+
si j'écris <h1>news page (en oubliant le tag de fin) Genit ne dis
rien et ajoute silencieusement le </h1>. Voir si on peut lui faire
-cracher un warning (ou une erreur si pas possible warning).
+cracher une erreur.
Quand je fais reférence à une url interne inexistante, il serait bon
-d'avoir un warning.
+d'avoir une erreur
-dans le dossier page on accepte uniquement .html et .markdown (warning)
-
si j'écris </br> (au lieu de <br/>) Genit ne dis rien, le tag est ignoré.
-Voir si on peut lui faire cracher un warning (ou une erreur si pas possible warning).
+Voir si on peut lui faire cracher une erreur.
+Pouvoir utiliser les news avec markdown.
+
+dans le dossier page on accepte uniquement .html et .markdown (sinon erreur)
+
+
+
+
+Project guidelines
+==================
+
+Basic objectives
+----------------
+
+At a minimum, Genit should allow to do this :
+
+ + include typical sections:
+ - header
+ - footer
+ - sitemap
+ - menu
+ + generate the RSS feed (with all news, or only a certain number)
+ + generate news section (with all news, or only a certain number)
+ + include different css files per page
+ + include different script files per page
+ + generate different `<meta>` per page (title, keywords, etc.)
+
+Implementation
+--------------
+
+### Create a project
+
+We use the following command line :
+
+ genit create my-site
+ cd my-site
+
+#### Project structure
+
+ my-site/
+ fragments/
+ news/
+ 2011-06-19.markdown
+ pages/
+ index.markdown
+ scripts/
+ styles/
+ alsa/
+ all.css
+ yui/
+ all.css
+ handheld.css
+ print.css
+ screen.css
+ images/
+ templates/
+ main.html
+ menu.html
+ www/
+
+#### Fragments folder
+
+Here we are some fragments, pieces of page.
+
+ <genit class="fragment" file="foo.markdown" />
+
+A fragment can be included in any page you want.
+
+Thinking in page fragment help to modularize the xthml code, like any other "real" programing language.
+
+#### News folder
+
+To include the X latest news:
+
+ <genit class="news" number="5" />
+
+Without number attribute, we include all news.
+
+The news are marked with the file name, which is the date.
+I know it allows only one daily news, but for a static web site, I see
+no problem.
+
+#### Pages folder
+
+All site pages are in this folder. Written in .html or .markdown.
+
+
+#### Scripts folder
+
+I think to include prototype and scriptaculous by default, but:
+
+ * If you don't want to use javascript, don't use it.
+ * You can use any framework you want.
+
+To include a script in the `<head></head>` tag of a particular page,
+we can write (anywhere in the page but it's more readable at the beginning):
+
+ <genit class="script" file="foo.js" />
+
+
+#### Styles folder
+
+Everything that is related to the design of the site goes here.
+
+To include a particular css file in the `<head></head>` tag of a particular page,
+we can write (anywhere in the page but it's more readable at the beginning):
+
+ <genit class="css" file="foo.css" />
+
+#### Templates folder
+
+This is the wrapper(s) for all your site pages. Other frameworks may call it 'layout'.
+
+Only written in .html.
+For now, there is only two templates: the 'main.html' and the 'menu.html'.
+
+To include a page in the template:
+
+ <genit class="pages" />
+
+Some sections are found on the vast majority of web sites : header, footer,
+main menu, bottom menu, left side, right side and sitemap. To include those
+sections we'll write
+
+ <genit class="header" />
+ <genit class="footer" />
+ etc.
+
+#### www folder
+
+The "compiled" project will go here.
+
+TODO il serait peut-être bien d'avoir une option pour changer ce nom de dossier ?
+
+### Compiling the project
+
+The following command will generate the web site in the www folder:
+
+ genit compile
+
+A shortcut:
+
+ genit cc
+
+The --minimize option minimize the size of the file, good for production phase:
+
+ genit compile --minimize