threads / patch / 32075

patchgitweb: add readme to overview page

Subject: [PATCH] gitweb: add readme to overview page

## tl;dr

3 messages between Nov 11, 2012 and Nov 30, 2012. Diffs are folded; open one to read it.

replies: 2people: 1as markdown or json

Heinrich Schuchardt· Nov 11, 2012, 15:32 UTC · lore

For repositories it is possible to maintain a README.html which will be shown on the summary page. This is not possible for the server root.

German law requires to provide contact data on the web server. This data could easily be entered in the overview page using a README.html.

Furthermore it is possible to put the repositories not directly into the root directory but into a subdirectory. Here also a README.html would be helpful to indicate what the subdirectory is about.

The patch introduces README.html functionality for the root directory and all subdirectories.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 gitweb/gitweb.perl |   12 ++++++++++++
 1 file changed, 12 insertions(+)
Show changes to gitweb/gitweb.perl +12 −0
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index 10ed9e5..30cd028 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -6369,6 +6369,18 @@ sub git_project_list {
 	}
 
 	git_project_search_form($searchtext, $search_use_regexp);
+    # If XSS prevention is on, we don't include README.html.
+    # TODO: Allow a readme in some safe format.
+	my $path = "/";
+	if (defined $project_filter) {
+	    $path .= $project_filter;
+	}
+    if (!$prevent_xss && -s "$projectroot$path/README.html") {
+        print "<div class=\"title\">readme</div>\n" .
+              "<div class=\"readme\">\n";
+        insert_file("$projectroot$path/README.html");
+        print "\n</div>\n"; # class="readme"
+    }
 	git_project_list_body(\@list, $order);
 	git_footer_html();
 }
-- 
1.7.10.4
Xypron· Nov 29, 2012, 22:30 UTC · re: Heinrich Schuchardt · lore

Re: [PATCH] gitweb: add readme to overview page

Hello Junio,

thank you for your comment in message <7vip9ak971.fsf@alter.siamese.dyndns.org> that message <1352652039-31453-1-git-send-email-xypron.glpk@gmx.de> lost the thread context.

As already described I would be happy if a README.html could be added to the overview page of gitweb.

Please, find below an updated patch. Compared to the first version of my patch it avoids a warning concerning doubled slashes in filenames and adds a subtitle "projects" between the README and the project list.

Best regards
Heinrich Schuchardt
Subject: [PATCH] gitweb: add readme to overview page

For repositories it is possible to maintain a README.html which will be shown on the summary page. This is not possible for the server root.

German law requires to provide contact data on the web server. This data could easily be entered in the overview page using a README.html.

Furthermore it is possible to put the repositories not directly into the root directory but into a subdirectory. Here also a README.html would be helpful to indicate what the subdirectory is about.

The patch introduces README.html functionality for the root directory and all subdirectories.

Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
---
 gitweb/gitweb.perl |   13 +++++++++++++
 1 file changed, 13 insertions(+)
Show changes to gitweb/gitweb.perl +13 −0
diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
index e8812fa..618b0d8 100755
--- a/gitweb/gitweb.perl
+++ b/gitweb/gitweb.perl
@@ -6368,6 +6368,19 @@ sub git_project_list {
 	}
 
 	git_project_search_form($searchtext, $search_use_regexp);
+	# If XSS prevention is on, we don't include README.html.
+	# TODO: Allow a readme in some safe format.
+	my $path = "";
+	if (defined $project_filter) {
+		$path = "/$project_filter";
+	}
+	if (!$prevent_xss && -s "$projectroot$path/README.html") {
+		print "<div class=\"title\">readme</div>\n" .
+		"<div class=\"readme\">\n";
+		insert_file("$projectroot$path/README.html");
+		print "\n</div>\n"; # class="readme"
+	}
+	print "<div class=\"title\">projects</div>\n";
 	git_project_list_body(\@list, $order);
 	git_footer_html();
 }
-- 
1.7.10.4
Xypron· Nov 30, 2012, 01:11 UTC · re: Xypron · lore

Re: [PATCH] gitweb: add readme to overview page

The following setting provides the same feature

# html text to include at home page $home_text = "indextext.html";

Sorry for the noise.
Best regards
Heinrich Schuchardt
On 29.11.2012 23:30, Xypron wrote:
Show 63 quoted lines
> Hello Junio,
> 
> thank you for your comment in message
> <7vip9ak971.fsf@alter.siamese.dyndns.org>
> that message <1352652039-31453-1-git-send-email-xypron.glpk@gmx.de>
> lost the thread context.
> 
> As already described I would be happy if a README.html could be added to
> the overview page of gitweb.
> 
> Please, find below an updated patch. Compared to the first version of my
> patch it avoids a warning concerning doubled slashes in filenames and adds
> a subtitle "projects" between the README and the project list.
> 
> Best regards
> 
> Heinrich Schuchardt
> 
> Subject: [PATCH] gitweb: add readme to overview page
> 
> For repositories it is possible to maintain a README.html which will
> be shown on the summary page. This is not possible for the server
> root.
> 
> German law requires to provide contact data on the web server. This
> data could easily be entered in the overview page using a README.html.
> 
> Furthermore it is possible to put the repositories not directly into
> the root directory but into a subdirectory. Here also a README.html
> would be helpful to indicate what the subdirectory is about.
> 
> The patch introduces README.html functionality for the root directory
> and all subdirectories.
> 
> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de>
> ---
>  gitweb/gitweb.perl |   13 +++++++++++++
>  1 file changed, 13 insertions(+)
> 
> diff --git a/gitweb/gitweb.perl b/gitweb/gitweb.perl
> index e8812fa..618b0d8 100755
> --- a/gitweb/gitweb.perl
> +++ b/gitweb/gitweb.perl
> @@ -6368,6 +6368,19 @@ sub git_project_list {
>  	}
>  
>  	git_project_search_form($searchtext, $search_use_regexp);
> +	# If XSS prevention is on, we don't include README.html.
> +	# TODO: Allow a readme in some safe format.
> +	my $path = "";
> +	if (defined $project_filter) {
> +		$path = "/$project_filter";
> +	}
> +	if (!$prevent_xss && -s "$projectroot$path/README.html") {
> +		print "<div class=\"title\">readme</div>\n" .
> +		"<div class=\"readme\">\n";
> +		insert_file("$projectroot$path/README.html");
> +		print "\n</div>\n"; # class="readme"
> +	}
> +	print "<div class=\"title\">projects</div>\n";
>  	git_project_list_body(\@list, $order);
>  	git_footer_html();
>  }

← back to recent threads