diff options
Diffstat (limited to 'generators.c')
| -rw-r--r-- | generators.c | 34 |
1 files changed, 22 insertions, 12 deletions
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, "<!-- $(CGG_META_TAGS) -->")) { s1 = g_strdup_printf ("\t<meta name=\"generator\" content=\"Cataract Gallery Generator v%s\" />\n", APP_VERSION); - if (setup->meta_author) { - s2 = g_strdup_printf ("%s\t<meta name=\"author\" content=\"%s\" />\n", s1, setup->meta_author); + if (setup->meta_author || items->meta_author) { + s2 = g_strdup_printf ("%s\t<meta name=\"author\" content=\"%s\" />\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<meta name=\"description\" content=\"%s\" />\n", s1, setup->meta_description); + if (setup->meta_description || items->meta_description) { + s2 = g_strdup_printf ("%s\t<meta name=\"description\" content=\"%s\" />\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<meta name=\"keywords\" content=\"%s\" />\n", s1, setup->meta_keywords); + if (setup->meta_keywords || items->meta_keywords) { + s2 = g_strdup_printf ("%s\t<meta name=\"keywords\" content=\"%s\" />\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, "<!-- $(CGG_META_TAGS) -->")) { + override_title_meta = setup->use_title_as_meta && title && (strlen (title) > 0); s1 = g_strdup_printf ("\t<meta name=\"generator\" content=\"Cataract Gallery Generator v%s\" />\n", APP_VERSION); - if (setup->meta_author) { - s2 = g_strdup_printf ("%s\t\t<meta name=\"author\" content=\"%s\" />\n", s1, setup->meta_author); + if (setup->meta_author || parent_items->meta_author) { + s2 = g_strdup_printf ("%s\t<meta name=\"author\" content=\"%s\" />\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<meta name=\"description\" content=\"%s\" />\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<meta name=\"description\" content=\"%s\" />\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<meta name=\"keywords\" content=\"%s\" />\n", s1, setup->meta_keywords); + if ((setup->meta_keywords || parent_items->meta_keywords) && (! override_title_meta)) { + s2 = g_strdup_printf ("%s\t<meta name=\"keywords\" content=\"%s\" />\n", s1, + parent_items->meta_keywords ? parent_items->meta_keywords : setup->meta_keywords); g_free (s1); s1 = s2; } |
