mirror of
				https://gitee.com/gitea/gitea
				synced 2025-11-04 08:30:25 +08:00 
			
		
		
		
	Improvements for Content Copy (#21842)
It now supports copying Markdown, SVG and Images (not in Firefox currently because of lacking [`ClipboardItem`](https://developer.mozilla.org/en-US/docs/Web/API/ClipboardItem) support, but can be enabled in `about:config` and works). It will fetch the data if in a rendered view or when it's an image. Followup to https://github.com/go-gitea/gitea/pull/21629.
This commit is contained in:
		@@ -443,7 +443,12 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 | 
			
		||||
	ctx.Data["IsRepresentableAsText"] = isRepresentableAsText
 | 
			
		||||
	ctx.Data["IsDisplayingSource"] = isDisplayingSource
 | 
			
		||||
	ctx.Data["IsDisplayingRendered"] = isDisplayingRendered
 | 
			
		||||
	ctx.Data["IsTextSource"] = isTextFile || isDisplayingSource
 | 
			
		||||
 | 
			
		||||
	isTextSource := isTextFile || isDisplayingSource
 | 
			
		||||
	ctx.Data["IsTextSource"] = isTextSource
 | 
			
		||||
	if isTextSource {
 | 
			
		||||
		ctx.Data["CanCopyContent"] = true
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Check LFS Lock
 | 
			
		||||
	lfsLock, err := git_model.GetTreePathLock(ctx.Repo.Repository.ID, ctx.Repo.TreePath)
 | 
			
		||||
@@ -474,6 +479,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 | 
			
		||||
	case isRepresentableAsText:
 | 
			
		||||
		if st.IsSvgImage() {
 | 
			
		||||
			ctx.Data["IsImageFile"] = true
 | 
			
		||||
			ctx.Data["CanCopyContent"] = true
 | 
			
		||||
			ctx.Data["HasSourceRenderedToggle"] = true
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
@@ -608,6 +614,7 @@ func renderFile(ctx *context.Context, entry *git.TreeEntry, treeLink, rawLink st
 | 
			
		||||
		ctx.Data["IsAudioFile"] = true
 | 
			
		||||
	case st.IsImage() && (setting.UI.SVG.Enabled || !st.IsSvgImage()):
 | 
			
		||||
		ctx.Data["IsImageFile"] = true
 | 
			
		||||
		ctx.Data["CanCopyContent"] = true
 | 
			
		||||
	default:
 | 
			
		||||
		if fileSize >= setting.UI.MaxDisplayFileSize {
 | 
			
		||||
			ctx.Data["IsFileTooLarge"] = true
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user