From cb487777a8c4db1ce722f2bd2e158ab691441254 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 15 May 2013 16:16:35 +0200 Subject: [PATCH 01/19] [MV] Rename lua script --- porteail.lua => create_homepage.lua | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename porteail.lua => create_homepage.lua (100%) diff --git a/porteail.lua b/create_homepage.lua similarity index 100% rename from porteail.lua rename to create_homepage.lua From e16143bc41f97d032b85450f437bc229b3a6d20c Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 15 May 2013 17:16:05 +0200 Subject: [PATCH 02/19] [DEL] Slimming down of GNUMakefile to support last lua script --- .gitignore | 1 - GNUmakefile | 146 ++++-------------------------------- NEW_VARS.txt | 25 ++++++ OLD_VARS.txt | 64 ++++++++++++++++ composants/categ.html | 8 -- composants/categ_deb.html | 5 -- composants/categ_fin.html | 2 - composants/categories.html | 9 +++ composants/contenu_fin.html | 1 - composants/element.html | 6 +- composants/enqueue.html | 7 -- composants/entete.html | 19 ----- composants/one_element.html | 10 --- configrc.exemple | 72 +++++++----------- create_homepage.lua | 18 +++-- paconfigrc | 68 ++++++----------- 16 files changed, 177 insertions(+), 284 deletions(-) create mode 100644 NEW_VARS.txt create mode 100644 OLD_VARS.txt delete mode 100644 composants/categ.html delete mode 100644 composants/categ_deb.html delete mode 100644 composants/categ_fin.html create mode 100644 composants/categories.html delete mode 100644 composants/contenu_fin.html delete mode 100644 composants/enqueue.html delete mode 100644 composants/entete.html delete mode 100644 composants/one_element.html diff --git a/.gitignore b/.gitignore index f187cdd..9304dc0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,3 @@ porteail/* .gitignore -categories.html configrc diff --git a/GNUmakefile b/GNUmakefile index 81fdb4d..e231e65 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -35,45 +35,14 @@ include configrc ## AUTRES CONFIGS ##--[[ adresses ]]--## -INTRO_ADDR = $(COMPOSANTS)/$(INTRO) -INDEX_ADDR = $(CIBLE)/$(INDEX) -MENU_ADDR = $(COMPOSANTS)/$(MENU) -CSS_SANS_MENU_ADDR = $(CSS)/$(CSS_SANS_MENU) -CSS_AVEC_MENU_ADDR = $(CSS)/$(CSS_AVEC_MENU) -STYLE_ADDR = $(CSS)/$(STYLE) -ENTETE_ADDR = $(COMPOSANTS)/$(ENTETE) -ENQUEUE_ADDR = $(COMPOSANTS)/$(ENQUEUE) -POST_CONTENU_ADDR = $(COMPOSANTS)/$(POST_CONTENU) -ENTETE_CAT_ADDR = $(COMPOSANTS)/$(ENTETE_CAT) -ENQUEUE_CAT_ADDR = $(COMPOSANTS)/$(ENQUEUE_CAT) -ELEMENT_ADDR = $(COMPOSANTS)/$(ELEMENT) -CONTENU_ADDR = $(COMPOSANTS)/$(CONTENU) -DEFAUT_IMG_ADDR = $(IMAGES)/$(DEFAUT_IMG) - -##--[[ dépendances ]]--## -ifndef $(MENU) - CSS_DEP = $(CSS_SANS_MENU_ADDR) -else - CSS_DEP = $(CSS_AVEC_MENU_ADDR) -endif -INDEX_DEP = $(ENTETE_ADDR) $(ENQUEUE_ADDR) $(POST_CONTENU_ADDR) -CSS_TOUS = $(CIBLE)/$(STYLE) $(CIBLE)/$(CSS_NOM) -CONFIG = paconfigrc configrc - -# Éléments sources -SOURCE = $(CATEGORIES)/*.$(CATEGORIES_EXT) +INTRO_ADDR = $(COMPONENTS)/$(INTRO) +MENU_ADDR = $(COMPONENTS)/$(MENU) # programmes PROG_ECHO = `which echo` PROG_TEST = `which test` -PROG_SED = `which sed` -PROG_CAT = `which cat` -PROG_CP = `which cp` -PROG_SH = `which sh` PROG_RM = `which rm` -PROG_FIND = `which find` -PROG_SORT = `which sort` -PROG_WC = `which wc` +PROG_LUA = `which lua` PROG_MKDIR = `which mkdir` # vérification des programmes @@ -83,37 +52,19 @@ endif ifndef PROG_TEST error_test = 1 endif -ifndef PROG_SED -error_sed = 1 -endif -ifndef PROG_CAT -error_cat = 1 -endif -ifndef PROG_CP -error_cp = 1 -endif -ifndef PROG_SH -error_sh = 1 -endif ifndef PROG_RM error_rm = 1 endif -ifndef PROG_FIND -error_find = 1 -endif -ifndef PROG_SORT -error_sort = 1 -endif -ifndef PROG_WC -error_wc = 1 -endif ifndef PROG_MKDIR error_mkdir = 1 endif +ifndef PROG_LUA +error_lua = 1 +endif ## DEBUT # création de tous les fichiers -all: test index +all: test homepage ## TEST # divers tests sur l'existence des dossiers/fichiers @@ -131,13 +82,14 @@ test: $(if $(error_find), @$(PROG_ECHO) -e "\t\tfind : MANQUANT." ; exit 1) $(if $(error_sort), @$(PROG_ECHO) -e "\t\tsort : MANQUANT." ; exit 1) $(if $(error_wc), @$(PROG_ECHO) -e "\t\twc : MANQUANT." ; exit 1) + $(if $(error_lua), @$(PROG_ECHO) -e "\t\tlua : MANQUANT." ; exit 1) @$(PROG_ECHO) -e "\t…existence des dossiers '$(IMAGES)', '$(CATEGORIES)' et '$(CSS)'" @for i in $(IMAGES) $(CATEGORIES) $(CSS) ; \ do \ $(PROG_TEST) -d $$i || exit 1 ; \ done ; \ - $(PROG_ECHO) -e "\t…création des dossiers cibles '$(CIBLE)' et '$(CIBLE)/$(IMAGES_CIBLE)'" - @for j in $(CIBLE) $(CIBLE)/$(IMAGES_CIBLE) ; \ + $(PROG_ECHO) -e "\t…création des dossiers cibles '$(DESTINATION)' et '$(DESTINATION)/$(IMAGES_DESTINATION)'" + @for j in $(DESTINATION) $(DESTINATION)/$(IMAGES_DESTINATION) ; \ do \ $(PROG_TEST) -d $$j || $(PROG_MKDIR) $$j ; \ done @@ -149,82 +101,16 @@ test: $(if $(MENU), @$(PROG_ECHO) -e "\t\t-> activée", @$(PROG_ECHO) -e "\t\t-> désactivée") @$(PROG_ECHO) -e " …terminé." -## FICHIERS CSS -# création du fichier CSS -$(CIBLE)/$(CSS_NOM): $(CONFIG) $(CSS_DEP) - @$(PROG_ECHO) -e "Création du fichier CSS…" - $(if $(MENU), @$(PROG_CP) $(CSS_AVEC_MENU_ADDR) $(CIBLE)/$(CSS_NOM), @$(PROG_CP) $(CSS_SANS_MENU_ADDR) $(CIBLE)/$(CSS_NOM)) - @$(PROG_ECHO) -e " …terminée." - -# création du fichier CSS de couleur -$(CIBLE)/$(STYLE): $(CONFIG) $(STYLE_ADDR) - @$(PROG_ECHO) -e "Création du fichier CSS pour les couleurs…" - @$(PROG_CP) $(STYLE_ADDR) $(CIBLE)/$(STYLE) - @$(PROG_ECHO) -e " …terminée." - ## CATEGORIES -# création du fichier $(CONTENU_ADDR) -$(CONTENU_ADDR): $(CONFIG) $(GEN_CATEGORIES) $(SOURCE) $(DEFAUT_IMG_ADDR) - @$(PROG_SED) -i "s/DEBUG=1/DEBUG=0/g" $(GEN_CATEGORIES) - @$(PROG_ECHO) -e "Création du contenu avec les valeurs suivantes : " - @$(PROG_ECHO) -e "\t\t- Dossier catégorie : $(CATEGORIES)" - @$(PROG_ECHO) -e "\t\t- Destination temporaire du contenu : $(CONTENU_ADDR)" - @$(PROG_ECHO) -e "\t\t- Extension des fichiers à lire : $(CATEGORIES_EXT)" - @$(PROG_ECHO) -e "\t\t- Dossier ayant les composants de la page : $(COMPOSANTS)" - @$(PROG_ECHO) -e "\t\t- Entête HTML d'une catégorie : $(ENTETE_CAT_ADDR)" - @$(PROG_ECHO) -e "\t\t- Enqueue HTML d'une catégorie : $(ENQUEUE_ADDR)" - @$(PROG_ECHO) -e "\t\t- Code HTML d'un élément : $(ELEMENT_ADDR)" - @$(PROG_ECHO) -e "\t\t- Dossier contenant les images sources : $(IMAGES)" - @$(PROG_ECHO) -e "\t\t- Dossier de destination des images : $(IMAGES_CIBLE)" - @$(PROG_ECHO) -e "\t\t- Image par défaut : $(DEFAUT_IMG_ADDR)" - @$(PROG_ECHO) -e "\t\t- Dossier de destination global : $(CIBLE)" - @$(PROG_SH) $(GEN_CATEGORIES) $(CATEGORIES) $(CONTENU_ADDR) $(CATEGORIES_EXT) $(COMPOSANTS) $(ENTETE_CAT_ADDR) $(ENQUEUE_CAT_ADDR) $(ELEMENT_ADDR) $(IMAGES) $(IMAGES_CIBLE) $(DEFAUT_IMG_ADDR) $(CIBLE) - -## JAVASCRIPT -# création du fichier html5.js -html5.js: $(COMPOSANTS) - @$(PROG_ECHO) -e "Création du fichier html5.js…" - @$(PROG_CP) $(COMPOSANTS)/html5.js $(CIBLE)/html5.js - @$(PROG_ECHO) -e " …terminée." - -## INDEX -# création de la page d'index -index: $(CONFIG) $(INDEX_ADDR) $(CSS_TOUS) - -$(INDEX_ADDR): $(CONFIG) $(INDEX_DEP) $(CONTENU_ADDR) html5.js - @$(PROG_ECHO) -e "Création de la page de garde…" -# entete - @$(PROG_ECHO) -e "\t…insertion de l'entête" - @$(PROG_CAT) $(ENTETE_ADDR) > $(INDEX_ADDR) -# modification du contenu - @$(PROG_ECHO) -e "\t…modification du contenu" - @$(PROG_SED) -i \ - -e "s/@@TITRE_PORTEAIL@@/$(TITRE)/g" \ - -e "s/@@ACCUEIL_PORTEAIL@@/$(ACCUEIL)/g" \ - -e "s#@@CSS_DEFAUT@@#./$(CSS_NOM)#g" \ - -e "s#@@CSS_COULEUR@@#./$(STYLE)#g" \ - -e "s/^\(.*\)@@.*@@\(.*\)$$/\1\2/g" \ - $(INDEX_ADDR) - @$(PROG_ECHO) -e "\t …contenu modifié avec succès !" -# introduction (SI la variable INTRO est remplie) - $(if $(INTRO), @cat $(INTRO_ADDR) >> $(INDEX_ADDR); $(PROG_ECHO) -e "\t…insertion de l'introduction" || exit 1) -# contenu - @$(PROG_ECHO) -e "\t…insertion du contenu" - @$(PROG_CAT) $(CONTENU_ADDR) >> $(INDEX_ADDR) -# fin du contenu - @$(PROG_ECHO) -e "\t…insertion de la fin du contenu" - @$(PROG_CAT) $(POST_CONTENU_ADDR) >> $(INDEX_ADDR) -# menu - $(if $(MENU), @cat $(MENU_ADDR) >> $(INDEX_ADDR); $(PROG_ECHO) -e "\t…insertion du menu" || exit 1) -# enqueue - @$(PROG_ECHO) -e "\t…insertion de l'enqueue" - @$(PROG_CAT) $(ENQUEUE_ADDR) >> $(INDEX_ADDR) - @$(PROG_ECHO) -e " …terminée." +# création de la page d'accueil +homepage: + @$(PROG_ECHO) -e "Création de la page d'accueil…" + @$(PROG_LUA) create_homepage.lua || exit 1 + @$(PROG_ECHO) -e " …terminé." ## NETTOYAGE # nettoyage des fichiers générés clean: @$(PROG_ECHO) -e "Nettoyage des fichiers en cours…" - @$(PROG_RM) -rf $(CIBLE) - @$(PROG_RM) -f $(CONTENU_ADDR) + @$(PROG_RM) -rf $(DESTINATION) @$(PROG_ECHO) -e " …terminé." diff --git a/NEW_VARS.txt b/NEW_VARS.txt new file mode 100644 index 0000000..b7aba66 --- /dev/null +++ b/NEW_VARS.txt @@ -0,0 +1,25 @@ +# old one TITRE +TITLE = Titre par défaut +STYLE = noir.css +# old one CIBLE +DESTINATION = porteail +# old one ACCUEIL +HOMEPAGE = Accueil - $(TITRE) +GEN_CATEGORIES = creation_categ.sh +INDEX = index.html +CATEGORIES_EXT = txt +# old one DEFAUT_IMG +DEFAULT_IMG = generique.png +# old one ELEMENT +TEMPLATE_ELEMENT = element.html +# new one TEMPLATE_INDEX +TEMPLATE_INDEX = index.html +# new one TEMPLATE_CATEG +TEMPLATE_CATEG = categ.html +# old one COMPOSANTS +COMPONENTS = composants +CATEGORIES = categ +IMAGES = img +CSS = style +# old one CSS_NOM +CSS_NAME = defaut.css diff --git a/OLD_VARS.txt b/OLD_VARS.txt new file mode 100644 index 0000000..8ca416c --- /dev/null +++ b/OLD_VARS.txt @@ -0,0 +1,64 @@ +########################### +## Configuration basique ## +########################### + +# Titre de votre PorteAil +TITRE = Titre par défaut +# Feuille de style choisie +STYLE = noir.css +# Code HTML du menu (par défaut dans le dossier COMPOSANTS) +#MENU = menu.html +# Code HTML de l'introduction (par défaut dans le dossier COMPOSANTS) +#INTRO = introduction.html +CIBLE = porteail + +########################### +## Configuration avancée ## +########################### + +##--[[ divers ]]--## + +ACCUEIL = Accueil - $(TITRE) +GEN_CATEGORIES = creation_categ.sh +INDEX = index.html +# Extension des fichiers à prendre en compte dans le dossier contenant les +#+ catégories +CATEGORIES_EXT = txt +# Image de base si aucune mentionnée (par défaut dans le dossier IMAGES) +DEFAUT_IMG = generique.png +# Contenu HTML d'un élément +ELEMENT = element.html +# résultat de la génération des catégories +CONTENU = categories.html +# Contenu HTML à utiliser en début de catégorie +ENTETE_CAT = categ_deb.html +# Contenu HTML à utiliser en fin de catégorie +ENQUEUE_CAT = categ_fin.html +# Contenu HTML à utiliser après le contenu principal de la page +POST_CONTENU = contenu_fin.html +# Contenu HTML à utiliser en début de page finale +ENTETE = entete.html +# Contenu HTML à utiliser en fin de page finale +ENQUEUE = enqueue.html + +##--[[ dossiers ]]--## + +## SOURCES +# Dossier contenant les éléments composants votre page +COMPOSANTS = composants +# dossier contenant le détail des catégories +CATEGORIES = categ +# dossier contenant les images +IMAGES = img +# dossier contenant les feuilles de style +CSS = style + +## DESTINATION (cible) +# dossier de destination des images +IMAGES_CIBLE = image + +##--[[ style ]]--## + +CSS_SANS_MENU = sans_menu.css +CSS_AVEC_MENU = avec_menu.css +CSS_NOM = defaut.css diff --git a/composants/categ.html b/composants/categ.html deleted file mode 100644 index 703c10d..0000000 --- a/composants/categ.html +++ /dev/null @@ -1,8 +0,0 @@ - - -

${CATEG_TITLE}

-

${CATEG_DESC}

- -
 
diff --git a/composants/categ_deb.html b/composants/categ_deb.html deleted file mode 100644 index dde853a..0000000 --- a/composants/categ_deb.html +++ /dev/null @@ -1,5 +0,0 @@ - - -

@@TITRE_CATEG@@

-

@@DESC_CATEG@@

- -
 
diff --git a/composants/categories.html b/composants/categories.html new file mode 100644 index 0000000..4df8ab0 --- /dev/null +++ b/composants/categories.html @@ -0,0 +1,9 @@ + + +

${CATEG_TITLE}

+

${CATEG_DESC}

+ +
 
+ diff --git a/composants/contenu_fin.html b/composants/contenu_fin.html deleted file mode 100644 index d412e2c..0000000 --- a/composants/contenu_fin.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/composants/element.html b/composants/element.html index 733a9b3..8cc2a2e 100644 --- a/composants/element.html +++ b/composants/element.html @@ -1,9 +1,9 @@
  • - + - @@TITRE_ELEMENT@@
    + ${ELEMENT_TITLE}
    - @@DESC_IMAGE@@ + ${IMG_DESC}
  • diff --git a/composants/enqueue.html b/composants/enqueue.html deleted file mode 100644 index 8af6595..0000000 --- a/composants/enqueue.html +++ /dev/null @@ -1,7 +0,0 @@ - - -
    -

    Page générée à l'aide de PorteAil

    -
    - - diff --git a/composants/entete.html b/composants/entete.html deleted file mode 100644 index cc7affd..0000000 --- a/composants/entete.html +++ /dev/null @@ -1,19 +0,0 @@ - - - - - @@ACCUEIL_PORTEAIL@@ - - - - - - -
    -

    @@TITRE_PORTEAIL@@

    -
    - - -
    diff --git a/composants/one_element.html b/composants/one_element.html deleted file mode 100644 index 8cc2a2e..0000000 --- a/composants/one_element.html +++ /dev/null @@ -1,10 +0,0 @@ -
  • - - - ${ELEMENT_TITLE}
    - - ${IMG_DESC} -
    -
    -
  • - diff --git a/configrc.exemple b/configrc.exemple index 276b01b..786aa83 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -1,64 +1,44 @@ ########################### -## Configuration basique ## +## Main configuration ## ########################### -# Titre de votre PorteAil -TITRE = Titre par défaut -# Feuille de style choisie +# Homepage title +TITLE = Default title +# CSS color file STYLE = noir.css -# Code HTML du menu (par défaut dans le dossier COMPOSANTS) +# Menu (if needed) #MENU = menu.html -# Code HTML de l'introduction (par défaut dans le dossier COMPOSANTS) +# Introduction (if needed) #INTRO = introduction.html -CIBLE = porteail +# Destination directory +DESTINATION = porteail ########################### -## Configuration avancée ## +## Additional config ## ########################### -# -###--[[ divers ]]--## -# -#ACCUEIL = Accueil - $(TITRE) -#GEN_CATEGORIES = creation_categ.sh -#INDEX = index.html -## Extension des fichiers à prendre en compte dans le dossier contenant les -##+ catégories + +##--[[ miscellaneous ]]--## + +#HOMEPAGE = Homepage - $(TITLE) +## File extension to be used to read categories #CATEGORIES_EXT = txt -## Image de base si aucune mentionnée (par défaut dans le dossier IMAGES) -#DEFAUT_IMG = generique.png -## Contenu HTML d'un élément -#ELEMENT = element.html -## résultat de la génération des catégories -#CONTENU = categories.html -## Contenu HTML à utiliser en début de catégorie -#ENTETE_CAT = categ_deb.html -## Contenu HTML à utiliser en fin de catégorie -#ENQUEUE_CAT = categ_fin.html -## Contenu HTML à utiliser après le contenu principal de la page -#POST_CONTENU = contenu_fin.html -## Contenu HTML à utiliser en début de page finale -#ENTETE = entete.html -## Contenu HTML à utiliser en fin de page finale -#ENQUEUE = enqueue.html +## Default image +#DEFAULT_IMG = generique.png +## Templates +#TEMPLATE_ELEMENT = element.html +#TEMPLATE_INDEX = index.html +#TEMPLATE_CATEG = categories.html # -###--[[ dossiers ]]--## +###--[[ directories ]]--## # -### SOURCES -## Dossier contenant les éléments composants votre page -#COMPOSANTS = composants -## dossier contenant le détail des catégories +#COMPONENTS = composants #CATEGORIES = categ -## dossier contenant les images #IMAGES = img -## dossier contenant les feuilles de style +#IMAGES_DESTINATION = image #CSS = style # -### DESTINATION (cible) -## dossier de destination des images -#IMAGES_CIBLE = image -# ###--[[ style ]]--## # -#CSS_SANS_MENU = sans_menu.css -#CSS_AVEC_MENU = avec_menu.css -#CSS_NOM = defaut.css +#CSS_WITHOUT_MENU = sans_menu.css +#CSS_WITH_MENU = avec_menu.css +#CSS_NAME = defaut.css diff --git a/create_homepage.lua b/create_homepage.lua index 90fb425..f6fe72a 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -22,8 +22,8 @@ local default_dir_css_source = 'style' local default_img_filename = 'generique.png' local default_index_filename = 'index.html' local default_template_index_filename = 'index.html' -local default_template_categ_filename = 'categ.html' -local default_template_element_filename = 'one_element.html' +local default_template_categ_filename = 'categories.html' +local default_template_element_filename = 'element.html' local default_css_filename = 'noir.css' local default_css_menu_without = 'sans_menu.css' local default_css_menu_with = 'avec_menu.css' @@ -31,6 +31,8 @@ local default_css_menu_with = 'avec_menu.css' local default_categ_extension = 'txt' local DIR_SEP = '/' local default_css_name = 'Défaut' +local default_title = 'Titre par défaut' +local default_homepage_title = 'Accueil - ' .. default_title --[[ Functions ]]-- @@ -175,9 +177,9 @@ config = getConfig(configFile) -- create values for directories categ = config['CATEGORIES'] or default_dir_category -component = config['COMPOSANTS'] or default_dir_component -destination = config['CIBLE'] or default_dir_destination -img_destination = config['CIBLE_IMAGE'] or default_dir_img_destination +component = config['COMPONENTS'] or default_dir_component +destination = config['DESTINATION'] or default_dir_destination +img_destination = config['IMAGE_DESTINATION'] or default_dir_img_destination img_source = config['IMAGES'] or default_dir_img_source css_source = config['CSS'] or default_dir_css_source -- create values for files @@ -185,7 +187,7 @@ index_filename = config['INDEX'] or default_index_filename main_template = config['TEMPLATE_INDEX'] or default_template_index_filename template_categ_filename = config['TEMPLATE_CATEG'] or default_template_categ_filename template_element_filename = config['TEMPLATE_ELEMENT'] or default_template_element_filename -default_img = config['DEFAUT_IMG'] or default_img_filename +default_img = config['DEFAULT_IMG'] or default_img_filename css_filename = config['STYLE'] or default_css_filename css_menu = default_css_menu_without local menu = config['MENU'] or '' @@ -238,8 +240,8 @@ end result = assert(io.open(destination .. '/' .. main_template, 'wb')) -- create substitution table substitutions = { - TITLE=config['TITRE'] .. ' - Accueil', - PORTEAIL_TITLE=config['TITRE'], + TITLE=config['HOMEPAGE'] or default_homepage_title, + PORTEAIL_TITLE=config['TITLE'] or default_title, CONTENT=content, INTRODUCTION=introduction_content, MENU=menu_content, diff --git a/paconfigrc b/paconfigrc index 8ca416c..8cac343 100644 --- a/paconfigrc +++ b/paconfigrc @@ -1,64 +1,44 @@ ########################### -## Configuration basique ## +## Main configuration ## ########################### -# Titre de votre PorteAil -TITRE = Titre par défaut -# Feuille de style choisie +# Homepage title +TITLE = Default title +# CSS color file STYLE = noir.css -# Code HTML du menu (par défaut dans le dossier COMPOSANTS) +# Menu (if needed) #MENU = menu.html -# Code HTML de l'introduction (par défaut dans le dossier COMPOSANTS) +# Introduction (if needed) #INTRO = introduction.html -CIBLE = porteail +# Destination directory +DESTINATION = porteail ########################### -## Configuration avancée ## +## Additional config ## ########################### -##--[[ divers ]]--## +##--[[ miscellaneous ]]--## -ACCUEIL = Accueil - $(TITRE) -GEN_CATEGORIES = creation_categ.sh -INDEX = index.html -# Extension des fichiers à prendre en compte dans le dossier contenant les -#+ catégories +HOMEPAGE = Homepage - $(TITLE) +# File extension to be used to read categories CATEGORIES_EXT = txt -# Image de base si aucune mentionnée (par défaut dans le dossier IMAGES) -DEFAUT_IMG = generique.png -# Contenu HTML d'un élément -ELEMENT = element.html -# résultat de la génération des catégories -CONTENU = categories.html -# Contenu HTML à utiliser en début de catégorie -ENTETE_CAT = categ_deb.html -# Contenu HTML à utiliser en fin de catégorie -ENQUEUE_CAT = categ_fin.html -# Contenu HTML à utiliser après le contenu principal de la page -POST_CONTENU = contenu_fin.html -# Contenu HTML à utiliser en début de page finale -ENTETE = entete.html -# Contenu HTML à utiliser en fin de page finale -ENQUEUE = enqueue.html +# Default image +DEFAULT_IMG = generique.png +# Templates +TEMPLATE_ELEMENT = element.html +TEMPLATE_INDEX = index.html +TEMPLATE_CATEG = categories.html -##--[[ dossiers ]]--## +##--[[ directories ]]--## -## SOURCES -# Dossier contenant les éléments composants votre page -COMPOSANTS = composants -# dossier contenant le détail des catégories +COMPONENTS = composants CATEGORIES = categ -# dossier contenant les images IMAGES = img -# dossier contenant les feuilles de style +IMAGES_DESTIONATION = image CSS = style -## DESTINATION (cible) -# dossier de destination des images -IMAGES_CIBLE = image - ##--[[ style ]]--## -CSS_SANS_MENU = sans_menu.css -CSS_AVEC_MENU = avec_menu.css -CSS_NOM = defaut.css +CSS_WITHOUT_MENU = sans_menu.css +CSS_WITH_MENU = avec_menu.css +CSS_NAME = defaut.css From 8706304cb6fa10f2ebdcd89907b4e7acaa915865 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 15 May 2013 17:17:03 +0200 Subject: [PATCH 03/19] [FIX] Missing letter in a display --- GNUmakefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/GNUmakefile b/GNUmakefile index e231e65..6fb0b1c 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -106,7 +106,7 @@ test: homepage: @$(PROG_ECHO) -e "Création de la page d'accueil…" @$(PROG_LUA) create_homepage.lua || exit 1 - @$(PROG_ECHO) -e " …terminé." + @$(PROG_ECHO) -e " …terminée." ## NETTOYAGE # nettoyage des fichiers générés From 1abc0c8e2bc45f8c3c77fb06c6b4fe31c38c7bb0 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 15 May 2013 17:37:11 +0200 Subject: [PATCH 04/19] [ADD] Install command in GNUMakefile --- GNUmakefile | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index 6fb0b1c..e65df0d 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -43,6 +43,7 @@ PROG_ECHO = `which echo` PROG_TEST = `which test` PROG_RM = `which rm` PROG_LUA = `which lua` +PROG_SH = `which sh` PROG_MKDIR = `which mkdir` # vérification des programmes @@ -58,6 +59,9 @@ endif ifndef PROG_MKDIR error_mkdir = 1 endif +ifndef PROG_SH +error_sh = 1 +endif ifndef PROG_LUA error_lua = 1 endif @@ -74,14 +78,9 @@ test: @$(PROG_ECHO) -e "Lancement des tests…" @$(PROG_ECHO) -e "\t…existence des différents programmes" $(if $(error_test), @$(PROG_ECHO) -e "\t\ttest : MANQUANT." ; exit 1) - $(if $(error_sed), @$(PROG_ECHO) -e "\t\tsed : MANQUANT." ; exit 1) - $(if $(error_cat), @$(PROG_ECHO) -e "\t\tcat : MANQUANT." ; exit 1) - $(if $(error_cp), @$(PROG_ECHO) -e "\t\tcp : MANQUANT." ; exit 1) + $(if $(error_mkdir), @$(PROG_ECHO) -e "\t\tmkdir : MANQUANT." ; exit 1) $(if $(error_sh), @$(PROG_ECHO) -e "\t\tsh : MANQUANT." ; exit 1) $(if $(error_rm), @$(PROG_ECHO) -e "\t\trm : MANQUANT." ; exit 1) - $(if $(error_find), @$(PROG_ECHO) -e "\t\tfind : MANQUANT." ; exit 1) - $(if $(error_sort), @$(PROG_ECHO) -e "\t\tsort : MANQUANT." ; exit 1) - $(if $(error_wc), @$(PROG_ECHO) -e "\t\twc : MANQUANT." ; exit 1) $(if $(error_lua), @$(PROG_ECHO) -e "\t\tlua : MANQUANT." ; exit 1) @$(PROG_ECHO) -e "\t…existence des dossiers '$(IMAGES)', '$(CATEGORIES)' et '$(CSS)'" @for i in $(IMAGES) $(CATEGORIES) $(CSS) ; \ @@ -108,6 +107,9 @@ homepage: @$(PROG_LUA) create_homepage.lua || exit 1 @$(PROG_ECHO) -e " …terminée." +install: + @$(PROG_SH) install.sh || exit 1 + ## NETTOYAGE # nettoyage des fichiers générés clean: From 1fbbb2ebb65e8b301cadfa6a32fd3dbc07ce5360 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 15 May 2013 17:51:06 +0200 Subject: [PATCH 05/19] [UP] Update documentation --- README.md | 96 ++++++++++++++---------------------------------- configrc.exemple | 2 - paconfigrc | 4 +- 3 files changed, 28 insertions(+), 74 deletions(-) diff --git a/README.md b/README.md index 3878395..86db3a6 100644 --- a/README.md +++ b/README.md @@ -128,12 +128,12 @@ Ce fichier apparaît depuis la version 0.1.1. Il vous permettra de changer, par exemple, le titre de votre page PorteAil. Ceci se fait via la ligne suivante : - TITRE= + TITLE= Par exemple pour afficher "Mon super site" sur la page PorteAil, modifiez ceci dans le fichier configrc : - TITRE = Mon super site + TITLE = Mon super site D'autres éléments peuvent être modifiés afin de personnaliser le résultat de PorteAil. Pour de plus amples renseignements à ce sujet, je vous invite à lire @@ -270,6 +270,13 @@ script et modifiez les valeurs suivantes : à copier - DESTDIR : contient l'adresse exacte où copier les fichiers (la destination). +NB : Il est possible d'avoir le même fonctionnement en utilisant la commande + suivante : + + make install + +Et tout sera copié de DESTDIR à SRCDIR. + ## Pour aller plus loin Tous les éléments expliqués ci-avant ne seront que partiellement ou pas du @@ -321,51 +328,36 @@ plus grand sur la page de résultat. Configuration basique : -- TITRE : Cf. chapitre **Fonctionnement basique** +- TITLE : Cf. chapitre **Fonctionnement basique** - STYLE : nom de la feuille de style qui ajoutera des couleurs à PorteAil (seconde feuille de style en somme). Redéfinir l'ensemble des classes CSS de ce fichier vous permettra de reconfigurer toute l'apparence de PorteAil. - MENU : Cf. chapitre **Fonctionnement basique** - INTRO : Cf. chapitre **Fonctionnement basique** -- CIBLE : nom du dossier dans lequel sera généré le portail web. +- DESTINATION : nom du dossier dans lequel sera généré le portail web. Configuration avancée : -- ACCUEIL : Titre de la page tel qu'il s'affichera sur un navigateur -- GEN_CATEGORIES : script bash lancé au moment de la création des - catégories. C'est ce script qui génère les catégories pour la page - finale. -- INDEX : nom du fichier final. Par exemple *index.html* +- HOMEPAGE : Titre de la page tel qu'il s'affichera sur un navigateur - CATEGORIES_EXT : extension des fichiers qui seront lus pour générer les catégories - DEFAUT_IMG : nom de l'image - contenue par défaut dans le dossier img - par défaut pour un élément qui n'a pas d'image ou n'en a pas trouvé. -- ELEMENT : nom du fichier contenant le code HTML d'un élément. Se trouve -par défaut dans le dossier *COMPOSANTS*. -- CONTENU : nom du fichier contenu le résultat de la génération des -catégories. -- ENTETE_CAT : nom du fichier contenant le code HTML du début d'une -catégorie. Se trouve par défaut dans le dossier *COMPOSANT*. -- ENQUEUE_CAT : nom du fichier contenant le code HTML de la fin d'une -catégorie. Se trouve par défaut dans le dossier *COMPOSANT*. -- POST_CONTENU : nom du fichier contenant le code HTML à utiliser après -le contenu des catégories. Se trouve par défaut dans le dossier *COMPOSANT*. -- ENTETE : nom du fichier contenant le code HTML à utiliser en début de la - page finale. -- ENQUEUE = nom du fichier contenant le code HTML à utiliser en fin de la -page finale -- COMPOSANTS : dossier contenant les éléments qui constitueront la page +- TEMPLATE_ELEMENT : nom du fichier contenant le code HTML d'un élément. + Se trouve par défaut dans le dossier *COMPONENTS*. +- TEMPLATE_INDEX : nom du fichier contenant le code HTML de la page finale. + Se trouve par défaut dans le dossier *COMPONENTS*. +- TEMPLATE_CATEG : nom du fichier contenant le code HTML d'une catégorie. + Se trouve par défaut dans le dossier *COMPONENTS*. +- COMPONENTS : dossier contenant les éléments qui constitueront la page finale - CATEGORIES : dossier contenant les fichiers sources des catégories. - IMAGES : dossier par défaut contenant les images pour les éléments. - CSS : dossier par défaut des feuilles de style -- IMAGES_CIBLE : nom du dossier qui contiendra les images utilisées par la +- IMAGES_DESTINATION : nom du dossier qui contiendra les images utilisées par la page finale -- CSS_SANS_MENU : nom du fichier CSS qui s'utilise lorsque la page n'a pas - de menu -- CSS_AVEC_MENU : idem que *CSS_SANS_MENU*, mais pour une page ayant un menu -- CSS_NOM : nom du fichier CSS final +- CSS_NAME : nom du fichier CSS final Pour plus de renseignements, veuillez vous référer au chapitre **Les composants**. @@ -376,12 +368,10 @@ Les composants sont les éléments qui permettent de composer la page HTML finale. À cet effet la page a été scindés en plusieurs éléments : -- entete.html : contient le début de notre page finale -- categ_deb.html : contient le début d'une catégorie +- index.html : contient l'ensemble du HTML pour la page d'accueil. - element.html : contient l'ensemble du HTML pour UN élément donné -- categ_fin.html : contient la fin d'une catégorie -- contenu_fin.html : contient la fin du corps de la page -- enqueue.html : contient le pied de la page finale +- categories.html : contient l'ensemble du HTML pour une catégorie donnée. + (sans les éléments) - introduction.html : contient du HTML pouvant être ajouté après le titre principal de la page - menu.html : un menu à ajouter à notre page @@ -389,49 +379,17 @@ principal de la page Pour personnaliser il suffit d'éditer chacun des fichiers afin d'en modifier le code source. -### La création des catégorie à l'aide de creation_categ.sh - -Le fichier **creation_categ.sh** permet de générer le corps de la page. -À cet effet il va parcourir un dossier, générer les catégories une à une -et les éléments associés, puis il va tout déposer dans un fichier HTML -prévu à cet effet. - -Le script fonctionne avec un certain nombre de paramètres parmi : - -- dossier_cat : contient la source (dossier d'entrée) dans laquelle se trouve -les fichiers décrivant les catégories et les éléments associés. -- destination.html : contient la destination. C'est à dire le fichier dans -lequel se situera le corps, temporairement évidemment. -- extension : extension des fichiers décrivant les catégories et leurs -éléments associés -- dossier_composants : ce dossier réunit l'ensemble des composants de notre -page finale. Il est utile pour récupérer le fichier **element.html**, -disponible d'ailleurs dans la variable *elem* -- entete_cat.html : contenu HTML du début d'une catégorie -- enqueue_cat.html : contenu HTML qui marque la fin d'une catégorie -- element.html : contenu HTML qui contient UN élément -- dossier_img : dossier contenant les images dites *sources* -- destination_img : nom du dossier dans lequel seront stockées les images -finales -- image.png : nom du fichier par défaut utilisé lorsque les images ne sont pas -trouvées -- dossier_porteail : nom du dossier dans lequel sera mise la page PorteAil - -Normalement, avec toutes ces données vous devriez pouvoir tester par vous -même le résultat du script et améliorer le rendu de vos pages. - ### Le dossier style Le dossier **style** est prévu pour contenir l'ensemble des feuilles de style disponible pour l'apparence de notre page PorteAil. -Déposez donc ici vos feuille de style et changez la variable *CSS_AVEC_MENU* -, *CSS_SANS_MENU* et *STYLE* du fichier **configrc** (Cf. Chapitre -**configrc**). +Déposez donc ici vos feuille de style et changez la variable *STYLE* du +fichier **configrc** (Cf. Chapitre **configrc**). ### Le dossier img -Le dossier **img** contient, dans la version 0.1, l'ensemble des images +Le dossier **img** contient, depuis la version 0.1, l'ensemble des images utilisées pour la page finale. Déposez-y les images que vous allez utiliser. diff --git a/configrc.exemple b/configrc.exemple index 786aa83..48e2c2b 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -39,6 +39,4 @@ DESTINATION = porteail # ###--[[ style ]]--## # -#CSS_WITHOUT_MENU = sans_menu.css -#CSS_WITH_MENU = avec_menu.css #CSS_NAME = defaut.css diff --git a/paconfigrc b/paconfigrc index 8cac343..5b15244 100644 --- a/paconfigrc +++ b/paconfigrc @@ -34,11 +34,9 @@ TEMPLATE_CATEG = categories.html COMPONENTS = composants CATEGORIES = categ IMAGES = img -IMAGES_DESTIONATION = image +IMAGES_DESTINATION = image CSS = style ##--[[ style ]]--## -CSS_WITHOUT_MENU = sans_menu.css -CSS_WITH_MENU = avec_menu.css CSS_NAME = defaut.css From 1dca9ee18da55d0fdf710df18527376056b24a60 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 15 May 2013 18:14:09 +0200 Subject: [PATCH 06/19] [IMP] make install command improvements in order the user to give "INSTALLDIR" variable to copy files into --- GNUmakefile | 2 +- README.md | 28 ++++++++++++---------------- configrc.exemple | 1 + install.sh | 5 +++-- paconfigrc | 1 + 5 files changed, 18 insertions(+), 19 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index e65df0d..c3bcf48 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -108,7 +108,7 @@ homepage: @$(PROG_ECHO) -e " …terminée." install: - @$(PROG_SH) install.sh || exit 1 + @SRCDIR=$(DESTINATION) DESTDIR=$(INSTALLDIR) $(PROG_SH) install.sh || exit 1 ## NETTOYAGE # nettoyage des fichiers générés diff --git a/README.md b/README.md index 86db3a6..a00620b 100644 --- a/README.md +++ b/README.md @@ -250,32 +250,26 @@ par Comme pour l'introduction, il suffit de supprimer le dièse **#** en début de ligne. -### Le fichier install.sh +### Publication -**install.sh** est un script qui permet de déplacer le résultat du programme -PorteAil dans un dossier de son choix. +Pour publier le résultat dans un dossier web, il vous suffit d'utiliser la +commande suivante : -Pour l'utiliser il suffit de lancer la commande suivante : + make install - sh install.sh +Ceci permet de déplacer le résultat du programme PorteAil dans un dossier +de votre choix. Par défaut le script essaie de copier le tout dans le dossier **public_html** du dossier personnel. Par exemple le dossier **/home/olivier/public_html** si votre dossier personnel se trouve dans **/home/olivier**. Pour modifier les valeurs d'origine et de destination de la copie, éditez le -script et modifiez les valeurs suivantes : +fichier de configuration *configrc* et modifiez les valeurs suivantes : -- SRCDIR : contient l'adresse relative du dossier où se situe les fichiers - à copier -- DESTDIR : contient l'adresse exacte où copier les fichiers (la destination). - -NB : Il est possible d'avoir le même fonctionnement en utilisant la commande - suivante : - - make install - -Et tout sera copié de DESTDIR à SRCDIR. +- DESTINATION : contient l'adresse relative du dossier où se situe les fichiers + à copier (résultant d'une compilation de PorteAil) +- INSTALLDIR : contient l'adresse exacte où copier les fichiers (la destination). ## Pour aller plus loin @@ -355,6 +349,8 @@ Configuration avancée : - CATEGORIES : dossier contenant les fichiers sources des catégories. - IMAGES : dossier par défaut contenant les images pour les éléments. - CSS : dossier par défaut des feuilles de style +- INSTALLDIR : dossier utilisé lors de la commande *make install* permettant + de copier le résultat final dans un dossier web. - IMAGES_DESTINATION : nom du dossier qui contiendra les images utilisées par la page finale - CSS_NAME : nom du fichier CSS final diff --git a/configrc.exemple b/configrc.exemple index 48e2c2b..1ee3be9 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -36,6 +36,7 @@ DESTINATION = porteail #IMAGES = img #IMAGES_DESTINATION = image #CSS = style +#INSTALLDIR = ${HOME}/public_html # ###--[[ style ]]--## # diff --git a/install.sh b/install.sh index a6cba19..94ea198 100755 --- a/install.sh +++ b/install.sh @@ -4,8 +4,8 @@ # Copy porteail directory to user's public_html -SRCDIR=./porteail -DESTDIR=${HOME}/public_html +SRCDIR=${SRCDIR:-'./porteail'} +DESTDIR=${DESTDIR:-"${HOME}/public_html"} STATICDIR=./static staticdir_content=0 @@ -37,6 +37,7 @@ fi if ! test -d ${DESTDIR} then echo "${DESTDIR} directory not found!" + exit 1 fi echo "This will delete ${DESTDIR} content and copy ${SRCDIR} into. Are you sure [y/n]?" diff --git a/paconfigrc b/paconfigrc index 5b15244..fdf6ac1 100644 --- a/paconfigrc +++ b/paconfigrc @@ -36,6 +36,7 @@ CATEGORIES = categ IMAGES = img IMAGES_DESTINATION = image CSS = style +INSTALLDIR = ${HOME}/public_html ##--[[ style ]]--## From dc30b7c000281efdc2a4c58b85bd71985a125e50 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Thu, 16 May 2013 10:41:48 +0200 Subject: [PATCH 07/19] [ADD] Check that no more than 1 category have been filled in category file --- create_homepage.lua | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/create_homepage.lua b/create_homepage.lua index f6fe72a..6c3119d 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -130,8 +130,10 @@ end function process(filepath, template_categ, template_element, img_destination, destination, img_source, default_img) -- parse given file - local categ_page = '' local elements = {} + local categ_title = '' + local categ_description = '' + local categ_count = 0 for line in io.lines(filepath) do local element = '' -- check if this line is a comment ("# my comment"), a category ("[[My category]]Its description") or an element ("Title##Description##URL##Image") @@ -141,11 +143,9 @@ function process(filepath, template_categ, template_element, img_destination, de if is_comment then -- do nothing because it's a comment elseif is_title then - title = '' - for t in string.gmatch(line, '%[%[(.*)%]%].*') do title = title .. t end - description ='' - for d in string.gmatch(line, '%[%[.*%]%](.*)') do description = description .. d end - categ_page = replace(template_categ, {CATEG_TITLE=title, CATEG_DESC=description}) + for t in string.gmatch(line, '%[%[(.*)%]%].*') do categ_title = categ_title .. t end + for d in string.gmatch(line, '%[%[.*%]%](.*)') do categ_description = categ_description .. d end + categ_count = categ_count + 1 elseif is_element then title = '' description = '' @@ -162,11 +162,15 @@ function process(filepath, template_categ, template_element, img_destination, de table.insert(elements, element) end end + if categ_count > 1 then + print (' ' .. filepath .. ' not imported: too many categories.') + return '' + end local text_elements = '' for k, v in pairs(elements) do text_elements = text_elements .. v end - local result = replace(categ_page, {ELEMENTS=text_elements}) + local result = replace(template_categ, {CATEG_TITLE=categ_title, CATEG_DESC=categ_description, ELEMENTS=text_elements}) return result end From f8fc31ee30883e2dc13fe15414a8a16d0b2bd3a1 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Thu, 16 May 2013 11:24:27 +0200 Subject: [PATCH 08/19] [FIX] Check if no category or no elements was found for each category file. If so, do not import category. --- create_homepage.lua | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/create_homepage.lua b/create_homepage.lua index 6c3119d..50da852 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -134,12 +134,17 @@ function process(filepath, template_categ, template_element, img_destination, de local categ_title = '' local categ_description = '' local categ_count = 0 + -- parse category file for line in io.lines(filepath) do local element = '' - -- check if this line is a comment ("# my comment"), a category ("[[My category]]Its description") or an element ("Title##Description##URL##Image") + -- check if this line is: + -- a comment ("# my comment"), + -- a category ("[[My category]]Its description") + -- or an element ("Title##Description##URL##Image") is_comment = string.find(line, '^#+.*') is_title = string.find(line, '%[%[(.*)%]%](.*)') is_element = string.find(line, '(.*)##(.*)##(.*)##(.*)') + -- processing lines to fetch data if is_comment then -- do nothing because it's a comment elseif is_title then @@ -156,20 +161,36 @@ function process(filepath, template_categ, template_element, img_destination, de for u in string.gmatch(line, '.*##(.*)##.*##.*') do url = url .. u end for i in string.gmatch(line, '.*##.*##.*##(.*)') do img = img .. i end img_description = " " + -- copy image and fetch result img_url = processImage(img, img_source, img_destination, destination, default_img) + -- replace some chars in URL to avoid HTML5 problems url = url:gsub('%&', '%&') + -- create element's result element = replace(template_element, {ELEMENT_URL=url, ELEMENT_DESC=description, ELEMENT_TITLE=title, IMG_URL=img_url, IMG_DESC=img_description}) + -- add it to elements table table.insert(elements, element) end end + -- check if category is ok + error_msg = ' ' .. filepath .. ' not imported: ' if categ_count > 1 then - print (' ' .. filepath .. ' not imported: too many categories.') + print (error_msg .. 'too many categories.') + return '' + elseif categ_count == 0 then + print (error_msg .. 'no category found.') return '' end + -- check elements + if table.getn(elements) < 1 then + print (error_msg .. 'no elements found.') + return '' + end + -- parse elements to add them to result local text_elements = '' for k, v in pairs(elements) do text_elements = text_elements .. v end + -- do substitutions on result local result = replace(template_categ, {CATEG_TITLE=categ_title, CATEG_DESC=categ_description, ELEMENTS=text_elements}) return result end From 7617364f3fd5f31ba535b851f364a8640b12f3c5 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Thu, 16 May 2013 11:27:40 +0200 Subject: [PATCH 09/19] [DEL] Useless files --- NEW_VARS.txt | 25 ----- OLD_VARS.txt | 64 ------------ creation_categ.sh | 252 ---------------------------------------------- 3 files changed, 341 deletions(-) delete mode 100644 NEW_VARS.txt delete mode 100644 OLD_VARS.txt delete mode 100755 creation_categ.sh diff --git a/NEW_VARS.txt b/NEW_VARS.txt deleted file mode 100644 index b7aba66..0000000 --- a/NEW_VARS.txt +++ /dev/null @@ -1,25 +0,0 @@ -# old one TITRE -TITLE = Titre par défaut -STYLE = noir.css -# old one CIBLE -DESTINATION = porteail -# old one ACCUEIL -HOMEPAGE = Accueil - $(TITRE) -GEN_CATEGORIES = creation_categ.sh -INDEX = index.html -CATEGORIES_EXT = txt -# old one DEFAUT_IMG -DEFAULT_IMG = generique.png -# old one ELEMENT -TEMPLATE_ELEMENT = element.html -# new one TEMPLATE_INDEX -TEMPLATE_INDEX = index.html -# new one TEMPLATE_CATEG -TEMPLATE_CATEG = categ.html -# old one COMPOSANTS -COMPONENTS = composants -CATEGORIES = categ -IMAGES = img -CSS = style -# old one CSS_NOM -CSS_NAME = defaut.css diff --git a/OLD_VARS.txt b/OLD_VARS.txt deleted file mode 100644 index 8ca416c..0000000 --- a/OLD_VARS.txt +++ /dev/null @@ -1,64 +0,0 @@ -########################### -## Configuration basique ## -########################### - -# Titre de votre PorteAil -TITRE = Titre par défaut -# Feuille de style choisie -STYLE = noir.css -# Code HTML du menu (par défaut dans le dossier COMPOSANTS) -#MENU = menu.html -# Code HTML de l'introduction (par défaut dans le dossier COMPOSANTS) -#INTRO = introduction.html -CIBLE = porteail - -########################### -## Configuration avancée ## -########################### - -##--[[ divers ]]--## - -ACCUEIL = Accueil - $(TITRE) -GEN_CATEGORIES = creation_categ.sh -INDEX = index.html -# Extension des fichiers à prendre en compte dans le dossier contenant les -#+ catégories -CATEGORIES_EXT = txt -# Image de base si aucune mentionnée (par défaut dans le dossier IMAGES) -DEFAUT_IMG = generique.png -# Contenu HTML d'un élément -ELEMENT = element.html -# résultat de la génération des catégories -CONTENU = categories.html -# Contenu HTML à utiliser en début de catégorie -ENTETE_CAT = categ_deb.html -# Contenu HTML à utiliser en fin de catégorie -ENQUEUE_CAT = categ_fin.html -# Contenu HTML à utiliser après le contenu principal de la page -POST_CONTENU = contenu_fin.html -# Contenu HTML à utiliser en début de page finale -ENTETE = entete.html -# Contenu HTML à utiliser en fin de page finale -ENQUEUE = enqueue.html - -##--[[ dossiers ]]--## - -## SOURCES -# Dossier contenant les éléments composants votre page -COMPOSANTS = composants -# dossier contenant le détail des catégories -CATEGORIES = categ -# dossier contenant les images -IMAGES = img -# dossier contenant les feuilles de style -CSS = style - -## DESTINATION (cible) -# dossier de destination des images -IMAGES_CIBLE = image - -##--[[ style ]]--## - -CSS_SANS_MENU = sans_menu.css -CSS_AVEC_MENU = avec_menu.css -CSS_NOM = defaut.css diff --git a/creation_categ.sh b/creation_categ.sh deleted file mode 100755 index 44f9175..0000000 --- a/creation_categ.sh +++ /dev/null @@ -1,252 +0,0 @@ -#!/usr/bin/env sh -# -# creation_categ.sh -# -# Permet de naviguer dans les éléments de chaque catégorie d'un dossier suivant -#+ la syntaxe : -#+ -#+ # Commentaire dans le fichier -#+ [[Titre de la catégorie]]Description de la catégorie -#+ titre de l'élément##http://domaine.tld/##description de l'élément##nom_image - -########### -# LICENCE # -########### - -# Copyright (C) 2011 DOSSMANN Olivier ## - -# This file is part of PorteAil. -# -# PorteAil is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# PorteAil is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with PorteAil. If not, see . - -###################################################################### - -## VARIABLES -DEBUG=0 -IFS=" -" -PROGRAMME=`basename $0` - -## FONCTIONS -debug( ) -{ - if [ "$DEBUG" -eq 1 ] - then - printf "$1\n" 1>&2 - fi -} - -utilisation( ) -{ - echo "Utilisation : $PROGRAMME dossier_cat destination.html extension composants entete_cat.html enqueue_cat.html element.html dossier_img destination_img image.png dossier_porteail" - echo "" - echo "Cf. Fichier README.md pour plus d'informations." -} - -## TESTS -# Test sur les paramètres -if [ $# -ne 11 ] -then - utilisation - exit 1 -else - # $PROGRAMME dossier_cat destination.html extension composants entete_cat.html enqueue_cat.html element.html - dossier=$1 - destination=$2 #"categories.html" - extension=$3 # Extension des fichiers à prendre en compte - dossier_composants=$4 - categ_deb="$5" - categ_fin="$6" - elem="$7" - dossier_image=$8 - dest_image=$9 - image_defaut=${10} - destination_finale=${11} -fi -# Existence dossier -if ! test -d "$dossier" -then - echo "Dossier '$dossier' manquant." - exit 1 -fi -# Existence dossier image -if ! test -d "$dossier_image" -then - echo "Dossier '$dossier_image' manquant." - exit 1 -fi -# Existence de l'image par défaut -if ! test -f "$image_defaut" -then - echo "Fichier '$image_defaut' manquant." - exit 1 -fi -# On supprime le fichier ${destination} s'il existe. -if test -f "$destination" -then - echo "Le fichier '${destination}' existe : Suppression de ce dernier." - rm -f "$destination" -fi - -# Parcours du dossier -for fichier in `find $dossier/ -iname "*.${extension}" -print -type f|sort` -do - # On met/remet la valeur de CATEG à 0 significative de l'absence - #+ d'une Catégorie - CATEG=0 - # On met/remet le tableau des elements à 0 - elements_titre="" - elements_url="" - elements_desc="" - elements_image_addr="" - curseur_element=0 - # Calcul du nombre de ligne du fichier - nbre_lignes=`cat "${fichier}" |wc -l` - # debug - debug "$fichier: $nbre_lignes" - # Vérification du nombre de lignes retourné - if [ "$nbre_lignes" -gt 0 ] - then - # Récupération du nom de la catégorie - nbre_categories=`grep -E "^\[\[.*\]\].*$" ${fichier} |wc -l` - # Si le nombre de catégorie est égal à 1, on a tout bon - if [ "$nbre_categories" -eq 0 ] - then - echo "Fichier '${fichier}' mal renseigné : Pas de nom de catégorie" - continue - elif [ "$nbre_categories" -gt 1 ] - then - echo "Fichier '${fichier}' mal renseigné : Trop de catégorie présentes." - continue - else - echo "Fichier '${fichier}' correct : Catégorie présente." - fi - # le fichier contient plusieurs lignes, on lit le contenu - for ligne in $(cat "${fichier}") - do - debug "Contenu ligne : $ligne" - # Vérifie les différents cas possibles : - #+ SI la chaîne débute par '#' - #+ exemple : # quelque chose - diese_comp=`echo "$ligne" |sed -e 's@^\(#\).*$@\1@g'` - debug "Comparaison dièse : $diese_comp" - if [ "$diese_comp" = '#' ] - then - debug "La ligne est un commentaire : Aucune action." - continue - fi - #+ SI la chaîne commence par '[[' et fini par ']]' - #+ exemple : [[Titre]]Description de ma catégorie - categ_comp=`echo "$ligne" |sed -e 's#^\(\[\[\).*\(\]\]\).*$#\1\2#g'` - debug "Comparaison '[[]]' : $categ_comp" - if [ "$categ_comp" = "[[]]" ] - then - debug "La ligne est une catégorie : Enregistrement." - categ_titre=`echo "$ligne" |sed -e 's#^\[\[\(.*\)\]\].*$#\1#g'` - categ_desc=`echo "$ligne" |sed -e 's#^\[\[.*\]\]\(.*\)$#\1#g'` - debug "$categ_titre : $categ_desc" - CATEG=1 - fi - #+ SI la chaîne contient 3 fois '##' - #+ exemple : Vous êtes perdus ?##http://perdu.com##Se rendre sur le site perdu.com##apps/image.png - element_comp=`echo $ligne |sed -e 's@^.*\(##\).*\(##\).*\(##\).*$@\1\2\3@g'` - debug "Comparaison element : $element_comp" - if [ "$element_comp" = "######" ] - then - debug "La ligne est un élément : Enregistrement." - # Recherche des informations pour l'élément - element_titre=`echo $ligne |sed -e 's@^\(.*\)##.*##.*##.*$@\1@g'` - element_url=`echo $ligne |sed -e 's@^.*##\(.*\)##.*##.*$@\1@g'` - element_desc=`echo $ligne |sed -e 's@^.*##.*##\(.*\)##.*$@\1@g'` - element_img_addr=`echo $ligne |sed -e 's@^.*##.*##.*##\(.*\)$@\1@g'` - element_img_titre="${element_desc}" - element_img_desc=" " - debug "Élément : titre=$element_titre, url=$element_url, desc=$element_desc, adresse_image=$element_img_addr, titre_image=$element_img_titre, desc_image=$element_img_desc" - # Ajout des éléments dans les tableaux appropriés - eval "elements_titre_${curseur_element}=\"${element_titre:-""}\"" - eval "elements_url_${curseur_element}=\"${element_url:-""}\"" - eval "elements_desc_${curseur_element}=\"${element_desc:-""}\"" - eval "elements_image_addr_${curseur_element}=\"${element_img_addr:-""}\"" - eval "elements_image_titre_${curseur_element}=\"${element_img_titre:-""}\"" - eval "elements_image_desc_${curseur_element}=\"${element_img_desc:-""}\"" - # Incrémentation du curseur du tableau contenant les éléments - curseur_element=$(( $curseur_element + 1 )) - fi - done - else - # le fichier ne contient pas de ligne. message d'erreur - echo "Fichier '$fichier' non pris en charge : Le fichier semble vide." - fi - # On débute la création du fichier contenant la catégorie si CATEG=1 - if [ "$CATEG" -eq 1 ] - then - echo "Création d'un bloc Catégorie…" - # Tests sur la valeur de la catégorie et de l'état du curseur - debug "Catégorie : $categ_titre : $categ_desc" - debug "État curseur : $curseur_element" - # Tests sur la valeur - debug "Fichier de début de catégorie : $categ_deb" - debug "Destination : $destination" - # Création du fichier pour les catégories (DÉBUT) - cat $categ_deb |sed -e "s|@@TITRE_CATEG@@|${categ_titre}|g" -e "s|@@DESC_CATEG@@|${categ_desc}|g" >> ${destination} - sed -i "s#^\(.*\)@@.*@@\(.*\)#\1\2#g" ${destination} - # Préparation du numéro d'index - i=0 - # Parcours des tableaux afin de récupérer toutes les informations - #+ d'un élément - debimg=`echo $categ_titre|md5sum |cut -d " " -f 1` - while [ "$i" -lt "$curseur_element" ] - do - # Assignation des valeurs à des variables afin de l'afficher - e_titre_tmp=$(eval echo \$elements_titre_${i}) - e_titre=${e_titre_tmp:-""} # titre element - e_desc_tmp=$(eval echo \$elements_desc_${i}) - e_desc=${e_desc_tmp:-""} # description element - e_url_tmp=$(eval echo \$elements_url_${i}) - # modification de l'URL suite au bug sur les & dans SED - e_url_tmp=$(echo $e_url_tmp |sed -e 's|\&|\\&|g' |sed -e 's|\=|\\=|g') - e_url=${e_url_tmp:-""} # url element - e_img_addr_tmp=$(eval echo \$elements_image_addr_${i}) - # Test de l'existence de l'image - if ! test -f "${dossier_image}/${e_img_addr_tmp}" - then - # si elle n'existe pas, on prend l'image générique - nom_img=`basename ${image_defaut}` - source_img="$image_defaut" - else - nom_img=`basename ${e_img_addr_tmp}` - source_img="${dossier_image}/${e_img_addr_tmp}" - fi - # On ne copie que si la destination n'existe pas déjà - if ! test -f "${destination_finale}/${dest_image}/${nom_img}" - then - cp "${source_img}" "${destination_finale}/${dest_image}/${nom_img}" - fi - e_img_addr="${dest_image}/${nom_img}" # adresse image - e_img_titre_tmp=$(eval echo \$elements_image_titre_${i}) - e_img_titre=${e_img_titre_tmp:-""} # titre image - e_img_desc_tmp=$(eval echo \$elements_image_desc_${i}) - e_img_desc=${e_img_desc_tmp:-""} # description image - # Affichage du résultat - debug "$i : ${e_titre} || ${e_desc} || ${e_url} || ${e_img_addr} || ${e_img_titre} || ${e_img_desc}" - # Ajout des informations dans le fichier de destination - printf "\t…ajout de l'élément '${e_titre}'\n" - cat $elem |sed -e "s|@@TITRE_ELEMENT@@|$e_titre|g" -e "s|@@DESC_ELEMENT@@|${e_desc}|g" -e "s|@@URL_ELEMENT@@|${e_url}|g" -e "s|@@URL_IMAGE@@|${e_img_addr}|g" -e "s|@@TITRE_IMAGE@@|${e_img_titre}|g" -e "s|@@DESC_IMAGE@@|${e_img_desc}|g" -e "s|^\(.*\)@@.*@@\(.*\)$|\1\2|g" >> ${destination} - # Incrémentation de l'index - i=`expr $i + 1` #let i++ - done - # Ajout de la fin du fichier pour les catégories (FIN) - cat $categ_fin >> ${destination} - fi -done From 74dc730182ab144c43e96487addbed0856771b1c Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Thu, 16 May 2013 11:39:01 +0200 Subject: [PATCH 10/19] [UP] To english version for come variables and CSS files --- configrc.exemple | 2 +- create_homepage.lua | 6 +++--- paconfigrc | 2 +- style/{noir.css => black.css} | 10 +++++----- style/{bleu.css => blue.css} | 10 +++++----- style/{avec_menu.css => with_menu.css} | 16 ++++++++-------- style/{sans_menu.css => without_menu.css} | 16 ++++++++-------- 7 files changed, 31 insertions(+), 31 deletions(-) rename style/{noir.css => black.css} (87%) rename style/{bleu.css => blue.css} (87%) rename style/{avec_menu.css => with_menu.css} (94%) rename style/{sans_menu.css => without_menu.css} (94%) diff --git a/configrc.exemple b/configrc.exemple index 1ee3be9..888d7c4 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -5,7 +5,7 @@ # Homepage title TITLE = Default title # CSS color file -STYLE = noir.css +STYLE = black.css # Menu (if needed) #MENU = menu.html # Introduction (if needed) diff --git a/create_homepage.lua b/create_homepage.lua index 50da852..c287e6d 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -24,9 +24,9 @@ local default_index_filename = 'index.html' local default_template_index_filename = 'index.html' local default_template_categ_filename = 'categories.html' local default_template_element_filename = 'element.html' -local default_css_filename = 'noir.css' -local default_css_menu_without = 'sans_menu.css' -local default_css_menu_with = 'avec_menu.css' +local default_css_filename = 'black.css' +local default_css_menu_without = 'without_menu.css' +local default_css_menu_with = 'with_menu.css' -- Other defaults values local default_categ_extension = 'txt' local DIR_SEP = '/' diff --git a/paconfigrc b/paconfigrc index fdf6ac1..a506b41 100644 --- a/paconfigrc +++ b/paconfigrc @@ -5,7 +5,7 @@ # Homepage title TITLE = Default title # CSS color file -STYLE = noir.css +STYLE = black.css # Menu (if needed) #MENU = menu.html # Introduction (if needed) diff --git a/style/noir.css b/style/black.css similarity index 87% rename from style/noir.css rename to style/black.css index bd9d7a1..1bfb268 100644 --- a/style/noir.css +++ b/style/black.css @@ -1,5 +1,5 @@ /* -Theme: PorteAil - apparence noire +Theme: PorteAil - Black appearance Version: 0.1 Author: Olivier DOSSMANN Author URI: http://olivier.dossmann.net @@ -33,14 +33,14 @@ h3 { color: #000000; } -/* ENTÊTE DE PAGE */ +/* HEADER */ header { background-color: #000000; color: #ffffff; } -/* CONTENU */ -/* survol d'un élément */ +/* CONTENT */ +/* element overview */ #corps a.cadre:hover { background-color: #000000; color: #ffffff; @@ -70,7 +70,7 @@ background-color: #aaaabb; color: #223355; } -/* ENQUEUE DE PAGE */ +/* FOOTER */ footer { color: #000000; } diff --git a/style/bleu.css b/style/blue.css similarity index 87% rename from style/bleu.css rename to style/blue.css index e7e20b6..d9a35aa 100644 --- a/style/bleu.css +++ b/style/blue.css @@ -1,5 +1,5 @@ /* -Theme: PorteAil - apparence bleue +Theme: PorteAil - Blue appearance Version: 0.1 Author: Olivier DOSSMANN Author URI: http://olivier.dossmann.net @@ -33,13 +33,13 @@ h3 { color: #555577; } -/* ENTÊTE DE PAGE */ +/* HEADER */ header { background-color: #223355; color: #ffffff; } -/* CONTENU */ -/* survol d'un élément */ +/* CONTENT */ +/* element overview */ #corps a.cadre:hover { background-color: #223355; color: #ffffff; @@ -69,7 +69,7 @@ background-color: #aaaabb; color: #223355; } -/* ENQUEUE DE PAGE */ +/* FOOTER */ footer { color: #000000; } diff --git a/style/avec_menu.css b/style/with_menu.css similarity index 94% rename from style/avec_menu.css rename to style/with_menu.css index d71b51a..2c8cf6f 100644 --- a/style/avec_menu.css +++ b/style/with_menu.css @@ -1,5 +1,5 @@ /* -Theme: PorteAil - avec menu +Theme: PorteAil - with menu Version: 0.1 Author: Olivier DOSSMANN Author URI: http://olivier.dossmann.net @@ -51,7 +51,7 @@ border-radius: 12px; -webkit-border-radius: 12px; } -/* ENTÊTE DE PAGE */ +/* HEADER */ header { position: relative; margin: 0; @@ -78,14 +78,14 @@ height: 50px; line-height: 50px; } -/* CONTENU */ +/* CONTENT */ #corps { position: relative; width: 78%; left: 2%; } -/* CATÉGORIES */ +/* CATEGORIES */ #corps ul.ensemble_element { min-height: 10em; list-style-type: none; @@ -97,7 +97,7 @@ text-align: center; display: inline-block; } -/* ÉLÉMENT */ +/* ELEMENT */ #corps a.cadre { height: 9em; width: 11em; @@ -131,7 +131,7 @@ margin-left: auto; border: 0; } -/* espace en fin de catégorie */ +/* WHITESPACE after category's end */ #corps .espace { clear: both; } @@ -172,7 +172,7 @@ nav#cartable a:visited { nav#cartable a:hover { } -/* ENQUEUE DE PAGE */ +/* FOOTER */ footer { position: relative; top: 5px; @@ -188,4 +188,4 @@ font-size: 10px; text-align: center; } -/* DIVERS */ +/* MISCELLANEOUS */ diff --git a/style/sans_menu.css b/style/without_menu.css similarity index 94% rename from style/sans_menu.css rename to style/without_menu.css index fb9e650..4428b9c 100644 --- a/style/sans_menu.css +++ b/style/without_menu.css @@ -1,5 +1,5 @@ /* -Theme: PorteAil - sans menu +Theme: PorteAil - without menu Version: 0.1 Author: Olivier DOSSMANN Author URI: http://olivier.dossmann.net @@ -51,7 +51,7 @@ border-radius: 12px; -webkit-border-radius: 12px; } -/* ENTÊTE DE PAGE */ +/* HEADER */ header { position: relative; margin: 0 auto; @@ -78,14 +78,14 @@ height: 50px; line-height: 50px; } -/* CONTENU */ +/* CONTENT */ #corps { position: relative; width: 98%; left: 2%; } -/* CATÉGORIES*/ +/* CATEGORIES*/ #corps ul.ensemble_element { min-height: 10em; list-style-type: none; @@ -97,7 +97,7 @@ text-align: center; display: inline-block; } -/* ÉLÉMENT */ +/* ELEMENT */ #corps a.cadre { height: 9em; width: 11em; @@ -131,7 +131,7 @@ margin-left: auto; border: 0; } -/* espace en fin de catégorie */ +/* WHITESPACE at category's end */ #corps .espace { clear: both; } @@ -172,7 +172,7 @@ nav#cartable a:visited { nav#cartable a:hover { } -/* ENQUEUE DE PAGE */ +/* FOOTER */ footer { position: relative; top: 5px; @@ -188,4 +188,4 @@ font-size: 10px; text-align: center; } -/* DIVERS */ +/* MISCELLANEOUS */ From 0f0faab43511b5b394d92e66205a4c17c84369c9 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Thu, 16 May 2013 11:46:17 +0200 Subject: [PATCH 11/19] [UP] New tasks updated --- TACHES | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/TACHES b/TACHES index 1ad6223..62615cf 100644 --- a/TACHES +++ b/TACHES @@ -2,19 +2,14 @@ ---------- - Valider la page à l'aide de TIDY (doit être facultatif) -- Trouver une méthode plus fine pour trouver le nombre de catégories par fichier (autre qu'un grep par exemple) -- Vérifier la présence des /, [ et ] dans les variables avant qu'elles soient mises dans un SED. Ceci à l'aide de ${var//a/b} pour modifier les chaînes A par B dans VAR. -- Que donne une ligne vide dans le fichier de catégorie ? => à tester comme cas possible - Choisir le nombre de colonne d'élément : #corps ul.ensemble_element li { width: 11em; margin: auto; } Mettre à width = auto. Si on veut 1 colonne, alors on met 11x1 + 1x1, si on veut deux colonne, alors on met 11x2 + 1x2, 3 colonnes font 11x3 + 1x3 -- Permettre d'ajouter des fichiers statiques (pour permettre par exemple de donner un lien vers une version d'un logiciel sur la page d'accueil) >>> Pour la v0.1.3 : -- aside en NAV !!! - activer menu avec une variable du genre "MENU_ACTIVE = 1" (par exemple) - favicon.ico ? - création du fichier configrc s'il n'existe pas (dans test) @@ -26,11 +21,8 @@ Mettre à width = auto. Si on veut 1 colonne, alors on met 11x1 + 1x1, si on veu - changer les sed -i en "sed -e 's/chaine/autrechaine/g' > file.new && mv file.new file" (avec ou sans -e, c'est selon) - changer les VAR= en VAR:= - changer l'utilisation du shell par TXTs = $(shell ls $(dossier)/*$(ext)), par exemple. -- Intégrer le script .sh dans le Makefile -- faire une section install dans le makefile permettant d'installer dans DESTDIR >>> Pour la v0.3 : -- Transformer variables en anglais - Documentation en anglais - faire une page "print.css" - mettre en noir et blanc @@ -141,3 +133,8 @@ des éléments - ajouter les fichiers générés pour chaque section du makefile (ceci de manière intelligente… si possible !) - Bug: si une URL possède plusieurs & - HTML 5 avec header et footer +- Trouver une méthode plus fine pour trouver le nombre de catégories par fichier (autre qu'un grep par exemple)- Permettre d'ajouter des fichiers statiques (pour permettre par exemple de donner un lien vers une version d'un logiciel sur la page d'accueil) +- aside en NAV !!! +- faire une section install dans le makefile permettant d'installer dans DESTDIR +- Transformer variables en anglais +- Que donne une ligne vide dans le fichier de catégorie ? => à tester comme cas possible From 7cc41ad22b872f28b085b14724019d702b27bfcc Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Fri, 17 May 2013 09:30:16 +0200 Subject: [PATCH 12/19] [FIX] Translate categories in English --- categ/categorie_exemple.txt | 10 +++++----- categ/education.txt | 10 +++++----- categ/vrac.txt | 16 ++++++++-------- 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/categ/categorie_exemple.txt b/categ/categorie_exemple.txt index e71f3f8..65b3736 100644 --- a/categ/categorie_exemple.txt +++ b/categ/categorie_exemple.txt @@ -1,5 +1,5 @@ -# Ceci est un commentaire -[[Catégorie d'exemple]]Description de ma catégorie d'exemple -Vous êtes perdus ?##http://perdu.com##Se rendre sur le site perdu.com##apps/preferences-system-session-services.png -Exalead##http://exalead.fr##Visiter Exalead##apps/preferences-web-browser-shortcuts.png -Recherche Google##http://www.google.com/search?q=porteail&ie=utf-8&oe=utf-8&client=ubuntu&channel=fs##Recherche de PorteAil sur Google## +# This is a comment +[[Example category]]The description of my category +Are you lost?##http://perdu.com##Go to perdu.com website##apps/preferences-system-session-services.png +Exalead##http://exalead.fr##Visit Exalead##apps/preferences-web-browser-shortcuts.png +Google PorteAil Search##http://www.google.com/search?q=porteail&ie=utf-8&oe=utf-8&client=ubuntu&channel=fs##Search PorteAil on Google## diff --git a/categ/education.txt b/categ/education.txt index ab503e7..713d2f0 100644 --- a/categ/education.txt +++ b/categ/education.txt @@ -1,5 +1,5 @@ -# [[Nom de la catégorie]]Description -[[Éducation]]Thème sur l'éducation -# Titre du lien##Adresse web en HTTP##Description du lien##Nom du fichier image -Seeks##http://www.seeks-project.info/search.php/websearch-hp##Méta-moteur de recherche décentralisé##apps/nepomuk.png -OOo4kids##http://wiki.ooo4kids.org/index.php/Main_Page/fr##Logiciel de bureautique libre pour les enfants de 7 à 12 ans##apps/okteta.png +# [[Category name]]Description +[[Education]]Education topic +# Link title ## HTTP website address ## Link description ## Image filename +Seeks##http://www.seeks-project.info/search.php/websearch-hp##Decentralized search meta-engine##apps/nepomuk.png +OOo4kids##http://wiki.ooo4kids.org/index.php/Main_Page/fr##Free desktop software for 7-12 year old kids##apps/okteta.png diff --git a/categ/vrac.txt b/categ/vrac.txt index a40e862..ae47ded 100644 --- a/categ/vrac.txt +++ b/categ/vrac.txt @@ -1,8 +1,8 @@ -# [[Nom de la catégorie]]Description -[[Divers]]Quelques éléments en vrac -# Titre du lien##Adresse web en HTTP##Description du lien##Nom du fichier image -Inkscape##http://inkscape.org/##Outil de création graphique vectorielle##apps/inkscape.png -Wine##http://www.winehq.org/##Utilisez des outils Windows sous Linux, BSD, Mac ou Solaris##apps/wine.png -Dogmazic##http://www.dogmazic.net/##Musique libre##devices/multimedia-player.png -Vim##http://www.vim.org/##Éditeur en mode console##apps/utilities-terminal.png -ChiliProject##https://www.chiliproject.org/##Outil de gestion de projet##status/script-error.png +# [[Category name]]Description +[[Miscellaneous]]Some elements +# Link title ## HTTP website address ## Link description ## Image filename +Inkscape##http://inkscape.org/##Vectorial creation software##apps/inkscape.png +Wine##http://www.winehq.org/##Use Windows tools on Linux, BSD, Mac or Solaris##apps/wine.png +Dogmazic##http://www.dogmazic.net/##Free music##devices/multimedia-player.png +Vim##http://www.vim.org/##Shell mode editor##apps/utilities-terminal.png +ChiliProject##https://www.chiliproject.org/##Project management tool##status/script-error.png From ed81eec92ebb3886b333e0ad3652d04162a32e5c Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Fri, 17 May 2013 11:11:52 +0200 Subject: [PATCH 13/19] [FIX] Translate main components to english in order to have an english website --- composants/categories.html | 2 +- composants/index.html | 8 ++++---- composants/introduction.html | 10 +++++----- composants/menu.html | 8 ++++---- configrc.exemple | 2 +- create_homepage.lua | 8 ++++---- paconfigrc | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/composants/categories.html b/composants/categories.html index 4df8ab0..8f930ca 100644 --- a/composants/categories.html +++ b/composants/categories.html @@ -1,4 +1,4 @@ - +

    ${CATEG_TITLE}

    ${CATEG_DESC}

    diff --git a/composants/index.html b/composants/index.html index 8881867..414a0bb 100644 --- a/composants/index.html +++ b/composants/index.html @@ -9,12 +9,12 @@ - +

    ${PORTEAIL_TITLE}

    - +
    ${INTRODUCTION} ${CONTENT} @@ -22,10 +22,10 @@ ${MENU} - + diff --git a/composants/introduction.html b/composants/introduction.html index ffcca9e..8885dba 100644 --- a/composants/introduction.html +++ b/composants/introduction.html @@ -1,11 +1,11 @@ - +

    - Ce message permet d'introduire le sujet de notre page et expliquer rapidement l'existence du site, la présence des éléments, les catégories, etc.
    - Il est modifiable dans le fichier introduction.html situé dans le dossier composants du répertoire principal de PorteAil. + This message permit to introduce our webpage subject and quickly explain why this website exists, why all these categories, elements, etc.
    + This one is editable in introduction.html file located in composants directory from main PorteAil directory.

    - Pour de plus amples renseignements sur PorteAil, veuillez vous référer au fichier README.md contenu dans le répertoire principal du projet PorteAil. + For more information about PorteAil, please refer to README.md file situated in PorteAil main directory.

    - Les catégories sont renseignées dans le dossier categ dans lequel des fichiers d'exemples, normalement assez parlants, devraient vous permettre de construire votre première page PorteAil. + Categories are filled in categ directory in which some example file should be talkative for you. This will allow you to generate your first PorteAil homepage.

    diff --git a/composants/menu.html b/composants/menu.html index 38e5ac1..5f8a6ea 100644 --- a/composants/menu.html +++ b/composants/menu.html @@ -1,11 +1,11 @@ - + diff --git a/configrc.exemple b/configrc.exemple index 888d7c4..1be6b0c 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -3,7 +3,7 @@ ########################### # Homepage title -TITLE = Default title +TITLE = My portal # CSS color file STYLE = black.css # Menu (if needed) diff --git a/create_homepage.lua b/create_homepage.lua index c287e6d..77b0406 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -30,9 +30,9 @@ local default_css_menu_with = 'with_menu.css' -- Other defaults values local default_categ_extension = 'txt' local DIR_SEP = '/' -local default_css_name = 'Défaut' -local default_title = 'Titre par défaut' -local default_homepage_title = 'Accueil - ' .. default_title +local default_css_name = 'Default' +local default_title = 'My portal' +local default_homepage_title = ' - Homepage' --[[ Functions ]]-- @@ -265,7 +265,7 @@ end result = assert(io.open(destination .. '/' .. main_template, 'wb')) -- create substitution table substitutions = { - TITLE=config['HOMEPAGE'] or default_homepage_title, + TITLE=config['HOMEPAGE'] or (config['TITLE'] and config['TITLE'] .. default_homepage_title) or (default_title .. default_homepage_title), PORTEAIL_TITLE=config['TITLE'] or default_title, CONTENT=content, INTRODUCTION=introduction_content, diff --git a/paconfigrc b/paconfigrc index a506b41..8bbef82 100644 --- a/paconfigrc +++ b/paconfigrc @@ -3,7 +3,7 @@ ########################### # Homepage title -TITLE = Default title +TITLE = My portal # CSS color file STYLE = black.css # Menu (if needed) From 6fb66e572f3ff050085465636a1af514ba8b3ca0 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 5 Jun 2013 16:02:21 +0200 Subject: [PATCH 14/19] [UP] Update repository URL address in documentation --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index a00620b..c03c1a2 100644 --- a/README.md +++ b/README.md @@ -393,10 +393,10 @@ Déposez-y les images que vous allez utiliser. ## SOURCES Les sources du programme peuvent être récupérées sur - [un dépôt Git de l'auteur](http://git.dossmann.net/) ou via la commande suivante (à l'aide de l'outil - git) : + [le dépôt Gitorious](http://gitorious.org/porteail/) ou via la commande + suivante (à l'aide de l'outil git) : - git clone http://git.dossmann.net/scripts/porteail.git + git clone https://git.gitorious.org/porteail/master.git ## Contact / Bugs From c0205623b70b896f3f72eedad07020afb0d7648d Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 5 Jun 2013 16:09:13 +0200 Subject: [PATCH 15/19] [IMP] Update requirements for PorteAil --- README.md | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index c03c1a2..cfaba54 100644 --- a/README.md +++ b/README.md @@ -48,18 +48,21 @@ commande suivante : apt-get install make +Mais également **Lua 5.1**, installable à l'aide de la commande suivante : + + apt-get install lua5.1 luarocks + +Puis de **LuaFileSystem** : + + luarocks install luafilesystem + Votre système devrais aussi détenir les commandes suivantes : -- GNU make -- cp - rm -- GNU sed - sh - echo - test -- cat -- wc -- grep +- mkdir Normalement ces éléments sont inclus de base ou disponibles dans n’importe quel système d’exploitation POSIX. From 84a95fb658ca6cf5a2a7ded9e4054e4b1f245179 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 5 Jun 2013 16:37:20 +0200 Subject: [PATCH 16/19] [ADD] Translation possibility for PorteAil homepage --- composants/index.html | 2 +- configrc.exemple | 1 + create_homepage.lua | 17 ++++++++++++++--- lang/en | 2 ++ lang/fr | 2 ++ paconfigrc | 1 + 6 files changed, 21 insertions(+), 4 deletions(-) create mode 100644 lang/en create mode 100644 lang/fr diff --git a/composants/index.html b/composants/index.html index 414a0bb..1fa0b72 100644 --- a/composants/index.html +++ b/composants/index.html @@ -25,7 +25,7 @@ ${MENU} diff --git a/configrc.exemple b/configrc.exemple index 1be6b0c..a0dae4c 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -19,6 +19,7 @@ DESTINATION = porteail ##--[[ miscellaneous ]]--## +#LANG = en #HOMEPAGE = Homepage - $(TITLE) ## File extension to be used to read categories #CATEGORIES_EXT = txt diff --git a/create_homepage.lua b/create_homepage.lua index 77b0406..1591f32 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -18,6 +18,7 @@ local default_dir_destination = 'porteail' local default_dir_img_destination = 'image' local default_dir_img_source = 'img' local default_dir_css_source = 'style' +local default_dir_lang = 'lang' -- Default files values local default_img_filename = 'generique.png' local default_index_filename = 'index.html' @@ -33,6 +34,7 @@ local DIR_SEP = '/' local default_css_name = 'Default' local default_title = 'My portal' local default_homepage_title = ' - Homepage' +local default_language = 'en' --[[ Functions ]]-- @@ -262,7 +264,7 @@ else end -- Create index file in destination directory -result = assert(io.open(destination .. '/' .. main_template, 'wb')) +index_result = assert(io.open(destination .. '/' .. main_template, 'wb')) -- create substitution table substitutions = { TITLE=config['HOMEPAGE'] or (config['TITLE'] and config['TITLE'] .. default_homepage_title) or (default_title .. default_homepage_title), @@ -274,11 +276,20 @@ substitutions = { CSS_NAME=css_name, DEFAULT_CSS=css_menu, } + +-- Get language configuration +language = config['LANG'] or default_language +languagerc = getConfig(default_dir_lang .. '/' .. language) +-- Add language translation to replacements table +for k, v in pairs(languagerc) do + substitutions[k] = v +end + -- replace variables in result homepage = replace(index, substitutions) -assert(result:write(homepage)) +assert(index_result:write(homepage)) -- close file -assert(result:close()) +assert(index_result:close()) -- Copy miscellaneous files to destination to_be_copied = { diff --git a/lang/en b/lang/en new file mode 100644 index 0000000..741dc49 --- /dev/null +++ b/lang/en @@ -0,0 +1,2 @@ +POWERED_BY = Proudly powered by +POWERED_BY_DESC = Go to PorteAil project official webpage diff --git a/lang/fr b/lang/fr new file mode 100644 index 0000000..3f3aed3 --- /dev/null +++ b/lang/fr @@ -0,0 +1,2 @@ +POWERED_BY = Fièrement propulsé par +POWERED_BY_DESC = Aller sur la page officielle du projet PorteAil diff --git a/paconfigrc b/paconfigrc index 8bbef82..a6c89d1 100644 --- a/paconfigrc +++ b/paconfigrc @@ -19,6 +19,7 @@ DESTINATION = porteail ##--[[ miscellaneous ]]--## +LANG = en HOMEPAGE = Homepage - $(TITLE) # File extension to be used to read categories CATEGORIES_EXT = txt From fa17a3feb6ce07d3d0654c2a6a3b38e5969bdea1 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 5 Jun 2013 16:46:27 +0200 Subject: [PATCH 17/19] [ADD] Display PorteAil version on page result --- GNUmakefile | 4 +++- composants/index.html | 2 +- create_homepage.lua | 2 ++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/GNUmakefile b/GNUmakefile index c3bcf48..51d2b64 100644 --- a/GNUmakefile +++ b/GNUmakefile @@ -26,6 +26,8 @@ ## VARIABLES ## +VERSION=0.1.2-trunk + ## CONFIG PAR DEFAUT include paconfigrc @@ -104,7 +106,7 @@ test: # création de la page d'accueil homepage: @$(PROG_ECHO) -e "Création de la page d'accueil…" - @$(PROG_LUA) create_homepage.lua || exit 1 + @VERSION=$(VERSION) $(PROG_LUA) create_homepage.lua || exit 1 @$(PROG_ECHO) -e " …terminée." install: diff --git a/composants/index.html b/composants/index.html index 1fa0b72..f9eae8a 100644 --- a/composants/index.html +++ b/composants/index.html @@ -25,7 +25,7 @@ ${MENU} diff --git a/create_homepage.lua b/create_homepage.lua index 1591f32..a71a3c4 100755 --- a/create_homepage.lua +++ b/create_homepage.lua @@ -29,6 +29,7 @@ local default_css_filename = 'black.css' local default_css_menu_without = 'without_menu.css' local default_css_menu_with = 'with_menu.css' -- Other defaults values +local version = os.getenv('VERSION') or '(Unknown version)' local default_categ_extension = 'txt' local DIR_SEP = '/' local default_css_name = 'Default' @@ -275,6 +276,7 @@ substitutions = { CSS_COLOR=css_filename, CSS_NAME=css_name, DEFAULT_CSS=css_menu, + VERSION=version, } -- Get language configuration From a39aa7b1c4428dee92272aeb7c2c376763f2b6bb Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 5 Jun 2013 17:04:49 +0200 Subject: [PATCH 18/19] [FIX] Problem with homepage title --- configrc.exemple | 2 +- paconfigrc | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/configrc.exemple b/configrc.exemple index a0dae4c..fe38ae2 100644 --- a/configrc.exemple +++ b/configrc.exemple @@ -20,7 +20,7 @@ DESTINATION = porteail ##--[[ miscellaneous ]]--## #LANG = en -#HOMEPAGE = Homepage - $(TITLE) +#HOMEPAGE = Homepage - My portal ## File extension to be used to read categories #CATEGORIES_EXT = txt ## Default image diff --git a/paconfigrc b/paconfigrc index a6c89d1..db2dc1b 100644 --- a/paconfigrc +++ b/paconfigrc @@ -20,7 +20,7 @@ DESTINATION = porteail ##--[[ miscellaneous ]]--## LANG = en -HOMEPAGE = Homepage - $(TITLE) +HOMEPAGE = Homepage # File extension to be used to read categories CATEGORIES_EXT = txt # Default image From ca98c6f5ee0197df13855c9a8121d411de07b643 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Wed, 5 Jun 2013 17:09:39 +0200 Subject: [PATCH 19/19] [FIX] Missing LANG parameter in documentation --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index cfaba54..cab3b80 100644 --- a/README.md +++ b/README.md @@ -336,6 +336,8 @@ Configuration basique : Configuration avancée : +- LANG : Langue utilisée pour les traductions de la page (enqueue + principalement) - HOMEPAGE : Titre de la page tel qu'il s'affichera sur un navigateur - CATEGORIES_EXT : extension des fichiers qui seront lus pour générer les catégories