Faire un don ! | | style | statistiques | contactez-nous | plan | lettre d'information

Retourner aux forums || Retourner au forum Programmation.shell

Programmation.shell : Insérer un contenu dans un modèle

Posté par MilkaJinka () le 03 avril 2008
Après plusieurs tentatives infructueuses de ma part, je viens quémander votre aide sur un petit script pour un site statique.

Je voudrais automatiser l'inclusion du contenu (juste le corps du texte avec les balises qui vont bien) dans un modèle de page, et en gardant le modèle dans un seul fichier.

Au final, mon fichier source/divers/truc.txt devrait donner la page divers/truc.html. En gros, il y aurait dans le modèle un gros {CONTENU} à remplacer par le contenu effectif des fichiers. Et c'est là que je bloque. J'ai eu beau tripatouiller find et sed, je n'y suis pas arrivé... Un petit coup de pouce pour que je m'améliore ?

--
Persiste.
> Lire le message (7 commentaires, moyenne: 2,4).  

Cette discussion est archivée, il n'est plus possible de laisser des commentaires.

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.

txt2tags

Posté par Farvardin (page perso, ) le 03/04/2008 à 09:01. (lien). Évalué à 2.

si tu parles d'un site statique, c'est donc que tu prévois de générer les pages automatiquement pour ce site statique.

Je fais cela avec txt2tags, qui peut utiliser des macro et un préprocesseur pour générer les fichiers html, et inclure des fichiers extérieurs. Tu peux regarder des exemples ici :
http://ifiction.free.fr/txt2tags/
ou sur le site officiel : http://txt2tags.sourceforge.net/

Par contre le truc c'est que pour notre site on a rajouté un peu de php, mais la plupart de ces pages php sont déjà générées par txt2tags pour avoir un code clair et facile à maintenir.

--
Tous ensemble contre l'esclavitude des logiciels privateurs !
  • [^]Re: txt2tags

    Posté par MilkaJinka () le 03/04/2008 à 18:16. (lien). Évalué à 2.

    Je me suis déjà essayé à txt2tags ou autres, c'est la galère dès qu'on veut pousser l'HTML (les classes, les attributs, etc). Je préfère faire le truc le plus minimal possible, sans autre outils qu'un éditeur de texte et qu'un shell.

    --
    Persiste.
    • [^]Re: txt2tags

      Posté par Farvardin (page perso, ) le 03/04/2008 à 20:34. (lien). Évalué à 2.

      comme tu veux. Le mieux reste d'inclure via des macros des div que l'on habille avec du css. Et sinon txt2tags c'est juste un seul script en python, donc ça reste minimal à ce niveau.

      --
      Tous ensemble contre l'esclavitude des logiciels privateurs !

Site ou site

Posté par Sébastien Koechlin () le 03/04/2008 à 14:04. (lien). Évalué à 3.

Si ton site est un site web qui tourne sous Apache, il existe un module qui fait cela très bien, c'est mod_include http://httpd.apache.org/docs/2.2/mod/mod_include.html
Il vient par défaut depuis des lustres, il est beaucoup plus léger que PHP et bien documenté.

Si tu veux pré-générer les pages; cpp est le préprocesseur C, il est également facile a utiliser et très largement distribué sur de très nombreuses plateformes.

  • [^]Re: Site ou site

    Posté par MilkaJinka () le 03/04/2008 à 18:19. (lien). Évalué à 2.

    Comme je l'ai écrit dans le commentaire plus haut, je souhaite faire le truc le plus minimal et le plus générique possible, qui donne des pages HTML pur jus faciles à gérer, qu'on peut facilement faire servir par un mini-serveur http sur une vieille bécane ou de l'embarqué.

    Accessoirement c'est pour m'améliorer en shell ^^

    --
    Persiste.
    • [^]Re: Site ou site

      Posté par B. franck () le 04/04/2008 à 02:27. (lien). Évalué à 3.

      ligne=$(grep -n '{CONTENU}' truc.html | cut -d ':' -f 1)
      renvoie le numéro de la ligne contenant la balise

      head -n $(($ligne - 1)) truc.html > partie1.html
      la première partie

      sed -ne '/{CONTENU}/,$ p' truc.html | tail -n +2 > partie2.html
      la deuxième partie

      les 3 cat pour reconstituer:

      cat partie1.html truc.txt partie2.html > truc.html


      sinon après y'a perl qui est plus à même de faire ça rapidement/facilement...

Via macro M4 ?

Revenir en haut de page || Retourner aux forums || Retourner au forum Programmation.shell