summary refs log tree commit diff
diff options
context:
space:
mode:
authorLars Hjemli <hjemli@gmail.com>2007-11-11 21:57:21 +0100
committerLars Hjemli <hjemli@gmail.com>2007-11-11 21:57:21 +0100
commitd267d88c9cb1fb4a45120b86e410ab604626c6bb (patch)
tree55ee3a76da83a6272e446f5201928fe1753ea30d
parent1b7c5b2e0b918e9452694aace7c19194683989a8 (diff)
Add support for "robots" meta-tag
With this change, cgit will start to generate the "robots" meta-tag, using
a default value of "index, nofollow".

The default value can be modified with a new cgitrc variable, "robots".

Signed-off-by: Lars Hjemli <hjemli@gmail.com>
-rw-r--r--cgit.h1
-rw-r--r--cgitrc5
-rw-r--r--shared.c3
-rw-r--r--ui-shared.c2
4 files changed, 11 insertions, 0 deletions
diff --git a/cgit.h b/cgit.h
index 6291c58..ab0efeb 100644
--- a/cgit.h
+++ b/cgit.h
@@ -139,6 +139,7 @@ extern char *cgit_virtual_root;
 extern char *cgit_script_name;
 extern char *cgit_cache_root;
 extern char *cgit_repo_group;
+extern char *cgit_robots;
 
 extern int cgit_nocache;
 extern int cgit_snapshots;
diff --git a/cgitrc b/cgitrc
index 6363c9c..8c616e0 100644
--- a/cgitrc
+++ b/cgitrc
@@ -8,6 +8,11 @@
 #nocache=0
 
 
+## This variable can be used to override the default value for "robots"
+## meta-tag. If unset, the meta-tag isn't generated.
+#robots=index, nofollow
+
+
 ## Set allowed snapshot types by default. Can be overridden per repo
 # can be any combination of zip/tar.gz/tar.bz2/tar
 #snapshots=0
diff --git a/shared.c b/shared.c
index 8cb4808..fd8b1e3 100644
--- a/shared.c
+++ b/shared.c
@@ -26,6 +26,7 @@ char *cgit_virtual_root = NULL;
 char *cgit_script_name  = CGIT_SCRIPT_NAME;
 char *cgit_cache_root   = CGIT_CACHE_ROOT;
 char *cgit_repo_group   = NULL;
+char *cgit_robots       = "index, nofollow";
 
 int cgit_nocache               =  0;
 int cgit_snapshots             =  0;
@@ -197,6 +198,8 @@ void cgit_global_config_cb(const char *name, const char *value)
 		cgit_agefile = xstrdup(value);
 	else if (!strcmp(name, "renamelimit"))
 		cgit_renamelimit = atoi(value);
+	else if (!strcmp(name, "robots"))
+		cgit_robots = xstrdup(value);
 	else if (!strcmp(name, "repo.group"))
 		cgit_repo_group = xstrdup(value);
 	else if (!strcmp(name, "repo.url"))
diff --git a/ui-shared.c b/ui-shared.c
index 5192800..2f771da 100644
--- a/ui-shared.c
+++ b/ui-shared.c
@@ -364,6 +364,8 @@ void cgit_print_docstart(char *title, struct cacheitem *item)
 	html_txt(title);
 	html("</title>\n");
 	htmlf("<meta name='generator' content='cgit %s'/>\n", cgit_version);
+	if (cgit_robots && *cgit_robots)
+		htmlf("<meta name='robots' content='%s'/>\n", cgit_robots);
 	html("<link rel='stylesheet' type='text/css' href='");
 	html_attr(cgit_css);
 	html("'/>\n");