技术内容守则

译注:本文当前仅适用于英文站,此处仅供参考


以下一组守则涉及到英分SCP维基技术团队管理的页面元素。

亦请参照CSS 守则,该页面描述了在站内发布版式或内嵌式CSS的要求。注意所有站内样式都服从技术团队的判断而修改。

托管

所有页面内容(包括版式、组件、图像、HTML以及附件)都必须托管在SCP维基上。链接至其他如沙盒的Wikidot站点,或是链接至托管于私人站点上的文件都是不允许的。对于托管于SCP国际维基Wikidot代码片段仓库中的著名组件(不是版式)存在例外。

所有文件都应该有一个适合其文件类型的文件扩展名。

大于4 MiB的文件不应该在没有工作人员批准之下上传。通常来说,文件大小都应小于2 MiB。

具体而言图像需遵守以下几点限制:

  • 图像文件大小不应超过800 KiB,且不应有显著大于其于屏幕上显示内容的尺寸。
    • 注意基础图像块组件的默认宽度为300 px,所以,例如,一个有着1200 px宽度的图像就太大了。若实际显示的是缩减体积后的文件,则较大的图像可以被上传
  • 工作人员允许缩减上述的过大图像。
  • 艺术作品存在例外:此处的媒体应托管于站外而不是维基上。现允许托管于:
  • 此外,大的视频文件若位于由作者控制的频道中,则可以托管于YouTube或Vimeo上。

由于某个漏洞,上传了的SVG可能无法被Wikidot正确识别。参见此处以获取更多资讯。

若能遵守CSS 守则,则字体热链是允许的。

迭代文章

ListPages模块允许在同一位置和评分模块下呈现多个页面。参见Listpages 魔法与你以获取其如何运作的资讯。

若一篇迭代文需要创建子页面,那么这些页面必须创建在fragment:分类中,且其必须依据父页面与索引命名。若父页面有重命名,则段落页亦需重命名。

例如,若某个用户发布了一个叫my-story的页面,那么每个迭代页就可以命名为fragment:my-story-1fragment:my-story-2等等。

所有的段落页都必须在页面源代码中列出,例如:

[[>]]
[[module Rate]]
[[/>]]

[!--
段落页面:
https://scp-wiki-cn.wikidot.com/fragment:my-story-1
https://scp-wiki-cn.wikidot.com/fragment:my-story-2
https://scp-wiki-cn.wikidot.com/fragment:my-story-3
--]

[[module ListPages category="fragment" parent="." order="created_at" limit="1" offset="@URL|0"]]
%%content%%
[[/module]]

(有十个或以上段落页的可以转而使用ListPages代码来列出所有段落页)

段落页必须以其托管页作为父页面,无论这个父页面能否用作ListPages的选择器。

禁止在段落页使用重定向模块。

如果一个页面的标签放在迭代文中会给读者造成很大的干扰,那么,作为由技术批准的特殊例外,标签可以在第一个迭代页中仅使用标签隐藏组件来隐藏。

HTML与Javascript

[[html]][[iframe]]的使用应尽量将必要实例数量减到最少。如果两个[[html]]块可以合并为同一个,或者一个[[html]]块可以适当使用Wikidot文本替代,那么就必须照做。

恶意的、不服从网站许可或不能被技术团队认可的Javascript必须被移除。使用恶意脚本或利用页面元素可能会导致纪律处分。

一个页面上的任何HTML或javascript都不可以在文章范围之外产生动作(比如发送未经请求的邮件或接受付款),传送读者的信息或执行一次不可逆转的动作。若对于页面上的适当行为有绝对必要,则允许使用Cookies和本地存储。

此外,页面内容不可以创建弹窗或是用户未曾点击过的自动打开的链接。

减少可能会用到的HTML、CSS或Javascript,但未缩减的全部源码必须可以发布并公开。类似于其他内容,其必须在网站许可(CC-BY-SA 3.0)之下可用,尽管其可能会与另一个免费/开源许可同时使用。

禁止使用所有flash内容(扩展名.swf)。

如果你想要在文章中使用音频,不要使用flash代码,使用HTML5音频播放器

组件守则

所有的新组件都必须先被技术团队运营职员(或更高职位)批准发布。

组件必须与HTML遵守相同的内容政策,且需完全托管于网站中。

“更多”页面

作者允许创建一个页面来列出由他们创作的其它作品,可以在他们的文章中使用该页面以引导读者阅读他们的更多作品和/或提供推荐阅读。

“更多”页面必须要有more-by标签且存在于more-by:分类中。页面的UNIX名(比如URL中前面有分类的那部分)必须与Wikidot用户信息页中显示的创建者的用户名匹配。

如果作者修改了用户名,其必须将他们的“更多”页面更新,如果有的话,且必须更新所有使用它的页面至指向新的页面位置。

无法修改的内容

以下的页面部分不被视为“页面内容”:其不应被移除且任何的修改都必须与现存惯例一致。例如,用户不应将隐藏对文章编辑或评分的能力作为格式错乱的一部分。

若遵照CSS守则,则这些组件的颜色与外观都可被修改。

  • 用户模块/登录状态
  • 搜索功能
  • 页面标签
  • 文章元数据(比如归属资料
  • 评分模块
  • 翻译模块
  • 侧栏
  • 顶栏
  • Wikiwalk导航页脚
  • 成人内容掩盖页(若有关联的话)
  • 版权模块
  • 页面信息与按钮(比如编辑、评分、历史记录等)
  • Wikidot广告(违反了服务协议)
  • Wikidot页脚
  • Wikidot授权信息

URL

新的页面必须创建于适当的分类中:

  • 组件与样版必须处于component:分类中。
  • 版式必须在theme:分类中。
  • 段落页面必须处于fragment:分类中。
    • “段落”是为单一、指定的常规页面创建以显示其内容且不希望被直接看见的任意页面。
    • 段落页不受评分或删除影响。
    • 另请参见“迭代页面”部分。
  • 成人内容页面必须处于adult:分类中。

所有其他页面都必须处于主要分类(亦称“_default:”)中。使用其他分类需视情况而得到技术团队的批准。

这意味着你的页面URL无需包含冒号(:),因为在冒号前的文本会被Wikidot解析为非默认的分类。

父页面

Wikidot允许页面分配一个会显示在页面顶端且带有导航链接的叫做“面包屑”的父页面。这是用来显示文章与某个特定文章有关联,比如001提案以SCP-001中心页作为父页面。

补充材料页面应以其关联的主文章为父页面。段落页必须以其托管页面为父页面。(参见“迭代页面”部分)

由于Wikidot的限制,若作者希望将多个文章作为他们文章的父页面,那么应使用以下代码,而不是标准父页面功能。

[[div class="pseudocrumbs"]]
[[[父页面url1|第一个父页面的标题]]] » 子页面的标题
[[[父页面url2|第二个父页面的标题]]] » 子页面的标题
[[/div]]

作者可以随意指定他们页面的父页面,前提是不会干扰其他无权限编辑页面的技术性表现。

网站工作人员有权力指定父页面以改进网站导航与可及性。

页面标题

每一个页面都必须有标题:不能是空的。这是因为如果标题字段是空的,那么ListPages选择器与论坛页面会有显示问题。一个页面的标题可以用CSS来隐藏以创造出一种没有标题的外观。

用户可以使用以下代码来让页面显示的标题与系统页面不一致:

[[module CSS]]
#page-title {
    display: none;
}
[[/module]]

[[div class="meta-title"]]
这里是新标题
[[/div]]

页面标签

标签由技术团队为维基的组织、分类与导航而定义。

任何对标签的改动都需要经技术团队或MAST1(或授权团队,若是有关授权的标签)的批准。对标签决议的反对意见应转达给各自的团队中进行讨论;用户不允许回退由工作人员进行的标签更改。

用户可以在建议与政策版块里正确的置顶帖中提议新标签。2

成人内容

成人内容页面必须有成人内容的标签且必须存在于adult:分类之下。在主分类的(_default:)中拥有相同URL的页面必须是在链接至成人内容页面本身前请求同意的掩藏页。

网站成员可以如常发布页面并请求技术团队或MAST成员根据成人内容警告守则调整页面。

页面的URL绝对不允许包含成人内容。

重定向

Wikidot提供了重定向模块,这个能在添加到页面之后使得任何访问的浏览器都转而加载目标页面。这个可以通过在页面URL后附加/noredirect/true禁用。

用户绝对不允许添加重定向至不属于他们的文章。此外创建一个仅用作重定向的页面需要经过工作人员批准。所有包含重定向的页面都需要拥有重定向标签。

重定向不得指向主维基外的页面,包括沙盒或者其他Wikidot站点。段落页面不得包含重定向。

若有疑问,请先获得工作人员的明确批准。

格式资源

SCP格式资源是由技术团队维护的合作页面。该团队可能提供了有限的支持,但所有组件都被认为“本就如此”。

所有添加上的组件都必须遵从列于此处的守则,且服从工作人员的判断修改或移除。

除非特别注明,本页内容采用以下授权方式: Creative Commons Attribution-ShareAlike 3.0 License