帮助:Lint错误
来自CalcWiki
更多操作
<languages /> <translate>
Lint 错误
Lint(全称:Linter)是一种文章分析工具,用于检查 Wiki 文章中可能存在的语法错误、不规范或过时的语法,以及潜在的结构问题。本页将帮助你理解各类 Lint 错误的成因,并提供详细的修复方案。
为什么要修复 Lint 错误?
修复 Lint 错误具有多方面的重要意义:
- SEO 收录优化—— 清洁的 HTML 结构有助于搜索引擎更好地理解和收录页面内容,提升站点在搜索结果中的排名表现。
- 兼容性保障—— 确保其他扩展与功能模块能够正常解析页面内容,避免因语法错误导致的功能失效或显示异常。
- 视觉呈现优化—— 消除因错误嵌套或格式问题造成的排版混乱,提升读者的阅读体验。
- 代码可维护性—— 规范化的 wikitext 标记更易于后续编辑者理解和维护,降低协作成本。
- 未来兼容性—— 及时更新过时的语法,确保页面在未来 MediaWiki 版本升级后依然能够正常显示。
注意:分类的计数并非精确计数,而是基于估算值。实际错误数量可能因缓存更新延迟而有所差异。
错误优先级分类
高优先级
高优先级错误通常会导致严重的显示问题或功能异常,建议优先处理。
| 错误类型 | 计数 | 问题描述与修复建议 |
|---|---|---|
| 应删除的表格标签 | style="text-align:center;" | 页面中使用了已被废弃的表格属性标签(如 align、bgcolor、border 等),这些属性在 HTML5 标准中已被移除。应改用 CSS 样式(style 属性)或 Wikitable 的类定义(class="wikitable")来实现相同的视觉效果。
|
| 重复的 ID | style="text-align:center;" | 页面中存在多个元素使用了相同的 id 属性值。ID 在 HTML 规范中应当唯一,重复会导致锚点链接失效、JavaScript 选择器异常等问题。请为每个元素分配唯一的标识符,或使用 class 属性替代。
|
| HTML5 与 HTML4 渲染不同的错误嵌套标签 | style="text-align:center;" | 某些标签的嵌套方式在 HTML4 和 HTML5 中的解析规则存在差异,可能导致不同浏览器或渲染模式下显示不一致。常见的有块级元素嵌套在行内元素中的情况。建议遵循 HTML5 的规范要求调整标签层级结构。 |
| 其他问题 | style="text-align:center;" | 不属于上述明确分类的其他语法问题,通常涉及复杂的嵌套结构或罕见的边界情况。建议通过浏览器的开发者工具检查具体页面的 HTML 结构。 |
| 列表内的多行表格 | style="text-align:center;" | 在列表项(* 或 #)内部直接插入多行表格会导致解析异常。解决方法是将表格内容用 <div> 包裹,或者调整结构避免在列表中直接嵌套复杂表格。
|
| 多个未闭合的格式标签 | style="text-align:center;" | 页面中存在未正确闭合的粗体(')、斜体()或其他格式标记。这会导致格式作用域扩散到预期之外的内容。请仔细检查编辑区域,确保每个开启标签都有对应的闭合标签。
|
| 段落换行 bug 的变通方案 | style="text-align:center;" | 某些为规避历史版本 MediaWiki 段落换行问题而采用的临时解决方案(如多余的 <br /> 标签或空注释),现已不再需要。这些变通方案可能导致不必要的空行或间距异常,建议移除并采用标准段落格式。
|
| 自闭合标签 | style="text-align:center;" | 使用了 XML 风格的自闭合语法(如 <br/> 或 <img ... />)。在 HTML5 中,某些标签无需自闭合斜杠,建议统一使用 <br> 或标准 HTML 语法。
|
| 链接包裹字体标签的旧行为 | style="text-align:center;" | 早期 MediaWiki 版本中,[[链接|<font color="red">文字</font>]] 这类写法能够生效,但现代解析器已不再支持在链接显示文本中直接嵌套字体标签。建议改用 [[链接|<span style="color:red">文字</span>]] 或模板实现。
|
| 空白符解析 bug | style="text-align:center;" | 页面中存在因历史解析器 bug 而刻意添加或保留的空白字符(如零宽空格、不间断空格等),这些字符可能在现代浏览器中导致意外的间距或对齐问题。建议清理不必要的特殊空白字符。 |
| 标题中未闭合的引号 | style="text-align:center;" | 章节标题(== 标题 ==)中包含未闭合的引号(" 或 '),这可能导致解析器将后续内容误认为标题的一部分,造成目录结构异常。请确保标题中的引号成对出现或使用 HTML 实体("、')转义。
|
中优先级
中优先级错误可能影响特定功能或造成局部显示问题,建议在处理完高优先级错误后进行修复。
| 错误类型 | 计数 | 问题描述与修复建议 |
|---|---|---|
| 无效的文件选项 | style="text-align:center;" | 图片或文件引用中使用了不存在或拼写错误的参数选项(如 [[File:图片.jpg|不存在的参数]])。MediaWiki 会忽略无效选项,但这可能意味着预期的显示效果(如缩略图尺寸、对齐方式)未能生效。请参考 Help:图像 页面核对正确的参数名称。
|
| 寄养内容 | style="text-align:center;" | |})外或列表符号(* #)前意外放置了文本或换行。请检查表格和列表的边界,确保所有内容都位于正确的结构内部。
|
| 错误嵌套的标签 | style="text-align:center;" | HTML 标签的嵌套顺序不正确(如 <b><i>文字</b></i>),违反了正确的嵌套原则(先开后闭)。正确的写法应为 <b><i>文字</i></b>。虽然浏览器通常能容错,但这不符合标准且可能导致不可预期的渲染结果。
|
| 多冒号转义 | style="text-align:center;" | 模板处理管道符冲突,使用 = 处理等号冲突,而非依赖冒号转义。
|
| 链接中的链接 | style="text-align:center;" | 在内部链接([[...]])的显示文本中又嵌套了另一个链接。这是无效的 wikitext 语法,内层链接不会被解析为链接。请改为使用模板或重新组织句子结构,避免嵌套链接。
|
低优先级
低优先级错误通常不会造成明显的功能或显示问题,但清理这些错误有助于保持代码的规范性和可维护性。
| 错误类型 | 计数 | 问题描述与修复建议 |
|---|---|---|
| 空标题 | style="text-align:center;" | 页面中存在没有实际文本内容的章节标题(如 == == 或仅包含空白字符)。空标题会生成无效的 HTML(<h2></h2>),影响文档结构和可访问性。请删除空标题或为章节添加适当的标题文本。
|
| 缺少结束标签 | style="text-align:center;" | HTML 标签缺少闭合标签(如 <div>内容 而没有对应的 </div>)。这可能导致布局错乱或后续内容被意外包含在该标签内。请补全缺失的结束标签,或改用 wikitext 原生语法替代 HTML。
|
| 标题中缺少结束标签 | style="text-align:center;" | 章节标题内部使用了 HTML 标签但未正确闭合(如 == 标题 ==)。由于标题会在 == 处立即结束,内部标签可能无法正确闭合。建议避免在标题中使用复杂的 HTML 标记,或确保标签在标题范围内完整闭合。
|
| 缺少对应文本颜色的背景色内联样式 | style="text-align:center;" | 使用了 style="color:..." 改变文本颜色,但未同时设置背景色(background-color)。这可能导致在某些主题(如夜间模式)下文本与背景色相近而不可读。建议成对设置颜色样式,或使用站点定义的 CSS 类。
|
| 废弃的 HTML 标签 | style="text-align:center;" | 使用了已被 HTML 标准废弃的标签(如 <center>、<font>、<strike> 等)。这些标签可能在未来的浏览器版本中失去支持。建议改用 CSS 样式(style="text-align:center"、<span style="...">、<s> 或 <del>)实现相同效果。
|
| 被剥离的标签 | style="text-align:center;" | 某些标签(如 <tidy> 或特定扩展标签)在页面解析过程中被 MediaWiki 的 HTML 清理器移除。这通常意味着这些标签不被允许或已废弃。请检查是否有必要保留这些标签,或改用其他方式实现预期功能。
|
修复工具与资源
批量修复
对于大量页面存在的同类错误,可以考虑:
- 使用 Special:LintErrors 特殊页面查看所有错误的详细列表。
- 通过 Special:模板 或 Help:替换引用 进行批量替换。
- 在修改前务必进行预览,避免引入新的问题。
</translate>