:root { --lh-red: #c0392b; --lh-blue: #2980b9; --lh-green: #27ae60; --lh-dark-green: #16a085; --lh-purple: #8e44ad; --lh-orange: #e67e22; --lh-yellow: #f1c40f; --lh-paper-bg: 255, 251, 240; --lh-string-color: 192, 57, 43; --lh-book-color: var(--gray-monochrome); --lh-tape-color: 90,90,90,0.3; --lh-white-bg: 249,249,249; --lh-dark-bg: 50, 50, 50; --lh-highlighter: var(--bright-accent); --lh-border-color: var(--gray-monochrome); --lh-wiki-note-color: var(--bright-accent) } /** * 旧代码合集 * 为了向下兼容而保留 */ .grid-container{display:flex;flex-direction:row;flex-wrap:wrap;width:100%}.grid-container,.grid-container [class*=grid]{box-sizing:border-box}[class*=grid]{padding:5px}.grid{width:100%}.grid-large{width:75%}.grid-big{width:50%}.grid-medium{width:33.33%}.grid-small{width:25%}@media screen and (min-width:768px){.wd-grid-large{width:75%}.wd-grid,.wd-grid-big{width:50%}.wd-grid-medium{width:33.33%}.wd-grid-small{width:25%}}.text-hover-hide{opacity:0;transition:opacity .3s}.text-hover-hide:hover{opacity:1}.text-block-hide{background:rgb(var(--black-monochrome));color:rgb(var(--black-monochrome));transition:background .3s}.text-block-hide:hover{background:0 0}.text-blur-hide,.text-blur-hover-hide{filter:blur(.3rem);-webkit-filter:blur(.3rem) transition: blur .3s}.text-blur-hover-hide:hover{filter:blur(0);-webkit-filter:blur(0)}.lyric-box{text-align:center;font-size:1.05rem;display:flex;flex-direction:column;flex-wrap:wrap;justify-content:center}.lyric-box p{margin:1.5em auto}.lyric-box.with-bigger-line p{margin:3em auto} /** * 便签纸 * notepaper */ .notepaper { background: linear-gradient(rgb(var(--lh-paper-bg)) 95%, #ddd 0); line-height: 2em; background-size: 100% 2em; background-attachment: local; border: 2em solid rgb(var(--lh-paper-bg)); box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.2); padding: 0; margin: 1em auto; box-sizing: border-box; position: relative } .notepaper p { margin: 0; font-size: 1.05rem; letter-spacing: 0.1rem; line-height: inherit } .notepaper.narrow, .notepaper.wide { width: 90% } @media screen and (min-width:768px){ .notepaper.narrow { width: 50% } .notepaper.wide { width: 75% } } .notepaper.tight { border-width: 1rem; border-left-width: 1.2rem; border-right-width: 1.2rem; line-height: 1.8em; background-size: 100% 1.8em; font-size: 13px } .notepaper.with-string::before { content: ''; width: 0.5em; height: 6rem; background: rgb(var(--lh-string-color)); top: -2rem; right: -1rem; display: block; position: absolute; box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2); clip-path: polygon(-100% -100%,100% 0%,100% 100%,50% 98%,0% 100%); } .notepaper.with-tape::before { content: ''; border: 1px solid #ddd; background: rgba(var(--lh-tape-color)); width: 1.5em; height: 4em; transform: rotate(45deg); display: block; position: absolute; top: -3em; left: -1.8em } .notepaper.tight.with-string::before { top: -1rem; right: -0.25rem; } .notepaper.tight.with-tape::before { top: -2.5em; left: -1.3em } .notepaper.page { min-height: 36em; counter-increment: page; display: flex; flex-direction: column; justify-content: space-between } @media screen and (min-width:768px){ .notepaper.page { width: 70% } } .notepaper.page:after { content: counter(page); display: block; text-align: center } .notepaper-group { counter-reset: page; } .book-pattern { display: flex; flex-wrap: wrap; flex-direction: row } .book-pattern .notepaper.page:not(.notepaper > .notepaper) { width: 100% } @media screen and (min-width: 768px) { .book-pattern .notepaper.page:not(.notepaper > .notepaper) { width: 50% } } .book-wrapper { background: rgb(var(--lh-book-color)); padding: 0.5rem; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.2); border-radius: 5px; margin: 1rem auto } @media screen and (min-width: 768px) { .book-wrapper .notepaper { margin: 0 } } /** * 文字修饰 */ .text-highlighted { position: relative } .text-highlighted::before { content: ""; position: absolute; height: 0.9em; bottom: 2px; left: -2px; width: 105%; z-index: -1; background-color: rgb(var(--lh-highlighter)); opacity: .6; transform: skew(-15deg); transition: opacity .2s ease; border-radius: 3px 8px 10px 6px; transition: 0.1s ease background-color; } .text-underlined { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 2px; text-decoration-color: rgb(var(--lh-highlighter)) } .text-wavy { text-decoration: underline wavy; text-underline-offset: 4px; text-decoration-color: rgb(var(--lh-highlighter)) } .text-circled, .text-squared { display: inline-block; border: 2px solid rgb(var(--lh-highlighter)); border-radius: 100%; box-sizing: border-box } .text-squared { border-radius: 0 } .text-shadow { text-shadow: 0.075em 0.075em 0 rgb(var(--lh-highlighter)) } .text-highlighted.td-red::before { background: var(--lh-red) } .text-circled.td-red, .text-squared.td-red { border-color: var(--lh-red) } .text-underlined.td-red, .text-wavy.td-red { text-decoration-color: var(--lh-red) } .text-highlighted.td-blue::before { background: var(--lh-blue) } .text-circled.td-blue, .text-squared.td-blue { border-color: var(--lh-blue) } .text-underlined.td-blue, .text-wavy.td-blue { text-decoration-color: var(--lh-blue) } .text-highlighted.td-green::before { background: var(--lh-green) } .text-circled.td-green, .text-squared.td-green { border-color: var(--lh-green) } .text-underlined.td-green, .text-wavy.td-green { text-decoration-color: var(--lh-green) } .text-highlighted.td-darkgreen::before { background: var(--lh-dark-green) } .text-circled.td-darkgreen, .text-squared.td-darkgreen { border-color: var(--lh-dark-green) } .text-underlined.td-darkgreen, .text-wavy.td-darkgreen { text-decoration-color: var(--lh-dark-green) } .text-highlighted.td-purple::before { background: var(--lh-purple) } .text-circled.td-purple, .text-squared.td-purple { border-color: var(--lh-purple) } .text-underlined.td-purple, .text-wavy.td-purple { text-decoration-color: var(--lh-purple) } .text-highlighted.td-yellow::before { background: var(--lh-yellow) } .text-circled.td-yellow, .text-squared.td-yellow { border-color: var(--lh-yellow) } .text-underlined.td-yellow, .text-wavy.td-yellow { text-decoration-color: var(--lh-yellow) } .text-highlighted.td-orange::before { background: var(--lh-orange) } .text-circled.td-orange, .text-squared.td-orange { border-color: var(--lh-orange) } .text-underlined.td-orange, .text-wavy.td-orange { text-decoration-color: var(--lh-orange) } /* 隐藏文字 */ .text-blank { color: rgba(0,0,0,0) } .text-block { background: rgb(var(--black-monochrome)); color: rgb(var(--black-monochrome)); } .text-blur { filter: blur(0.3em); -webkit-filter: blur(0.3em) } .text-hoverback, .text-selectback { transition-duration: 0.3s; transition-property: background, transform, color } .text-blank.text-hoverback:hover, .text-blank.text-selectback::selection, .text-blank.text-selectback *::selection { color: rgb(var(--black-monochrome)) } .text-block.text-hoverback:hover { background: transparent!important } .text-block.text-selectback::selection, .text-block.text-selectback *::selection { color: rgb(var(--white-monochrome, 255, 255, 255)) } .text-blur.text-hoverback:hover { filter: blur(0)!important; -webkit-filter: blur(0)!important } /** * 附加项 */ .with-border, .with-box-style { border: 1px solid rgb(var(--bright-accent)) } .with-border-dark { border: 1px solid rgb(var(--black-monochrome)) } .with-border-light { border: 1px solid rgb(var(--white-monochrome)) } .with-border-thick { border-width: 2px } .with-shadow-sm { box-shadow: 0 0 0.1em rgba(0,0,0,0.2) } .with-shadow { box-shadow: 0 0.1em 0.2em rgba(0,0,0,0.2) } .with-shadow-lg { box-shadow: 0 0.15em 0.3em rgba(0,0,0,0.2) } .with-shadow-xl { box-shadow: 0 0.2em 0.5em rgba(0,0,0,0.2) } .with-shadow-xxl { box-shadow: 0 0.25em 0.8em rgba(0,0,0,0.2) } .with-padding, .with-box-style { padding: 0.25em 1em } .with-p-sm { padding: 0.125em 0.5em } .with-p-lg { padding: 0.5em 2em } .with-margin, .with-box-style { margin: 1em auto } .with-m-sm { margin: 0.5em auto } .with-m-lg { margin: 2em auto } .with-narrow-width { width: 90%!important; margin-left: auto; margin-right: auto } @media screen and (min-width: 768px) { .with-narrow-width { width: 75%!important } } [class*="with-bg-"], [class*="with-bg-"] h1 { color: #fff!important } .with-bg-red { background: var(--lh-red)!important } .with-bg-blue { background: var(--lh-blue)!important } .with-bg-green { background: var(--lh-green)!important } .with-bg-darkgreen { background: var(--lh-dark-green)!important } .with-bg-yellow { background: var(--lh-yellow)!important } .with-bg-orange { background: var(--lh-orange)!important } .with-bg-purple { background: var(--lh-purple)!important } /** * 删除类 */ .offwith-shadow { box-shadow: none!important } .offwith-border { border: none!important } .offwith-padding, .offwith-pam { padding: 0!important } .offwith-margin, .offwith-pam { margin: 0!important } .offwith-width-limit { width: auto!important; margin-left: auto!important; margin-right: auto!important } div[class*="grider"].offwith-grid-gap { grid-gap: 0!important } /** * 网格布局 */ /* Gridder 容器 */ div[class*="gridder"] { display: grid; box-sizing: border-box; grid-gap: 1rem; padding: 0 } div[class*="gridder"] * { box-sizing: border-box } .gridder, .gridder-col-2 { grid-template-columns: 1fr 1fr; } .gridder-col-3 { grid-template-columns: repeat(3, 1fr); } .gridder-col-4 { grid-template-columns: repeat(4, 1fr); } @media screen and (min-width: 768px) { .pc-gridder, .pc-gridder-col-2 { grid-template-columns: 1fr 1fr; } .pc-gridder-col-3 { grid-template-columns: repeat(3, 1fr); } .pc-gridder-col-4 { grid-template-columns: repeat(4, 1fr); } } .spanner, .spanner-2 { grid-column-start: span 2; } .spanner-3 { grid-column-start: span 3; } /** * 告示组件 */ .signblock, .signblock-dark, .signblock-warn { margin: 1rem auto; box-shadow: 0 0.1rem 0.3rem rgba(0,0,0,0.4); background: rgb(var(--lh-white-bg)); font-size: 1.05rem; padding: 2rem } @media screen and (min-width: 768px) { .signblock, .signblock-dark, .signblock-warn { width: 75% } } .signblock-dark, .signblock-dark h1 { background: rgb(var(--lh-dark-bg)); color: #fff } .signblock-warn, .signblock-warn h1 { background: var(--lh-red); color: #fff } .signblock h1, .signblock-dark h1, .signblock-warn h1 { text-align: center; font-size: 2rem; margin: 0; font-weight: 700 } .signblock-img { display: flex; flex-direction: row; justify-content: center } .signblock-img img { width: 8em } .signblock-footer { font-size: 0.9em; text-align: center; margin: 0.5rem 0; font-weight: bolder; display: block } /** * 报告 */ .reportblock, .reportblock-dark { border: 2px solid rgb(var(--lh-border-color)); box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3); background: rgb(var(--white-monochrome)); padding: 0.8rem 1.5rem; padding-bottom: 0.4rem; margin: 1.5rem auto; margin-bottom: 1rem; position: relative } .reportblock hr, .reportblock-dark hr { background-color: rgb(var(--lh-border-color)); margin-left: -1.5rem; margin-right: -1.5rem } .reportblock h1:first-child, .reportblock-dark h1:first-child { position: absolute; top: -1rem; left: 1.5rem; font-size: 110%; font-weight: 600; background: rgb(var(--lh-border-color)); color: #fff; padding: 0.2rem 0.5rem; margin: 0; } .reportblock-dark, .reportblock-dark h1 { border-color: rgb(var(--lh-white-bg)); background: rgb(var(--lh-dark-bg)); color: #fff } .reportblock-dark hr { background-color: rgb(var(--lh-white-bg)); } /* 更好的折叠框 */ .bettercollap { margin: 1em 0; } .bettercollap .collapsible-block { width: auto; overflow: hidden; border: 1px solid rgb(var(--lh-border-color)) } .bettercollap .collapsible-block-content, .bettercollap .collapsible-block-link { background: rgb(var(--white-monochrome)); padding: 0.5em } .bettercollap .collapsible-block-content { padding-left: 1em; padding-right: 1em } .bettercollap .collapsible-block-link { color: rgb(var(--lh-border-color)); background: rgb(var(--white-monochrome)); transition: .3s; display: block; } .bettercollap .collapsible-block-link:hover, .bettercollap .collapsible-block-unfolded .collapsible-block-link, .styledcollap.bettercollap .collapsible-block-link { color: rgb(var(--white-monochrome)); background: rgb(var(--lh-border-color))!important; text-decoration: none } .bettercollap .collapsible-block-link:hover a { color: rgb(var(--white-monochrome)) } .bettercollap .collapsible-block-link::before { content: "\25BC"; display: inline-block; margin-right: 0.5em; transform: rotate(-90deg) scale(0.9) } .bettercollap .collapsible-block-unfolded .collapsible-block-link::before { transform: rotate(0) scale(0.9) } .bettercollap .collapsible-block + .collapsible-block { border-top: none } .styledcollap.bettercollap .collapsible-block { border-radius: 2px; box-shadow: 0 0.1rem 0.2rem rgba(0,0,0,0.3) } .styledcollap.bettercollap .collapsible-block-content { background-color: rgb(var(--pale-gray-monochrome)); border-width: 3px } .styledcollap.bettercollap .collapsible-block-link:hover { background: rgba(var(--lh-border-color),0.95)!important; } /** * 提示框 */ .infoblock { color: #f1f1f1; font-weight: bold; background: #424242; padding: 5px 5px 5px 5px; border-radius: 4px; margin: -0.5rem 0 1rem 0; display: block; width: fit-content; padding-right: 25px; } .infoblock::before { content: "ⓘ " } /** * 单页迭代 */ .offset-page:not(:target), .offset-page:target ~ div#u-default-page { display: none } .offset-page:target { display: block }
此页面被Afulai2333用于展示他的计划。
在[[div class="bettercollap"]]...[[/div]]中加入如下代码以添加计划:
[[collapsible show="计划<编号>:<摘要>" hide="计划<编号>:<摘要>"]]
<计划内容>
[[/collapsible]]在开头使用如下代码标记状态:
[[div class="styled-quote wip"]]
**此计划正在进行中……**
[[/div]]此计划正在进行中……
[[div class="styled-quote finished"]]
**此计划已完成!**
[[/div]]此计划已完成!
[[div class="styled-quote onhold"]]
**啊哦……**
此计划已被搁置……
[[/div]]啊哦……
此计划已被搁置……
[[div class="styled-quote stopped"]]
**此计划已停止!**
理由://<理由>//
[[/div]]此计划已停止!
理由:在此处填写理由……
此计划已完成!
简述
修正WE层群-割裂室联合站点的代码库及其子页面(代码页面)的URL。
详述
WE层群-割裂室联合站点中有一个代码库,用于存储代码页面。其旨在避免「一篇文档应用代码过多而导致源代码膨胀」,因此创立代码库页面以「安置引用页面代码的页面链接」。
然而,其URL却出现了问题,这是因为「代码库」的拼音应为「dai’ma’ku」,然而代码库页面的URL却为「/deimaku」而非「/daimaku」。这也连带着其子页面(代码页面)的URL出现了此类拼写错误,其均被错拼为「/deima<编号>」。
这是因为代码库的[[code]]块中的代码示例被错拼为了「deima」,从而导致其子页面全部出错。
经统计,需要直接修改的页面共有19个(分别为1个中心页、17个代码页面及1个示例页面),需要间接修改的页面共有7个。共计需修改26个页面。
需要修改的页面列表如下:
URL修改:
引用修改:
- 旧版全自定义层级等级组件。
- Lastrooms。
- Level N-0 R。[原文如此]
- The Routine/Criticalrooms - "常室-临界室"。[原文如此]
- 在线聊天室
- The SecondFloor - "二楼"。[原文如此]
- 「核」上传中心。
此计划正在进行中……
简述
修正WE-割裂室联合站点中所有页面的出错URL。
详述
根据后室中文维基之规范性发布与编辑指导中的「页面命名规范」一段:
对于遵照一套编号系统的页面,例如层级、实体、物品、现象等,除非它们被打上了隐秘系列标签,否则 URL 都需要以 编号前缀-(层群名称-)层级编号 的格式命名。来自主站的 URL 通常是 level/entity/object/phenomenon-number,而原创内容或是来自其他分站的翻译作品需要添加表示层群的字符,例如 level-c-1 就表示 C 层群的第一层。
对于没有编号系统也没有分类要求的页面,例如带有隐秘系列标签的层级、实体、物品、现象文档,故事页面,艺术作品页面,相关人士页面,补充材料,功能页面,议论和指导等,URL 的命名就需要尽量遵照「语义化原则」,即让读者在没有阅读页面标题而只看 URL 本身就能读出与页面相关的信息。
由于 URL 只能使用英文、数字和一些常见的字符,并且不包含空格,语义化命名是有一定门槛的,现提供四个较为常见的方法供参考:
- 使用英语命名。
- 这可以是页面标题的简单翻译,例如一篇叫做「下水道」的页面的 URL 可以被命名为 the-sewerage;
- 也可以是对标题的重新演绎,或是基于文章内容写出的其他相关词句,这和翻译是很像的,例如电影《迷失东京》的原文叫做 Lost in translation,如果你发布了一篇叫做「迷失东京」的页面,就可以在恰当的情形下使用 lost-in-translation 作为 URL。
- 使用汉语拼音命名。如果你的页面标题叫做「下水道」,页面的 URL 就可以命名为 xiashuidao 或者 xia-shui-dao,但由于汉语拼音仅被用作表音,其表意能力不如汉语本身和英语,所以这种方案只能作为没有英语基础的作者的选项。
- 使用一套简单的模板:类型-用户名-数字;例如一位名叫
Eltrac 的用户发布了他的第三篇艺术作品,这个页面的 URL 就可以被命名为 artwork-eltrac-3;这样的命名方式对页面内容显然没有足够地涉及,因此只能作为下下策。
- 在必要情况下使用非英语但同样使用拉丁字母或近似拉丁字母的语言命名 URL;例如团体「神爱之繁生」的原文是拉丁语「Amor Incrementum」,这时就可以使用 amor-incrementum 作为 URL。
以模棱两可或指代范围太广的表达作为 URL 是不合适的,例如你不能只用 news 来命名一篇新闻报道,也不能只用 qi 表示气体、抛弃、奇怪等含义中的任意一个。无意义或只是为了彰显作者个人特色的 URL 也是不合适的,比如 wwwwww 和 ilovepandas。部分关键词不应该随意在 URL 中使用。没有指导标签的页面不应以 guide 作为中心词,也就是不能出现 guide-on-xxx 或者 xxx-guide 之类的命名。
这些规定不是强制性的,但我们仍然希望你这么做。违反这些规范不会受到处分,但站务组有权在不经页面发布者同意的情况下修改不合适的 URL。
对于有分类要求的页面,你需要在 URL 的最前面加上对应的分类标识。比如你的 URL 原本为 xxx,若要归到 theme 分类下,就需要写成 theme:xxx。关于页面分类的详细内容请参见下一条。
对于 URL 重复的页面,这种情况一般适用于翻译页面,例如主站有一篇 URL 为 the-void 的页面,而日文分站,由于不翻译主站文章,所以站内没有 URL 为 the-void 的翻译文章,于是就有作者创建了名为 the-void 但内容独立的页面;如果这两篇文章都被翻译并发布在站内,URL 就会冲突,为了解决这一问题,请参考后文的「URL 消歧义」。
因此,WE-割裂室联合站点中诸如此类的页面便不应出现。譬如上面举的这个例子,URL当然不应是「/level-136」,而应当为「/level-136-infinity」。而诸如此类无法被识别的符号也均应转为对应英文。
在检查完毕页面的URL后,无论是否存在问题,均应加入隐藏标签 _url-checked。
这些页面在被重新命名至对应页面时,均应在原页面中留下一个消歧义的重定向,若页面URL冲突,应当按如下格式创建消歧义页面,格式参考了Minecraft Wiki:
**页面标题1/页面标题2/……**通常指[[[url|页面]]],其也可以指:
+ 分类一
* [[[url1|页面1]]] -- 页面简述。
* [[[url2|页面2]]] -- 页面简述。
* ……
+ 分类二
……
-----
这是一个消歧义页面,列出了有相同或相近的标题,但内容不同的条目。如果您是通过某条目的内部链接而转到本页,并且该条目所指的是本页面中的个别内容而非全部内容,希望您能协助修正该处的内部链接,将它指向正确的条目。消歧义页面的标题应为「<Wikidot自动补充的标题>(消歧义)」。应为其加入 功能 标签。
与此同时,应尽快落地一个具有方针性的URL命名规则,以防止工作量的不断增加。
全部检查完成后,应使用脚本批量移除隐藏标签 _url-checked。
综述
- 落地一个具有方针性的URL政策。
- 创建一个工房,并使用ListPages模块列出所有不包含 _url-checked 标签的页面。
- 检查所有页面的URL。
- 无误:添加 _url-checked 标签。
- 有误:
- 移动页面至正确的URL。
- 修复反向链接。
- 在原位置添加重定向/消歧义页面。
- 给重命名后的页面及重定向/消歧义页面添加 _url-checked 标签。
- 全部完成后,使用脚本批量移除 _url-checked 标签。
- 其设计理念如下:
- 修改_template页面,使其包含一个在iftags中的set-tags按钮,以移除 _url-checked 标签。
- 脚本登入账户。
- 脚本在标签页中遍历所有含有 _url-checked 标签的页面。
- 脚本点击set-tags按钮。
- 全部完成后,脚本关闭。
- 其设计理念如下:
- 大功告成!
