Skip to content

Commit 6e012d9

Browse files
committed
Fix bug of render HTML in sub directory
1 parent d980996 commit 6e012d9

File tree

5 files changed

+28
-28
lines changed

5 files changed

+28
-28
lines changed

modules/csv/csv.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ func CreateReaderAndDetermineDelimiter(ctx *markup.RenderContext, rd io.Reader)
5454
func determineDelimiter(ctx *markup.RenderContext, data []byte) rune {
5555
extension := ".csv"
5656
if ctx != nil {
57-
extension = strings.ToLower(filepath.Ext(ctx.Filename))
57+
extension = strings.ToLower(filepath.Ext(ctx.RelativePath))
5858
}
5959

6060
var delimiter rune

modules/markup/renderer.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ func Init() {
3737
// RenderContext represents a render context
3838
type RenderContext struct {
3939
Ctx context.Context
40-
Filename string
40+
RelativePath string // relative path from tree root of the branch
4141
Type string
4242
IsUncyclo bool
4343
URLPrefix string
@@ -116,7 +116,7 @@ func GetRendererByType(tp string) Renderer {
116116
func Render(ctx *RenderContext, input io.Reader, output io.Writer) error {
117117
if ctx.Type != "" {
118118
return renderByType(ctx, input, output)
119-
} else if ctx.Filename != "" {
119+
} else if ctx.RelativePath != "" {
120120
return renderFile(ctx, input, output)
121121
}
122122
return errors.New("Render options both filename and type missing")
@@ -144,7 +144,7 @@ onload="this.height=ifd.document.body.scrollHeight" width="100%%" scrolling="no"
144144
ctx.Metas["user"],
145145
ctx.Metas["repo"],
146146
ctx.Metas["BranchNameSubURL"],
147-
url.PathEscape(ctx.Filename),
147+
url.PathEscape(ctx.RelativePath),
148148
))
149149
return err
150150
}
@@ -225,7 +225,7 @@ func (err ErrUnsupportedRenderExtension) Error() string {
225225
}
226226

227227
func renderFile(ctx *RenderContext, input io.Reader, output io.Writer) error {
228-
extension := strings.ToLower(filepath.Ext(ctx.Filename))
228+
extension := strings.ToLower(filepath.Ext(ctx.RelativePath))
229229
if renderer, ok := extRenderers[extension]; ok {
230230
if renderer.DisplayInIFrame() && ctx.UseIframe {
231231
return renderIFrame(ctx, renderer, input, output)

routers/web/repo/compare.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -137,7 +137,7 @@ func setCsvCompareContext(ctx *context.Context) {
137137
return csvReader, reader, err
138138
}
139139

140-
baseReader, baseBlobCloser, err := csvReaderFromCommit(&markup.RenderContext{Ctx: ctx, Filename: diffFile.OldName}, baseCommit)
140+
baseReader, baseBlobCloser, err := csvReaderFromCommit(&markup.RenderContext{Ctx: ctx, RelativePath: diffFile.OldName}, baseCommit)
141141
if baseBlobCloser != nil {
142142
defer baseBlobCloser.Close()
143143
}
@@ -149,7 +149,7 @@ func setCsvCompareContext(ctx *context.Context) {
149149
return CsvDiffResult{nil, "unable to load file from base commit"}
150150
}
151151

152-
headReader, headBlobCloser, err := csvReaderFromCommit(&markup.RenderContext{Ctx: ctx, Filename: diffFile.Name}, headCommit)
152+
headReader, headBlobCloser, err := csvReaderFromCommit(&markup.RenderContext{Ctx: ctx, RelativePath: diffFile.Name}, headCommit)
153153
if headBlobCloser != nil {
154154
defer headBlobCloser.Close()
155155
}

routers/web/repo/render.go

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,11 @@ func RenderFile(ctx *context.Context) {
6666

6767
var result bytes.Buffer
6868
err = markup.Render(&markup.RenderContext{
69-
Ctx: ctx,
70-
Filename: blob.Name(),
71-
URLPrefix: path.Dir(treeLink),
72-
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
73-
GitRepo: ctx.Repo.GitRepo,
69+
Ctx: ctx,
70+
RelativePath: ctx.Repo.TreePath,
71+
URLPrefix: path.Dir(treeLink),
72+
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
73+
GitRepo: ctx.Repo.GitRepo,
7474
}, rd, &result)
7575
if err != nil {
7676
ctx.ServerError("Render", err)

routers/web/repo/view.go

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -354,11 +354,11 @@ func renderReadmeFile(ctx *context.Context, readmeFile *namedBlob, readmeTreelin
354354
ctx.Data["MarkupType"] = string(markupType)
355355
var result strings.Builder
356356
err := markup.Render(&markup.RenderContext{
357-
Ctx: ctx,
358-
Filename: readmeFile.name,
359-
URLPrefix: readmeTreelink,
360-
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
361-
GitRepo: ctx.Repo.GitRepo,
357+
Ctx: ctx,
358+
RelativePath: ctx.Repo.TreePath,
359+
URLPrefix: readmeTreelink,
360+
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
361+
GitRepo: ctx.Repo.GitRepo,
362362
}, rd, &result)
363363
if err != nil {
364364
log.Error("Render failed: %v then fallback", err)
@@ -519,12 +519,12 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
519519
metas := ctx.Repo.Repository.ComposeDocumentMetas()
520520
metas["BranchNameSubURL"] = ctx.Repo.BranchNameSubURL()
521521
err := markup.Render(&markup.RenderContext{
522-
Ctx: ctx,
523-
Filename: blob.Name(),
524-
URLPrefix: path.Dir(treeLink),
525-
Metas: metas,
526-
GitRepo: ctx.Repo.GitRepo,
527-
UseIframe: true,
522+
Ctx: ctx,
523+
RelativePath: ctx.Repo.TreePath,
524+
URLPrefix: path.Dir(treeLink),
525+
Metas: metas,
526+
GitRepo: ctx.Repo.GitRepo,
527+
UseIframe: true,
528528
}, rd, &result)
529529
if err != nil {
530530
ctx.ServerError("Render", err)
@@ -617,11 +617,11 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
617617
ctx.Data["MarkupType"] = markupType
618618
var result strings.Builder
619619
err := markup.Render(&markup.RenderContext{
620-
Ctx: ctx,
621-
Filename: blob.Name(),
622-
URLPrefix: path.Dir(treeLink),
623-
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
624-
GitRepo: ctx.Repo.GitRepo,
620+
Ctx: ctx,
621+
RelativePath: ctx.Repo.TreePath,
622+
URLPrefix: path.Dir(treeLink),
623+
Metas: ctx.Repo.Repository.ComposeDocumentMetas(),
624+
GitRepo: ctx.Repo.GitRepo,
625625
}, rd, &result)
626626
if err != nil {
627627
ctx.ServerError("Render", err)

0 commit comments

Comments
 (0)