打开/关闭菜单
打开/关闭外观设置菜单
打开/关闭个人菜单
未登录
未登录用户的IP地址会在进行任意编辑后公开展示。

系统消息

更多操作
MediaWiki本地化translatewiki.net
系统消息
首页上一页下一页末页
名称 默认消息文本
当前消息文本
citizen-user-info-text-anon留言) (翻译 未登录用户的IP地址会在进行任意编辑后公开展示。
citizen-user-info-text-temp留言) (翻译 此临时账号是因您在此浏览器及设备上进行了无账号编辑而创建。
citizen-usermenu-toggle留言) (翻译 打开/关闭个人菜单
citizen.css留言) (翻译 /* 这里所有CSS都会加载给Citizen皮肤的用户 */
/* 字体引入 */ @font-face { font-family: 'HarmonyOS Sans SC Regular'; src: url('https://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts/HarmonyOS_Sans_SC_Regular.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Bold'; src: url('https://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts//HarmonyOS_Sans_SC_Bold.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Black'; src: url('https://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts//HarmonyOS_Sans_SC_Black.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Light'; src: url('https://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts/HarmonyOS_Sans_SC_Light.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Light'; src: url('https://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts/HarmonyOS_Sans_SC_Light.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Medium'; src: url('https://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts/HarmonyOS_Sans_SC_Medium.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'HarmonyOS Sans SC Black'; src: url('hhttps://cdn.jsdelivr.net/gh/LuRenDing2020/HarmonyOSFonts/HarmonyOS_Sans_SC_Thin.ttf') format('truetype'); font-weight: normal; font-style: normal; } @font-face { font-family: 'Lady Radical'; src: url('https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/fonts/Lady-Radical-1.ttf') format('truetype'); font-weight: normal; font-style: normal; }
citizen.js留言) (翻译 /* 这里所有JavaScript都会加载给Citizen皮肤的用户 */
clearyourcache留言) (翻译 <strong>注意:</strong>在发布之后,您可能需要清除浏览器缓存才能看到所作出的更改的影响。 * <strong>Firefox或Safari:</strong>按住<em>Shift</em>的同时单击<em>刷新</em>,或按<em>Ctrl-F5</em>或<em>Ctrl-R</em>(Mac为<em>⌘-R</em>) * <strong>Google Chrome:</strong>按<em>Ctrl-Shift-R</em>(Mac为<em>⌘-Shift-R</em>) * <strong>Edge:</strong>按住<em>Ctrl</em>的同时单击<em>刷新</em>,或按<em>Ctrl-F5</em>。
collabpad留言) (翻译 协作板
collabpad-doctitle留言) (翻译 协作板:$1
collabpad-import-subtitle留言) (翻译 导入自$1
collapsible-collapse留言) (翻译 折叠
collapsible-collapse-all-text留言) (翻译 全部折叠
collapsible-collapse-all-tooltip留言) (翻译 折叠当前页面上的所有可折叠元素
collapsible-expand留言) (翻译 展开
collapsible-expand-all-text留言) (翻译 全部展开
collapsible-expand-all-tooltip留言) (翻译 展开当前页面上的所有可折叠元素
colon-separator留言) (翻译 :​
comma-separator留言) (翻译 、​
common.css留言) (翻译 /* 这里放置的CSS将应用于所有皮肤 */
/* 首页样式 */ :root { --ec-mainpage-border-radius: 8px; --ec-mainpage-gap: 0.625rem; --ec-mainpage-padding: 0.625rem; } .settings-notice { background-color: #fff3cd; color: #856404; padding: 10px; text-align: center; border: 1px solid #ffeeba; position: fixed; top: 0; left: 0; right: 0; z-index: 9999; font-weight: bold; } .ec-card { --ec-card-image-width: 100px; border-radius: var(--ec-mainpage-border-radius); position: relative; } .ec-card:has(.ec-card--image, .ec-card--content) { display: flex; } .ec-card .ec-card--image { display: flex; justify-content: center; align-items: center; width: var(--ec-card-image-width); } .ec-card .ec-card--image img { display: block; border-radius: calc(var(--ec-mainpage-border-radius) / 2); } .ec-card .ec-card--content { width: calc(100% - var(--ec-card-image-width)); padding: var(--ec-mainpage-padding); } .ec-wrapper { display: flex; flex-direction: column; gap: var(--ec-mainpage-gap); } .ec-header { margin: var(--space-xxl) 0; filter: drop-shadow(1px 2px 4px rgba(0, 0, 0, .6)); } .ec-header .ec-header__title { display: flex; justify-content: center; align-items: center; gap: var(--ec-mainpage-gap); user-select: none; -webkit-user-select: none; } .ec-header .ec-header__title .ec-header__logo img { display: block; width: 76px; height: 76px; } .ec-header .ec-header__title .ec-header__wordmark { color: transparent; font-size: 42px; font-weight: bold; letter-spacing: 0.0625rem; background: repeating-linear-gradient(180deg, rgb(245, 144, 0), rgb(254, 254, 116), rgb(77, 202, 15)); background-clip: text; -webkit-background-clip: text; } .ec-navigation .ec-navigation-intro { display: flex; font-size: 14px; width: 100%; background: rgba(255, 255, 255, .4); border: 1px solid var(--border-color-base); border-radius: var(--ec-mainpage-border-radius); backdrop-filter: saturate(250%) blur(16px); -webkit-backdrop-filter: saturate(250%) blur(16px); overflow: hidden; margin-bottom: var(--ec-mainpage-gap); } .ec-navigation .ec-navigation-intro .ec-card--content { display: flex; flex-direction: column; gap: 4px; } .ec-navigation .ec-navigation-intro .ec-navigation-intro__title { color: var(--color-base--emphasized); font-size: 16px; } .ec-navigation .ec-navigation-intro ul { font-size: 13px; margin: 0 0 0 var(--space-lg); } .ec-navigation .ec-navigation-quote { width: fit-content; padding: 0 26px; margin: 26px auto; } .ec-navigation .ec-navigation-quote__saying { display: flex; align-items: flex-end; gap: 5px; color: var(--color-base--emphasized); font-size: 20px; font-family: serif; text-align: justify; position: relative; margin-bottom: 10px; } .ec-navigation .ec-navigation-quote__saying::before, .ec-navigation .ec-navigation-quote__saying::after { display: block; height: 36px; font-size: 58px; font-family: sans-serif; position: absolute; } .ec-navigation .ec-navigation-quote__saying::before { content: '“'; color: #f59000; top: -20px; right: 100%; } .ec-navigation .ec-navigation-quote__saying::after { content: '”'; color: #4dca0f; left: 100%; bottom: -10px; } .ec-navigation .ec-navigation-quote__author { color: var(--color-base--subtle); font-size: 13px; text-align: right; width: fit-content; margin-left: auto; margin-right: 16px; position: relative; } .ec-navigation .ec-navigation-quote__author::before { content: '——'; margin-right: 8px; } .ec-navigation .ec-navigation-quote__author::after { content: ''; position: absolute; top: 50%; left: 32px; right: 0; bottom: 5px; background: rgba(255, 165, 0, 0.7); } .ec-container { display: grid; grid-gap: var(--ec-mainpage-gap); } .ec-container .ec-container-card { border: 1px solid var(--ec-container-card-main-color); overflow: hidden; } .ec-container .ec-container-card__title { color: #fff; font-size: 22px; text-align: center; font-weight: bold; padding: calc(var(--ec-mainpage-padding) / 2) var(--ec-mainpage-padding); background: var(--ec-container-card-main-color); height: 46px; } .ec-container .ec-container-card__title img { width: auto; height: 38px; } .ec-container .ec-container-card__content { background: rgba(255, 255, 255, .3); backdrop-filter: saturate(150%) blur(16px); -webkit-backdrop-filter: saturate(150%) blur(16px); height: calc(100% - 46px); } .ec-container .ec-container-welcome { --ec-container-card-welcome-desc-width: 160px; --ec-container-card-welcome-image-width: 60px; --ec-container-card-welcome-item-line-color: #FF96C9; } .ec-container .ec-container-card-grid { display: grid; grid-gap: var(--ec-mainpage-padding); align-items: flex-start; } .ec-container .ec-container-card-grid.ec-container-card-grid--col1 { grid-template-columns: repeat(1, 1fr); } .ec-container .ec-container-card-grid.ec-container-card-grid--col2 { grid-template-columns: repeat(2, 1fr); } .ec-container .ec-container-card-grid.ec-container-card-grid--col3 { grid-template-columns: repeat(3, 1fr); } .ec-container .ec-container-card-grid.ec-container-card-grid--col4 { grid-template-columns: repeat(4, 1fr); } @media (max-width: 768px) { .ec-container .ec-container-card-grid.ec-container-card-grid--col4 { grid-template-columns: repeat(2, 1fr); row-gap: 24px; column-gap: 32px; } } .ec-container .ec-container-card-grid.ec-container-card-grid--col5 { grid-template-columns: repeat(5,1fr); align-items: flex-start; } @media (max-width: 768px) { .ec-container .ec-container-card-grid.ec-container-card-grid--col5 { grid-template-columns: repeat(2, 1fr); } } .ec-container .ec-container-card-gridItem.ec-container-card-gridItem--colspan2 { grid-column: span 2; } .ec-container .ec-container-card-gridItem.ec-container-card-gridItem--colspan3 { grid-column: span 3; } .ec-container .ec-container-card-gridItem { display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: var(--ec-mainpage-gap); } .ec-container .ec-container-card-gridItem__image img { display: block; width: 60px; height: auto; border-radius: calc(var(--ec-mainpage-border-radius) / 2); } .ec-container .ec-container-card-gridItem__title { text-align: center; } @media (max-width: 768px) { .ec-container .ec-container-card-gridItem { flex-direction: row; justify-content: flex-start; align-items: center; } .ec-container .ec-container-card-gridItem__image img { width: 40px; } .ec-container .ec-container-card-gridItem__title { text-align: left; font-size: 14px; } } .ec-container .ec-container-welcome-group { display: flex; flex-direction: column; height: 100%; } .ec-container .ec-container-welcome-item { display: flex; align-items: center; gap: var(--ec-mainpage-gap); width: 100%; padding: calc(var(--ec-mainpage-padding) / 2) var(--ec-mainpage-padding); border-bottom: 2px solid var(--ec-container-card-welcome-item-line-color); } .ec-container .ec-container-welcome-item:last-child { border-bottom: unset; } .ec-container .ec-container-welcome-item.ec-container-welcome-item-siteinfo { height: 100%; background: var(--background-color-quiet--hover); } .ec-container .ec-container-welcome-item.ec-container-welcome-item-siteinfo .ec-container-welcome-item__content > * { display: block; } .ec-container .ec-container-welcome-item.ec-container-welcome-item-siteinfo .ec-container-welcome-item-siteinfo__title { color: var(--color-base--emphasized); font-size: 18px; font-weight: bold; } .ec-container .ec-container-welcome-item.ec-container-welcome-item-siteinfo .ec-container-welcome-item-siteinfo__desc { color: var(--color-base); font-size: 12px; letter-spacing: 0.75px; } .ec-container .ec-container-welcome-item--reverse { flex-direction: row-reverse; } .ec-container .ec-container-welcome-item__desc { display: flex; justify-content: center; gap: var(--ec-mainpage-gap); width: var(--ec-container-card-welcome-desc-width); } .ec-container .ec-container-welcome-item__descItem { display: flex; justify-content: center; align-items: center; flex-direction: column; gap: var(--ec-mainpage-gap); } .ec-container .ec-container-welcome-item__image img { display: block; width: var(--ec-container-card-welcome-image-width); height: auto; border-radius: calc(var(--ec-mainpage-border-radius) / 2); } .ec-container .ec-container-welcome-item__title { text-align: center; } .ec-container .ec-container-welcome-item__content { text-align: justify; width: calc(100% - var(--ec-container-card-welcome-desc-width)); } .ec-container .ec-container-welcome-item__content p { margin: 0; } @media (max-width: 768px) { .ec-container .ec-container-welcome-item__descItem { flex-direction: row; align-items: center; justify-content: flex-start; } .ec-container .ec-container-welcome-item__image img { width: 40px; } .ec-container .ec-container-welcome-item__title, .ec-container .ec-container-welcome-item__descItem, .ec-container .ec-container-welcome-item__content { font-size: 14px; } .ec-container .ec-container-welcome-item__desc { width: 100%; gap: 12px; padding: 0 8px; box-sizing: border-box; } .ec-container .ec-container-welcome-item__content { width: 100%; padding: 0 8px; box-sizing: border-box; } .ec-container .ec-container-welcome-item__title { text-align: left; } } .ec-container .ec-container-rules .ec-container-card-gridItem--wrapper { grid-column: span 3; display: flex; justify-content: center; gap: calc(var(--ec-mainpage-gap) * 3); } .ec-container .ec-container-pages .ec-container-card-gridItem--colspan3 img { width: 100%; } .ec-container .ec-container-news .ec-container-card__content { background: rgba(0, 0, 0, .8); display: flex; flex-direction: column; justify-content: space-between; } .ec-container .ec-container-news .ec-container-news__title { color: #fff; font-size: 20px; text-align: center; } .ec-container .ec-container-news .ec-container-news__title .emphasized { color: transparent; font-size: 22px; font-weight: bold; letter-spacing: 0.0625rem; background: repeating-linear-gradient(180deg, rgb(245, 144, 0), rgb(254, 254, 116), rgb(77, 202, 15)); background-clip: text; -webkit-background-clip: text; } .ec-container .ec-container-news .ec-container-news__invite { color: #fff; font-size: 12px; padding: 4px 8px; text-align: center; } .ec-container .ec-container-link .ec-container-card__content { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 4px; } .ec-container .ec-container-special .ec-container-card-gridItem--colspan3 img { width: 100%; } .ec-container .ec-container-editnow .ec-container-card__label { text-align: center; } .ec-container-recentchanged { max-height: 800px; } .ec-container-recentchanged .ec-container-card__content { overflow-y: auto; } .ec-container-recentchanged .mw-changeslist h4 { padding: var(--space-sm); margin: 0; } .ec-container-recentchanged .mw-changeslist-legend { position: absolute; top: 0; right: 0; background: var(--background-color-overlay); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); } .ec-container-recentchanged .mw-changeslist::before, .ec-container-recentchanged .mw-changeslist-line::before, .ec-container-recentchanged .mw-contributions-list li::before { content: none; } .ec-container-recentchanged .mw-changeslist-line, .ec-container-recentchanged .mw-contributions-list li { margin: 0 !important; } .ec-container-recentchanged table.mw-enhanced-rc td:nth-child(2) { display: none; } .ec-footer { font-size: 0.8125rem; font-family: monospace; text-align: center; } .ec-footer a { text-decoration: none; } .ec-footer a::before { content: '['; color: var(--color-base--emphasized); } .ec-footer a::after { content: ']' !important; color: var(--color-base--emphasized); display: unset !important; width: unset !important; height: unset !important; margin-left: unset !important; background-color: unset !important; -webkit-mask: unset !important; mask: unset !important; -webkit-mask-size: unset !important; mask-size: unset !important; } @media screen and (min-width: 1001px) { .ec-container .ec-container-welcome { grid-column: 1 / span 2; grid-row: 1 / span 5; } .ec-container .ec-container-rules { grid-column: 3; grid-row: 1 / span 2; } .ec-container .ec-container-docs { grid-column: 3; grid-row: 3 / span 2; } .ec-container .ec-container-pages { grid-column: 1; grid-row: 6 / span 3; } .ec-container .ec-container-news { grid-column: 1; grid-row: 9; } .ec-container .ec-container-link { grid-column: 1; grid-row: 10 / span 2; } .ec-container .ec-container-special { grid-column: 2; grid-row: 6 / span 3; } .ec-container .ec-container-editnow { grid-column: 2; grid-row: 9 / span 3; } .ec-container .ec-container-recentchanged { grid-column: 3; grid-row: 5 / span 5; } } @media screen and (max-width: 1000px) { .ec-header .ec-header__title { flex-direction: column; gap: 0; } .ec-header .ec-header__title .ec-header__wordmark { font-size: 32px; } .ec-navigation .ec-navigation-intro { --ec-card-image-width: 80px; } .ec-container { grid-template-columns: repeat(1, 1fr); } .ec-container .ec-container-welcome { --ec-container-card-welcome-desc-width: 100%; } .ec-container .ec-container-welcome-item { flex-direction: column; } .ec-container .ec-container-welcome-item__content { width: 100%; } } /* Citizen 风格的起床战争模式搜索框 */ .bwmode-search-container { margin: 0 0 10px 0; } .bwmode-search-box { display: flex; align-items: center; width: 480px; max-width: 100%; background: var(--color-surface-1); border: 1px solid var(--border-color-base); border-radius: 14px; overflow: hidden; transition: all .2s ease; } .bwmode-search-box:focus-within { border-color: var(--color-primary,#36c); box-shadow: 0 0 0 3px rgba(51,102,204,.15); } /* 🔍 */ .bwmode-search-icon { padding-left: 14px; font-size: 16px; opacity: .7; } /* 输入框 */ #bwmodeSearch { flex: 1; border: 0; background: transparent; padding: 12px 10px; font-size: 15px; outline: none; } /* ✕ */ #bwmodeResetBtn { border: 0; background: transparent; cursor: pointer; width: 36px; height: 36px; border-radius: 50%; opacity: .6; transition: all .15s; } #bwmodeResetBtn:hover { opacity: 1; background: rgba(128,128,128,.12); } /* 查询 */ #bwmodeSearchBtn { border: 0; border-left: 1px solid var(--border-color-base); background: var(--color-primary,#36c); color: white; cursor: pointer; padding: 0 18px; height: 46px; font-weight: 600; transition: opacity .15s; } #bwmodeSearchBtn:hover { opacity: .9; } /* 原有的样式表 */ .skin-citizen-light .welcomeec { width: 100%; font-size: 80%; margin: 0 auto; border-radius: 5px; background-color: #f9fafb; } .skin-citizen-dark .welcomeec { background-color: #1e2830; } .flexdiv { display: flex; flex-wrap: wrap; } .wikibox, .wikibox2, .wikibox3 { width: 100%; padding: 10px; box-sizing: border-box; } @media (min-width: 721px) { .wikibox { width: calc(100% / 3); } .wikibox2 { width: calc(100% / 3 * 2); } .wikibox3 { width: calc(100% / 2); } } @media (max-width: 720px) { .wikibox, .wikibox2, .wikibox3 { width: 100%; } } /* .skin-citizen-dark .info-class { filter: invert(1) hue-rotate(180deg); } */ .mask { color: #000000; background-color: #000000; transition: color 100ms ease; } .mask:hover { color: #fff; } .page-首页 .mw-body-header, .page-首页 .page-info, .page-首页 .cs-comments, .page-首页 .ec-container-recentchanged .mw-changeslist-legend, .page-IndexTest .mw-body-header, .page-IndexTest .page-info, .page-IndexTest .cs-comments, .page-招新中心页 .mw-body-header, .page-招新中心页 .page-info, .page-招新中心页 .cs-comments { display: none; } .page-琴叶茜·葵 .mw-body-header, .page-琴叶茜·葵 .page-info, .page-琴叶茜·葵 .cs-comments { display: none; } .page-琴叶茜·葵 .banner-image { --banner-image-url: url("https://wiki.easecation.net/images/e/ea/Kotonoha_10th.jpeg"); --banner-image-height: 110vh; background-image: linear-gradient(to top, var(--color-surface-0) 15%, transparent 150%), var(--banner-image-url); background-size: cover; background-position: top; height: var(--banner-image-height); margin-bottom: calc(-1 * var(--banner-image-height)); } .page-IndexTest .banner-image { --banner-image-url: url("https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/images/5/59/%E5%B0%8F%E9%95%87.jpg"); --banner-image-height: 70vh; background-image: linear-gradient(to top, var(--color-surface-0) 15%, transparent 150%), var(--banner-image-url); background-size: cover; background-position: top; height: var(--banner-image-height); margin-bottom: calc(-1 * var(--banner-image-height)); } .page-飽きて放置したゲームの世界、からヤンデレヒロインがやってきて… .banner-image { --banner-image-url: url("https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/images/4/4b/EchoBanner.png"); --banner-image-height: 120vh; background-image: linear-gradient(to top, var(--color-surface-0) 15%, transparent 150%), var(--banner-image-url); background-size: cover; background-position: top; height: var(--banner-image-height); margin-bottom: calc(-1 * var(--banner-image-height)); } .page-首页 .banner-image { --banner-image-url: url("https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/images/1/1f/Background.jpg"); --banner-image-height: 70vh; background-image: linear-gradient(to top, var(--color-surface-0) 15%, transparent 150%), var(--banner-image-url); background-size: cover; background-position: top; height: var(--banner-image-height); margin-bottom: calc(-1 * var(--banner-image-height)); } .page-圣符传说 .banner-image { --banner-image-url: url("https://ec-wiki.oss-cn-hangzhou.aliyuncs.com/images/f/fa/1759677793722.png"); --banner-image-height: 100vh; background-image: linear-gradient(to top, var(--color-surface-0) 15%, transparent 150%), var(--banner-image-url); background-size: cover; background-position: top; height: var(--banner-image-height); margin-bottom: calc(-1 * var(--banner-image-height)); } .mw-message-box-warning { backdrop-filter: saturate(125%) blur(16px); -webkit-backdrop-filter: saturate(125%) blur(16px); } /* Player Card */ .player-card { box-shadow: var(--box-shadow-dialog); margin: 0 0 var(--space-lg) var(--space-lg); } .player-card__foreground { backdrop-filter: blur(48px) saturate(200%) brightness(90%); -webkit-backdrop-filter: blur(48px) saturate(200%) brightness(90%); } .page-2024行文竞赛 .citizen-page-container { margin: 0; } .page-2024行文竞赛 .mw-editform { background-color: white; } @keyframes neon { 0% { text-shadow: 0 0 0.3125rem rgb(0, 0, 0), 0 0 0.625rem rgb(0, 0, 0), 0 0 0.9375rem rgb(0, 0, 0), 0 0 1.25rem rgb(255, 0, 0), 0 0 2.1875rem rgb(255, 0, 0), 0 0 2.5rem rgb(255, 0, 0), 0 0 3.125rem rgb(255, 0, 0), 0 0 4.6875rem rgb(255, 0, 0); } 100% { text-shadow: 0 0 0.1565rem rgb(0, 0, 0), 0 0 0.3125rem rgb(0, 0, 0), 0 0 0.469rem rgb(0, 0, 0), 0 0 0.625rem rgb(255, 0, 0), 0 0 1.094rem rgb(255, 0, 0), 0 0 1.25rem rgb(255, 0, 0), 0 0 1.5625rem rgb(255, 0, 0), 0 0 2.344rem rgb(255, 0, 0); } } /* 2024行文竞赛 */ .page-2024行文竞赛 .page-actions, .page-2024行文竞赛 .siteSub, .page-2024行文竞赛 .contentSub, .page-2024行文竞赛 .page-info, .page-2024行文竞赛 .contentSub, .page-2024行文竞赛 .mw-footer, .page-2024行文竞赛 .mw-footer .citizen-footer, .page-2024行文竞赛 .mw-header, .page-2024行文竞赛 .mw-header .citizen-header, .page-2024行文竞赛 .cs-comments, .page-2024行文竞赛 .citizen-page-footer, .page-2024行文竞赛 .mw-body-header, .page-2024行文竞赛 .mw-body-header .citizen-page-header { display: none; } .page-2024行文竞赛 #siteSub, .page-2024行文竞赛 #contentSub, .page-2024行文竞赛 #contentSub2 { display: none; } .page-2024行文竞赛 .firstHeading-container { display: unset; } .page-2024行文竞赛 .citizen-body-container { padding: 0; margin: 0; justify-content: unset; } .floating-content { width: 100%; position: absolute; top: 20px; left: 50%; transform: translateX(-50%); z-index: 2; text-align: center; } .page-2024行文竞赛 .grid { margin: 0; overflow: hidden; background-color: black; font-family: 'Courier New', Courier, monospace; display: grid; grid-template-columns: repeat(auto-fill, minmax(50px, 1fr)); grid-template-rows: repeat(auto-fill, minmax(50px, 1fr)); height: 100vh; width: 100vw; position: fixed; z-index: 1; } .cell { display: flex; justify-content: center; align-items: center; position: relative; font-size: 24px; color: rgba(0, 255, 0, 0); transition: color 0.3s ease; user-select: none; } .cell::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0); z-index: 1; } .cell.active { color: rgba(0, 255, 0, 1); } .cell.fade { animation: fadeOut 1s forwards; } @keyframes fadeOut { 0% { color: rgba(0, 255, 0, 1); } 100% { color: rgba(0, 255, 0, 0); } } .tab-container { width: 300px; border: 1px solid #ccc; } .tab-buttons { display: flex; background: #ddd; border-bottom: 1px solid #ccc; } .tab-btn { flex: 1; padding: 10px; background: #ddd; text-align: center; cursor: pointer; transition: background 0.3s; } .tab-btn:hover { background: #ccc; } .tab-btn.active { background: white; border-bottom: 2px solid black; } .tab-content { padding: 20px; display: none; text-align: center; } .tab-content.active { display: block; } .tab-content img { max-width: 100%; height: auto; } .mw-parser-output p { margin-bottom: 0; } /* 贡献排行榜样式 */ .contributionscores-wrapper { max-width: 1000px; margin: 1.5rem 0; padding: 1rem; border-radius: 8px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); background-color: transparent; } .contributionscores-title { margin: 0 0 1rem 0; padding: 0.8rem 1rem; border-radius: 6px 6px 0 0; background: #004aad; color: white; font-size: 1.2rem; font-weight: 600; border-bottom: 3px solid #2850b8; } .contributionscores { width: 100%; border-collapse: separate; border-spacing: 0; border-radius: 0 0 6px 6px; overflow: hidden; } .contributionscores .header { background: #f5f7fa; border-bottom: 2px solid #e0e0e0; } .contributionscores .header td { padding: 0.8rem 1rem; text-align: left; font-weight: 600; color: #333; text-transform: uppercase; font-size: 0.9rem; letter-spacing: 0.5px; } .contributionscores .content td { padding: 0.8rem 1rem; border-bottom: 1px solid #f0f0f0; transition: background-color 0.2s ease; } .contributionscores .odd { background-color: #fafafa; } .contributionscores .even { background-color: transparent; } .contributionscores tr:hover td { background-color: #f0f7ff; } .contributionscores .content td:first-child { font-weight: bold; color: #666; width: 60px; } .contributionscores .content td:last-child { font-weight: 600; color: #4285f4; } .contributionscores .content a { color: #1976d2; text-decoration: none; transition: color 0.2s ease; } .contributionscores .content a:hover { color: #0d47a1; text-decoration: underline; } @media (max-width: 768px) { .contributionscores-wrapper { padding: 0.5rem; margin: 1rem 0; } .contributionscores .header td, .contributionscores .content td { padding: 0.6rem 0.5rem; font-size: 0.9rem; } } /* AI摘要 */ .mw-ai-summary { display: inline-block; margin: 2px 4px; padding: 2px 8px; font-size: 0.85em; line-height: 1.3; color: #ffffffff; background: #5b9ad5a2; border-radius: 8px; box-shadow: 0 1px 1.5px rgba(0,0,0,.14); transition: box-shadow .3s ease, background .3s ease; /* 提示 */ position: relative; cursor: help; /* 问号指针 */ } .mw-ai-summary:hover { background: #4473c4c4; box-shadow: 0 3px 4px rgba(0,0,0,.2); } .mw-ai-summary:empty { display: none !important; } /* 提示显示 */ .mw-ai-summary::after { content: "此摘要为 AI 生成 (revid: " attr(data-revid) ")"; /* 显示修订ID,方便调试和定位 */ position: absolute; left: 0; bottom: 100%; /* 紧跟在元素上方 */ margin-bottom: 4px; white-space: nowrap; /* 不换行 */ padding: 4px 8px; font-size: 0.8em; color: #ffffffff; box-shadow: 0 1px 1.5px rgba(0,0,0,.20); background: #4473c470; border-radius: 4px; opacity: 0; pointer-events: none; transition: opacity .2s ease; z-index: 9999; } /* 悬停时显出来 */ .mw-ai-summary:hover::after { opacity: 1; } /* 编辑框背景高斯模糊 */ .mw-editform { backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); border: 1px solid rgba(255, 255, 255, 0.18); box-shadow: 0 8px 32px 0 rgba(31, 38, 135, 0.1); border-radius: 6px; } .page-Special:IframePage .mw-body-header, .page-Special:IframePage .page-info, .page-Special:IframePage .mw-footer, .page-Special:IframePage .cs-comments { display: none; } /* 自动编号表格 */ table.auto-number { counter-reset: rowNumber; } table.auto-number tr:not(:first-child) { counter-increment: rowNumber; } table.auto-number tr:not(:first-child) td:first-child::before { content: counter(rowNumber) ". "; font-weight: bold; }
common.js留言) (翻译 /* 这里的任何JavaScript将为所有用户在每次页面加载时加载。 */
console.log("𝐄𝐚𝐬𝐞𝐂𝐚𝐭𝐢𝐨𝐧 𝐖𝐈𝐊𝐈"); console.log("ᴠ1.2.3.2"); console.log("𝙷𝚎𝚕𝚕𝚘 𝙰𝚕𝚙𝚑𝚊𝙲𝚘𝚍𝚎"); console.log("====================="); console.log("孩子们,我们被网易警告了o(╥﹏╥)o"); /* ====== Google Material Symbols ====== */ // var link = document.createElement('link'); // link.rel = 'stylesheet'; // link.href = 'https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,100..700,0..1,-50..200'; // document.head.appendChild(link); // 侧边栏定制函数 function ModifySidebar(action, section, name, link) { let target; switch (section) { case 'languages': target = 'p-lang'; break; case 'toolbox': target = 'p-tb'; break; case 'navigation': target = 'p-navigation'; break; default: target = 'p-' + section; break; } if (action == 'add') { let node = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; let aNode = document.createElement('a'); let liNode = document.createElement('li'); aNode.appendChild(document.createTextNode(name)); aNode.setAttribute('href', link); liNode.appendChild(aNode); liNode.className = 'plainlinks'; node.appendChild(liNode); } if (action == 'remove') { let list = document.getElementById(target) .getElementsByTagName('div')[0] .getElementsByTagName('ul')[0]; let listelements = list.getElementsByTagName('li'); for (let i = 0; i < listelements.length; i++) { if ( listelements[i].getElementsByTagName('a')[0].innerHTML == name || listelements[i].getElementsByTagName('a')[0].href == link ) { list.removeChild(listelements[i]); } } } } // 移除上传按钮 function CustomizeModificationsOfSidebar() { ModifySidebar('remove', 'toolbox', 'Upload file', '/index.php?title=%E7%89%B9%E6%AE%8A:%E7%89%B9%E6%AE%8A%E9%A1%B5%E9%9D%A2'); } // 页面背景图 $('<div>').addClass('banner-image').insertBefore('#content'); // 页面专用脚本动态引入 (function() { const pageScripts = { '首页': [ 'MediaWiki:Index.js', 'MediaWiki:WikiAI.js' ], '琴叶茜·葵': 'MediaWiki:Index.js', '圣符传说': 'MediaWiki:Index.js', '模板:Tab': '模板:Tab/Index.js', '飽きて放置したゲームの世界、からヤンデレヒロインがやってきて…': 'MediaWiki:Index.js' }; const currentPageName = mw.config.get('wgPageName'); const scriptToImport = pageScripts[currentPageName]; if (scriptToImport) { const scripts = Array.isArray(scriptToImport) ? scriptToImport : [scriptToImport]; scripts.forEach(function(script) { importScript(script); }); } })(); // 绑定检测 $(function () { // 未登录不检测 if (mw.user.isAnon()) return; if (localStorage.getItem('wiki-bind-never-tip') === '1') return; fetch('https://api.wiki.easecation.net/binding/status', { method: 'GET', credentials: 'include' }) .then(function(res) { if (!res.ok) throw new Error('HTTP ' + res.status); return res.json(); }) .then(function(response) { // 已绑定,无需提示 if (response && response.data && response.data.bind_status === 'O') return; // 未绑定,显示提示 mw.loader.using('mediawiki.notification').then(function () { var $text = $('<span>').html( '<span style="display:block;">您尚未绑定用户中心 <a href="https://uc.easecation.net/resources/wiki" target="_blank" style="color:#36c;font-weight:bold;">立即前往</a></span>' + '<span style="display:flex;justify-content:flex-end;margin-top:4px;">' + '<a href="javascript:;" class="wiki-bind-never-tip-link" style="color:gray;font-size:12px;">不再提示</a>' + '</span>' ); // 不再提示点击事件 $text.find('.wiki-bind-never-tip-link').on('click', function () { localStorage.setItem('wiki-bind-never-tip', '1'); // 关闭通知 var $notification = $('.mw-notification-tag-bind-notification'); var notif = $notification.data('mw-notification'); if (notif && notif.close) { notif.close(); } }); mw.notify($text, { type: 'error', autoHideSeconds: null, tag: 'bind-notification' }); }); }) .catch(function(err) { console.log('[WikiBind] 状态检查失败:', err); }); }); // 编辑巡查我会想你的 if (decodeURIComponent(window.location.pathname) == ('/特殊:最近更改')) { (function() { const canvas = document.createElement('canvas'); canvas.style.position = 'fixed'; canvas.style.top = '0'; canvas.style.left = '0'; canvas.style.pointerEvents = 'none'; canvas.style.zIndex = '9999'; document.body.appendChild(canvas); const ctx = canvas.getContext('2d'); function resize() { canvas.width = window.innerWidth; canvas.height = window.innerHeight; } resize(); window.addEventListener('resize', resize); const particles = []; const COUNT = 5; let hoveredParticle = null; let mouseX = 0; let mouseY = 0; // 监听鼠标移动事件 document.addEventListener('mousemove', (e) => { mouseX = e.clientX; mouseY = e.clientY; }); for (let i = 0; i < COUNT; i++) { particles.push({ x: Math.random() * canvas.width, y: Math.random() * canvas.height, size: 20 + Math.random() * 40, angle: Math.random() * Math.PI * 2, rotSpeed: (Math.random() - 0.5) * 0.05, vx: (Math.random() - 0.5) * 1.5, vy: (Math.random() - 0.5) * 1.5 }); } function drawExclamation(p) { ctx.save(); ctx.translate(p.x, p.y); ctx.rotate(p.angle); ctx.fillStyle = '#c04'; ctx.fillRect(-p.size / 10, -p.size / 2, p.size / 5, p.size * 0.7); ctx.beginPath(); ctx.arc(0, p.size * 0.4, p.size / 8, 0, Math.PI * 2); ctx.fill(); ctx.restore(); } function drawTooltip(p) { const text = "该编辑未巡查"; ctx.font = "14px Arial"; const textWidth = ctx.measureText(text).width; const padding = 10; const rectWidth = textWidth + padding * 2; const rectHeight = 24; const rectX = p.x - rectWidth / 2; const rectY = p.y - p.size - rectHeight - 10; // 绘制背景 ctx.fillStyle = 'rgba(0, 0, 0, 0.8)'; ctx.beginPath(); ctx.roundRect(rectX, rectY, rectWidth, rectHeight, 4); ctx.fill(); // 绘制文字 ctx.fillStyle = 'white'; ctx.textAlign = 'center'; ctx.textBaseline = 'middle'; ctx.fillText(text, p.x, p.y - p.size - 22); } function isMouseOverParticle(p, mx, my) { const radius = p.size * 0.8; const dx = mx - p.x; const dy = my - p.y; return dx * dx + dy * dy <= radius * radius; } function animate() { ctx.clearRect(0, 0, canvas.width, canvas.height); // 更新粒子位置和检测鼠标悬浮 hoveredParticle = null; particles.forEach(p => { p.x += p.vx; p.y += p.vy; p.angle += p.rotSpeed; // 边界检测 if (p.x < -p.size) p.x = canvas.width + p.size; if (p.x > canvas.width + p.size) p.x = -p.size; if (p.y < -p.size) p.y = canvas.height + p.size; if (p.y > canvas.height + p.size) p.y = -p.size; // 检测鼠标是否在感叹号上 if (isMouseOverParticle(p, mouseX, mouseY)) { hoveredParticle = p; } drawExclamation(p); }); // 如果有感叹号被悬浮,绘制提示文本 if (hoveredParticle) { drawTooltip(hoveredParticle); } requestAnimationFrame(animate); } animate(); })(); } /* 补上皮肤设置 加上一些机制 */ (function () { console.log('硬核补足缺失的 citizen-feature-* class'); const html = document.documentElement; // 补全缺失的citizen const patches = [ 'citizen-feature-autohide-navigation-clientpref-1', 'citizen-feature-pure-black-clientpref-0', 'citizen-feature-custom-font-size-clientpref-standard', 'citizen-feature-custom-width-clientpref-standard', 'citizen-animations-ready', 'skin-theme-clientpref-os' // 先补默认,后面会被覆盖 ]; patches.forEach(cls => { if (!html.classList.contains(cls)) { html.classList.add(cls); } }); // 主题偏好 try { const raw = localStorage.getItem('mwclientpreferences'); if (!raw) return; if (raw.includes('night') || raw.includes('dark')) { html.classList.remove('skin-theme-clientpref-os'); html.classList.add('skin-theme-clientpref-night'); console.log('已恢复用户手动夜间主题'); } else if (raw.includes('light')) { html.classList.remove('skin-theme-clientpref-os'); html.classList.add('skin-theme-clientpref-day'); console.log('已恢复用户手动浅色主题'); } } catch (e) { console.warn('读取本地主题偏好失败', e); } })(); $(document).ready(function() { // 拦截所有 B站外链点击 $(document).on('click', 'a[href*="bilibili.com"], a[href*="b23.tv"]', function(e) { var url = this.href; // 阻止默认跳转 e.preventDefault(); // 使用 noreferrer 打开新标签 window.open(url, '_blank', 'noopener,noreferrer'); }); }); // 试验性功能:表格搜索框 $(function () { $('#bwmodeTable').before( '<div class="bwmode-search-container">' + '<div class="bwmode-search-box">' + '<span class="bwmode-search-icon">🔍</span>' + '<input id="bwmodeSearch" type="text" placeholder="输入关键词...">' + '<button id="bwmodeResetBtn" title="清空">✕</button>' + '<button id="bwmodeSearchBtn">查询</button>' + '</div>' + '</div>' ); function searchTable() { var value = $('#bwmodeSearch').val().toLowerCase(); $('#bwmodeTable tr').each(function (index) { if (index === 0) return; var text = $(this).text().toLowerCase(); $(this).toggle( value === '' || text.indexOf(value) > -1 ); }); } $('#bwmodeSearchBtn').on('click', searchTable); $('#bwmodeSearch').on('keydown', function (e) { if (e.key === 'Enter') { searchTable(); } }); $('#bwmodeResetBtn').on('click', function () { $('#bwmodeSearch').val('').focus(); $('#bwmodeTable tr').show(); }); });
compare-page1留言) (翻译 页面1
compare-page2留言) (翻译 页面2
compare-rev1留言) (翻译 版本1
compare-rev2留言) (翻译 版本2
compare-revision-not-exists留言) (翻译 指定的版本不存在。
compare-submit留言) (翻译 对比
comparepages留言) (翻译 对比页面
comparepages-summary留言) (翻译  
compareselectedversions留言) (翻译 对比选择的版本
config-invalid-key留言) (翻译 无效的MediaWiki配置参数“$1”:$2
config-missing-key留言) (翻译 缺少MediaWiki配置参数”$1“
confirm留言) (翻译 确认
confirm-markpatrolled-button留言) (翻译 确定
confirm-markpatrolled-top留言) (翻译 将$2的修订版本$3标记为已巡查么?
confirm-mcrrestore-title留言) (翻译 还原版本
confirm-mcrundo-title留言) (翻译 撤销一次更改
confirm-purge-bottom留言) (翻译 刷新页面会清除缓存并强制显示最近的版本。
confirm-purge-title留言) (翻译 刷新本页
confirm-purge-top留言) (翻译 刷新此页面的缓存吗?
confirm-rollback-bottom留言) (翻译 此操作会立即回退对于此页面的所选更改。
confirm-rollback-button留言) (翻译 确定
confirm-rollback-top留言) (翻译 回退此页面的编辑么?
confirm-unwatch-button留言) (翻译 确定
confirm-unwatch-top留言) (翻译 从监视列表中移除此页吗?
confirm-watch-button留言) (翻译 确定
confirm-watch-button-expiry留言) (翻译 监视
confirm-watch-label留言) (翻译 监视期限:
confirm-watch-top留言) (翻译 把该页面添加到您的监视列表?
confirm_purge_button留言) (翻译 确定
confirmable-confirm留言) (翻译 {{GENDER:$1|您}}确定吗?
confirmable-no留言) (翻译
首页上一页下一页末页