Browse Source

Support CRLF when splitting code lines for display (#1862)

* Support CRLF when splitting code lines for display

* refactor, fix mixed match

* fmt

* split on both LF and CRLF, use raw literals in regexes

* simplify
tags/v1.2.0-rc1
silverwind Lunny Xiao 8 years ago
parent
commit
77760bc229
3 changed files with 7 additions and 3 deletions
  1. +1
    -1
      public/css/index.css
  2. +1
    -1
      public/less/_repository.less
  3. +5
    -1
      routers/repo/view.go

+ 1
- 1
public/css/index.css View File

@@ -1435,7 +1435,7 @@ footer .ui.language .menu {
.repository.file.list #file-content .code-view .lines-code ol li, .repository.file.list #file-content .code-view .lines-code ol li,
.repository.file.list #file-content .code-view .lines-num .hljs li, .repository.file.list #file-content .code-view .lines-num .hljs li,
.repository.file.list #file-content .code-view .lines-code .hljs li { .repository.file.list #file-content .code-view .lines-code .hljs li {
display: inline-block;
display: block;
width: 100%; width: 100%;
} }
.repository.file.list #file-content .code-view .lines-num pre li.active, .repository.file.list #file-content .code-view .lines-num pre li.active,


+ 1
- 1
public/less/_repository.less View File

@@ -296,7 +296,7 @@
margin: 0; margin: 0;
padding: 0 !important; padding: 0 !important;
li { li {
display: inline-block;
display: block;
width: 100%; width: 100%;
&.active { &.active {
background: #ffffdd; background: #ffffdd;


+ 5
- 1
routers/repo/view.go View File

@@ -212,7 +212,11 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
var output bytes.Buffer var output bytes.Buffer
lines := strings.Split(fileContent, "\n") lines := strings.Split(fileContent, "\n")
for index, line := range lines { for index, line := range lines {
output.WriteString(fmt.Sprintf(`<li class="L%d" rel="L%d">%s</li>`, index+1, index+1, gotemplate.HTMLEscapeString(line)) + "\n")
line = gotemplate.HTMLEscapeString(line)
if index != len(lines)-1 {
line += "\n"
}
output.WriteString(fmt.Sprintf(`<li class="L%d" rel="L%d">%s</li>`, index+1, index+1, line))
} }
ctx.Data["FileContent"] = gotemplate.HTML(output.String()) ctx.Data["FileContent"] = gotemplate.HTML(output.String())




Loading…
Cancel
Save