|
|
|
@ -6,6 +6,7 @@ package repo |
|
|
|
|
|
|
|
|
|
import ( |
|
|
|
|
"bytes" |
|
|
|
|
gocontext "context" |
|
|
|
|
"fmt" |
|
|
|
|
"io" |
|
|
|
|
"net/http" |
|
|
|
@ -645,22 +646,32 @@ func WikiPages(ctx *context.Context) { |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
entries, err := commit.ListEntries() |
|
|
|
|
treePath := "" // To support list sub folders' pages in the future
|
|
|
|
|
tree, err := commit.SubTree(treePath) |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.ServerError("SubTree", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
allEntries, err := tree.ListEntries() |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.ServerError("ListEntries", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
allEntries.CustomSort(base.NaturalSortLess) |
|
|
|
|
|
|
|
|
|
entries, _, err := allEntries.GetCommitsInfo(gocontext.Context(ctx), commit, treePath) |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.ServerError("GetCommitsInfo", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
pages := make([]PageMeta, 0, len(entries)) |
|
|
|
|
for _, entry := range entries { |
|
|
|
|
if !entry.IsRegular() { |
|
|
|
|
if !entry.Entry.IsRegular() { |
|
|
|
|
continue |
|
|
|
|
} |
|
|
|
|
c, err := wikiRepo.GetCommitByPath(entry.Name()) |
|
|
|
|
if err != nil { |
|
|
|
|
ctx.ServerError("GetCommit", err) |
|
|
|
|
return |
|
|
|
|
} |
|
|
|
|
wikiName, err := wiki_service.GitPathToWebPath(entry.Name()) |
|
|
|
|
wikiName, err := wiki_service.GitPathToWebPath(entry.Entry.Name()) |
|
|
|
|
if err != nil { |
|
|
|
|
if repo_model.IsErrWikiInvalidFileName(err) { |
|
|
|
|
continue |
|
|
|
@ -672,8 +683,8 @@ func WikiPages(ctx *context.Context) { |
|
|
|
|
pages = append(pages, PageMeta{ |
|
|
|
|
Name: displayName, |
|
|
|
|
SubURL: wiki_service.WebPathToURLPath(wikiName), |
|
|
|
|
GitEntryName: entry.Name(), |
|
|
|
|
UpdatedUnix: timeutil.TimeStamp(c.Author.When.Unix()), |
|
|
|
|
GitEntryName: entry.Entry.Name(), |
|
|
|
|
UpdatedUnix: timeutil.TimeStamp(entry.Commit.Author.When.Unix()), |
|
|
|
|
}) |
|
|
|
|
} |
|
|
|
|
ctx.Data["Pages"] = pages |
|
|
|
|