summaryrefslogtreecommitdiff
path: root/generators.c
diff options
context:
space:
mode:
Diffstat (limited to 'generators.c')
-rw-r--r--generators.c34
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;
}