MCPcopy
hub / github.com/Bistutu/FluentRead / isSpecialContent

Function isSpecialContent

entrypoints/main/compat.ts:118–159  ·  view source on GitHub ↗

* 检查文本内容是否属于不应翻译的特殊内容 * 比如:URLs、邮箱地址、用户名、代码片段等

(text: string)

Source from the content-addressed store, hash-verified

116 * 比如:URLs、邮箱地址、用户名、代码片段等
117 */
118function isSpecialContent(text: string): boolean {
119 if (!text) return false;
120
121 const trimmedText = text.trim();
122
123 // 检查是否为URL
124 if (/^https?:\/\/\S+/i.test(trimmedText)) return true;
125
126 // 检查是否为邮箱地址
127 if (/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/.test(trimmedText)) return true;
128
129 // 检查是否为社交媒体用户名格式
130 if (/^@\w+$/.test(trimmedText)) return true; // Twitter格式:@username
131 if (/^u\/\w+$/.test(trimmedText)) return true; // Reddit格式:u/username
132
133 // 检查是否为x.com或twitter.com的ID格式
134 if (/^id@https?:\/\/(x\.com|twitter\.com)\/[\w-]+\/status\/\d+/.test(trimmedText)) return true;
135
136 // 检查是否为GitHub相关特殊内容
137 // GitHub Issue或PR编号
138 if (/^#\d+$/.test(trimmedText)) return true;
139 // GitHub仓库引用 user/repo#123
140 if (/^[A-Za-z0-9_-]+\/[A-Za-z0-9_-]+#\d+$/.test(trimmedText)) return true;
141 // GitHub 文件路径
142 if (/^[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-]+\/(blob|tree)\/[a-zA-Z0-9_.-]+\/[a-zA-Z0-9_.-\/]+$/.test(trimmedText)) return true;
143 // GitHub提交哈希
144 if (/^[a-f0-9]{7,40}$/.test(trimmedText)) return true;
145 // 以.开头的文件名
146 if (/^\.[a-zA-Z0-9_.-]+$/.test(trimmedText)) return true;
147 // 以通过文件后缀结尾的
148 if (/^[a-zA-Z0-9_.-]+\.[a-zA-Z0-9_.-]+$/.test(trimmedText)) return true;
149
150 // 检查是否为代码片段(简单判断,可能会有误判)
151 if (/^[a-zA-Z0-9_]+\([^)]*\)/.test(trimmedText)) return true; // 函数调用
152 if (/^import\s+|^from\s+|^require\(/.test(trimmedText)) return true; // 导入语句
153 if (/^const\s+|^let\s+|^var\s+|^function\s+/.test(trimmedText)) return true; // 变量/函数声明
154
155 // 检查是否为哈希值或其他特殊标识符
156 if (/^[a-f0-9]{8,}$/i.test(trimmedText)) return true;
157
158 return false;
159}
160
161// 文本替换环节的兼容函数,主域名 : 兼容函数
162export const replaceCompatFn: ReplaceCompatFn = {

Callers 4

shouldSkipTwitterElementFunction · 0.85
shouldSkipGitHubElementFunction · 0.85
shouldSkipRedditElementFunction · 0.85
shouldSkipYouTubeElementFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected