mirror of
https://codeberg.org/forgejo/forgejo.git
synced 2024-12-27 18:19:17 +00:00
b691a3e6b8
Quick/Partly fix #29907 In Linux and MacOS, by default the max file name length is 255. In windows, it depends on the version and settings, and has no file name length limitation, but has path length limitation. By default it is 260, considering path length is longer than filename, so I think it is ok to do this. For Windows, see https://learn.microsoft.com/windows/win32/fileio/maximum-file-path-limitation?tabs=registry For Linux, see https://github.com/torvalds/linux/blob/master/include/uapi/linux/limits.h#L12-L13 For MacOS, see https://discussions.apple.com/thread/254788848?sortBy=best (cherry picked from commit 2c80421243ed1fd6f53c3e1a84c06648524f7c66)
75 lines
3.8 KiB
Go HTML Template
75 lines
3.8 KiB
Go HTML Template
{{template "base/head" .}}
|
|
<div role="main" aria-label="{{.Title}}" class="page-content repository file editor edit">
|
|
{{template "repo/header" .}}
|
|
<div class="ui container">
|
|
{{template "base/alert" .}}
|
|
<form class="ui edit form" method="post">
|
|
{{.CsrfTokenHtml}}
|
|
<input type="hidden" name="last_commit" value="{{.last_commit}}">
|
|
<input type="hidden" name="page_has_posted" value="{{.PageHasPosted}}">
|
|
<div class="repo-editor-header">
|
|
<div class="ui breadcrumb field{{if .Err_TreePath}} error{{end}}">
|
|
<a class="section" href="{{$.BranchLink}}">{{.Repository.Name}}</a>
|
|
{{$n := len .TreeNames}}
|
|
{{$l := Eval $n "-" 1}}
|
|
{{range $i, $v := .TreeNames}}
|
|
<div class="breadcrumb-divider">/</div>
|
|
{{if eq $i $l}}
|
|
<input id="file-name" maxlength="255" value="{{$v}}" placeholder="{{ctx.Locale.Tr "repo.editor.name_your_file"}}" data-editorconfig="{{$.EditorconfigJson}}" required autofocus>
|
|
<span data-tooltip-content="{{ctx.Locale.Tr "repo.editor.filename_help"}}">{{svg "octicon-info"}}</span>
|
|
{{else}}
|
|
<span class="section"><a href="{{$.BranchLink}}/{{index $.TreePaths $i | PathEscapeSegments}}">{{$v}}</a></span>
|
|
{{end}}
|
|
{{end}}
|
|
<span>{{ctx.Locale.Tr "repo.editor.or"}} <a href="{{$.BranchLink}}{{if not .IsNewFile}}/{{PathEscapeSegments .TreePath}}{{end}}">{{ctx.Locale.Tr "repo.editor.cancel_lower"}}</a></span>
|
|
<input type="hidden" id="tree_path" name="tree_path" value="{{.TreePath}}" required>
|
|
</div>
|
|
</div>
|
|
<div class="field">
|
|
<div class="ui top attached tabular menu" data-write="write" data-preview="preview" data-diff="diff">
|
|
<a class="active item" data-tab="write">{{svg "octicon-code"}} {{if .IsNewFile}}{{ctx.Locale.Tr "repo.editor.new_file"}}{{else}}{{ctx.Locale.Tr "repo.editor.edit_file"}}{{end}}</a>
|
|
<a class="item" data-tab="preview" data-url="{{.Repository.Link}}/markup" data-context="{{.RepoLink}}/src/{{.BranchNameSubURL}}" data-markup-mode="file">{{svg "octicon-eye"}} {{ctx.Locale.Tr "preview"}}</a>
|
|
{{if not .IsNewFile}}
|
|
<a class="item" data-tab="diff" hx-params="context,content" hx-vals='{"context":"{{.BranchLink}}"}' hx-include="#edit_area" hx-swap="innerHTML" hx-target=".tab[data-tab='diff']" hx-indicator=".tab[data-tab='diff']" hx-post="{{.RepoLink}}/_preview/{{.BranchName | PathEscapeSegments}}/{{.TreePath | PathEscapeSegments}}">{{svg "octicon-diff"}} {{ctx.Locale.Tr "repo.editor.preview_changes"}}</a>
|
|
{{end}}
|
|
</div>
|
|
<div class="ui bottom attached active tab segment" data-tab="write">
|
|
<textarea id="edit_area" name="content" class="tw-hidden" data-id="repo-{{.Repository.Name}}-{{.TreePath}}"
|
|
data-url="{{.Repository.Link}}/markup"
|
|
data-context="{{.RepoLink}}"
|
|
data-previewable-extensions="{{.PreviewableExtensions}}"
|
|
data-line-wrap-extensions="{{.LineWrapExtensions}}">{{.FileContent}}</textarea>
|
|
<div class="editor-loading is-loading"></div>
|
|
</div>
|
|
<div class="ui bottom attached tab segment markup" data-tab="preview">
|
|
{{ctx.Locale.Tr "loading"}}
|
|
</div>
|
|
<div class="ui bottom attached tab segment diff edit-diff" data-tab="diff">
|
|
<div class="tw-p-16"></div>
|
|
</div>
|
|
</div>
|
|
{{template "repo/editor/commit_form" .}}
|
|
</form>
|
|
</div>
|
|
<div class="ui g-modal-confirm modal" id="edit-empty-content-modal">
|
|
<div class="header">
|
|
{{svg "octicon-file"}}
|
|
{{ctx.Locale.Tr "repo.editor.commit_empty_file_header"}}
|
|
</div>
|
|
<div class="center content">
|
|
<p>{{ctx.Locale.Tr "repo.editor.commit_empty_file_text"}}</p>
|
|
</div>
|
|
<div class="actions">
|
|
<button class="ui cancel button">
|
|
{{svg "octicon-x"}}
|
|
{{ctx.Locale.Tr "repo.editor.cancel"}}
|
|
</button>
|
|
<button class="ui primary ok button">
|
|
{{svg "fontawesome-save"}}
|
|
{{ctx.Locale.Tr "repo.editor.commit_changes"}}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{{template "base/footer" .}}
|