- if (ctx.repo->readme) {
- html("<div id='summary'>");
- html_include(ctx.repo->readme);
- html("</div>");
+ char *slash, *tmp, *colon, *ref = 0;
+
+ if (!ctx.repo->readme)
+ return;
+
+ if (path) {
+ slash = strrchr(ctx.repo->readme, '/');
+ if (!slash) {
+ slash = strchr(ctx.repo->readme, ':');
+ if (!slash)
+ return;
+ }
+ tmp = xmalloc(slash - ctx.repo->readme + 1 + strlen(path) + 1);
+ strncpy(tmp, ctx.repo->readme, slash - ctx.repo->readme + 1);
+ strcpy(tmp + (slash - ctx.repo->readme + 1), path);
+ } else
+ tmp = ctx.repo->readme;
+ colon = strchr(tmp, ':');
+ if (colon && strlen(colon) > 1) {
+ *colon = '\0';
+ ref = tmp;
+ tmp = colon + 1;
+ while ((*tmp == '/' || *tmp == ':') && *tmp != '\0')
+ ++tmp;
+ if (!(*tmp))
+ return;