]> git.defcon.no Git - plsgen/commitdiff
Three new features, three bugfixes. Version 0.4 code. master plsgen-0.4
authorJon Langseth <jon.langseth@lilug.no>
Tue, 14 Dec 2010 12:58:42 +0000 (13:58 +0100)
committerJon Langseth <jon.langseth@lilug.no>
Tue, 14 Dec 2010 12:58:42 +0000 (13:58 +0100)
README
full.tpl
index.php
index.tpl
plsgen
plsgen.cfg
rss.php
style.css

diff --git a/README b/README
index 7a9bf1321540c6960e5b7047370309929bf0b608..371151ca7104013154f50626d223bf1b08c03e52 100644 (file)
--- a/README
+++ b/README
@@ -126,6 +126,15 @@ E.g.:
 
 Changelog
 -------------------------
 
 Changelog
 -------------------------
+* 0.3 -> 0.4
+# DONE: Removed some default values in config, allowing empty options
+# DONE: Added latest.php, a hybrid between index.php and rss.php ..
+# DONE: Gathered all user-related data in php-files as variables on top.
+# BUGFIX: Added missing alt-tags to img-tags generated
+# BUGFIX: Shipped templates and config now give validating HTML
+# BUGFIX: Prepped up index.php to validate aswell
+# REMOVED: Will not use perlmagick et. al, removed TODO.
+
 * 0.2 -> 0.3
 # DONE: Config option for size of view/thumbnail
 # DONE: Config option to disable arrow-up navigation
 * 0.2 -> 0.3
 # DONE: Config option for size of view/thumbnail
 # DONE: Config option to disable arrow-up navigation
@@ -144,14 +153,13 @@ Changelog
 Todo-list
 -------------------------
 # TODO: Stripping of image suffix for HTML file w/config option?
 Todo-list
 -------------------------
 # TODO: Stripping of image suffix for HTML file w/config option?
+# TODO: Clear old generated files and meta on regen
+# TODO: Image title from EXIF for a title-template-tag.
+# TODO: Possibility for hide/show EXIF
 # TODO: Templating of EXIF
 # TODO: Priority/sorting of EXIF tags
 # TODO: Templating of EXIF
 # TODO: Priority/sorting of EXIF tags
-# TODO: Possibility for hide/show EXIF
-# TODO: Clear old generated files and meta on regen
-# TODO: Use perlmagick et. al instead of convert/jhead..
 # BUG:  The naive handling of filenames breaks on special characters
 
 # BUG:  The naive handling of filenames breaks on special characters
 
-
 Lisencing
 -------------------------
 Copyright (c) 2010, Jon Langseth
 Lisencing
 -------------------------
 Copyright (c) 2010, Jon Langseth
index 2be36e90a7804791aa69ae9255943959e121fc87..91eb5c4d2990b7c08eabb38fdeca2a6e125b0882 100644 (file)
--- a/full.tpl
+++ b/full.tpl
@@ -1,11 +1,13 @@
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+<html xmlns="http://www.w3.org/1999/xhtml"> 
   <head>
     <title>%{title}</title>
     %{main_meta}
     %{navigation_script}
   <head>
     <title>%{title}</title>
     %{main_meta}
     %{navigation_script}
+    <meta http-equiv="Content-type" content="text/html;charset=UTF-9" /> 
+
   </head>
   </head>
-<body bgcolor=white>
-<center>
+<body>
 
 <h2>%{title}</h2>
 
 
 <h2>%{title}</h2>
 
@@ -44,7 +46,6 @@ Generated %{gallery_timestamp}
 
 %{navscript}
 
 
 %{navscript}
 
-</center>
 </body>
 </html>
 
 </body>
 </html>
 
index 437715406b91be2d8b80e1d2d63919822c88909e..15646fd2d9899d898dfd9fcc157d7ce7693de0b1 100644 (file)
--- a/index.php
+++ b/index.php
@@ -1,20 +1,9 @@
-<html>
-<head><title>plsgen-generated photoalbum.</title>
-
-<link rel='stylesheet' href='indexstyle.css' type='text/css' /> 
-
-</head>
-<body>
-<div id="wrapper">
-<div id="head">
-<h1>Photo albums!</h1>
-<a style="display: block; float: right;" href="rss.php"><img src="images/rss_icon.png" alt="RSS" border="0" /></a>
-<div id="head-link"><a href="http://example.com">Update index.php!</a>
-</div>
-</div>
-<div id="content">
-
 <?php 
 <?php 
+$pagetitle = "Example photoalbum.";
+$css_file = 'indexstyle.css';
+$parent_url = "http://example.com";
+$parent_linktext = "UPDATE index.php";
+$contact_address = "someone@example.com";
 
 //define the path as relative
 $path = "./";
 
 //define the path as relative
 $path = "./";
@@ -55,16 +44,40 @@ while ($file = readdir($dir_handle)) {
 closedir($dir_handle);
 
 krsort($album);
 closedir($dir_handle);
 
 krsort($album);
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+<html xmlns="http://www.w3.org/1999/xhtml"> 
+<head>
+<title><?=$pagetitle?></title>
+
+<link rel='stylesheet' href='<?=$css_file?>' type='text/css' /> 
+<meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
+
+</head>
+<body>
+<div id="wrapper">
+<div id="head">
+<h1><?=$pagetitle?></h1>
+<a style="display: block; float: right;" href="rss.php"><img src="images/rss_icon.png" alt="RSS" border="0" /></a>
+
+<div id="head-link"><a href="<?=$parent_url?>"><?=$parent_linktext?></a> 
+<br/>
+<a href="latest.php">Latest updates</a>
+</div>
+</div>
+<div id="content">
+
 
 
+<?php
 foreach ( $album as $key => $value ) {
        echo "<div class='album'>";
        echo "<div class='idxthumb'>";
 foreach ( $album as $key => $value ) {
        echo "<div class='album'>";
        echo "<div class='idxthumb'>";
-       echo "<a target=_blank href='" . $key . "'>";
+       echo "<a target='_blank' href='" . $key . "'>";
        echo $idximage[$key];
        echo "</a>";
        echo "</div>";
        echo "<div class='idxlink'>";
        echo $idximage[$key];
        echo "</a>";
        echo "</div>";
        echo "<div class='idxlink'>";
-       echo "<a target=_blank href='" . $key . "'>" . $key . "</a>\n";
+       echo "<a target='_blank' href='" . $key . "'>" . $key . "</a>\n";
        echo "</div>";
        echo "<div class='title'>$value</div>";
        echo "</div>";
        echo "</div>";
        echo "<div class='title'>$value</div>";
        echo "</div>";
@@ -73,7 +86,7 @@ foreach ( $album as $key => $value ) {
 </div>
 </div>
 <div style="font-family: sans; font-size: 7pt; color: #444; margin-top: 20px;">
 </div>
 </div>
 <div style="font-family: sans; font-size: 7pt; color: #444; margin-top: 20px;">
-Photo gallery index by Jon Langseth, generated using <a href="index.phps">index.php</a>
+<a href="http://wiki.defcon.no/projects/plsgen">plsgen : Perl Simple Gallery Generator</a>
 </div>
 </body>
 </html>
 </div>
 </body>
 </html>
index 3bd8bdbe2733fe07611568ec1189e71316e0fc2f..bfad7d7d041e4a43af824b95b708b793b8d932f8 100644 (file)
--- a/index.tpl
+++ b/index.tpl
@@ -1,8 +1,10 @@
-<html>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
+<html xmlns="http://www.w3.org/1999/xhtml"> 
   <head>
     <title>%{title}</title>
     %{main_meta}
     %{navigation_script}
   <head>
     <title>%{title}</title>
     %{main_meta}
     %{navigation_script}
+    <meta http-equiv="Content-type" content="text/html;charset=UTF-8" /> 
   </head>
 <body>
 
   </head>
 <body>
 
diff --git a/plsgen b/plsgen
index 323e5c34682be7be5217f6700206cebe6be9e5e7..585ff8dbc5805a66b4bb3e1b73e63e7bdb1f1b53 100755 (executable)
--- a/plsgen
+++ b/plsgen
@@ -7,10 +7,7 @@ use threads;
 use threads::shared;
 use strict;
 
 use threads::shared;
 use strict;
 
-# DONE: Config option for size of view/thumbnail
-# DONE: Config option to disable arrow-up navigation
-# DONE: Config option to disable image rescaling ?
-# DONE: Consider multithreading
+# DONE: Removed some default values in config, allowing empty options
 # TODO: Stripping of image suffix for HTML file w/config option?
 # TODO: Templating of EXIF
 # TODO: Priority/sorting of EXIF tags
 # TODO: Stripping of image suffix for HTML file w/config option?
 # TODO: Templating of EXIF
 # TODO: Priority/sorting of EXIF tags
@@ -142,8 +139,8 @@ for ( my $i = 1; $i <= $imagecount; $i++)
        else { $indexfile = "index" . $indexcount . ".html"; }
        my $navscript = gen_navscript( $previous, $next, $indexfile );
        my $position = $i . " of " . $imagecount;
        else { $indexfile = "index" . $indexcount . ".html"; }
        my $navscript = gen_navscript( $previous, $next, $indexfile );
        my $position = $i . " of " . $imagecount;
-       my $prev_text = "<a href='" . $previous . ".html'><img src='thumb/" . $previous . "' /></a>";
-       my $next_text = "<a href='" . $next . ".html'><img src='thumb/" . $next . "' /></a>";
+       my $prev_text = "<a href='" . $previous . ".html'><img src='thumb/" . $previous . "' alt='Previous image' /></a>";
+       my $next_text = "<a href='" . $next . ".html'><img src='thumb/" . $next . "' alt='Next image' /></a>";
        my $cur_index_text = "<a href='". $indexfile ."'>" . $idx_ret_text . "</a>";
        my $current_display = $current;
        $current_display = "view/" . $current unless $disable_rescale;
        my $cur_index_text = "<a href='". $indexfile ."'>" . $idx_ret_text . "</a>";
        my $current_display = $current;
        $current_display = "view/" . $current unless $disable_rescale;
@@ -221,7 +218,7 @@ for ( my $i = 1; $i <= $imagecount; $i++)
        close HTML;
 
 # - -   Append image thumbnail code to current index content
        close HTML;
 
 # - -   Append image thumbnail code to current index content
-       $thumbs .= $thumb_pre . "<a href='" . $current . ".html'><img src='thumb/" . $current . "' /></a>" . $thumb_post;
+       $thumbs .= $thumb_pre . "<a href='" . $current . ".html'><img src='thumb/" . $current . "' alt='View " . $current . "' /></a>" . $thumb_post;
        if ( $i % ($rows*$columns) == 0 )
        {
                $thumbs .= "</div>";
        if ( $i % ($rows*$columns) == 0 )
        {
                $thumbs .= "</div>";
@@ -423,7 +420,7 @@ sub get_config
                    CASE   => 1,
                    ERROR  => \&cfg_error,
                    GLOBAL => {
                    CASE   => 1,
                    ERROR  => \&cfg_error,
                    GLOBAL => {
-                       DEFAULT  => "<unset>",
+                       DEFAULT  => "<undef>",
                        ARGCOUNT => AppConfig::ARGCOUNT_ONE
                    },
                }
                        ARGCOUNT => AppConfig::ARGCOUNT_ONE
                    },
                }
@@ -462,21 +459,14 @@ sub get_config
        $cfg->disable_rescale(0);
 
        $cfg->define('thumb_pre');
        $cfg->disable_rescale(0);
 
        $cfg->define('thumb_pre');
-       $cfg->thumb_pre("<div class='thumb'>");
        $cfg->define('thumb_post');
        $cfg->define('thumb_post');
-       $cfg->thumb_post("</div>");
 
        $cfg->define('comment_pre');
 
        $cfg->define('comment_pre');
-       $cfg->comment_pre("<div id='comment'>");
        $cfg->define('comment_post');
        $cfg->define('comment_post');
-       $cfg->thumb_post("</div>");
 
        $cfg->define('idx_prev_text');
 
        $cfg->define('idx_prev_text');
-       $cfg->idx_prev_text("&larr; Back");
        $cfg->define('idx_next_text');
        $cfg->define('idx_next_text');
-       $cfg->idx_next_text("Next &rarr;");
        $cfg->define('idx_ret_text');
        $cfg->define('idx_ret_text');
-       $cfg->idx_ret_text("To index");
 
        $cfg->define('footer_tag');
        $cfg->footer_tag('plsgen : Perl Simple Gallery Generator ' . $version);
 
        $cfg->define('footer_tag');
        $cfg->footer_tag('plsgen : Perl Simple Gallery Generator ' . $version);
index 7436ef425628c253457df943f24b3e2ce62d9e1d..c1c418e457c24155c53bcbdb4de317f77e3f5630 100644 (file)
@@ -50,21 +50,25 @@ disable_rescale             = 0
 # HTML code to wrap each thumbnail with. The default allows simple
 # styling. If you wish to span this over multiple lines, use the
 # end-of-line continuation mark \
 # HTML code to wrap each thumbnail with. The default allows simple
 # styling. If you wish to span this over multiple lines, use the
 # end-of-line continuation mark \
+# To get empty content, comment out, or simply don't include these
 thumb_pre              = <div class='thumb'>
 thumb_post             = </div>
 
 # HTML code to wrap comments with, for both index and image
 # display. The default allows simple styling. If you wish to span
 # this over multiple lines, use the end-of-line continuation mark \
 thumb_pre              = <div class='thumb'>
 thumb_post             = </div>
 
 # HTML code to wrap comments with, for both index and image
 # display. The default allows simple styling. If you wish to span
 # this over multiple lines, use the end-of-line continuation mark \
+# To get empty content, comment out, or simply don't include these
 comment_pre            = <div id='comment'>
 comment_post           = </div>
 
 # Text-strings that can easily be replaced with more complex HTML.
 comment_pre            = <div id='comment'>
 comment_post           = </div>
 
 # Text-strings that can easily be replaced with more complex HTML.
+# To get empty content, comment out, or simply don't include these
 idx_prev_text          = &larr; Back
 idx_next_text          = Next &rarr;
 idx_ret_text           = To index
 
 # The Album generator tag can be overridden. This is commented
 # out in the sample, but included as an example.
 idx_prev_text          = &larr; Back
 idx_next_text          = Next &rarr;
 idx_ret_text           = To index
 
 # The Album generator tag can be overridden. This is commented
 # out in the sample, but included as an example.
+# This cannot be empty, but it can be set to a &nbsp; ;)
 #footer_tag            = plsgen : Perl Simple Gallery Generator
 
 #footer_tag            = plsgen : Perl Simple Gallery Generator
 
diff --git a/rss.php b/rss.php
index 21cfa0c2f4cab6efcf661faaf93b6fa48546e225..c4af866c1ead97aa4986d33b6144ac19a7a1e895 100644 (file)
--- a/rss.php
+++ b/rss.php
@@ -1,9 +1,9 @@
 <?php 
 
 <?php 
 
-$site_url = "http://photos.defcon.no";
-$stream_title = "photos.defcon.no gallerystream";
-$stream_description = "The latest entries in the photo galleries at defcon.no";
-$contact_address = "jon.langseth@lilug.no";
+$site_url = "http://site.example.com";
+$stream_title = "example.com photogallerystream";
+$stream_description = "The latest entries in a photo";
+$contact_address = "someone@example.com";
 
 $maxcount = 50;
 
 
 $maxcount = 50;
 
index a742622a26cad525550b04d641ff4f74845bdf0d..ae990d50c238868fcc4a0fda4ecbc55e50af1d3e 100644 (file)
--- a/style.css
+++ b/style.css
@@ -4,7 +4,7 @@ body {
        text-align: center;
 }
 a, a:visited {
        text-align: center;
 }
 a, a:visited {
-       color: wheat;
+       color: #F5DEB3;
        text-decoration: none;
        border: 0px;
 }
        text-decoration: none;
        border: 0px;
 }
@@ -36,13 +36,13 @@ a img { border: 0px; }
 
 #display {
        display: block;
 
 #display {
        display: block;
-       float: center;
 }
 
 div.thumbnails {
        clear: both;
        display: block;
 }
 }
 
 div.thumbnails {
        clear: both;
        display: block;
 }
+
 .thumb {
        width: 170px;
        height: 135px;
 .thumb {
        width: 170px;
        height: 135px;
@@ -50,13 +50,14 @@ div.thumbnails {
        padding: 0px;
         display: -moz-inline-stack;
        display: inline-block;
        padding: 0px;
         display: -moz-inline-stack;
        display: inline-block;
-        /* zoom: 1;*/
+        zoom: 1;
         *display: inline;
         _height: 135px;
 
        background-color: #2c2c29;
        vertical-align: top;
 }
         *display: inline;
         _height: 135px;
 
        background-color: #2c2c29;
        vertical-align: top;
 }
+
 .thumb img
 {
        background-color: #2c2c29;
 .thumb img
 {
        background-color: #2c2c29;
@@ -70,7 +71,7 @@ div.thumbnails {
 }
 .thumb a:hover img
 {
 }
 .thumb a:hover img
 {
-  border:1px solid #black;
+  border:1px solid black;
 }
 
 #exifdata {
 }
 
 #exifdata {
@@ -78,13 +79,15 @@ div.thumbnails {
        width: 450px;
        font-size: 8pt;
        font-family: sans;
        width: 450px;
        font-size: 8pt;
        font-family: sans;
+       margin-left: auto;
+       margin-right: auto;
 }
 tr.exifhead { background: #2c2c29; }
 tr.exiflight { background: #5c5c59; }
 tr.exifdark { background: #3c3c30;}
 td { 
 }
 tr.exifhead { background: #2c2c29; }
 tr.exiflight { background: #5c5c59; }
 tr.exifdark { background: #3c3c30;}
 td { 
-margin: 0px; 
-padding: 2px 0 2px 10px; 
+       margin: 0px; 
+       padding: 2px 0 2px 10px; 
 }
 
 #timestamp {
 }
 
 #timestamp {