Merge branch 'lua'
This commit is contained in:
commit
c53680befe
1
.gitignore
vendored
1
.gitignore
vendored
@ -1,4 +1,3 @@
|
|||||||
porteail/*
|
porteail/*
|
||||||
.gitignore
|
.gitignore
|
||||||
categories.html
|
|
||||||
configrc
|
configrc
|
||||||
|
158
GNUmakefile
158
GNUmakefile
@ -26,6 +26,8 @@
|
|||||||
|
|
||||||
## VARIABLES ##
|
## VARIABLES ##
|
||||||
|
|
||||||
|
VERSION=0.1.2-trunk
|
||||||
|
|
||||||
## CONFIG PAR DEFAUT
|
## CONFIG PAR DEFAUT
|
||||||
include paconfigrc
|
include paconfigrc
|
||||||
|
|
||||||
@ -35,45 +37,15 @@ include configrc
|
|||||||
## AUTRES CONFIGS
|
## AUTRES CONFIGS
|
||||||
|
|
||||||
##--[[ adresses ]]--##
|
##--[[ adresses ]]--##
|
||||||
INTRO_ADDR = $(COMPOSANTS)/$(INTRO)
|
INTRO_ADDR = $(COMPONENTS)/$(INTRO)
|
||||||
INDEX_ADDR = $(CIBLE)/$(INDEX)
|
MENU_ADDR = $(COMPONENTS)/$(MENU)
|
||||||
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)
|
|
||||||
|
|
||||||
# programmes
|
# programmes
|
||||||
PROG_ECHO = `which echo`
|
PROG_ECHO = `which echo`
|
||||||
PROG_TEST = `which test`
|
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_RM = `which rm`
|
||||||
PROG_FIND = `which find`
|
PROG_LUA = `which lua`
|
||||||
PROG_SORT = `which sort`
|
PROG_SH = `which sh`
|
||||||
PROG_WC = `which wc`
|
|
||||||
PROG_MKDIR = `which mkdir`
|
PROG_MKDIR = `which mkdir`
|
||||||
|
|
||||||
# vérification des programmes
|
# vérification des programmes
|
||||||
@ -83,37 +55,22 @@ endif
|
|||||||
ifndef PROG_TEST
|
ifndef PROG_TEST
|
||||||
error_test = 1
|
error_test = 1
|
||||||
endif
|
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
|
ifndef PROG_RM
|
||||||
error_rm = 1
|
error_rm = 1
|
||||||
endif
|
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
|
ifndef PROG_MKDIR
|
||||||
error_mkdir = 1
|
error_mkdir = 1
|
||||||
endif
|
endif
|
||||||
|
ifndef PROG_SH
|
||||||
|
error_sh = 1
|
||||||
|
endif
|
||||||
|
ifndef PROG_LUA
|
||||||
|
error_lua = 1
|
||||||
|
endif
|
||||||
|
|
||||||
## DEBUT
|
## DEBUT
|
||||||
# création de tous les fichiers
|
# création de tous les fichiers
|
||||||
all: test index
|
all: test homepage
|
||||||
|
|
||||||
## TEST
|
## TEST
|
||||||
# divers tests sur l'existence des dossiers/fichiers
|
# divers tests sur l'existence des dossiers/fichiers
|
||||||
@ -123,21 +80,17 @@ test:
|
|||||||
@$(PROG_ECHO) -e "Lancement des tests…"
|
@$(PROG_ECHO) -e "Lancement des tests…"
|
||||||
@$(PROG_ECHO) -e "\t…existence des différents programmes"
|
@$(PROG_ECHO) -e "\t…existence des différents programmes"
|
||||||
$(if $(error_test), @$(PROG_ECHO) -e "\t\ttest : MANQUANT." ; exit 1)
|
$(if $(error_test), @$(PROG_ECHO) -e "\t\ttest : MANQUANT." ; exit 1)
|
||||||
$(if $(error_sed), @$(PROG_ECHO) -e "\t\tsed : MANQUANT." ; exit 1)
|
$(if $(error_mkdir), @$(PROG_ECHO) -e "\t\tmkdir : 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_sh), @$(PROG_ECHO) -e "\t\tsh : 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_rm), @$(PROG_ECHO) -e "\t\trm : MANQUANT." ; exit 1)
|
||||||
$(if $(error_find), @$(PROG_ECHO) -e "\t\tfind : MANQUANT." ; exit 1)
|
$(if $(error_lua), @$(PROG_ECHO) -e "\t\tlua : 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)
|
|
||||||
@$(PROG_ECHO) -e "\t…existence des dossiers '$(IMAGES)', '$(CATEGORIES)' et '$(CSS)'"
|
@$(PROG_ECHO) -e "\t…existence des dossiers '$(IMAGES)', '$(CATEGORIES)' et '$(CSS)'"
|
||||||
@for i in $(IMAGES) $(CATEGORIES) $(CSS) ; \
|
@for i in $(IMAGES) $(CATEGORIES) $(CSS) ; \
|
||||||
do \
|
do \
|
||||||
$(PROG_TEST) -d $$i || exit 1 ; \
|
$(PROG_TEST) -d $$i || exit 1 ; \
|
||||||
done ; \
|
done ; \
|
||||||
$(PROG_ECHO) -e "\t…création des dossiers cibles '$(CIBLE)' et '$(CIBLE)/$(IMAGES_CIBLE)'"
|
$(PROG_ECHO) -e "\t…création des dossiers cibles '$(DESTINATION)' et '$(DESTINATION)/$(IMAGES_DESTINATION)'"
|
||||||
@for j in $(CIBLE) $(CIBLE)/$(IMAGES_CIBLE) ; \
|
@for j in $(DESTINATION) $(DESTINATION)/$(IMAGES_DESTINATION) ; \
|
||||||
do \
|
do \
|
||||||
$(PROG_TEST) -d $$j || $(PROG_MKDIR) $$j ; \
|
$(PROG_TEST) -d $$j || $(PROG_MKDIR) $$j ; \
|
||||||
done
|
done
|
||||||
@ -149,82 +102,19 @@ test:
|
|||||||
$(if $(MENU), @$(PROG_ECHO) -e "\t\t-> activée", @$(PROG_ECHO) -e "\t\t-> désactivée")
|
$(if $(MENU), @$(PROG_ECHO) -e "\t\t-> activée", @$(PROG_ECHO) -e "\t\t-> désactivée")
|
||||||
@$(PROG_ECHO) -e " …terminé."
|
@$(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
|
## CATEGORIES
|
||||||
# création du fichier $(CONTENU_ADDR)
|
# création de la page d'accueil
|
||||||
$(CONTENU_ADDR): $(CONFIG) $(GEN_CATEGORIES) $(SOURCE) $(DEFAUT_IMG_ADDR)
|
homepage:
|
||||||
@$(PROG_SED) -i "s/DEBUG=1/DEBUG=0/g" $(GEN_CATEGORIES)
|
@$(PROG_ECHO) -e "Création de la page d'accueil…"
|
||||||
@$(PROG_ECHO) -e "Création du contenu avec les valeurs suivantes : "
|
@VERSION=$(VERSION) $(PROG_LUA) create_homepage.lua || exit 1
|
||||||
@$(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."
|
@$(PROG_ECHO) -e " …terminée."
|
||||||
|
|
||||||
## INDEX
|
install:
|
||||||
# création de la page d'index
|
@SRCDIR=$(DESTINATION) DESTDIR=$(INSTALLDIR) $(PROG_SH) install.sh || exit 1
|
||||||
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."
|
|
||||||
|
|
||||||
## NETTOYAGE
|
## NETTOYAGE
|
||||||
# nettoyage des fichiers générés
|
# nettoyage des fichiers générés
|
||||||
clean:
|
clean:
|
||||||
@$(PROG_ECHO) -e "Nettoyage des fichiers en cours…"
|
@$(PROG_ECHO) -e "Nettoyage des fichiers en cours…"
|
||||||
@$(PROG_RM) -rf $(CIBLE)
|
@$(PROG_RM) -rf $(DESTINATION)
|
||||||
@$(PROG_RM) -f $(CONTENU_ADDR)
|
|
||||||
@$(PROG_ECHO) -e " …terminé."
|
@$(PROG_ECHO) -e " …terminé."
|
||||||
|
133
README.md
133
README.md
@ -48,18 +48,21 @@ commande suivante :
|
|||||||
|
|
||||||
apt-get install make
|
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 :
|
Votre système devrais aussi détenir les commandes suivantes :
|
||||||
|
|
||||||
- GNU make
|
|
||||||
- cp
|
|
||||||
- rm
|
- rm
|
||||||
- GNU sed
|
|
||||||
- sh
|
- sh
|
||||||
- echo
|
- echo
|
||||||
- test
|
- test
|
||||||
- cat
|
- mkdir
|
||||||
- wc
|
|
||||||
- grep
|
|
||||||
|
|
||||||
Normalement ces éléments sont inclus de base ou disponibles dans
|
Normalement ces éléments sont inclus de base ou disponibles dans
|
||||||
n’importe quel système d’exploitation POSIX.
|
n’importe quel système d’exploitation POSIX.
|
||||||
@ -128,12 +131,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
|
par exemple, le titre de votre page PorteAil. Ceci se fait via la
|
||||||
ligne suivante :
|
ligne suivante :
|
||||||
|
|
||||||
TITRE=
|
TITLE=
|
||||||
|
|
||||||
Par exemple pour afficher "Mon super site" sur la page PorteAil, modifiez ceci
|
Par exemple pour afficher "Mon super site" sur la page PorteAil, modifiez ceci
|
||||||
dans le fichier configrc :
|
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
|
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
|
PorteAil. Pour de plus amples renseignements à ce sujet, je vous invite à lire
|
||||||
@ -250,25 +253,26 @@ par
|
|||||||
Comme pour l'introduction, il suffit de supprimer le dièse **#** en début de
|
Comme pour l'introduction, il suffit de supprimer le dièse **#** en début de
|
||||||
ligne.
|
ligne.
|
||||||
|
|
||||||
### Le fichier install.sh
|
### Publication
|
||||||
|
|
||||||
**install.sh** est un script qui permet de déplacer le résultat du programme
|
Pour publier le résultat dans un dossier web, il vous suffit d'utiliser la
|
||||||
PorteAil dans un dossier de son choix.
|
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**
|
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**
|
du dossier personnel. Par exemple le dossier **/home/olivier/public_html**
|
||||||
si votre dossier personnel se trouve dans **/home/olivier**.
|
si votre dossier personnel se trouve dans **/home/olivier**.
|
||||||
|
|
||||||
Pour modifier les valeurs d'origine et de destination de la copie, éditez le
|
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
|
- DESTINATION : contient l'adresse relative du dossier où se situe les fichiers
|
||||||
à copier
|
à copier (résultant d'une compilation de PorteAil)
|
||||||
- DESTDIR : contient l'adresse exacte où copier les fichiers (la destination).
|
- INSTALLDIR : contient l'adresse exacte où copier les fichiers (la destination).
|
||||||
|
|
||||||
## Pour aller plus loin
|
## Pour aller plus loin
|
||||||
|
|
||||||
@ -321,51 +325,40 @@ plus grand sur la page de résultat.
|
|||||||
|
|
||||||
Configuration basique :
|
Configuration basique :
|
||||||
|
|
||||||
- TITRE : Cf. chapitre **Fonctionnement basique**
|
- TITLE : Cf. chapitre **Fonctionnement basique**
|
||||||
- STYLE : nom de la feuille de style qui ajoutera des couleurs à PorteAil
|
- STYLE : nom de la feuille de style qui ajoutera des couleurs à PorteAil
|
||||||
(seconde feuille de style en somme). Redéfinir l'ensemble des classes
|
(seconde feuille de style en somme). Redéfinir l'ensemble des classes
|
||||||
CSS de ce fichier vous permettra de reconfigurer toute l'apparence de
|
CSS de ce fichier vous permettra de reconfigurer toute l'apparence de
|
||||||
PorteAil.
|
PorteAil.
|
||||||
- MENU : Cf. chapitre **Fonctionnement basique**
|
- MENU : Cf. chapitre **Fonctionnement basique**
|
||||||
- INTRO : 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 :
|
Configuration avancée :
|
||||||
|
|
||||||
- ACCUEIL : Titre de la page tel qu'il s'affichera sur un navigateur
|
- LANG : Langue utilisée pour les traductions de la page (enqueue
|
||||||
- GEN_CATEGORIES : script bash lancé au moment de la création des
|
principalement)
|
||||||
catégories. C'est ce script qui génère les catégories pour la page
|
- HOMEPAGE : Titre de la page tel qu'il s'affichera sur un navigateur
|
||||||
finale.
|
|
||||||
- INDEX : nom du fichier final. Par exemple *index.html*
|
|
||||||
- CATEGORIES_EXT : extension des fichiers qui seront lus pour générer
|
- CATEGORIES_EXT : extension des fichiers qui seront lus pour générer
|
||||||
les catégories
|
les catégories
|
||||||
- DEFAUT_IMG : nom de l'image - contenue par défaut dans le dossier img -
|
- 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é.
|
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
|
- TEMPLATE_ELEMENT : nom du fichier contenant le code HTML d'un élément.
|
||||||
par défaut dans le dossier *COMPOSANTS*.
|
Se trouve par défaut dans le dossier *COMPONENTS*.
|
||||||
- CONTENU : nom du fichier contenu le résultat de la génération des
|
- TEMPLATE_INDEX : nom du fichier contenant le code HTML de la page finale.
|
||||||
catégories.
|
Se trouve par défaut dans le dossier *COMPONENTS*.
|
||||||
- ENTETE_CAT : nom du fichier contenant le code HTML du début d'une
|
- TEMPLATE_CATEG : nom du fichier contenant le code HTML d'une catégorie.
|
||||||
catégorie. Se trouve par défaut dans le dossier *COMPOSANT*.
|
Se trouve par défaut dans le dossier *COMPONENTS*.
|
||||||
- ENQUEUE_CAT : nom du fichier contenant le code HTML de la fin d'une
|
- COMPONENTS : dossier contenant les éléments qui constitueront la page
|
||||||
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
|
|
||||||
finale
|
finale
|
||||||
- CATEGORIES : dossier contenant les fichiers sources des catégories.
|
- CATEGORIES : dossier contenant les fichiers sources des catégories.
|
||||||
- IMAGES : dossier par défaut contenant les images pour les éléments.
|
- IMAGES : dossier par défaut contenant les images pour les éléments.
|
||||||
- CSS : dossier par défaut des feuilles de style
|
- CSS : dossier par défaut des feuilles de style
|
||||||
- IMAGES_CIBLE : nom du dossier qui contiendra les images utilisées par la
|
- 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
|
page finale
|
||||||
- CSS_SANS_MENU : nom du fichier CSS qui s'utilise lorsque la page n'a pas
|
- CSS_NAME : nom du fichier CSS final
|
||||||
de menu
|
|
||||||
- CSS_AVEC_MENU : idem que *CSS_SANS_MENU*, mais pour une page ayant un menu
|
|
||||||
- CSS_NOM : nom du fichier CSS final
|
|
||||||
|
|
||||||
Pour plus de renseignements, veuillez vous référer au chapitre **Les
|
Pour plus de renseignements, veuillez vous référer au chapitre **Les
|
||||||
composants**.
|
composants**.
|
||||||
@ -376,12 +369,10 @@ Les composants sont les éléments qui permettent de composer la page HTML
|
|||||||
finale.
|
finale.
|
||||||
À cet effet la page a été scindés en plusieurs éléments :
|
À cet effet la page a été scindés en plusieurs éléments :
|
||||||
|
|
||||||
- entete.html : contient le début de notre page finale
|
- index.html : contient l'ensemble du HTML pour la page d'accueil.
|
||||||
- categ_deb.html : contient le début d'une catégorie
|
|
||||||
- element.html : contient l'ensemble du HTML pour UN élément donné
|
- element.html : contient l'ensemble du HTML pour UN élément donné
|
||||||
- categ_fin.html : contient la fin d'une catégorie
|
- categories.html : contient l'ensemble du HTML pour une catégorie donnée.
|
||||||
- contenu_fin.html : contient la fin du corps de la page
|
(sans les éléments)
|
||||||
- enqueue.html : contient le pied de la page finale
|
|
||||||
- introduction.html : contient du HTML pouvant être ajouté après le titre
|
- introduction.html : contient du HTML pouvant être ajouté après le titre
|
||||||
principal de la page
|
principal de la page
|
||||||
- menu.html : un menu à ajouter à notre page
|
- menu.html : un menu à ajouter à notre page
|
||||||
@ -389,49 +380,17 @@ principal de la page
|
|||||||
Pour personnaliser il suffit d'éditer chacun des fichiers afin d'en
|
Pour personnaliser il suffit d'éditer chacun des fichiers afin d'en
|
||||||
modifier le code source.
|
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
|
||||||
|
|
||||||
Le dossier **style** est prévu pour contenir l'ensemble des feuilles de style
|
Le dossier **style** est prévu pour contenir l'ensemble des feuilles de style
|
||||||
disponible pour l'apparence de notre page PorteAil.
|
disponible pour l'apparence de notre page PorteAil.
|
||||||
|
|
||||||
Déposez donc ici vos feuille de style et changez la variable *CSS_AVEC_MENU*
|
Déposez donc ici vos feuille de style et changez la variable *STYLE* du
|
||||||
, *CSS_SANS_MENU* et *STYLE* du fichier **configrc** (Cf. Chapitre
|
fichier **configrc** (Cf. Chapitre **configrc**).
|
||||||
**configrc**).
|
|
||||||
|
|
||||||
### Le dossier img
|
### 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.
|
utilisées pour la page finale.
|
||||||
|
|
||||||
Déposez-y les images que vous allez utiliser.
|
Déposez-y les images que vous allez utiliser.
|
||||||
@ -439,10 +398,10 @@ Déposez-y les images que vous allez utiliser.
|
|||||||
## SOURCES
|
## SOURCES
|
||||||
|
|
||||||
Les sources du programme peuvent être récupérées sur
|
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
|
[le dépôt Gitorious](http://gitorious.org/porteail/) ou via la commande
|
||||||
git) :
|
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
|
## Contact / Bugs
|
||||||
|
|
||||||
|
13
TACHES
13
TACHES
@ -2,19 +2,14 @@
|
|||||||
----------
|
----------
|
||||||
|
|
||||||
- Valider la page à l'aide de TIDY (doit être facultatif)
|
- 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 :
|
- Choisir le nombre de colonne d'élément :
|
||||||
#corps ul.ensemble_element li {
|
#corps ul.ensemble_element li {
|
||||||
width: 11em;
|
width: 11em;
|
||||||
margin: auto;
|
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
|
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 :
|
>>> Pour la v0.1.3 :
|
||||||
- aside en NAV !!!
|
|
||||||
- activer menu avec une variable du genre "MENU_ACTIVE = 1" (par exemple)
|
- activer menu avec une variable du genre "MENU_ACTIVE = 1" (par exemple)
|
||||||
- favicon.ico ?
|
- favicon.ico ?
|
||||||
- création du fichier configrc s'il n'existe pas (dans test)
|
- 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 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 les VAR= en VAR:=
|
||||||
- changer l'utilisation du shell par TXTs = $(shell ls $(dossier)/*$(ext)), par exemple.
|
- 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 :
|
>>> Pour la v0.3 :
|
||||||
- Transformer variables en anglais
|
|
||||||
- Documentation en anglais
|
- Documentation en anglais
|
||||||
- faire une page "print.css"
|
- faire une page "print.css"
|
||||||
- mettre en noir et blanc
|
- 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 !)
|
- 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 &
|
- Bug: si une URL possède plusieurs &
|
||||||
- HTML 5 avec header et footer
|
- 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
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# Ceci est un commentaire
|
# This is a comment
|
||||||
[[Catégorie d'exemple]]Description de ma catégorie d'exemple
|
[[Example category]]The description of my category
|
||||||
Vous êtes perdus ?##http://perdu.com##Se rendre sur le site perdu.com##apps/preferences-system-session-services.png
|
Are you lost?##http://perdu.com##Go to perdu.com website##apps/preferences-system-session-services.png
|
||||||
Exalead##http://exalead.fr##Visiter Exalead##apps/preferences-web-browser-shortcuts.png
|
Exalead##http://exalead.fr##Visit 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##
|
Google PorteAil Search##http://www.google.com/search?q=porteail&ie=utf-8&oe=utf-8&client=ubuntu&channel=fs##Search PorteAil on Google##
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
# [[Nom de la catégorie]]Description
|
# [[Category name]]Description
|
||||||
[[Éducation]]Thème sur l'éducation
|
[[Education]]Education topic
|
||||||
# Titre du lien##Adresse web en HTTP##Description du lien##Nom du fichier image
|
# Link title ## HTTP website address ## Link description ## Image filename
|
||||||
Seeks##http://www.seeks-project.info/search.php/websearch-hp##Méta-moteur de recherche décentralisé##apps/nepomuk.png
|
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##Logiciel de bureautique libre pour les enfants de 7 à 12 ans##apps/okteta.png
|
OOo4kids##http://wiki.ooo4kids.org/index.php/Main_Page/fr##Free desktop software for 7-12 year old kids##apps/okteta.png
|
||||||
|
@ -1,8 +1,8 @@
|
|||||||
# [[Nom de la catégorie]]Description
|
# [[Category name]]Description
|
||||||
[[Divers]]Quelques éléments en vrac
|
[[Miscellaneous]]Some elements
|
||||||
# Titre du lien##Adresse web en HTTP##Description du lien##Nom du fichier image
|
# Link title ## HTTP website address ## Link description ## Image filename
|
||||||
Inkscape##http://inkscape.org/##Outil de création graphique vectorielle##apps/inkscape.png
|
Inkscape##http://inkscape.org/##Vectorial creation software##apps/inkscape.png
|
||||||
Wine##http://www.winehq.org/##Utilisez des outils Windows sous Linux, BSD, Mac ou Solaris##apps/wine.png
|
Wine##http://www.winehq.org/##Use Windows tools on Linux, BSD, Mac or Solaris##apps/wine.png
|
||||||
Dogmazic##http://www.dogmazic.net/##Musique libre##devices/multimedia-player.png
|
Dogmazic##http://www.dogmazic.net/##Free music##devices/multimedia-player.png
|
||||||
Vim##http://www.vim.org/##Éditeur en mode console##apps/utilities-terminal.png
|
Vim##http://www.vim.org/##Shell mode editor##apps/utilities-terminal.png
|
||||||
ChiliProject##https://www.chiliproject.org/##Outil de gestion de projet##status/script-error.png
|
ChiliProject##https://www.chiliproject.org/##Project management tool##status/script-error.png
|
||||||
|
@ -1,8 +0,0 @@
|
|||||||
<!-- Catégorie ${CATEG_TITLE} -->
|
|
||||||
|
|
||||||
<h2>${CATEG_TITLE}</h2>
|
|
||||||
<p>${CATEG_DESC}</p>
|
|
||||||
<ul class="ensemble_element">
|
|
||||||
${ELEMENTS}
|
|
||||||
</ul>
|
|
||||||
<div class="espace"> </div>
|
|
@ -1,5 +0,0 @@
|
|||||||
<!-- Catégorie @@TITRE_CATEG@@ -->
|
|
||||||
|
|
||||||
<h2>@@TITRE_CATEG@@</h2>
|
|
||||||
<p>@@DESC_CATEG@@</p>
|
|
||||||
<ul class="ensemble_element">
|
|
@ -1,2 +0,0 @@
|
|||||||
</ul>
|
|
||||||
<div class="espace"> </div>
|
|
9
composants/categories.html
Normal file
9
composants/categories.html
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<!-- Category - ${CATEG_TITLE} -->
|
||||||
|
|
||||||
|
<h2>${CATEG_TITLE}</h2>
|
||||||
|
<p>${CATEG_DESC}</p>
|
||||||
|
<ul class="ensemble_element">
|
||||||
|
${ELEMENTS}
|
||||||
|
</ul>
|
||||||
|
<div class="espace"> </div>
|
||||||
|
|
@ -1 +0,0 @@
|
|||||||
</div>
|
|
@ -1,9 +1,9 @@
|
|||||||
<li>
|
<li>
|
||||||
<a class="cadre" href="@@URL_ELEMENT@@" title="@@DESC_ELEMENT@@">
|
<a class="cadre" href="${ELEMENT_URL}" title="${ELEMENT_DESC}">
|
||||||
<span class="element">
|
<span class="element">
|
||||||
@@TITRE_ELEMENT@@ <br />
|
${ELEMENT_TITLE} <br />
|
||||||
|
|
||||||
<img src="@@URL_IMAGE@@" alt="@@DESC_IMAGE@@" title="@@TITRE_IMAGE@@" />
|
<img src="${IMG_URL}" alt="${IMG_DESC}" title="${ELEMENT_DESC}" />
|
||||||
</span>
|
</span>
|
||||||
</a>
|
</a>
|
||||||
</li>
|
</li>
|
||||||
|
@ -1,7 +0,0 @@
|
|||||||
<!-- Pied de page -->
|
|
||||||
|
|
||||||
<footer>
|
|
||||||
<p>Page générée à l'aide de <a href="http://porteail.e-mergence.org/" title="Se rendre sur la page officielle du projet PorteAil">PorteAil</a></p>
|
|
||||||
</footer>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,19 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml" lang="fr">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>@@ACCUEIL_PORTEAIL@@</title>
|
|
||||||
<!--[if lt IE 9]>
|
|
||||||
<script src="html5.js" type="text/javascript"></script>
|
|
||||||
<![endif]-->
|
|
||||||
<link rel="stylesheet" href="@@CSS_DEFAUT@@" type="text/css" media="all" title="Défaut" />
|
|
||||||
<link rel="stylesheet" href="@@CSS_COULEUR@@" type="text/css" media="all" title="Défaut" />
|
|
||||||
</head>
|
|
||||||
<body>
|
|
||||||
<!-- Entete de page -->
|
|
||||||
<header>
|
|
||||||
<h1>@@TITRE_PORTEAIL@@</h1>
|
|
||||||
</header>
|
|
||||||
|
|
||||||
<!-- Corps de la page -->
|
|
||||||
<div id="corps">
|
|
@ -9,12 +9,12 @@
|
|||||||
<link rel="stylesheet" href="${CSS_COLOR}" type="text/css" media="all" title="${CSS_NAME}" />
|
<link rel="stylesheet" href="${CSS_COLOR}" type="text/css" media="all" title="${CSS_NAME}" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<!-- Entete de page -->
|
<!-- Header -->
|
||||||
<header>
|
<header>
|
||||||
<h1>${PORTEAIL_TITLE}</h1>
|
<h1>${PORTEAIL_TITLE}</h1>
|
||||||
</header>
|
</header>
|
||||||
|
|
||||||
<!-- Corps de la page -->
|
<!-- Content -->
|
||||||
<div id="corps">
|
<div id="corps">
|
||||||
${INTRODUCTION}
|
${INTRODUCTION}
|
||||||
${CONTENT}
|
${CONTENT}
|
||||||
@ -22,10 +22,10 @@
|
|||||||
|
|
||||||
${MENU}
|
${MENU}
|
||||||
|
|
||||||
<!-- Pied de page -->
|
<!-- Footer -->
|
||||||
|
|
||||||
<footer>
|
<footer>
|
||||||
<p>Page générée à l'aide de <a href="http://porteail.e-mergence.org/" title="Se rendre sur la page officielle du projet PorteAil">PorteAil</a></p>
|
<p>${POWERED_BY} <a href="http://porteail.e-mergence.org/" title="${POWERED_BY_DESC}">PorteAil ${VERSION}</a></p>
|
||||||
</footer>
|
</footer>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<!-- Introduction de la page -->
|
<!-- Webpage introduction -->
|
||||||
<p>
|
<p>
|
||||||
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.<br />
|
This message permit to introduce our webpage subject and quickly explain why this website exists, why all these categories, elements, etc.<br />
|
||||||
Il est modifiable dans le fichier <em>introduction.html</em> situé dans le dossier <em>composants</em> du répertoire principal de <a href="http://git.dossmann.net/scripts/porteail.git/" title="Se rendre sur le dépôt de fichier de PorteAil">PorteAil</a>.
|
This one is editable in <em>introduction.html</em> file located in <em>composants</em> directory from main <a href="http://gitorious.org/porteail/" title="Go to PorteAil repositories">PorteAil</a> directory.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Pour de plus amples renseignements sur <a href="http://git.dossmann.net/scripts/porteail.git/" title="Se rendre sur le dépôt de fichier de PorteAil">PorteAil</a>, veuillez vous référer au fichier <em>README.md</em> contenu dans le répertoire principal du projet <a href="http://git.dossmann.net/scripts/porteail.git/" title="Se rendre sur le dépôt de fichier de PorteAil">PorteAil</a>.
|
For more information about <a href="http://gitorious.org/porteail/" title="Go to PorteAil repositories">PorteAil</a>, please refer to <em>README.md</em> file situated in <a href="http://gitorious.org/porteail/" title="Se rendre sur le dépôt de fichier de PorteAil">PorteAil</a> main directory.
|
||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
Les catégories sont renseignées dans le dossier <em>categ</em> dans lequel des fichiers d'exemples, normalement assez parlants, devraient vous permettre de construire votre première page <a href="http://git.dossmann.net/scripts/porteail.git/" title="Se rendre sur le dépôt de fichier de PorteAil">PorteAil</a>.
|
Categories are filled in <em>categ</em> directory in which some example file should be talkative for you. This will allow you to generate your first <a href="http://gitorious.org/porteail/" title="Go to PorteAil repositories">PorteAil</a> homepage.
|
||||||
</p>
|
</p>
|
||||||
|
@ -1,11 +1,11 @@
|
|||||||
<!-- Menu de la page -->
|
<!-- Webpage menu -->
|
||||||
<nav id="cartable">
|
<nav id="cartable">
|
||||||
<div class="sacoche">
|
<div class="sacoche">
|
||||||
<h3>Menu</h3>
|
<h3>Menu</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Lien 1</li>
|
<li>Link 1</li>
|
||||||
<li>Lien 2</li>
|
<li>Link 2</li>
|
||||||
<li>Lien 3</li>
|
<li>Link 3</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
@ -1,10 +0,0 @@
|
|||||||
<li>
|
|
||||||
<a class="cadre" href="${ELEMENT_URL}" title="${ELEMENT_DESC}">
|
|
||||||
<span class="element">
|
|
||||||
${ELEMENT_TITLE} <br />
|
|
||||||
|
|
||||||
<img src="${IMG_URL}" alt="${IMG_DESC}" title="${ELEMENT_DESC}" />
|
|
||||||
</span>
|
|
||||||
</a>
|
|
||||||
</li>
|
|
||||||
|
|
@ -1,64 +1,44 @@
|
|||||||
###########################
|
###########################
|
||||||
## Configuration basique ##
|
## Main configuration ##
|
||||||
###########################
|
###########################
|
||||||
|
|
||||||
# Titre de votre PorteAil
|
# Homepage title
|
||||||
TITRE = Titre par défaut
|
TITLE = My portal
|
||||||
# Feuille de style choisie
|
# CSS color file
|
||||||
STYLE = noir.css
|
STYLE = black.css
|
||||||
# Code HTML du menu (par défaut dans le dossier COMPOSANTS)
|
# Menu (if needed)
|
||||||
#MENU = menu.html
|
#MENU = menu.html
|
||||||
# Code HTML de l'introduction (par défaut dans le dossier COMPOSANTS)
|
# Introduction (if needed)
|
||||||
#INTRO = introduction.html
|
#INTRO = introduction.html
|
||||||
CIBLE = porteail
|
# Destination directory
|
||||||
|
DESTINATION = porteail
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
## Configuration avancée ##
|
## Additional config ##
|
||||||
###########################
|
###########################
|
||||||
#
|
|
||||||
###--[[ divers ]]--##
|
##--[[ miscellaneous ]]--##
|
||||||
#
|
|
||||||
#ACCUEIL = Accueil - $(TITRE)
|
#LANG = en
|
||||||
#GEN_CATEGORIES = creation_categ.sh
|
#HOMEPAGE = Homepage - My portal
|
||||||
#INDEX = index.html
|
## File extension to be used to read categories
|
||||||
## Extension des fichiers à prendre en compte dans le dossier contenant les
|
|
||||||
##+ catégories
|
|
||||||
#CATEGORIES_EXT = txt
|
#CATEGORIES_EXT = txt
|
||||||
## Image de base si aucune mentionnée (par défaut dans le dossier IMAGES)
|
## Default image
|
||||||
#DEFAUT_IMG = generique.png
|
#DEFAULT_IMG = generique.png
|
||||||
## Contenu HTML d'un élément
|
## Templates
|
||||||
#ELEMENT = element.html
|
#TEMPLATE_ELEMENT = element.html
|
||||||
## résultat de la génération des catégories
|
#TEMPLATE_INDEX = index.html
|
||||||
#CONTENU = categories.html
|
#TEMPLATE_CATEG = 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 ]]--##
|
###--[[ directories ]]--##
|
||||||
#
|
#
|
||||||
### SOURCES
|
#COMPONENTS = composants
|
||||||
## Dossier contenant les éléments composants votre page
|
|
||||||
#COMPOSANTS = composants
|
|
||||||
## dossier contenant le détail des catégories
|
|
||||||
#CATEGORIES = categ
|
#CATEGORIES = categ
|
||||||
## dossier contenant les images
|
|
||||||
#IMAGES = img
|
#IMAGES = img
|
||||||
## dossier contenant les feuilles de style
|
#IMAGES_DESTINATION = image
|
||||||
#CSS = style
|
#CSS = style
|
||||||
#
|
#INSTALLDIR = ${HOME}/public_html
|
||||||
### DESTINATION (cible)
|
|
||||||
## dossier de destination des images
|
|
||||||
#IMAGES_CIBLE = image
|
|
||||||
#
|
#
|
||||||
###--[[ style ]]--##
|
###--[[ style ]]--##
|
||||||
#
|
#
|
||||||
#CSS_SANS_MENU = sans_menu.css
|
#CSS_NAME = defaut.css
|
||||||
#CSS_AVEC_MENU = avec_menu.css
|
|
||||||
#CSS_NOM = defaut.css
|
|
||||||
|
@ -18,19 +18,24 @@ local default_dir_destination = 'porteail'
|
|||||||
local default_dir_img_destination = 'image'
|
local default_dir_img_destination = 'image'
|
||||||
local default_dir_img_source = 'img'
|
local default_dir_img_source = 'img'
|
||||||
local default_dir_css_source = 'style'
|
local default_dir_css_source = 'style'
|
||||||
|
local default_dir_lang = 'lang'
|
||||||
-- Default files values
|
-- Default files values
|
||||||
local default_img_filename = 'generique.png'
|
local default_img_filename = 'generique.png'
|
||||||
local default_index_filename = 'index.html'
|
local default_index_filename = 'index.html'
|
||||||
local default_template_index_filename = 'index.html'
|
local default_template_index_filename = 'index.html'
|
||||||
local default_template_categ_filename = 'categ.html'
|
local default_template_categ_filename = 'categories.html'
|
||||||
local default_template_element_filename = 'one_element.html'
|
local default_template_element_filename = 'element.html'
|
||||||
local default_css_filename = 'noir.css'
|
local default_css_filename = 'black.css'
|
||||||
local default_css_menu_without = 'sans_menu.css'
|
local default_css_menu_without = 'without_menu.css'
|
||||||
local default_css_menu_with = 'avec_menu.css'
|
local default_css_menu_with = 'with_menu.css'
|
||||||
-- Other defaults values
|
-- Other defaults values
|
||||||
|
local version = os.getenv('VERSION') or '(Unknown version)'
|
||||||
local default_categ_extension = 'txt'
|
local default_categ_extension = 'txt'
|
||||||
local DIR_SEP = '/'
|
local DIR_SEP = '/'
|
||||||
local default_css_name = 'Défaut'
|
local default_css_name = 'Default'
|
||||||
|
local default_title = 'My portal'
|
||||||
|
local default_homepage_title = ' - Homepage'
|
||||||
|
local default_language = 'en'
|
||||||
|
|
||||||
--[[ Functions ]]--
|
--[[ Functions ]]--
|
||||||
|
|
||||||
@ -128,22 +133,27 @@ end
|
|||||||
|
|
||||||
function process(filepath, template_categ, template_element, img_destination, destination, img_source, default_img)
|
function process(filepath, template_categ, template_element, img_destination, destination, img_source, default_img)
|
||||||
-- parse given file
|
-- parse given file
|
||||||
local categ_page = ''
|
|
||||||
local elements = {}
|
local elements = {}
|
||||||
|
local categ_title = ''
|
||||||
|
local categ_description = ''
|
||||||
|
local categ_count = 0
|
||||||
|
-- parse category file
|
||||||
for line in io.lines(filepath) do
|
for line in io.lines(filepath) do
|
||||||
local element = ''
|
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_comment = string.find(line, '^#+.*')
|
||||||
is_title = string.find(line, '%[%[(.*)%]%](.*)')
|
is_title = string.find(line, '%[%[(.*)%]%](.*)')
|
||||||
is_element = string.find(line, '(.*)##(.*)##(.*)##(.*)')
|
is_element = string.find(line, '(.*)##(.*)##(.*)##(.*)')
|
||||||
|
-- processing lines to fetch data
|
||||||
if is_comment then
|
if is_comment then
|
||||||
-- do nothing because it's a comment
|
-- do nothing because it's a comment
|
||||||
elseif is_title then
|
elseif is_title then
|
||||||
title = ''
|
for t in string.gmatch(line, '%[%[(.*)%]%].*') do categ_title = categ_title .. t end
|
||||||
for t in string.gmatch(line, '%[%[(.*)%]%].*') do title = title .. t end
|
for d in string.gmatch(line, '%[%[.*%]%](.*)') do categ_description = categ_description .. d end
|
||||||
description =''
|
categ_count = categ_count + 1
|
||||||
for d in string.gmatch(line, '%[%[.*%]%](.*)') do description = description .. d end
|
|
||||||
categ_page = replace(template_categ, {CATEG_TITLE=title, CATEG_DESC=description})
|
|
||||||
elseif is_element then
|
elseif is_element then
|
||||||
title = ''
|
title = ''
|
||||||
description = ''
|
description = ''
|
||||||
@ -154,17 +164,37 @@ function process(filepath, template_categ, template_element, img_destination, de
|
|||||||
for u in string.gmatch(line, '.*##(.*)##.*##.*') do url = url .. u end
|
for u in string.gmatch(line, '.*##(.*)##.*##.*') do url = url .. u end
|
||||||
for i in string.gmatch(line, '.*##.*##.*##(.*)') do img = img .. i end
|
for i in string.gmatch(line, '.*##.*##.*##(.*)') do img = img .. i end
|
||||||
img_description = " "
|
img_description = " "
|
||||||
|
-- copy image and fetch result
|
||||||
img_url = processImage(img, img_source, img_destination, destination, default_img)
|
img_url = processImage(img, img_source, img_destination, destination, default_img)
|
||||||
|
-- replace some chars in URL to avoid HTML5 problems
|
||||||
url = url:gsub('%&', '%&')
|
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})
|
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)
|
table.insert(elements, element)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
-- check if category is ok
|
||||||
|
error_msg = ' ' .. filepath .. ' not imported: '
|
||||||
|
if categ_count > 1 then
|
||||||
|
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 = ''
|
local text_elements = ''
|
||||||
for k, v in pairs(elements) do
|
for k, v in pairs(elements) do
|
||||||
text_elements = text_elements .. v
|
text_elements = text_elements .. v
|
||||||
end
|
end
|
||||||
local result = replace(categ_page, {ELEMENTS=text_elements})
|
-- do substitutions on result
|
||||||
|
local result = replace(template_categ, {CATEG_TITLE=categ_title, CATEG_DESC=categ_description, ELEMENTS=text_elements})
|
||||||
return result
|
return result
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -175,9 +205,9 @@ config = getConfig(configFile)
|
|||||||
|
|
||||||
-- create values for directories
|
-- create values for directories
|
||||||
categ = config['CATEGORIES'] or default_dir_category
|
categ = config['CATEGORIES'] or default_dir_category
|
||||||
component = config['COMPOSANTS'] or default_dir_component
|
component = config['COMPONENTS'] or default_dir_component
|
||||||
destination = config['CIBLE'] or default_dir_destination
|
destination = config['DESTINATION'] or default_dir_destination
|
||||||
img_destination = config['CIBLE_IMAGE'] or default_dir_img_destination
|
img_destination = config['IMAGE_DESTINATION'] or default_dir_img_destination
|
||||||
img_source = config['IMAGES'] or default_dir_img_source
|
img_source = config['IMAGES'] or default_dir_img_source
|
||||||
css_source = config['CSS'] or default_dir_css_source
|
css_source = config['CSS'] or default_dir_css_source
|
||||||
-- create values for files
|
-- create values for files
|
||||||
@ -185,7 +215,7 @@ index_filename = config['INDEX'] or default_index_filename
|
|||||||
main_template = config['TEMPLATE_INDEX'] or default_template_index_filename
|
main_template = config['TEMPLATE_INDEX'] or default_template_index_filename
|
||||||
template_categ_filename = config['TEMPLATE_CATEG'] or default_template_categ_filename
|
template_categ_filename = config['TEMPLATE_CATEG'] or default_template_categ_filename
|
||||||
template_element_filename = config['TEMPLATE_ELEMENT'] or default_template_element_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_filename = config['STYLE'] or default_css_filename
|
||||||
css_menu = default_css_menu_without
|
css_menu = default_css_menu_without
|
||||||
local menu = config['MENU'] or ''
|
local menu = config['MENU'] or ''
|
||||||
@ -235,23 +265,33 @@ else
|
|||||||
end
|
end
|
||||||
|
|
||||||
-- Create index file in destination directory
|
-- 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
|
-- create substitution table
|
||||||
substitutions = {
|
substitutions = {
|
||||||
TITLE=config['TITRE'] .. ' - Accueil',
|
TITLE=config['HOMEPAGE'] or (config['TITLE'] and config['TITLE'] .. default_homepage_title) or (default_title .. default_homepage_title),
|
||||||
PORTEAIL_TITLE=config['TITRE'],
|
PORTEAIL_TITLE=config['TITLE'] or default_title,
|
||||||
CONTENT=content,
|
CONTENT=content,
|
||||||
INTRODUCTION=introduction_content,
|
INTRODUCTION=introduction_content,
|
||||||
MENU=menu_content,
|
MENU=menu_content,
|
||||||
CSS_COLOR=css_filename,
|
CSS_COLOR=css_filename,
|
||||||
CSS_NAME=css_name,
|
CSS_NAME=css_name,
|
||||||
DEFAULT_CSS=css_menu,
|
DEFAULT_CSS=css_menu,
|
||||||
|
VERSION=version,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
-- 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
|
-- replace variables in result
|
||||||
homepage = replace(index, substitutions)
|
homepage = replace(index, substitutions)
|
||||||
assert(result:write(homepage))
|
assert(index_result:write(homepage))
|
||||||
-- close file
|
-- close file
|
||||||
assert(result:close())
|
assert(index_result:close())
|
||||||
|
|
||||||
-- Copy miscellaneous files to destination
|
-- Copy miscellaneous files to destination
|
||||||
to_be_copied = {
|
to_be_copied = {
|
@ -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 <olivier@dossmann.net> ##
|
|
||||||
|
|
||||||
# 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 <http://www.gnu.org/licenses/>.
|
|
||||||
|
|
||||||
######################################################################
|
|
||||||
|
|
||||||
## 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
|
|
@ -4,8 +4,8 @@
|
|||||||
|
|
||||||
# Copy porteail directory to user's public_html
|
# Copy porteail directory to user's public_html
|
||||||
|
|
||||||
SRCDIR=./porteail
|
SRCDIR=${SRCDIR:-'./porteail'}
|
||||||
DESTDIR=${HOME}/public_html
|
DESTDIR=${DESTDIR:-"${HOME}/public_html"}
|
||||||
STATICDIR=./static
|
STATICDIR=./static
|
||||||
|
|
||||||
staticdir_content=0
|
staticdir_content=0
|
||||||
@ -37,6 +37,7 @@ fi
|
|||||||
if ! test -d ${DESTDIR}
|
if ! test -d ${DESTDIR}
|
||||||
then
|
then
|
||||||
echo "${DESTDIR} directory not found!"
|
echo "${DESTDIR} directory not found!"
|
||||||
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "This will delete ${DESTDIR} content and copy ${SRCDIR} into. Are you sure [y/n]?"
|
echo "This will delete ${DESTDIR} content and copy ${SRCDIR} into. Are you sure [y/n]?"
|
||||||
|
2
lang/en
Normal file
2
lang/en
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
POWERED_BY = Proudly powered by
|
||||||
|
POWERED_BY_DESC = Go to PorteAil project official webpage
|
2
lang/fr
Normal file
2
lang/fr
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
POWERED_BY = Fièrement propulsé par
|
||||||
|
POWERED_BY_DESC = Aller sur la page officielle du projet PorteAil
|
70
paconfigrc
70
paconfigrc
@ -1,64 +1,44 @@
|
|||||||
###########################
|
###########################
|
||||||
## Configuration basique ##
|
## Main configuration ##
|
||||||
###########################
|
###########################
|
||||||
|
|
||||||
# Titre de votre PorteAil
|
# Homepage title
|
||||||
TITRE = Titre par défaut
|
TITLE = My portal
|
||||||
# Feuille de style choisie
|
# CSS color file
|
||||||
STYLE = noir.css
|
STYLE = black.css
|
||||||
# Code HTML du menu (par défaut dans le dossier COMPOSANTS)
|
# Menu (if needed)
|
||||||
#MENU = menu.html
|
#MENU = menu.html
|
||||||
# Code HTML de l'introduction (par défaut dans le dossier COMPOSANTS)
|
# Introduction (if needed)
|
||||||
#INTRO = introduction.html
|
#INTRO = introduction.html
|
||||||
CIBLE = porteail
|
# Destination directory
|
||||||
|
DESTINATION = porteail
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
## Configuration avancée ##
|
## Additional config ##
|
||||||
###########################
|
###########################
|
||||||
|
|
||||||
##--[[ divers ]]--##
|
##--[[ miscellaneous ]]--##
|
||||||
|
|
||||||
ACCUEIL = Accueil - $(TITRE)
|
LANG = en
|
||||||
GEN_CATEGORIES = creation_categ.sh
|
HOMEPAGE = Homepage
|
||||||
INDEX = index.html
|
# File extension to be used to read categories
|
||||||
# Extension des fichiers à prendre en compte dans le dossier contenant les
|
|
||||||
#+ catégories
|
|
||||||
CATEGORIES_EXT = txt
|
CATEGORIES_EXT = txt
|
||||||
# Image de base si aucune mentionnée (par défaut dans le dossier IMAGES)
|
# Default image
|
||||||
DEFAUT_IMG = generique.png
|
DEFAULT_IMG = generique.png
|
||||||
# Contenu HTML d'un élément
|
# Templates
|
||||||
ELEMENT = element.html
|
TEMPLATE_ELEMENT = element.html
|
||||||
# résultat de la génération des catégories
|
TEMPLATE_INDEX = index.html
|
||||||
CONTENU = categories.html
|
TEMPLATE_CATEG = 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 ]]--##
|
##--[[ directories ]]--##
|
||||||
|
|
||||||
## SOURCES
|
COMPONENTS = composants
|
||||||
# Dossier contenant les éléments composants votre page
|
|
||||||
COMPOSANTS = composants
|
|
||||||
# dossier contenant le détail des catégories
|
|
||||||
CATEGORIES = categ
|
CATEGORIES = categ
|
||||||
# dossier contenant les images
|
|
||||||
IMAGES = img
|
IMAGES = img
|
||||||
# dossier contenant les feuilles de style
|
IMAGES_DESTINATION = image
|
||||||
CSS = style
|
CSS = style
|
||||||
|
INSTALLDIR = ${HOME}/public_html
|
||||||
## DESTINATION (cible)
|
|
||||||
# dossier de destination des images
|
|
||||||
IMAGES_CIBLE = image
|
|
||||||
|
|
||||||
##--[[ style ]]--##
|
##--[[ style ]]--##
|
||||||
|
|
||||||
CSS_SANS_MENU = sans_menu.css
|
CSS_NAME = defaut.css
|
||||||
CSS_AVEC_MENU = avec_menu.css
|
|
||||||
CSS_NOM = defaut.css
|
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Theme: PorteAil - apparence noire
|
Theme: PorteAil - Black appearance
|
||||||
Version: 0.1
|
Version: 0.1
|
||||||
Author: Olivier DOSSMANN
|
Author: Olivier DOSSMANN
|
||||||
Author URI: http://olivier.dossmann.net
|
Author URI: http://olivier.dossmann.net
|
||||||
@ -33,14 +33,14 @@ h3 {
|
|||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENTÊTE DE PAGE */
|
/* HEADER */
|
||||||
header {
|
header {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CONTENU */
|
/* CONTENT */
|
||||||
/* survol d'un élément */
|
/* element overview */
|
||||||
#corps a.cadre:hover {
|
#corps a.cadre:hover {
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@ -70,7 +70,7 @@ background-color: #aaaabb;
|
|||||||
color: #223355;
|
color: #223355;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENQUEUE DE PAGE */
|
/* FOOTER */
|
||||||
footer {
|
footer {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Theme: PorteAil - apparence bleue
|
Theme: PorteAil - Blue appearance
|
||||||
Version: 0.1
|
Version: 0.1
|
||||||
Author: Olivier DOSSMANN
|
Author: Olivier DOSSMANN
|
||||||
Author URI: http://olivier.dossmann.net
|
Author URI: http://olivier.dossmann.net
|
||||||
@ -33,13 +33,13 @@ h3 {
|
|||||||
color: #555577;
|
color: #555577;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENTÊTE DE PAGE */
|
/* HEADER */
|
||||||
header {
|
header {
|
||||||
background-color: #223355;
|
background-color: #223355;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
}
|
}
|
||||||
/* CONTENU */
|
/* CONTENT */
|
||||||
/* survol d'un élément */
|
/* element overview */
|
||||||
#corps a.cadre:hover {
|
#corps a.cadre:hover {
|
||||||
background-color: #223355;
|
background-color: #223355;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
@ -69,7 +69,7 @@ background-color: #aaaabb;
|
|||||||
color: #223355;
|
color: #223355;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENQUEUE DE PAGE */
|
/* FOOTER */
|
||||||
footer {
|
footer {
|
||||||
color: #000000;
|
color: #000000;
|
||||||
}
|
}
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Theme: PorteAil - avec menu
|
Theme: PorteAil - with menu
|
||||||
Version: 0.1
|
Version: 0.1
|
||||||
Author: Olivier DOSSMANN
|
Author: Olivier DOSSMANN
|
||||||
Author URI: http://olivier.dossmann.net
|
Author URI: http://olivier.dossmann.net
|
||||||
@ -51,7 +51,7 @@ border-radius: 12px;
|
|||||||
-webkit-border-radius: 12px;
|
-webkit-border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENTÊTE DE PAGE */
|
/* HEADER */
|
||||||
header {
|
header {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
@ -78,14 +78,14 @@ height: 50px;
|
|||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CONTENU */
|
/* CONTENT */
|
||||||
#corps {
|
#corps {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 78%;
|
width: 78%;
|
||||||
left: 2%;
|
left: 2%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CATÉGORIES */
|
/* CATEGORIES */
|
||||||
#corps ul.ensemble_element {
|
#corps ul.ensemble_element {
|
||||||
min-height: 10em;
|
min-height: 10em;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@ -97,7 +97,7 @@ text-align: center;
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ÉLÉMENT */
|
/* ELEMENT */
|
||||||
#corps a.cadre {
|
#corps a.cadre {
|
||||||
height: 9em;
|
height: 9em;
|
||||||
width: 11em;
|
width: 11em;
|
||||||
@ -131,7 +131,7 @@ margin-left: auto;
|
|||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* espace en fin de catégorie */
|
/* WHITESPACE after category's end */
|
||||||
#corps .espace {
|
#corps .espace {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@ -172,7 +172,7 @@ nav#cartable a:visited {
|
|||||||
nav#cartable a:hover {
|
nav#cartable a:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENQUEUE DE PAGE */
|
/* FOOTER */
|
||||||
footer {
|
footer {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
@ -188,4 +188,4 @@ font-size: 10px;
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DIVERS */
|
/* MISCELLANEOUS */
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
Theme: PorteAil - sans menu
|
Theme: PorteAil - without menu
|
||||||
Version: 0.1
|
Version: 0.1
|
||||||
Author: Olivier DOSSMANN
|
Author: Olivier DOSSMANN
|
||||||
Author URI: http://olivier.dossmann.net
|
Author URI: http://olivier.dossmann.net
|
||||||
@ -51,7 +51,7 @@ border-radius: 12px;
|
|||||||
-webkit-border-radius: 12px;
|
-webkit-border-radius: 12px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENTÊTE DE PAGE */
|
/* HEADER */
|
||||||
header {
|
header {
|
||||||
position: relative;
|
position: relative;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
@ -78,14 +78,14 @@ height: 50px;
|
|||||||
line-height: 50px;
|
line-height: 50px;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CONTENU */
|
/* CONTENT */
|
||||||
#corps {
|
#corps {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 98%;
|
width: 98%;
|
||||||
left: 2%;
|
left: 2%;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* CATÉGORIES*/
|
/* CATEGORIES*/
|
||||||
#corps ul.ensemble_element {
|
#corps ul.ensemble_element {
|
||||||
min-height: 10em;
|
min-height: 10em;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
@ -97,7 +97,7 @@ text-align: center;
|
|||||||
display: inline-block;
|
display: inline-block;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ÉLÉMENT */
|
/* ELEMENT */
|
||||||
#corps a.cadre {
|
#corps a.cadre {
|
||||||
height: 9em;
|
height: 9em;
|
||||||
width: 11em;
|
width: 11em;
|
||||||
@ -131,7 +131,7 @@ margin-left: auto;
|
|||||||
border: 0;
|
border: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* espace en fin de catégorie */
|
/* WHITESPACE at category's end */
|
||||||
#corps .espace {
|
#corps .espace {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
@ -172,7 +172,7 @@ nav#cartable a:visited {
|
|||||||
nav#cartable a:hover {
|
nav#cartable a:hover {
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ENQUEUE DE PAGE */
|
/* FOOTER */
|
||||||
footer {
|
footer {
|
||||||
position: relative;
|
position: relative;
|
||||||
top: 5px;
|
top: 5px;
|
||||||
@ -188,4 +188,4 @@ font-size: 10px;
|
|||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* DIVERS */
|
/* MISCELLANEOUS */
|
Loading…
Reference in New Issue
Block a user