Pour le fun...
Page 1 sur 1
Pour le fun...
Je me suis dit que c'était plus sympa de mettre les photos de la rencontre parisienne en ligne sur un site au lieu d'une archive, donc je viens d'écrire rapidos un petit script pour générer automatiquement le site, c'est très vulgaire au niveau du code (obligation de .jpg, etc...) mais je me dis que ca peut être utile à quelqu'un d'autre un de ces quatre modulo quelques petites réécritures :
Pour compiler : ocamlopt
Pour lancer, il faut un shell unix et la package imagemagick et donner à l'executable généré la liste des photos en argument (ex : ./a.out *jpg)
let taille_x = 200
let taille_y = taille_x * 3 / 4
let nb_colonnes = 3
let ecrire_entete flux =
Printf.fprintf flux "<html>\n<head>\n<title>Photos</title>\n</head>\n<body>\n<table>\n<tr>\n"
let ecrire_fin flux =
Printf.fprintf flux "</tr>\n</table>\n</body>\n</html>\n"
let creer_petite_image nom =
if Sys.command
(Printf.sprintf "convert -resize %ix%i %s.jpg %s_small.jpg"
taille_x taille_y nom nom) != 0 then
failwith "Pas normal"
let traiter_image flux indice nom_fichier =
if indice <> 0 then
let indice = indice - 1 in
let nom = Filename.chop_extension nom_fichier in
creer_petite_image nom;
if indice mod nb_colonnes = 0 then
Printf.fprintf flux "</tr>\n<tr>\n";
Printf.fprintf flux "<td><a href=\"%s.jpg\"><img src=\"%s_small.jpg\" /></a></td>"
nom nom
let _ =
let flux = open_out "index.html" in
ecrire_entete flux;
Array.iteri (traiter_image flux) Sys.argv;
ecrire_fin flux;
close_out flux;
Printf.printf "Fin.\n"
Pour compiler : ocamlopt
Pour lancer, il faut un shell unix et la package imagemagick et donner à l'executable généré la liste des photos en argument (ex : ./a.out *jpg)
morbeth- Les yeux qui brillent...
-
Nombre de messages : 257
Age : 40
Localisation : Entre Jussieu et Paris XVIII
Date d'inscription : 07/01/2007
Feuille de personnage
race: balrog
Page 1 sur 1
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|