2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

李皇谛-萌娘百科高级编程方案

萌娘百科,萬物皆可萌的百科全書!轉載請標註來源頁面的網頁連結,並聲明引自萌娘百科。內容不可商用。
跳至導覽 跳至搜尋

Icon-info.png
在此處根據你需要解決的問題查找關鍵詞以獲得問題解決方案。

編寫第一要義

倡導實事求是,拒絕大勢所趨。
倡導多方打聽,拒絕以訛傳訛。
倡導客觀評價,拒絕主觀偏見。
倡導就事論事,拒絕強行站隊。

常用輔助維護頁面

簡略的有效建議

  • 如果想留下電子郵件聯繫方式,請使用[[Special:電郵聯繫/你的用戶名]]而不是mailto:連結,後者會暴露你的電郵真實地址,避免捲入垃圾郵件的漩渦。
  • 外部圖片也可以使用CSS樣式,對於無法限制外部圖片高度的方案來說特別好用。<img src="" alt="" style=""/>
  • 編輯小節的時候,你可以向上添加新章節,也可以向下新章節,但為了避免錯誤識別,建議在父章節裏面展開編輯。
  • 如果你要連續打開多個萌娘百科條目(比如新開瀏覽器重新加載各個頁面),但苦於不是延伸確認而困於WAF時,請間隔至少2秒翻開新的選項卡。
  • 如果你在保護日誌/刪除日誌中找到了你曾經編輯過的頁面,請先留意自己的討論頁、操作者的貢獻日誌和鏈入頁面(保護)/公共討論頁(刪除),從操作記錄中找到可能的原因,但請注意,不要擅自推斷自己的責任(包括「默認自己無責」或「默認自己全責」),若有疑問請通過公共討論頁或用戶討論頁發起問詢。
  • 我的討論頁置頂信息有說關於屏蔽詞/立即刪除內容問題,請勿作出進一步過問,更不要以此試探「如何繞開」,對於其中的疑問,需要聯繫維護人員(用戶頁或公共討論頁)對相關內容進行討論。
  • 對於需要維護人員解答的疑問,可以使用{{Help}}尋求幫助(比如對方針內容不理解或有部分內容特別需要維護人員處理)。但請注意,請勿作出濫用此模板導致維護人員工作遭到阻礙的行為。
  • 引用控制模板關鍵字區別
    • <includeonly>:標籤中內容只在引用時顯示,本地不顯示。
    • <noinclude>:標籤中內容只在本地顯示,引用時不顯示。
    • <onlyincude>:標籤外內容只在本地顯示,引用時不顯示。標籤中內容自由顯示。

個人認為特別優秀的頁面

  • {{Gochiusatop/Special}} ← Sirogohan[更多]討論頁貢獻上載歷史封鎖及歷史被刪貢獻移動日誌巡查日誌用戶權限及日誌使用者查核大佬寫的點兔模板,優美到可謂前無古人後無來者。
  • {{User:淮南皓月/TsukiBox}} ← 一站式工具箱
  • [[夏川玥玥]] ← 伍昱物起[更多]討論頁貢獻上載歷史封鎖及歷史被刪貢獻移動日誌巡查日誌用戶權限及日誌使用者查核做的美化,不錯。
  • {{User:あめろ/加油}} ← Eric Liu加油!
  • {{蔚藍檔案}} ← 連selflink(指向自身的連結)都有樣式了?

建議使用的Firefox瀏覽器擴展

導入內容到頁面新窗口中打開
基本編輯手段

嵌入其他頁面內容

你可以任意導入頁面中的內容

{{导入页面地址}}

導入頁面之前要注意以下事項:

  1. 若源頁面與目標頁面相同,嵌入僅允許執行一次。禁止套娃!
  2. 嵌入頁面的默認檢索命名空間為Template(模板頁面),如果你要嵌入來自主空間的源頁面,請添加:前綴,例如User:李皇谛/sandbox/Import中的{{:Warma}}
  3. 如果你嵌入的內容屬於重新導向頁面,只會呈現重新導向完成後的目標頁面。
  4. 有些頁面會出現顯示不完整的情況,因為它已編寫以下代碼用於限制嵌入內容和本體內容。
<includeonly>仅限嵌入内容</includeonly>
<noinclude>仅限页面本体查看内容</noinclude>

CSS層疊樣式表

你能且只能在同一個網頁使用內聯樣式,這樣你就不需要額外導入其他的CSS樣式,不過要注意的是它不能應用多重樣式,比如偽元素(::before)和偽類(:hover)。

<div style="property:value;">

如果你需要應用複雜的CSS層疊樣式表,你可以在可編輯的命名空間中添加樣式表,添加樣式表之前請將頁面內容類型改為純CSS。

在页面左边点击“页面信息”之后,找到“页面内容类型”右边的“更改”,将其修改为纯CSS。
在你创建的页面右边加上文件类型为.css即可,例如User:李皇谛/沃玛.css

此時在對應的層疊樣式表頁面編輯就可以自由編寫複雜的樣式表。

selector {declaration1; declaration2; ... declarationN }
HTMLTags ChildrenHTMLTags {property:value;}
.class {property:value;}
#id {property:value;}
#id:ElementState {property:value;}
[Property] {property:value;}

活用樣式表可以點綴你的用戶頁使其檔次更上一層樓,不過要注意的是,過多的CSS樣式會導致一些性能不足的設備加載吃力。
在你完成對CSS樣式表的編輯之後,將其導入到Wiki頁面,導入成功之後其後續頁面將可以套用嵌入樣式。

<templatestyles src="User:李皇谛/沃玛.css" />

充分發揮你的設計潛力吧!

JS腳本

為防止基於JavaScript的跨站腳本攻擊,目前在萌娘百科的JavaScript腳本編寫工作只能由管理員行政員執行,並將其保存在Widget控件命名空間中。
要注意的是,只有Widget控件命名空間同時支持解析頁面內CSS樣式和JS腳本,也就是說,它是唯一HTML全兼容的命名空間。

有些控件還會受行政員和開發人員高度重視,不遵循規定修改或複製控件的管理員將被撤回修改並降職。

如果你想要在對應頁面添加Widget控件,可添加以下代碼:

失败-0xC0054078:“#Widget”已触发防滥用过滤器规则,按照此自定义纠错策略,编辑宣告失败。

如果你只需要在向你自己呈現的頁面中添加JS腳本,只需在你的JS腳本中編輯即可。
查看向我呈現的JS腳本
要注意的是,你不能更改除去你個人用戶頁以外的所有JavaScript腳本,尤其是其他人的用戶頁,因為它包含其他用戶的個人設置。
儘管你可以通過更改頁面類型為JavaScript的形式提交修改,但站點已經禁止用戶導入自定義JS腳本到頁面中。
如果你需要將實用性強的JS腳本引用到萌娘百科中,需要在用戶頁寫好源碼,通過萌娘百科_talk:討論版/技術實現提交申請之後,由管理員審核並由程式設計師驗證環境負載,最終通過各項考核的JS腳本還需要與專用模板相關聯。比如{{KizunaAIFace}}就是用戶提交JS腳本。
目前可行的解決方案就是使用LUA模塊替換JS腳本實現類似功能。

Lua模塊

需要自主學習LUA模塊並編寫本地化文檔。

{{#invoke:LuaMods}}

維基按鈕新窗口中打開
模板:Clickable Button

這個按鈕是紅色的 這個按鈕是藍色的
反正都能解壓,<div>也可以用
查看我的個人頁

實現原理:

<!--白色按钮-->
<span class="mw-ui-button">这个按钮是白色的</span>
<!--红色按钮-->
<span class="mw-ui-button mw-ui-destructive">这个按钮是红色的</span>
<!--蓝色按钮-->
<span class="mw-ui-button mw-ui-progressive">这个按钮是蓝色的</span>
<!--链接跳转按钮-->
[//zh.moegirl.org/Special:我的用户页 <span class="mw-ui-button">查看我的个人页</span>]

值得注意的是,用電腦端HTML點擊鼠標的頻率太快會選中文字,雙擊選中單詞,三擊選中整行。如果你不想要觀眾選中按鈕裏面的內容,你可以添加「user-select」的CSS屬性,或者使用「cursor」屬性定義鼠標樣式,但請注意,濫用上述CSS屬性可能會遭到反破壞質疑。

<!--不能选择文本的按钮-->
<span class="mw-ui-button" style="user-select:none;">不可选中文本</span>
<!--修改鼠标样式为“不可用”-->
<span class="mw-ui-button" style="cursor:not-allowed;">不可用按钮</span>

不可選中文本 不可用按鈕

當然,你也可以點擊此處參閱{{Clickable Button}}的模板文檔
文檔  [查看] [編輯] [歷史] [刷新]
Cat ico20.png
此模板最初引自維基百科的Clickable button,版權協定可能與萌百並不相同。使用方法經過修改後與原模板略有不同。

參數

  • 數字參數1:按鈕連結,支持內鏈和外鏈(需以http(s)開頭)。
  • link:不填默認為內鏈,外鏈需要指定link=external,無連結需要指定link=none
  • 數字參數2:按鈕文字,不填時默認使用參數1的值。
  • color:按鈕顏色,默認為白,僅有bluered兩種可選顏色。
  • font:文字顏色,支持顏色代碼。
  • class:指定按鈕的類。

示例

代碼:{{按钮|Mainpage|萌百主页}}

效果:萌百主頁

代碼:{{按钮|提问求助区|color=blue}}

效果:提問求助區

代碼:{{按钮|https://cn.bing.com/|必应搜索|link=external|color=blue}}

效果:必應搜索

代碼:{{按钮|仅供减压|link=none|color=red}}

效果:僅供減壓

代碼:{{按钮|前面可是地狱啊|color=red|font=black}}

效果:前面可是地獄啊

自定義摺疊新窗口中打開
模板:Toggle

自定義摺疊按鈕

🖱觸發器
NC默認顯示的內容
NO默認隱藏的內容

實現原理:

<div class="mw-customtoggle-{{#var:觸發器ID}}" style="cursor:pointer" title="單擊此處展開或摺疊剩餘內容">觸發器</div>
<div class="mw-collapsible show" id="mw-customcollapsible-{{#var:觸發器ID}}">默認顯示的內容</div>
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-{{#var:觸發器ID}}">默認隱藏的內容</div>

其中{{#var:触发器ID}}替換為你希望放置的ID標籤,與觸發器標籤相同的內容段將發生變化。

  • 一個ID可對應多個觸發器和多個內容,達到聯控的效果。
  • 配合<div class="mw-ui-button">使用效果更佳。

此幫助頁面就是典型應用例,原始碼如下:

<div class="mw-customtoggle-自定义折叠" style="cursor:pointer" title="单击此处展开或折叠剩余内容">🖱触发器</div>
<div class="mw-collapsible show" id="mw-customcollapsible-自定义折叠"><span style="color:#FFF; background-color:#D00">NC</span>默认显示的内容</div>
<div class="mw-collapsible mw-collapsed" id="mw-customcollapsible-自定义折叠"><span style="color:#FFF; background-color:green">NO</span>默认隐藏的内容</div>

網格式佈局新窗口中打開
層疊樣式表

合理利用網格式佈局,可以為你的排版效果錦上添花。

我發現以自己的口吻做介紹很簡單,但要做到是誰都能一讀就懂就很困難,尤其是對於那些初來乍到的編輯者來說,他們本來就沒有MediaWiki的編程基礎,除非同時很想學HTML,基本上都是「翻書馬冬梅,合書麻冬妹」。

要花幾個小時的時間重新組織語言,但準備提交草稿的時候才發現嚴重離題,是阿斯伯格綜合症侯群的痛。

所以我還是以自己的理解把CSS的網格式佈局說好先……

  • display屬性指定該框架類型為Grid表格。
    指示為Inline-Grid屬性的網格是內聯樣式,不會另起一行。
    設為網格佈局以後,除非重新定義單元的框架類型(display),float inline-block display:table-cellvertical-aligncolumn-*等設置都不起作用。

<div style="display:grid;">
	<……>
</div>

然後聲明每個單元在網格中的位置……

  • 在框架上用grid-template-areas指定每個單元在網格上的位置
    前後都用單引號以包住一行,用空格區分兩個單元。
    如果這個單元要佔用多個位置也就是延伸大小,可以輸入相同的關鍵詞。
    留空以輸入不被打標籤的其他元素可以輸入一個半角句號代替。
  • 在單元上用grid-area指定這個單元在網格上對應的標籤
    支持其他格式的文字而非HTML控制字

<div style="display:grid; border:0.4em dashed Black; grid-template-areas:'头像 标题' '头像 副标题' '内容 内容'">
	<div style="grid-area:标题; border:0.2em solid Orange;"><标题></div>
	<div style="grid-area:副标题;border:0.2em solid Green;"><副标题></div>
	<div style="grid-area:内容;border:0.2em solid Blue;"><内容></div>
	<div style="grid-area:头像;border:0.2em solid Red;"><img src= …… /></div>
	<div !--临时加进去的div--><span>这玩意是临时加进去<br>没打标签的</span></div>
</div>

以下為錯誤用法:

<div style="display:grid; grid-template-areas:'头像 标题' '头像 副标题' '内容 头像';">
	不能跨区域使用同一元素
<div style="display:grid; grid-template-areas:'头像 标题' '头像 副标题' '内容 内容' '内容 .';">
	十字展开不能缺角
<div style="display:grid; grid-template-areas:"头像 标题" "头像 副标题" "内容 ." "副标题 .";">
	你百特色。
	从外挂样式抄作业填了内联样式的空,结果双引号导致 style 提前结束

然後效果是這樣的……

<标题>
<副标题>
<内容>
<img src= …… />
這玩意是臨時加進去
沒打標籤的

看到沒有,這還不算一個網格,因為還有些關鍵聲明還沒有設置好導致網格上的單元被平分擺放,如果有些內容過多或者過少,就會給人一種頭重腳輕的感覺。

所以咱們需要為網格設置每個單元的行大小和列大小。

  • 在框架上用grid-template-rows指定每個單元在框架上各自的行大小。
  • 在框架上用grid-template-columns指定每個單元在框架上各自的列大小。
  • 延伸區域的單元最終的行大小和列大小是隨着區域定位而疊加的。
    用空格隔開不同行大小和列大小。
    可以使用fr單位來設置參照大小,取最小fr的量為最小公倍數,最大的fr量為最大公約數,與其他單元格一起平分大小,支持小數點。
    可以使用minmax(<最小值> <最大值>)計算式來對有效值進行約束,支持不同單位。比如grid-template-rows:minmax(2em 90%) auto calc(20% - 14px);
  • 在單元上用grid-area指定這個單元在網格上對應的標籤
    支持其他格式的文字而非HTML控制字

可統一在grid-template這函數上一起設置每個單元在框架上的位置和大小,效果是這樣的:

不能在這個函數用minmax算法

<div style="display:grid; grid-template:'头像 标题' 1.4em '头像 副标题' 1em '内容 头像' / 2em 1fr;">
	↓
<div style="display:grid; grid-template-rows: 1.4em 1em auto; grid-template-columns:2em 1fr; grid-template-areas: '头像 标题' '头像 副标题' '内容 头像';">

然後咱們設置好行大小和列大小,提交上去……

<div style="display:grid; border:0.4em dashed Black; text-indent:0px;  grid-template-rows: 1.4em 1em auto; grid-template-columns:12em 1fr;  grid-template-areas:'头像 标题' '头像 副标题' '内容 内容';">
	<div style="grid-area:标题; border:0.2em solid Orange;"><标题></div>
	<div style="grid-area:副标题;border:0.2em dashed Green; border-bottom-style:dotted;"><副标题></div>
	<div style="grid-area:内容;border:0.2em dashed Blue; border-top-style:dotted;"><内容></div>
	<div style="grid-area:头像;border:0.2em solid Red;"><img src= …… /></div>
	<div !--临时加进去的div--><span>这玩意是临时加进去的,没打标签就算了还给我塞了很多无意义的文字</span></div>
</div>
<标题>
<副标题>
<内容>
<img src= …… />
這玩意是臨時加進去的,沒打標籤就算了還給我塞了很多無意義的文字

雖然確實做到了手動調整行大小和列大小,避免了頭重腳輕的現象,但是臨時加進去的文字居然成了疙瘩,就很麻煩,所以稍微動下手把新添加的單元指定好標籤然後放在內容的右側,標題和副標題都要延伸到底,偷偷把副標題的高度(行大小)改一遍……

<div style="display:grid; border:0.4em dashed Black; text-indent:0px;  grid-template:'头像 标题 标题' 2em '头像 副标题 副标题' max-content '内容 内容 附加' auto / 12em 1fr;">
	<div style="grid-area:标题; border:0.2em solid Orange;"><标题></div>
	<div style="grid-area:副标题;border:0.2em solid Green;"><副标题></div>
	<div style="grid-area:内容;border:0.2em solid Blue;"><内容></div>
	<div style="grid-area:头像;border:0.2em solid Red;"><img src= …… /></div>
	<div style="grid-area:附加;"><span>这玩意是临时加进去的,起码比硬塞还好很多了,虽然文字还是很长。</span></div>
</div>
<标题>
<副标题>
<内容>
<img src= …… />
這玩意是臨時加進去的,起碼比硬塞還好很多了,雖然文字還是很長。

怎麼樣,指定單元位置還有行列大小是不是很麻煩?你們可能會說,都無紙化時代了還要用紙和筆打草稿,不很扯蛋嘛!

不過難熬的日子也總該結束了,因為你可以直接拿着這些小抄交作業,滿分20分能拿14分,好過被老師批零分啊!

剩下的6分是你的卷面分

<div style="padding:0px 1em 1em 1em; border:1px solid #f14344; color:White; border-radius:1em; background-color:#750b1cdd; display:grid; grid-template:'窗口标题 窗口标题 窗口标题' 2em '图标 pad 标题' 1.8em '图标 pad 内容' auto '图标 pad 简要' 1.8em / max-content 0.5em auto;">
<div style="grid-area:窗口标题; text-align:center; font-weight:bold; font-size:0.9em;">条目预览</div>
<div style="grid-area:图标;"><img src="https://img.moegirl.org.cn/common/4/44/Warma.jpg" style="width:10em; height:10em;"/></div>
<!--grid-area:pad; 无内容-->
<div style="grid-area:标题;font-weight:bold; color:Orange; font-size:1.6em;">Warma</div>
<div style="grid-area:内容;line-height:1em; color:White;"><p>Warma是活跃于[[Bilibili|哔哩哔哩弹幕视频网]]的个人特色频道Up主。</p><p>Warma因其丰富的想象力、可爱的声线和绘画风格、多样的视频形式和新奇不断的视频内容深得观众喜爱。</p><p></div>
<div style="grid-area:简要; display:flex; flex-direction:row-reverse;"><div style="width:auto; font-size:1.2em; font-weight:bold; opacity:0.8;">本命介绍</div></div></div>
</div>
條目預覽
Warma

Warma是活躍於嗶哩嗶哩彈幕視頻網的個人特色頻道Up主。

Warma因其豐富的想像力、可愛的聲線和繪畫風格、多樣的視頻形式和新奇不斷的視頻內容深得觀眾喜愛。

本命介紹

輸入並快捷搜索

過時內容

過時內容

直接定義目錄所在位置

__TOC__

右上角添加「編輯新章節」

__NEWSECTIONLINK__

請刷新頁面後查看右上角

說明文檔

嵌套頁面

文檔  [查看] [編輯] [歷史] [刷新]

410:此頁面已被註銷,伺服器已明確不再指向新的資源。

內聯文檔

文檔  [編輯]
進條目啥都別說,先一起喊:我已經完全愛上沃瑪啦!

程序框圖

皇諦控制中心 C:\Boot\Thirdparty\Warma.sln3.5GB 思維邏輯
啟動 > 檢查狀態× > 重建聯繫 ×程序已被終止 無法結束
重建聯繫 > 獲取名單× > 嘗試連接! ×檢查連通狀態 激活更新固件「…Warma.wim」 重新啟動系統
嘗試連接 正在重新啟動 檢查連通狀態

❌程序異常

程序中的關鍵步驟已被終止,在您建立新的步驟直到目的實現之前,你無法提交修改。

技術評分系統

新窗口中打開

{{#cscore:用户名|属性}}

属性 可以是

pages參與修改的頁面數量
changes修改提交次數
score用戶貢獻技術評分
技術評分標準:编辑页面数+2√重复编辑页面数

若用戶名存在,輸出格式為純數字,否則輸出「用戶不存在」。

應用實例:

李皇谛修改过{{#cscore:李皇谛|pages}}个页面
李皇谛已提交{{#cscore:李皇谛|changes}}次修改
贡献积分为{{#cscore:李皇谛|score}}

實現效果:
李皇諦修改過{{#cscore:李皇諦|pages}}個頁面
李皇諦已提交{{#cscore:李皇諦|changes}}次修改
貢獻積分為{{#cscore:李皇諦|score}}

梗辭典

新窗口中打開

通用格式
  • 梗單詞 或 「經典語錄
諧音原詞1
釋義
小釋義
造句2

示例
Warma對雞(尤其是母雞)有着迷之執着,自稱因為母雞又圓又好吃而最喜歡母雞。

  • 瑪裂主義
諧音原詞馬列主義(馬克思列寧主義)
Warma曾在2020年3月21日的動物森友會遊戲直播中出現畫面裂開的情況,被彈幕網友稱為「瑪裂主義」。
其實諧音與被稱為「資本家」的遊戲角色「狸克」有關,沃瑪的目標是將他和他的同夥扔到海裏。

我已經完全愛上愛醬了!出自《【warma】我喜歡愛醬!!(絆愛面試)》

Warma在視頻的最後說「我已經完全愛上愛醬了!」,於是粉絲便以此句仿寫出了應援詞。
應援詞我已經完全愛上Warma了!