From dc66e451a966e5ab320451c87ad912a741a71d4e Mon Sep 17 00:00:00 2001 From: Tomas Bzatek Date: Wed, 31 Dec 2008 19:29:50 +0100 Subject: Use image title as meta description Allow per-album meta tags --- generators.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'generators.c') diff --git a/generators.c b/generators.c index d26e4e7..6bcf637 100644 --- a/generators.c +++ b/generators.c @@ -374,18 +374,21 @@ write_html_album (TGallerySetup *setup, } if (strstr (b, "")) { s1 = g_strdup_printf ("\t\n", APP_VERSION); - if (setup->meta_author) { - s2 = g_strdup_printf ("%s\t\n", s1, setup->meta_author); + if (setup->meta_author || items->meta_author) { + s2 = g_strdup_printf ("%s\t\n", s1, + items->meta_author ? items->meta_author : setup->meta_author); g_free (s1); s1 = s2; } - if (setup->meta_description) { - s2 = g_strdup_printf ("%s\t\n", s1, setup->meta_description); + if (setup->meta_description || items->meta_description) { + s2 = g_strdup_printf ("%s\t\n", s1, + items->meta_description? items->meta_description : setup->meta_description); g_free (s1); s1 = s2; } - if (setup->meta_keywords) { - s2 = g_strdup_printf ("%s\t\n", s1, setup->meta_keywords); + if (setup->meta_keywords || items->meta_keywords) { + s2 = g_strdup_printf ("%s\t\n", s1, + items->meta_keywords ? items->meta_keywords : setup->meta_keywords); g_free (s1); s1 = s2; } @@ -596,6 +599,7 @@ write_html_image (TGallerySetup *setup, char *b; gboolean res; int level; + gboolean override_title_meta; fin = fopen (template_src, "r"); @@ -893,19 +897,25 @@ write_html_image (TGallerySetup *setup, g_free (s1); } if (strstr (b, "")) { + override_title_meta = setup->use_title_as_meta && title && (strlen (title) > 0); s1 = g_strdup_printf ("\t\n", APP_VERSION); - if (setup->meta_author) { - s2 = g_strdup_printf ("%s\t\t\n", s1, setup->meta_author); + if (setup->meta_author || parent_items->meta_author) { + s2 = g_strdup_printf ("%s\t\n", s1, + parent_items->meta_author ? parent_items->meta_author : setup->meta_author); g_free (s1); s1 = s2; } - if (setup->meta_description) { - s2 = g_strdup_printf ("%s\t\n", s1, setup->meta_description); + if (setup->meta_description || parent_items->meta_description || override_title_meta) { + s3 = override_title_meta ? g_markup_escape_text (title, -1) : NULL; + s2 = g_strdup_printf ("%s\t\n", s1, + override_title_meta ? s3 : (parent_items->meta_description ? parent_items->meta_description : setup->meta_description)); g_free (s1); + if (s3) g_free (s3); s1 = s2; } - if (setup->meta_keywords) { - s2 = g_strdup_printf ("%s\t\n", s1, setup->meta_keywords); + if ((setup->meta_keywords || parent_items->meta_keywords) && (! override_title_meta)) { + s2 = g_strdup_printf ("%s\t\n", s1, + parent_items->meta_keywords ? parent_items->meta_keywords : setup->meta_keywords); g_free (s1); s1 = s2; } -- cgit v1.2.3