"GOT", but the "O" is a cute, smiling pufferfish. Index | Thread | Search

From:
Tracey Emery <tracey@traceyemery.net>
Subject:
Re: gotwebd: class-ify some CSS selector and close a couple of divs
To:
Omar Polo <op@omarpolo.com>
Cc:
gameoftrees@openbsd.org
Date:
Tue, 9 Aug 2022 07:47:54 -0600

Download raw body.

Thread
On Sat, Aug 06, 2022 at 06:41:24PM +0200, Omar Polo wrote:
> i noticed that gotwebd uses a lot of ids for element that are present
> multiple times in a page.  Diff below moves all such ids to classes
> (well, only the one that I've spotted so far.)  We could even consider
> to move everything from ids to classes to simplify the work in the
> future.
> 
> While here i've also deleted some unused css (or maybe i should keep
> it for the future?) and fixed two HTML errors: one extra div closed in
> one place and one missing div closed in another place.
> 
> I'm running my gotwebd with this applied and seems fine.
> 

ok.

> 
> diff /home/op/w/got
> commit - 14aa6a729393403e45e3c78a2224d1c323fe0c06
> path + /home/op/w/got
> blob - 4b9d5d8b3a18a88189f1c92d789387f654bd25ac
> file + gotwebd/files/htdocs/gotwebd/gotweb.css
> --- gotwebd/files/htdocs/gotwebd/gotweb.css
> +++ gotwebd/files/htdocs/gotwebd/gotweb.css
> @@ -60,12 +60,12 @@ body {
>  #logo {
>  	height: 50px;
>  }
> -#refs_str {
> +.refs_str {
>  	background-color: #243647;
>  	color: #ffffff;
>  	font-style: italic;
>  }
> -#dotted_line {
> +.dotted_line {
>  	clear: left;
>  	float: left;
>  	width: 100%;
> @@ -106,12 +106,6 @@ body {
>  	color: #ffffff;
>  	text-decoration: none;
>  }
> -#search {
> -	float: right;
> -	padding-right: 10px;
> -	padding-top: 5px;
> -	padding-bottom: 5px;
> -}
>  #got_link {
>  	float: left;
>  	padding-bottom: 10px;
> @@ -142,13 +136,13 @@ body {
>  	text-align: right;
>  	overflow: hidden;
>  }
> -#navs_wrapper {
> +.navs_wrapper {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  	background-color: #ced7e0;
>  }
> -#navs {
> +.navs {
>  	padding-left: 10px;
>  	padding-top: 2px;
>  	padding-bottom: 2px;
> @@ -225,7 +219,7 @@ body {
>  	white-space: pre-wrap;
>  }
>  
> -#header_commit_title {
> +.header_commit_title {
>  	clear: left;
>  	float: left;
>  	width: 6.5em;
> @@ -233,7 +227,7 @@ body {
>  	padding-top: 2px;
>  	padding-bottom: 2px;
>  }
> -#header_commit {
> +.header_commit {
>  	float: left;
>  	width: 72%;
>  	padding-top: 2px;
> @@ -253,7 +247,7 @@ body {
>  	padding-top: 2px;
>  	padding-bottom: 2px;
>  }
> -#header_author_title {
> +.header_author_title {
>  	clear: left;
>  	float: left;
>  	width: 6.5em;
> @@ -261,13 +255,13 @@ body {
>  	padding-top: 2px;
>  	padding-bottom: 2px;
>  }
> -#header_author {
> +.header_author {
>  	float: left;
>  	width: 72%;
>  	padding-top: 2px;
>  	padding-bottom: 2px;
>  }
> -#header_committer_title {
> +.header_age_title {
>  	clear: left;
>  	float: left;
>  	width: 6.5em;
> @@ -275,26 +269,12 @@ body {
>  	padding-top: 2px;
>  	padding-bottom: 2px;
>  }
> -#header_committer {
> +.header_age {
>  	float: left;
>  	width: 72%;
>  	padding-top: 2px;
>  	padding-bottom: 2px;
>  }
> -#header_age_title {
> -	clear: left;
> -	float: left;
> -	width: 6.5em;
> -	padding-left: 10px;
> -	padding-top: 2px;
> -	padding-bottom: 2px;
> -}
> -#header_age {
> -	float: left;
> -	width: 72%;
> -	padding-top: 2px;
> -	padding-bottom: 2px;
> -}
>  #header_commit_msg_title {
>  	clear: left;
>  	float: left;
> @@ -351,7 +331,7 @@ body {
>  	float: left;
>  	width: 100%;
>  }
> -#briefs_age {
> +.briefs_age {
>  	padding-left: 10px;
>  	padding-top: 5px;
>  	padding-bottom: 5px;
> @@ -359,7 +339,7 @@ body {
>  	width: 7.5em;
>  	overflow: auto;
>  }
> -#briefs_author {
> +.briefs_author {
>  	float: left;
>  	padding-top: 5px;
>  	padding-bottom: 5px;
> @@ -367,7 +347,7 @@ body {
>  	font-style: italic;
>  	overflow: auto;
>  }
> -#briefs_log {
> +.briefs_log {
>  	float: left;
>  	padding-left: 10px;
>  	padding-right: 10px;
> @@ -393,7 +373,7 @@ body {
>  	float: left;
>  	width: 100%;
>  }
> -#tag_age {
> +.tag_age {
>  	padding-left: 10px;
>  	padding-top: 5px;
>  	padding-bottom: 5px;
> @@ -401,7 +381,7 @@ body {
>  	width: 7.5em;
>  	overflow: auto;
>  }
> -#tags_log {
> +.tag_log {
>  	float: left;
>  	padding-left: 10px;
>  	padding-right: 10px;
> @@ -423,7 +403,7 @@ body {
>  	padding-bottom: 2px;
>  	width: 80%;
>  }
> -#tag {
> +.tag {
>  	float: left;
>  	width: 8.5em;
>  	font-style: italic;
> @@ -465,51 +445,43 @@ body {
>  	padding: 10px;
>  	overflow: hidden;
>  }
> -#index_wrapper {
> +.index_wrapper {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  }
> -#index_project {
> +.index_project {
>  	float: left;
>  	width: 20%;
>  	padding: 10px;
>  	overflow: hidden;
>  }
> -#index_project_description {
> +.index_project_description {
>  	float: left;
>  	width: 30%;
>  	padding: 10px;
>  	overflow: auto;
>  }
> -#index_project_owner {
> +.index_project_owner {
>  	float: left;
>  	width: 12%;
>  	padding: 10px;
>  	overflow: hidden;
>  }
> -#index_project_age {
> +.index_project_age {
>  	float: left;
>  	width: 14%;
>  	padding: 10px;
>  	overflow: visible;
>  }
> -#index_project a {
> +.index_project a {
>  	color: #444444;
>  	text-decoration: none;
>  }
> -#index_project a:hover {
> +.index_project a:hover {
>  	color: SteelBlue;
>  	text-decoration: none;
>  }
> -#index_project_navs a {
> -	color: #444444;
> -	text-decoration: none;
> -}
> -#index_project_navs a:hover {
> -	color: SteelBlue;
> -	text-decoration: none;
> -}
>  #index_next a {
>  	color: #444444;
>  	text-decoration: none;
> @@ -527,45 +499,41 @@ body {
>  	text-decoration: none;
>  }
>  
> -#commits_title_wrapper {
> +.commits_title_wrapper {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  	background-color: LightSlateGray;
>  	color: #ffffff;
>  }
> -#commits_title {
> +.commits_title {
>  	padding-left: 10px;
>  	padding-top: 5px;
>  	padding-bottom: 5px;
>  }
> -#commits_content {
> +.commits_content {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  }
> -#commits_header_wrapper {
> +.commits_header_wrapper {
>  	float: left;
>  	background-color: #f5fcfb;
>  	width: 100%;
>  }
> -#commits_header {
> +.commits_header {
>  	float: left;
>  	padding-top: 5px;
>  	padding-bottom: 2px;
>  	width: 80%;
>  }
> -#commit {
> +.commit {
>  	clear: left;
>  	float: left;
>  	padding-left: 20px;
>  	padding-bottom: 20px;
>  	white-space: pre-wrap;
>  }
> -#commits_line {
> -	clear: left;
> -	float: left;
> -}
>  
>  #blame_title_wrapper {
>  	clear: left;
> @@ -605,32 +573,32 @@ body {
>  	white-space: pre;
>  	overflow: auto;
>  }
> -#blame_wrapper {
> +.blame_wrapper {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  }
> -#blame_number {
> +.blame_number {
>  	float: left;
>  	width: 6em;
>  	overflow: hidden;
>  }
> -#blame_hash {
> +.blame_hash {
>  	float: left;
>  	width: 6em;
>  	overflow: auto;
>  }
> -#blame_date {
> +.blame_date {
>  	float: left;
>  	width: 7em;
>  	overflow: auto;
>  }
> -#blame_author {
> +.blame_author {
>  	float: left;
>  	width: 6em;
>  	overflow: hidden;
>  }
> -#blame_code {
> +.blame_code {
>  	float:left;
>  	width: 50%;
>  	overflow: visible;
> @@ -674,27 +642,22 @@ body {
>  	margin-bottom: 20px;
>  	font-family: monospace;
>  }
> -#tree_wrapper {
> +.tree_wrapper {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  }
> -#tree_line {
> +.tree_line {
>  	clear: left;
>  	float: left;
>  	width: 20em;
>  	padding: 1px;
>  }
> -#tree_line_blank {
> +.tree_line_blank {
>  	float: left;
>  	padding: 1px;
>  	width: 9.5em;
>  }
> -#tree_line_navs {
> -	float: left;
> -	text-align: right;
> -	padding: 1px;
> -}
>  
>  #diff_title_wrapper {
>  	clear: left;
> @@ -733,7 +696,7 @@ body {
>  	font-family: monospace;
>  	white-space: pre;
>  }
> -#diff_line {
> +.diff_line {
>  	clear: left;
>  	float: left;
>  }
> @@ -763,12 +726,12 @@ body {
>  	width: 100%;
>  }
>  
> -#branches_wrapper {
> +.branches_wrapper {
>  	clear: left;
>  	float: left;
>  	width: 100%;
>  }
> -#branches_age {
> +.branches_age {
>  	padding-left: 10px;
>  	padding-top: 5px;
>  	padding-bottom: 5px;
> @@ -776,7 +739,7 @@ body {
>  	width: 7.5em;
>  	overflow: auto;
>  }
> -#branches_space {
> +.branches_space {
>  	padding-left: 10px;
>  	padding-top: 5px;
>  	padding-bottom: 5px;
> @@ -784,7 +747,7 @@ body {
>  	width: 8.5em;
>  	overflow: auto;
>  }
> -#branch {
> +.branch {
>  	float: left;
>  	padding-right: 10px;
>  	padding-top: 5px;
> blob - 2ae01968126f6f9afdd84baa6e5766e042c53a25
> file + gotwebd/got_operations.c
> --- gotwebd/got_operations.c
> +++ gotwebd/got_operations.c
> @@ -947,10 +947,10 @@ got_output_repo_tree(struct request *c)
>  			}
>  
>  			if (fcgi_gen_response(c,
> -			    "<div id='tree_wrapper'>\n") == -1)
> +			    "<div class='tree_wrapper'>\n") == -1)
>  			goto done;
>  
> -			if (fcgi_gen_response(c, "<div id='tree_line' "
> +			if (fcgi_gen_response(c, "<div class='tree_line' "
>  			    "class='") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, class) == -1)
> @@ -989,7 +989,7 @@ got_output_repo_tree(struct request *c)
>  			if (fcgi_gen_response(c, "</div>\n") == -1)
>  				goto done;
>  
> -			if (fcgi_gen_response(c, "<div id='tree_line_blank' "
> +			if (fcgi_gen_response(c, "<div class='tree_line_blank' "
>  			    "class='") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, class) == -1)
> @@ -1013,9 +1013,9 @@ got_output_repo_tree(struct request *c)
>  			}
>  
>  			if (fcgi_gen_response(c,
> -			    "<div id='tree_wrapper'>\n") == -1)
> +			    "<div class='tree_wrapper'>\n") == -1)
>  				goto done;
> -			if (fcgi_gen_response(c, "<div id='tree_line' "
> +			if (fcgi_gen_response(c, "<div class='tree_line' "
>  			    "class='") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, class) == -1)
> @@ -1066,7 +1066,7 @@ got_output_repo_tree(struct request *c)
>  			if (fcgi_gen_response(c, "</div>\n") == -1)
>  				goto done;
>  
> -			if (fcgi_gen_response(c, "<div id='tree_line_blank' "
> +			if (fcgi_gen_response(c, "<div class='tree_line_blank' "
>  			    "class='") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, class) == -1)
> @@ -1400,9 +1400,9 @@ got_gotweb_blame_cb(void *arg, int nlines, int lineno,
>  		if (nl)
>  			*nl = '\0';
>  
> -		if (fcgi_gen_response(c, "<div id='blame_wrapper'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='blame_wrapper'>") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='blame_number'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='blame_number'>") == -1)
>  			goto done;
>  		if (snprintf(out_buff, strlen(out_buff), "%.*d", a->nlines_prec,
>  		    a->lineno_cur) < 0)
> @@ -1412,7 +1412,7 @@ got_gotweb_blame_cb(void *arg, int nlines, int lineno,
>  		if (fcgi_gen_response(c, "</div>") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='blame_hash'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='blame_hash'>") == -1)
>  			goto done;
>  
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
> @@ -1436,21 +1436,21 @@ got_gotweb_blame_cb(void *arg, int nlines, int lineno,
>  		if (fcgi_gen_response(c, "</a></div>") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='blame_date'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='blame_date'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, bline->datebuf) == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='blame_author'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='blame_author'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, committer) == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='blame_code'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='blame_code'>") == -1)
>  			goto done;
>  		err = gotweb_escape_html(&eline, line);
>  		if (err)
> @@ -1806,7 +1806,7 @@ got_output_repo_diff(struct request *c)
>  				goto done;
>  			}
>  		}
> -		if (fcgi_gen_response(c, "<div id='diff_line' class='") == -1)
> +		if (fcgi_gen_response(c, "<div class='diff_line' class='") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, color ? color : "") == -1)
>  			goto done;
> blob - 20fd0e5d226524aa6c41eb30f31b5fddcc38ecdb
> file + gotwebd/gotweb.c
> --- gotwebd/gotweb.c
> +++ gotwebd/gotweb.c
> @@ -1128,9 +1128,9 @@ gotweb_render_index(struct request *c)
>  render:
>  		d_disp++;
>  		t->prev_disp++;
> -		if (fcgi_gen_response(c, "<div id='index_wrapper'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='index_wrapper'>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='index_project'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='index_project'>") == -1)
>  			goto done;
>  
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
> @@ -1153,7 +1153,7 @@ render:
>  
>  		if (srv->show_repo_description) {
>  			if (fcgi_gen_response(c,
> -			    "<div id='index_project_description'>\n") == -1)
> +			    "<div class='index_project_description'>\n") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, repo_dir->description) == -1)
>  				goto done;
> @@ -1163,7 +1163,7 @@ render:
>  
>  		if (srv->show_repo_owner) {
>  			if (fcgi_gen_response(c,
> -			    "<div id='index_project_owner'>") == -1)
> +			    "<div class='index_project_owner'>") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, repo_dir->owner) == -1)
>  				goto done;
> @@ -1173,7 +1173,7 @@ render:
>  
>  		if (srv->show_repo_age) {
>  			if (fcgi_gen_response(c,
> -			    "<div id='index_project_age'>") == -1)
> +			    "<div class='index_project_age'>") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, repo_dir->age) == -1)
>  				goto done;
> @@ -1181,9 +1181,9 @@ render:
>  				goto done;
>  		}
>  
> -		if (fcgi_gen_response(c, "<div id='navs_wrapper'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs_wrapper'>") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='navs'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs'>") == -1)
>  			goto done;;
>  
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
> @@ -1264,7 +1264,7 @@ render:
>  		if (fcgi_gen_response(c, "</div>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c,
> -		    "<div id='dotted_line'></div>\n") == -1)
> +		    "<div class='dotted_line'></div>\n") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
> @@ -1332,10 +1332,10 @@ gotweb_render_blame(struct request *c)
>  	if (fcgi_gen_response(c, "<div id='blame_header'>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_age_title'>Date:"
> +	if (fcgi_gen_response(c, "<div class='header_age_title'>Date:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_age'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_age'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, age ? age : "") == -1)
>  		goto done;
> @@ -1357,7 +1357,7 @@ gotweb_render_blame(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='dotted_line'></div>\n") == -1)
> +	if (fcgi_gen_response(c, "<div class='dotted_line'></div>\n") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "<div id='blame'>\n") == -1)
>  		goto done;
> @@ -1407,14 +1407,14 @@ gotweb_render_briefs(struct request *c)
>  		error = gotweb_get_time_str(&age, rc->committer_time, TM_DIFF);
>  		if (error)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='briefs_age'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='briefs_age'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, age ? age : "") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='briefs_author'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='briefs_author'>") == -1)
>  			goto done;
>  		smallerthan = strchr(rc->author, '<');
>  		if (smallerthan)
> @@ -1424,7 +1424,7 @@ gotweb_render_briefs(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='briefs_log'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='briefs_log'>") == -1)
>  			goto done;
>  		newline = strchr(rc->commit_msg, '\n');
>  		if (newline)
> @@ -1454,7 +1454,7 @@ gotweb_render_briefs(struct request *c)
>  			goto done;
>  		if (rc->refs_str) {
>  			if (fcgi_gen_response(c,
> -			    " <span id='refs_str'>(") == -1)
> +			    " <span class='refs_str'>(") == -1)
>  				goto done;
>  			if (fcgi_gen_response(c, rc->refs_str) == -1)
>  				goto done;
> @@ -1464,9 +1464,9 @@ gotweb_render_briefs(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='navs_wrapper'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs_wrapper'>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='navs'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
>  			goto done;
> @@ -1521,7 +1521,7 @@ gotweb_render_briefs(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c,
> -		    "<div id='dotted_line'></div>\n") == -1)
> +		    "<div class='dotted_line'></div>\n") == -1)
>  			goto done;
>  
>  		free(age);
> @@ -1551,15 +1551,15 @@ gotweb_render_commits(struct request *c)
>  	char *age = NULL, *author = NULL;
>  	/* int commit_found = 0; */
>  
> -	if (fcgi_gen_response(c, "<div id='commits_title_wrapper'>\n") == -1)
> +	if (fcgi_gen_response(c, "<div class='commits_title_wrapper'>\n") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c,
> -	    "<div id='commits_title'>Commits</div>\n") == -1)
> +	    "<div class='commits_title'>Commits</div>\n") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='commits_content'>\n") == -1)
> +	if (fcgi_gen_response(c, "<div class='commits_content'>\n") == -1)
>  		goto done;
>  
>  	error = got_get_repo_commits(c, srv->max_commits_display);
> @@ -1575,36 +1575,36 @@ gotweb_render_commits(struct request *c)
>  			goto done;
>  
>  		if (fcgi_gen_response(c,
> -		    "<div id='commits_header_wrapper'>\n") == -1)
> +		    "<div class='commits_header_wrapper'>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='commits_header'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='commits_header'>\n") == -1)
>  			goto done;
>  
>  
> -		if (fcgi_gen_response(c, "<div id='header_commit_title'>Commit:"
> +		if (fcgi_gen_response(c, "<div class='header_commit_title'>Commit:"
>  		    "</div>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='header_commit'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='header_commit'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, rc->commit_id) == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='header_author_title'>Author:"
> +		if (fcgi_gen_response(c, "<div class='header_author_title'>Author:"
>  		    "</div>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='header_author'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='header_author'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, author ? author : "") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='header_age_title'>Date:"
> +		if (fcgi_gen_response(c, "<div class='header_age_title'>Date:"
>  		    "</div>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='header_age'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='header_age'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, age ? age : "") == -1)
>  			goto done;
> @@ -1617,9 +1617,9 @@ gotweb_render_commits(struct request *c)
>  			goto done;
>  
>  		if (fcgi_gen_response(c,
> -		    "<div id='dotted_line'></div>\n") == -1)
> +		    "<div class='dotted_line'></div>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='commit'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='commit'>\n") == -1)
>  			goto done;
>  
>  		if (fcgi_gen_response(c, rc->commit_msg) == -1)
> @@ -1630,9 +1630,9 @@ gotweb_render_commits(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='navs_wrapper'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs_wrapper'>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='navs'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
>  			goto done;
> @@ -1679,7 +1679,7 @@ gotweb_render_commits(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c,
> -		    "<div id='dotted_line'></div>\n") == -1)
> +		    "<div class='dotted_line'></div>\n") == -1)
>  			goto done;
>  		free(age);
>  		age = NULL;
> @@ -1694,7 +1694,6 @@ gotweb_render_commits(struct request *c)
>  	}
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
> -	fcgi_gen_response(c, "</div>\n");
>  done:
>  	free(age);
>  	return error;
> @@ -1751,24 +1750,24 @@ gotweb_render_branches(struct request *c)
>  		if (strncmp(refname, "refs/heads/", 11) == 0)
>  			refname += 11;
>  
> -		if (fcgi_gen_response(c, "<div id='branches_wrapper'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='branches_wrapper'>") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='branches_age'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='branches_age'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, age ? age : "") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='branches_space'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='branches_space'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "&nbsp;") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='branch'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='branch'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
>  			goto done;
> @@ -1791,9 +1790,9 @@ gotweb_render_branches(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='navs_wrapper'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs_wrapper'>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='navs'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs'>") == -1)
>  			goto done;
>  
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
> @@ -1865,9 +1864,13 @@ gotweb_render_branches(struct request *c)
>  			goto done;
>  
>  		if (fcgi_gen_response(c,
> -		    "<div id='dotted_line'></div>\n") == -1)
> +		    "<div class='dotted_line'></div>\n") == -1)
>  			goto done;
>  
> +		/* branches_wrapper */
> +		if (fcgi_gen_response(c, "</div>\n") == -1)
> +			goto done;
> +
>  		free(age);
>  		age = NULL;
>  
> @@ -1920,10 +1923,10 @@ gotweb_render_tree(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_age_title'>Date:"
> +	if (fcgi_gen_response(c, "<div class='header_age_title'>Date:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_age'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_age'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, age ? age : "") == -1)
>  		goto done;
> @@ -1945,7 +1948,7 @@ gotweb_render_tree(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='dotted_line'></div>\n") == -1)
> +	if (fcgi_gen_response(c, "<div class='dotted_line'></div>\n") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "<div id='tree'>\n") == -1)
>  		goto done;
> @@ -2010,10 +2013,10 @@ gotweb_render_diff(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_commit_title'>Commit:"
> +	if (fcgi_gen_response(c, "<div class='header_commit_title'>Commit:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_commit'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_commit'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, rc->commit_id) == -1)
>  		goto done;
> @@ -2030,20 +2033,20 @@ gotweb_render_diff(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_author_title'>Author:"
> +	if (fcgi_gen_response(c, "<div class='header_author_title'>Author:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_author'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_author'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, author ? author : "") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_age_title'>Date:"
> +	if (fcgi_gen_response(c, "<div class='header_age_title'>Date:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_age'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_age'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, age ? age : "") == -1)
>  		goto done;
> @@ -2064,7 +2067,7 @@ gotweb_render_diff(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='dotted_line'></div>\n") == -1)
> +	if (fcgi_gen_response(c, "<div class='dotted_line'></div>\n") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "<div id='diff'>\n") == -1)
>  		goto done;
> @@ -2208,10 +2211,10 @@ gotweb_render_tag(struct request *c)
>  	if (fcgi_gen_response(c, "<div id='tag_header'>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_commit_title'>Commit:"
> +	if (fcgi_gen_response(c, "<div class='header_commit_title'>Commit:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_commit'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_commit'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, rt->commit_id) == -1)
>  		goto done;
> @@ -2219,7 +2222,7 @@ gotweb_render_tag(struct request *c)
>  	if (strncmp(rt->tag_name, "refs/", 5) == 0)
>  		rt->tag_name += 5;
>  
> -	if (fcgi_gen_response(c, " <span id='refs_str'>(") == -1)
> +	if (fcgi_gen_response(c, " <span class='refs_str'>(") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, rt->tag_name) == -1)
>  		goto done;
> @@ -2229,20 +2232,20 @@ gotweb_render_tag(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_author_title'>Tagger:"
> +	if (fcgi_gen_response(c, "<div class='header_author_title'>Tagger:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_author'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_author'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, author ? author : "") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='header_age_title'>Date:"
> +	if (fcgi_gen_response(c, "<div class='header_age_title'>Date:"
>  	    "</div>\n") == -1)
>  		goto done;
> -	if (fcgi_gen_response(c, "<div id='header_age'>") == -1)
> +	if (fcgi_gen_response(c, "<div class='header_age'>") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, age ? age : "") == -1)
>  		goto done;
> @@ -2261,7 +2264,7 @@ gotweb_render_tag(struct request *c)
>  	if (fcgi_gen_response(c, "</div>\n") == -1)
>  		goto done;
>  
> -	if (fcgi_gen_response(c, "<div id='dotted_line'></div>\n") == -1)
> +	if (fcgi_gen_response(c, "<div class='dotted_line'></div>\n") == -1)
>  		goto done;
>  	if (fcgi_gen_response(c, "<div id='tag_commit'>\n") == -1)
>  		goto done;
> @@ -2332,14 +2335,14 @@ gotweb_render_tags(struct request *c)
>  		error = gotweb_get_time_str(&age, rt->tagger_time, TM_DIFF);
>  		if (error)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='tag_age'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='tag_age'>") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, age ? age : "") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='tag'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='tag'>") == -1)
>  			goto done;
>  		if (strncmp(rt->tag_name, "refs/tags/", 10) == 0)
>  			rt->tag_name += 10;
> @@ -2348,7 +2351,7 @@ gotweb_render_tags(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='tags_log'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='tag_log'>") == -1)
>  			goto done;
>  		if (rt->tag_commit != NULL) {
>  			newline = strchr(rt->tag_commit, '\n');
> @@ -2378,9 +2381,9 @@ gotweb_render_tags(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  
> -		if (fcgi_gen_response(c, "<div id='navs_wrapper'>\n") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs_wrapper'>\n") == -1)
>  			goto done;
> -		if (fcgi_gen_response(c, "<div id='navs'>") == -1)
> +		if (fcgi_gen_response(c, "<div class='navs'>") == -1)
>  			goto done;
>  
>  		if (fcgi_gen_response(c, "<a href='?index_page=") == -1)
> @@ -2451,7 +2454,7 @@ gotweb_render_tags(struct request *c)
>  		if (fcgi_gen_response(c, "</div>\n") == -1)
>  			goto done;
>  		if (fcgi_gen_response(c,
> -		    "<div id='dotted_line'></div>\n") == -1)
> +		    "<div class='dotted_line'></div>\n") == -1)
>  			goto done;
>  
>  		free(age);

-- 

Tracey Emery