summaryrefslogtreecommitdiff
path: root/src/generators.c
diff options
context:
space:
mode:
authorTomas Bzatek <tbzatek@users.sourceforge.net>2009-03-14 14:09:11 +0100
committerTomas Bzatek <tbzatek@users.sourceforge.net>2009-03-14 14:09:11 +0100
commit9514d8f844ada0b8a0b2450973374ee2ecd7b6b7 (patch)
tree045dd6cd66aa5609eb9524ac48803c4e5f5c7740 /src/generators.c
parentf37ddb3c6f7f903fd77935b7a7aefe11cbe00831 (diff)
downloadcataract-9514d8f844ada0b8a0b2450973374ee2ecd7b6b7.tar.xz
Support for common supportfiles root
Diffstat (limited to 'src/generators.c')
-rw-r--r--src/generators.c42
1 files changed, 35 insertions, 7 deletions
diff --git a/src/generators.c b/src/generators.c
index 66ade6c..a755a45 100644
--- a/src/generators.c
+++ b/src/generators.c
@@ -291,7 +291,7 @@ write_html_album (TGallerySetup *setup,
replace_table_add_key (global_replace_table, "FOOTNOTE", items->footnote);
replace_table_add_key (global_replace_table, "FOOTER", setup->footer);
- /* Navigation bar */
+ /* Navigation bar (NOTE: 'int level' is used below + favicon) */
s1 = g_strdup (items->ID);
old_parent_item_index = items->parent_item_index + 1;
parent = items->parent_index;
@@ -330,6 +330,11 @@ write_html_album (TGallerySetup *setup,
replace_table_add_key (global_replace_table, "NAV_BAR", s1);
g_free (s1);
+ /* Supportfiles path */
+ s1 = make_string ("../", level - 1);
+ replace_table_add_key (global_replace_table, "TEMPLATES_PATH", setup->support_files_use_common_root ? s1 : "");
+ free (s1);
+
/* META tags */
s1 = g_strdup_printf ("\t<meta name=\"generator\" content=\"Cataract Gallery Generator v%s\" />\n", VERSION);
if (setup->meta_author || items->meta_author) {
@@ -357,11 +362,13 @@ write_html_album (TGallerySetup *setup,
s1 = s2;
}
if (setup->favicon_file && strlen (setup->favicon_file) > 0) {
+ s3 = make_string ("../", level - 1);
if (setup->favicon_type)
- s2 = g_strdup_printf ("%s\t<link rel=\"icon\" type=\"%s\" href=\"%s\" />\n", s1, setup->favicon_type, setup->favicon_file);
+ s2 = g_strdup_printf ("%s\t<link rel=\"icon\" type=\"%s\" href=\"%s%s\" />\n", s1, setup->favicon_type, setup->support_files_use_common_root ? s3 : "", setup->favicon_file);
else
- s2 = g_strdup_printf ("%s\t<link rel=\"icon\" href=\"%s\" />\n", s1, setup->favicon_file);
+ s2 = g_strdup_printf ("%s\t<link rel=\"icon\" href=\"%s%s\" />\n", s1, setup->support_files_use_common_root ? s3 : "", setup->favicon_file);
g_free (s1);
+ free (s3);
s1 = s2;
}
replace_table_add_key (global_replace_table, "CGG_META_TAGS", s1);
@@ -721,7 +728,7 @@ write_html_image (TGallerySetup *setup,
replace_table_add_key_printf (replace_table, "IMG_SRC_FULL", "%s/%s", IMG_ORIG_DIR, imgname);
replace_table_add_key (replace_table, "IMG_SRC_PRELOAD", preload_imgname ? preload_imgname : "");
- /* Navigation bar */
+ /* Navigation bar (NOTE: 'int level' is used below + favicon) */
s1 = g_strdup (imgname);
parent = parent_items;
old_parent_item_index = -1;
@@ -748,6 +755,11 @@ write_html_image (TGallerySetup *setup,
replace_table_add_key (replace_table, "NAV_BAR", s1);
g_free (s1);
+ /* Supportfiles path */
+ s1 = make_string ("../", level - 1);
+ replace_table_add_key (replace_table, "TEMPLATES_PATH", setup->support_files_use_common_root ? s1 : "");
+ free (s1);
+
/* EXIF values */
replace_table_add_key (replace_table, "EXIF_ISO", exif->iso ? exif->iso : "??");
replace_table_add_key (replace_table, "EXIF_TIME", exif->exposure ? exif->exposure : "??");
@@ -814,10 +826,11 @@ write_html_image (TGallerySetup *setup,
s1 = s2;
}
if (setup->favicon_file && strlen (setup->favicon_file) > 0) {
+ s3 = make_string ("../", level - 1);
if (setup->favicon_type)
- s2 = g_strdup_printf ("%s\t<link rel=\"icon\" type=\"%s\" href=\"%s\" />\n", s1, setup->favicon_type, setup->favicon_file);
+ s2 = g_strdup_printf ("%s\t<link rel=\"icon\" type=\"%s\" href=\"%s%s\" />\n", s1, setup->favicon_type, setup->support_files_use_common_root ? s3 : "", setup->favicon_file);
else
- s2 = g_strdup_printf ("%s\t<link rel=\"icon\" href=\"%s\" />\n", s1, setup->favicon_file);
+ s2 = g_strdup_printf ("%s\t<link rel=\"icon\" href=\"%s%s\" />\n", s1, setup->support_files_use_common_root ? s3 : "", setup->favicon_file);
g_free (s1);
s1 = s2;
}
@@ -986,7 +999,22 @@ build_tree (TGallerySetup *setup,
items->parent_item_index = parent_item_index;
/* Copy support files */
- mirror_files (setup, setup->template_files, setup->real_templates_dir, dst_dir, "Copying template files: ");
+ if (! setup->support_files_use_common_root || parent_index == NULL) {
+ /* copy only if we're in root level or old-style is active */
+ mirror_files (setup, setup->template_files, setup->real_templates_dir, dst_dir, "Copying template files: ");
+
+ /* favicon */
+ if (setup->favicon_file && strlen (setup->favicon_file) > 0) {
+ if (setup->verbose) printf ("Copying favicon: %s\n", setup->favicon_file);
+ s3 = g_path_get_dirname (setup->setup_xml_path);
+ s1 = g_strconcat (s3, "/", setup->favicon_file, NULL);
+ s2 = g_strconcat (dst_dir, "/", setup->favicon_file, NULL);
+ copy_file (s1, s2);
+ g_free (s1);
+ g_free (s2);
+ g_free (s3);
+ }
+ }
/* Prepare target thumbnail directory */
thumb_dir = g_strconcat (dst_dir, "/", THUMBNAIL_DIR, NULL);