https://mcbbs.wiki/api.php?action=feedcontributions&user=Salt+lovely&feedformat=atom
MCBBS Wiki - 用户贡献 [zh-cn]
2024-03-29T02:37:14Z
用户贡献
MediaWiki 1.40.2
https://mcbbs.wiki/index.php?title=%E8%AE%A8%E8%AE%BA:%E8%AE%A8%E8%AE%BA%E6%9D%BF&diff=54166
讨论:讨论板
2024-03-27T05:26:47Z
<p>Salt lovely:编辑“讨论:讨论板”的“账号出现问题”章节 // WikiSalt Editor</p>
<hr />
<div>{{/header}}<br />
{{info|请注意,MCBBS 2024年1月22日起关站维护。届时,所有关于获得MCBBS信息的微件和模板均不能使用,具体参见 [[MCBBS维护历史]]。}}<br />
<br />
==关于 MCBBS Wiki 日后运营方向的提案(草案)==<br />
<br />
提案人:[[Image:SHEEP_REALMS_head.png|30px|link=User:Sheep-realms]] [[User:Sheep-realms|<span style="color:green;">Sheep-realms</span>]]([[User talk:Sheep-realms|讨论]])<br />
<br />
提案时间:2024年2月21日 (三) 17:04 (CST)<br />
<br />
===正文===<br />
<br />
各位 MCBBS Wiki 的编辑者们,你们好!<br />
<br />
由于 MCBBS 近期正在准备永久关站,且不排除有重启的可能,MCBBS Wiki 正在面临一项抉择,MCBBS Wiki 或许需要进行内容转型。需要注意的是,这并不是马上就要作出的选择,我们可以多等待一些时间,根据事态发展作出合适的选择。<br />
<br />
====为什么要进行内容转型?====<br />
<br />
MCBBS Wiki 上的内容几乎都是为 MCBBS 用户服务的,如果 MCBBS 停止运营,MCBBS Wiki 也将逐渐失去用户和流量。如果我们仍有意运营 MCBBS Wiki,这将会是一个严重的问题。<br />
<br />
====内容转型会面临哪些问题?====<br />
<br />
内容转型存在风险。从内部来说,改变现有的内容架构稍有不慎就会进一步加速用户流失。从外部来说,现存的同类网站可能会限制我们的发展方向。<br />
<br />
====可选方案====<br />
<br />
目前,我们收集到以下转型方案:<br />
<br />
=====方案一:完善现有内容并归档=====<br />
<br />
这也许是最省事的做法,也是大家最不希望看到的结局。<br />
<br />
该方案主旨是修补 MCBBS Wiki 现有的内容,删除冗余和低质量内容,更正错误和争议内容,维护高质量内容,使其呈现最佳状态。在确认一切都已完善之后,归档整个网站。可迁移至免费的维基农场,可分发脱敏归档数据。<br />
<br />
考虑到 MCBBS Wiki 现存活跃编辑者的数量,这很有可能是最容易实现的方案。<br />
<br />
=====方案二:转型为 Minecraft 论坛 Wiki=====<br />
<br />
即不再单独面向 MCBBS 用户服务,转而为所有 Minecraft 论坛用户服务。<br />
<br />
首先是用户条目的问题。事实上,MCBBS Wiki 本身的定位就如同 MCBBS 用户 Wiki,我们在记录用户资料这方面取得了大量成果。如果面向所有 Minecraft 论坛服务,势必会出现更多的用户条目,这会大大增加内容维护的压力。并且,这个生态环境是不健康的,编辑者可以在用户条目中随意撰写不实内容,甚至无法考究其来源。而归根到底,MCBBS Wiki 受到欢迎的主要原因是 MCBBS 没有完善的自定义用户主页,用户缺少展示自我的渠道。如果其他论坛存在完善的自定义用户主页,论坛的用户更乐意选择论坛自带的用户展示渠道而非第三方网站。<br />
<br />
其次是关于论坛内容的介绍的条目。实际上这也是 MCBBS 历史遗留问题所造成的现象 —— 用户很难从 MCBBS 内部了解到想要了解的信息,转而求助 MCBBS Wiki。如果一个论坛有完善的引导体系,用户在论坛内部就能解决疑惑而非求助第三方百科。而作为论坛的运营方,想要完善论坛的引导体系也会首先考虑内部整顿而非求助外部渠道。<br />
<br />
然后是社区梗文化的条目。实际上 MCBBS Wiki 中所记录的大部分梗文化都有在萌娘百科上记录,虽然萌娘百科近期频繁受到攻击、运营策略调整以及一系列不可抗力因素导致用户正在流失,但综合 SEO、知名度、其他百科网站的收录范围等因素的影响,萌娘百科仍是查询梗文化的首要选择。<br />
<br />
最后是关于作品介绍的条目。MCMOD 包揽了 Minecraft 中文圈内大量模组、数据包的介绍,但除开模组和数据包之外,地图、插件等作品目前尚没有一个广受欢迎平台承担其作品托管和介绍服务。<br />
<br />
综上所述,这个方案可能不会带来更多关于用户和论坛介绍的优质内容,不过在社区梗文化和作品介绍这方面,社区仍有较大的空缺等待填补。<br />
<br />
=====方案三:转型为 Minecraft 社区 Wiki=====<br />
<br />
这是一个危险的方案,因为已经有前车之鉴:[https://wiki.biligame.com/mcplayer/ 我的世界社区 Wiki]<br />
<br />
我的世界社区 Wiki 失败的原因有很多,一句话总结就是“步子迈太大扯到蛋了”。我的世界社区 Wiki 的定位相当于是开设第二个萌娘百科,只不过内容限定在 Minecraft 相关。在如今 Minecraft 热度逐年下滑的大环境下,重新建立一个 MCBBS 都是几乎不可能的,想建设一个内容规模如此庞大的百科网站自然也是难上加难。如果说方案二还能通过相关论坛用户之间的传播吸引新用户加入,事实上我们现在也是如此获得新用户的,这个方案将掐断我们现有的唯一的新用户来源(原因下面会讲),我们必须准备一个宣发方案,开辟新的用户来源渠道。<br />
<br />
要转型为社区 Wiki,即面向所有 Minecraft 玩家,我们必须舍弃一些低质量、低关注度的用户条目,提高收录标准,否则在理想流量情况下收到的低质量用户条目将会多到难以想象。这就意味着用户不再能随意创建关于自己的介绍条目,我们现有的传播模式将不再奏效。<br />
<br />
除此之外,由于收录范围的大幅度扩展,远远超出了 MCBBS Wiki 现有的业务范围,我们会遇到很多直到我们遇到时才会想到的麻烦问题,因此在这里很难把这些困难一一列出来。如果我们真的使用这个方案转型成功了,我们甚至还会遇到攻击问题、资金问题等之前几乎从不考虑的问题。<br />
<br />
====结语====<br />
<br />
以上就是目前提出的所有转型方案。顺带一提,这是 MCBBS Wiki 的首个以“提案”作为标题的讨论串,也有可能是最后一个提案。由于 MCBBS 仍未正式发布关站通知,且仍有重启的可能,我们还没有到必须作出选择的时候。我们还需要保持关注 MCBBS 的最新动态,待尘埃落定后再作出选择。如果您有别的方案,或是修改建议,或是想对某个方案发表观点,请在下方讨论区提出。<br />
<br />
===讨论区===<br />
{{支持}}方案一。最现实的一个选择。目前来看基本没有其他论坛能达到mcbbs的热度,如果转行为mc论坛wiki那么无论从收录范围还是收录标准来看都是件相当麻烦的事,很可能收录到后面会越来越混乱直至成为一堆烂账。还是让这个wiki成为mcbbs的纪念馆吧。[[用户:mohakuai|mohakuai]]([[用户:mohakuai|留言]]) 2024年2月21日 (三) 17:27 (CST)<br />
<br />
:根据已知消息,MCBBS在未来很有可能无法访问,本站的论坛内链也将无效。这是一个问题。 [[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年2月21日 (三) 17:30 (CST)<br />
::确实是一个非常严重的问题,而且以目前消息来看MCBBS站内资料开放可能性也不高。也许今后只能依靠互联网档案馆来针对重要条目补充链接了。 [[用户:Mohakuai|Mohakuai]]([[用户讨论:Mohakuai|留言]]) 2024年2月21日 (三) 17:38 (CST)<br />
:我虽然也支持方案一这样可以来保存mcbbs的历史事件,让我们来回忆,但从实际方面来考虑,想要去完成脱离论坛内部链接很困难除非让mcbbs开站或者可以让我们去备份数据。 [[用户:XEYcmd|XEYcmd]]([[用户讨论:XEYcmd|留言]]) 2024年2月22日 (四) 21:02 (CST)<br />
<br />
{{支持}}方案二。在我看来,包括论坛在内的大部分的网站的用户页没有Wiki那样的自由度,而博客又显得混乱,完善的用户主页是不存在的。如果用户混迹多个Minecraft论坛的话,合并条目可以减少编辑量。[[洞穴夜莺]] 2024年2月21日 (三) 17:32 (CST)<br />
<br />
{{支持}}方案一。至少目前建议先按照方案一进行,如果之后慢慢发展出了另一个足够规模的论坛之后再讨论方案二的可能,现在各种民间私营论坛如同雨后春笋,小到可能不到十个活跃用户,如果要做综合性的论坛wiki可能很多论坛体量并不够格。(补充编辑:坏了,好久没用wiki了,打成了三个波浪号导致没有时间戳,现在时间很不真实了)—— [[文件:Jaanai.jpg|32px]] <span style="font-family:Jetbrains Mono; ">[[用户:Jaanai|Jaanai]] ([[用户讨论:Jaanai|Talk]] | [[特殊:用户贡献/Jaanai|Contribution]])</span> <s>2024年2月22日 (四) 06:15 (CST)</s> 2024年2月21日 (三) 21:48 (CST) <sup>'''根据编辑记录修正'''</sup><br />
<br />
{{支持}}方案二。尽管 mcbbs 目前“不排除有重启的可能”,但短期来看希望渺茫。也就是说:除创建以前没有记录在 Wiki 的旧条目之外,不会再有新条目诞生;另外,目前条目中包含大量论坛相关的(失效)链接,也是一个挑战。因此,若转型为 Minecraft 论坛社区以记录其他论坛的条目和秩事,一是能增加有新鲜度的新条目,二是可以增加更多活跃用户,对于后期的发展也有所帮助。[[Eterstars]] 2024年2月21日(三)23:49(CST)<br />
<br />
{{支持}}方案二。但...想法很好,实现很难。梗相关的内容有萌娘百科足矣,顶多做个备份,只能说是点缀做不了主力。使用 MCBBS 闲聊的用户也越来越少,茶馆也没有几年前的景气,其他资源板块的评论区也只剩下了“回帖可见”和反馈问题的留言板。MCBBS 之所以能活这么久也是因为上面大量的资源(教程、作品、问答等)。如果最终选择了方案二,希望 MCBBS Wiki 能老老实实从头做个资源站,不要再搞权限压制、积分甚至积分变现 <s>似乎本来就是一个 wiki 不应该有的东西</s>。 <br />
<br />
别的领域不清楚,可以参看现有的“Minecraft插件百科”,更新缓慢活跃作者很少,与其做个新的还不如给旧站引流。地图也不像 Mod,很少有做一个系列内容特别多的,优质地图资源相当少,但是能给一些优质地图做攻略形式的 wiki 也不错(前提是能做起来)<br />
<br />
<s>说着支持方案二,但是感觉又支持了个寂寞</s><br />
--[[用户:冰砚炽|冰砚炽]]([[用户讨论:冰砚炽|留言]]) 2024年2月22日 (四) 01:43 (CST)<br />
<br />
:你的意思是做个bbs么(笑) [[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年2月22日 (四) 11:07 (CST)<br />
::再做个还是算了吧,从头搞也挺累的 [[用户:冰砚炽|冰砚炽]]([[用户讨论:冰砚炽|留言]]) 2024年2月22日 (四) 21:37 (CST)<br />
<br />
{{支持}}方案二。现在MCBBS wiki的内容中有大量外链指向mcbbs,而mcbbs面临关站,大量内容难以恢复,而面向全部的mc国内论坛,会创建新的条目,并可能为已有的条目的内容进行完善。<br />
当然也无需全部,面向全部论坛也必然会带来上文所说的弊端,在我看来,可以考虑仅面向国内其他较大的mc社区,如klpbbs(有大量基岩版资源),易坛,mcmod,插件百科等,这样会较易于wiki管理。<br />
--[[用户:永远的友人|永远的友人]]([[用户讨论:永远的友人|留言]]) 2024年2月22日 (四) 08:26 (CST)<br />
<br />
:其实仅需考虑一些较知名的论坛即可(这点我是认同的)。<br />
:不过这些论坛中就有 有wiki的:<br />
:*[https://klpbbs.com 苦力怕论坛] - [https://klpwiki.com 苦力怕Wiki]<br />
:*[https://mc.netease.com 网易论坛] - [https://nmfwiki.miraheze.org NMFWiki]<br />
:其中不乏重复的内容,许多还是从本Wiki搬运过去的。 [[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年2月22日 (四) 10:54 (CST)<br />
{{支持|方案二}}.合并klpwiki。--[[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年2月22日 (四) 11:04 (CST)<br />
<br />
:不太现实 [[用户:冰砚炽|冰砚炽]]([[用户讨论:冰砚炽|留言]]) 2024年2月23日 (五) 14:11 (CST)<br />
<br />
{{敬告}} 关于方案二需要注意可行性的问题:<br />
#不可能顾及'''所有'''Minecraft论坛(尽管绵羊上面是这么说的)<br />
#收录其他论坛需要考虑表述/立场更换、条目合并(尤其是用户类 和 论坛术语类)、重新整理<nowiki>[[Category:分类]]</nowiki>等。这需要'''大量编辑人员的工作量'''。如果本Wiki缺人,或者合并目标Wiki缺少'''对[[MCBBS]]有一定了解'''的编辑者,那么这项工作恐怕很难进行下去。<br />
[[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年2月22日 (四) 11:42 (CST)<br />
<br />
:{{回应|正确的}}。现在国内很多wiki都面临着Wiki影响力不足、编者能力不足、时间不足等种种现实原因。<br />
:方案一是怀念流,变成NMFWiki那样由于论坛关站永久维护死着的Wiki;<br />
:方案二是理想方针,目前看可能性大家都比较支持,但是,“理想很丰满,现实很骨感”,如果不能和其他社区的Wiki达成妥协,Wiki就彻底完了,变到方案一;<br />
:方案三大家都不选择,因为大家都知道MCBBS Wiki干不过MCWiki。 [[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年2月26日 (一) 20:26 (CST)<br />
<br />
{{支持|方案二}}我不太支持方案一,方案三又有点不太可能。--[[用户:我不是wsei|CN·LR·WZX]]([[用户讨论:我不是wsei|留言]]) 2024年2月22日 (四) 22:32 (CST)<br />
<br />
{{支持|方案一}}方案二在执行时需要进行大量修改,且与其他论坛Wiki并不一定能达成一致,而方案三实现的可能性较低,因此支持方案一,先保留现有MCBBS内容--'''wwwwwwwwwwwsssssssssssssseieieieieieieieieiei''' 2024年2月23日 (五) 07:56 (CST)<br />
<br />
{{支持|方案二}}方案二最初是我提出的,对于Teddy提及的问题,可以首先针对Minebbs和苦力怕bbs扩充内容(这两者是目前国内较大的MC论坛了),我在苦力怕论坛上也有账号,最近要开始在苦力怕论坛活跃了。如果确认MCBBS Wiki要转型为MC论坛Wiki,在MCBBS Wiki的内容经过调整之后,可以和[https://klpwiki.com/ 苦力怕Wiki]协商,合并内容。目前苦力怕Wiki的页面还不算很多(100多个),并且我最近有一定空余时间,可以进行合并工作。--[[Image:QWERTY_52_38.png|30px|link=QWERTY_52_38]][[User:QWERTY_52_38|<span style="color:#7ffffd4;">QWERTY_52_38</span>]] {{用户编辑积分等级|QWERTY_52_38}} [[用户讨论:QWERTY_52_38|<span style="color:#ff9d3f;">讨</span>]] [[特殊:用户贡献/QWERTY_52_38|<span style="color:#1dff1d;">贡</span>]] 2024年2月23日 (五) 11:43 (CST)<br />
<br />
{{支持|方案二}}虽然方案二在实际实现的方面有一定的困难但在一定程度上也是一个不错的解决方案,虽然现在mcbbs官方没有发布闭站公告,但我们也要去按照最坏的打算去准备,提前去把方案想出来,这样,如果事情一旦真是发生,我们可以第一时间去做出反应。顺便问一下怎么签名,我一直没有弄明白——{{未签名|XEYcmd|2024年2月23日 (五) 12:57 (UTC)}}<br />
:{{回应}}<nowiki>~~~~</nowiki> - [[用户:Eicy|<span style="color:gray;">Eicy</span>]]([[用户:Eicy/Q%26A|QA]]) 2024年2月24日 (六) 07:51 (CST)<br />
<br />
{{支持|方案一}}建站的最目的就是为了 Mcbbs 的用户及想要了解 Mcbbs 的人员服务。方案一将 Mcbbs 的内容更加丰富,可以在关站后给后人留下一些可以考古的部分,或为怀旧的人们提供一个平台。<br />
[[用户:Han Jiang|Han Jiang]]([[用户讨论:Han Jiang|留言]]) 2024年2月25日 (日) 01:54 (CST)<br />
<br />
{{提醒|提醒}}:即令 MCBBS 不闭站,本站依然存在代际不公。因为补不回早期内容,许多早期知名用户现在只有新晋艺术家列表一处提及。反之,闭站前夕的坛友完全有理由在本站继续补充作品直到退圈,即便这些作品未在 MCBBS 发布(因为闭站了)。——[[用户:物灵|物灵]]([[用户讨论:物灵|留言]]) 2024年2月28日 (三) 13:22 (CST)<br />
<br />
:{{反对}}:bbswiki从来都不是一个很有影响力的站点,bbs关掉之后活力更是必然会逐渐丧失,闭站前夕的坛友完全会选择流量更大的mc资源站点发布自己的作品,哪怕像地图、光影这种目前并没有大型平台的作品类型,基本上也不会选择发在本wiki,因为本wiki从来都不是一个资源定位型的站点(即便曾经有此计划,但因生态位问题必然不长久),且热度太低,更别提其中一个作品页面所分得的流量了。当然如果你说的作品是指茶馆那些带文学之类的,恐怕对bbswiki发展并无帮助。 -[[Image:MashKJo_Original_avatar.png|30px|link=User:MashKJo]] <span style="color:Red">'''MashKJo'''</span><small>-{([[User:MashKJo|用户页]])/([[User_talk:MashKJo|讨论页]])/([[Special:用户贡献/MashKJo|贡献]])}-</small>{{用户编辑积分等级|MashKJo}} 2024年3月1日 (五) 20:30 (CST)<br />
<br />
{{支持}}方案一。最有可行性的方案没有之一,且MCBBS的快照不多,需要完善的内容也不少。[[用户:Fsddg_41]]<br />
:{{提醒}} 请使用 <nowiki>--~~~~</nowiki> 签名,谢谢。--[[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年3月3日 (日) 10:43 (CST)<br />
<br />
{{支持}}方案二。如果能实现的话就是最好的结局,就是实现难度确实不低,简直就像重开一个新站一样。这个方案确实有点太理想了,不过是很符合我本人,想必提出这个方案的人也是多少有点理想主义的吧(笑)-来自[[用户:起名字真难就叫南南|全wiki最水的编辑者南南]]|[[file:Ralsei.gif|25px]]|[[用户讨论:起名字真难就叫南南|给她留言]]|[[特殊:用户贡献/起名字真难就叫南南 |她的贡献]]|[[文件:吃瓜.png|25px]]| 2024年3月3日 (日) 10:49 (CST)<br />
<br />
{{回应|目前投票结果:}} <br />
*方案一 5票([[U:mohakuai]]、[[U:Jaanai]]、[[U:Wsseieiei]]、[[U:Han_Jiang]]、[[U:Fsddg_41]])<br />
*方案二 9票([[U:洞穴夜莺]]、[[U:Eterstars]]、[[U:冰砚炽]]、[[U:永远的友人]]、[[U:Lihl]]、[[U:我不是wsei]]、[[U:QWERTY_52_38]]、[[U:XEYcmd]]、[[U:起名字真难就叫南南]])<br />
*方案三 0票<br />
<br />
--[[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年3月3日 (日) 10:52 (CST)<br />
<br />
{{支持}}方案二。其实更希望方案一和方案二结合一下,接纳新内容的同时保留旧内容,在废墟上重建,但也保留废墟用来纪念。当然这个方案肯定有纰漏,只是我个人意见。<br />
https://www.bilibili.com/video/BV1qA4m137pH/?spm_id_from=333.337.search-card.all.click<br />
当时看到这个视频的时候脑子嗡的一下。这么大个网站,说关就关了?本来打算以后条件允许时重新注册,谁知道这一次注销成了永别。不管怎么说,感谢mcbbs给我带来的一切美好回忆。永别了,泥潭。p.s.这是我第一次在讨论版发布内容。当然也是最后一次。(我是直接复制了下面那位的,如果格式有错请见谅。)[[用户:滑稽蜗|滑稽蜗]]([[用户:滑稽蜗|留言]]) 2024年3月3日 (三) 15:01 (CST)<br />
:@[[U:滑稽蜗]] 留言按时间顺序排序,最新留言置于讨论串最底端。--<span style="background:-webkit-linear-gradient(35deg,#c2185b,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent">※※※ [[U:坑触可|'''坑触可''']] ※※※ [[User talk:坑触可|'''留言''']] ※※※</span> &#124; [[特殊:Random|<span style="color:#202122" title="spEciAL;rANdOm">没事干了,不如随机一下</span>]] 2024年3月3日 (日) 15:17 (CST)<br />
==账号出现问题==<br />
<br />
本人账号登录时正常的,在其他的地方留言没有问题,但一旦进入[[1·22论坛闭站维护事件]]就显示账号属于未登录状态,点击登录无效,重新加载无效,但进入其他页面就没有问题。{{未签名|XEYcmd|2024年2月22日 (四) 21:09 (UTC)}}<br />
<br />
:原因不明,先使用[https://mcbbs.wiki/wiki/1%C2%B722%E8%AE%BA%E5%9D%9B%E9%97%AD%E7%AB%99%E7%BB%B4%E6%8A%A4%E4%BA%8B%E4%BB%B6?useskin=vector 此链接]作为临时解决方案。--[[Image:SHEEP_REALMS_head.png|30px|link=User:Sheep-realms]] [[User:Sheep-realms|<span style="color:green;">Sheep-realms</span>]]([[User talk:Sheep-realms|讨论]]) 2024年2月23日 (五) 01:37 (CST)<br />
:CloudFlare于昨日开始了较大规模的定期维护,尚不清楚此次维护是否是该问题的原因,具体问题仍需后台管理员调查。--[[Image:SHEEP_REALMS_head.png|30px|link=User:Sheep-realms]] [[User:Sheep-realms|<span style="color:green;">Sheep-realms</span>]]([[User talk:Sheep-realms|讨论]]) 2024年2月23日 (五) 01:43 (CST)<br />
::好的,怪不得昨天的wiki异常的卡像要崩溃了 [[用户:XEYcmd|XEYcmd]]([[用户讨论:XEYcmd|留言]]) 2024年2月23日 (五) 09:22 (CST)<br />
:{{完成}}CloudFlare 缓存规则顺序问题,已修复。--[[用户:Litwak913|Litwak.913 &#124; 🍁🦌]]([[用户讨论:Litwak913|留言]]) 2024年2月23日 (五) 19:06 (CST)<br />
:这个链接在我这还是旧缓存,无用です [[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年2月23日 (五) 20:43 (CST)<br />
::现在再试试 [[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年2月26日 (一) 20:21 (CST)<br />
{{ts|问题已解决|{{font|size=1rem|bgcolor=#fffaf0|1=&nbsp;[[U:Salt_lovely|{{font|color=#56a|size=1.2em|font=PRISTINA|css=text-shadow:#56a6 .1em .2em .1em|1='''Salt Lovely'''}}]] {{font|size=.75em|css=text-shadow:#0346 .1em .3em .2em|1=''[[用户讨论:Salt_lovely|{{color|#034|留言}}]]·[[特殊:用户贡献/Salt_lovely|{{color|#034|贡献}}]]''}}&nbsp;}} 2024年3月27日 (三) 13:26 (CST)}}<br />
<br />
==疑似占坑用户页面==<br />
<br />
省流:[[M1032]] [[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年2月24日 (六) 19:44 (CST)<br />
:翻阅页面历史发现是本人删除了大量内容,页面质量不合格已经删除。- - [[用户:Eicy|<span style="color:gray;">Eicy</span>]]([[用户:Eicy/Q%26A|QA]]) 2024年2月24日 (六) 19:53 (CST)<br />
::个人认为版本42215是可以接受的 [[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年2月24日 (六) 21:26 (CST)<br />
:::本人删除大段内容,视为自愿删除页面。 - [[用户:Eicy|<span style="color:gray;">Eicy</span>]]([[用户:Eicy/Q%26A|QA]]) 2024年2月25日 (日) 14:25 (CST)<br />
{{ts|问题已解决| - [[用户:Eicy|<span style="color:gray;">Eicy</span>]]([[用户:Eicy/Q%26A|QA]]) 2024年2月25日 (日) 14:26 (CST)}}<br />
<br />
==添加ktid、kpid、kuid、kusername等interwiki链接==<br />
rt,本站今后可能会多次引用[https://klpbbs.com 苦力怕论坛]上的内容,故建议添加这些interwiki:<br />
{| class="wikitable"<br />
|+Interwikis<br />
|-<br />
!前缀!!链接!!备注<br />
|-<br />
|<code>ktid</code>||<code>https://klpbbs.com/thread-$1-1-1.html</code>||主题<br />
|-<br />
|<code>kpid</code>||<code>https://klpbbs.com/forum.php?mod=redirect&goto=findpost&ptid=0&pid=$1</code>||回复<br />
|-<br />
|<code>kuid</code>||<code>https://klpbbs.com/space-uid-$1.html</code>||用户UID<br />
|-<br />
|<code>kusername</code>||<code>https://klpbbs.com/space-username-$1.html</code>||用户名(不推荐)<br />
|-<br />
|<code>kfid</code>||<code>https://klpbbs.com/forum-$1-1.html</code>||版块或大区<br />
|}<br />
--[[用户:Teddyxlandlee|Teddyxlandlee]]([[用户讨论:Teddyxlandlee|留言]]) 2024年3月10日 (日) 10:08 (CST)<br />
:前方内容属于跨Wiki前缀,不属于命名空间,已代为修改。--<span style="background:-webkit-linear-gradient(35deg,#c2185b,#1976d2);-webkit-background-clip:text;-webkit-text-fill-color:transparent">※※※ [[U:坑触可|'''坑触可''']] ※※※ [[User talk:坑触可|'''留言''']] ※※※</span> &#124; [[特殊:Random|<span style="color:#202122" title="spEciAL;rANdOm">没事干了,不如随机一下</span>]] 2024年3月10日 (日) 11:16 (CST)<br />
:不太支持,主要上面方案还没审核通过呢 [[User:Lihl|<span style="color:#808080;">Unknown , just_lihl.</span>]] [[User_Talk:Lihl|<span style="color:#b0e0e6;">Just talk to me!</span>]] [[Special:Contributions/lihl |<span style="color:#dcdcdc;">Contritube!</span>]] 2024年3月10日 (日) 19:02 (CST)</div>
Salt lovely
https://mcbbs.wiki/index.php?title=800805&diff=54162
800805
2024-03-24T14:32:10Z
<p>Salt lovely:编辑“800805” // WikiSalt Editor</p>
<hr />
<div>{{PersonInfoBox<br />
|name =800805<br />
|UserName =800805 <br />
|UserGroup =10<br />
|UID =3171800<br />
|Title =Lv.-13 摸鱼<br />
|Other =当前低活跃度,有时维护作品<br />
}}<br />
'''800805'''前期是一个大水怪,至今因为开学已经水不动了。现活跃于mod发布版块搬运及周边创作版块文学创作。<br />
<br />
== 语录 ==<br />
{{Quote|请尽量少出现类似“可以,但没必要的字眼”|800805}}<br />
{{Quote|谢谢lz大大的锭|800805}}<br />
{{Quote|发假锭了|800805}}<br />
<br />
== 大事年表 ==<br />
{| class="wikitable"<br />
|-<br />
! 时间 !! 事件 !! 参考链接<br />
|-<br />
| 2020-3-28 || 用户注册 || 无<br />
|-<br />
| 2020-3-29 || 第一个问答帖 || [[tid:1001017|传送门]]<br />
|-<br />
| 2020-4-13 || 第一个作品帖 || [[tid:1017570|传送门]]<br />
|-<br />
| 2020-5-19 || 升到六级,获得3个绿宝石 || [[tid:1049285|传送门]]<br />
|-<br />
| 2020-5-20 || 发布了一个考古帖子 || [[tid:1049285|传送门]]<br />
|-<br />
| 2020-5-21 || 成为绵羊手机版处理的第一个举报,导致+3被失误点成-3金粒 || [[tid:1049933|传送门]]<br />
|-<br />
| 2020-6-07 || 升到七级 || [[tid:1057730|传送门]]<br />
|-<br />
| 2020-6-21 || 获得创作爱好者勋章,贡献+1 || [[tid:1057924|传送门]]<br />
|-<br />
| 2020-6-30 || 连续水了两个反馈帖,均被加分 || [[tid:1069848|传送]][[tid:1070208|门]]<br />
|-<br />
| 2020-7-05 || 发布了一个建立图床的教程 || [[tid:1071701|传送门]]<br />
|-<br />
| 2020-7-06 || 上帖被收录进周边创作教程引索,贡献+2 || [[pid:18805796|传送门]]<br />
|-<br />
| 2020-7-10 || 获得了两枚下界之星 || [[tid:1074515|传送门]]<br />
|-<br />
| 2020-7-11 || 建立图床教程获得了我的第一个优秀图章,贡献+1,时间参考绵羊的评分 || [[pid:18805706|传送门]]<br />
|-<br />
| 2020-7-14 || 又水了一个反馈,获得捉虫勋章,贡献+1 || [[pid:18932975|传送门]]<br />
|-<br />
| 2020-7-17 || 《暮色森林传记》更新完成,获得优秀图章,贡献+1 || [[tid:1079953|传送门]]<br />
|-<br />
| 2020-7-30 || 获得作者认证 || [[tid:1089709|传送门]]<br />
|-<br />
| 2020-7-06 || 上帖被收录进周边创作教程引索,贡献+2 || [[pid:18805796|传送门]]<br />
|}<br />
<br />
* [[tid:1170008|他为了搞好下面的作品收录花了205金粒(100悬赏+105评分)]]。<br />
<br />
== 作品收录 ==<br />
{| class="wikitable"<br />
|-<br />
! 作品名称 !! 作品类别 !! 跳转链接 !! 发布时间<br />
|- <br />
| 基岩版无限刷物品方法 || 技巧教程 || [[tid:1017570|传送门]] || 2020-4-13<br />
|-<br />
| 一个在服务器里实用的一次性彩蛋 || 技巧教程 || [[tid:1017624|传送门]] || 2020-4-13<br />
|-<br />
| 【献给非酋玩家】匠魂模组生存快速开局 || Mod教程 || [[tid:1018162|传送门]] || 2020-4-14<br />
|-<br />
| 【java/基岩】多层甘蔗自动收割机 || 红石教程 || [[tid:1018790|传送门]] || 2020-4-14<br />
|-<br />
| [1.12.2]无尽与等价幸运方块整合 || 原生整合 || [[tid:1045728|传送门]] || 2020-5-14<br />
|-<br />
| 基岩版穿越屏障/穿墙的方法 || 技巧教程 || [[tid:1055187|传送门]] || 2020-6-01<br />
|-<br />
| {{Color|#2897C5|教你如何建立本地图床}}[[File:优秀图标.gif]] || 周边教程 || [[tid:1071701|传送门]] || 2020-7-05<br />
|-<br />
| <b>{{Color|#3C9D40|一次失败的袭击#Minecraft##RTX ON#}}</b> || 视频作品 || [[tid:1074515|传送门]] || 2020-7-08<br />
|-<br />
| F12的妙用——教你看到挂掉的图片 || 周边教程 || [[tid:1078218|传送门]] || 2020-7-13<br />
|-<br />
| {{Color|#2897C5| 《暮色森林传记》}}[[File:优秀图标.gif]] || 文学创作 || [[tid:1079953|传送门]] || 2020-7-17<br />
|-<br />
| 【16X】浅色材质包——整个MC都掉色了) || 材质资源 || [[tid:1089653|传送门]] || 2020-7-30<br />
|-<br />
| 《匠魂传记(未完待续)》 || 文学创作 || [[tid:1096819|传送门]] || 2020-8-08<br />
|-<br />
| 【128X】文字材质包——当方块用文字替代 || 材质资源 || [[tid:1098190|传送门]] || 2020-8-10<br />
|-<br />
| Lycanites Mobs——基于恐怖生物的材质包 || 材质搬运 || [[tid:1107653|传送门]] || 2020-8-21<br />
|-<br />
| 幽冥地府——Nether World || MOD脑洞 || [[tid:1108797|传送门]] || 2020-8-23<br />
|-<br />
| 隐藏门教程——用弓来开门) || 红石教程 || [[tid:1108977|传送门]] || 2020-8-23<br />
|-<br />
| 整蛊陷阱——爆炸树 || 红石教程 || [[tid:1109031|传送门]] || 2020-8-23<br />
|-<br />
| [机关]不能尝试打开的箱子 || 红石教程 || [[tid:1109076|传送门]] || 2020-8-23<br />
|-<br />
| 红石简易自动门 || 红石教程 || [[tid:1108999|传送门]] || 2020-8-23<br />
|-<br />
| BetterAdvancements——更好的进度显示[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1109188|传送门]] || 2020-8-23<br />
|-<br />
| Bad Wither No Cookie - Reloaded[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1109231|传送门]] || 2020-8-23<br />
|-<br />
| <b>{{Color|#2B65B7|[搬运授权]ProjectE——等价交换重制版}}</b>[[File:精华图标.gif]][[File:火III.gif]] || MOD搬运 || [[tid:1109380|传送门]] || 2020-8-24<br />
|-<br />
| 坑人闯关——挑战你心态的极限(未完待续) || 游戏地图 || [[tid:1109420|传送门]] || 2020-8-24<br />
|-<br />
| Golden Hopper——金漏斗[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1109760|传送门]] || 2020-8-24<br />
|-<br />
| Better Bedrock Gen——更好的基岩生成[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1109812|传送门]] || 2020-8-24<br />
|-<br />
| {{Color|#2B65B7|No flying——防止开挂飞行}}[[File:原创图标.gif]] || 插件资源 || [[tid:1116347|传送门]] || 2020-9-06<br />
|-<br />
| {{Color|#2B65B7|挂机池——简单的获得经验}}[[File:原创图标.gif]] || 插件资源 || [[tid:1120171|传送门]] || 2020-9-19<br />
|-<br />
| Cloud Control——控制云 || MOD搬运 || [[tid:1123648|传送门]] || 2020-10-2<br />
|-<br />
| Bee Angry-est——暴怒的蜜蜂 || MOD搬运 || [[tid:1123659|传送门]] || 2020-10-2<br />
|-<br />
| TelePass——传送[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1123748|传送门]] || 2020-10-2<br />
|-<br />
| SmeltCycle——熔炉冶炼优化[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1124037|传送门]] || 2020-10-3<br />
|-<br />
| FancySpawnEggs——花里胡哨的生物蛋[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1124178|传送门]] || 2020-10-3<br />
|-<br />
| Pack & White——让MC变成黑白世界! || 材质搬运 || [[tid:1124226|传送门]] || 2020-10-3<br />
|-<br />
| 详解匠魂模组——从入门到学废 || MOD教程 || [[tid:1124972|传送门]] || 2020-10-5<br />
|-<br />
| Set Home——传送点设置 || 插件资源 || [[tid:1125882|传送门]] || 2020-10-7<br />
|-<br />
| <b>Apple Skin——苹果皮</b>[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1141428|传送门]] || 2020-12-6<br />
|-<br />
| 西瓜冰淇淋 || 皮肤资源 || [[tid:1146346|传送门]] || 2020-12-26<br />
|-<br />
| Lucky Block Avaritia——无尽贪婪幸运方块 || MOD搬运 || [[tid:1147868|传送门]] || 2020-12-31<br />
|-<br />
|《寻宝》 || 文学创作 || [[tid:1148622|传送门]] || 2021-1-2<br />
|-<br />
| Lucky Blocks ProjectE——等价交换幸运方块[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1150908|传送门]] || 2021-1-9<br />
|-<br />
| Plural Lucky Block——复数幸运方块 || MOD搬运 || [[tid:1153085|传送门]] || 2021-1-16<br />
|-<br />
| <b>{{Color|#2897C5|<nowiki>【地图|皮肤】一座桥,一盏灯(元宵)</nowiki>}}</b> || 建筑皮肤 || [[tid:1158298|传送门]] || 2021-1-25<br />
|-<br />
| <b>更多合成表</b>[[文件:授权搬运图标.gif]] || Addon搬运 || [[tid:1166161|传送门]] || 2021-2-7<br />
|-<br />
| 等价交换教程指令篇 || MOD教程 || [[tid:1167795|传送门]] || 2021-2-9<br />
|-<br />
| 地心探险家——奥蒂斯迪 || 皮肤资源 || [[tid:1168313|传送门]] || 2021-2-10<br />
|-<br />
| 一套奇怪的皮肤包 || 皮肤合集 || [[tid:1168357|传送门]] || 2021-2-10<br />
|-<br />
| Project EX——等价交换增强[[文件:授权搬运图标.gif]] || MOD搬运 || [[tid:1168453|传送门]] || 2021-2-10<br />
|-<br />
| <b>{{Color|#2B65B7|音符盒音乐制作器}}</b>[[文件:授权搬运图标.gif]] || 软件搬运 || [[tid:1169522|传送门]] || 2021-2-12<br />
|-<br />
| <b>{{Color|#3C9D40|极简生存服务端}}</b>[[文件:原创图标.gif]]|| NK服务端 || [[tid:1174323|传送门]] || 2021-2-21<br />
|}<br />
<br />
以上没有特殊标注的原创作品,文字部分以CC BY-NC-SA 3.0发布,其它部分保留所有权利,除非另有明确说明<br />
<br />
文字部分:小说、教程、乃至资源部分的介绍等以文字呈现的部分。搬运作品请参照原作者设置的协议。<br />
<br />
BY:署名,转载声明原作者<br />
<br />
NC:非商业性,你不得将本创作运用于商业目的<br />
<br />
ND:禁止演绎,不得将作品修改后再次发布<br />
<br />
SA:相同方式共享,请和我使用一样的协议发布<br />
<br />
原创作品一般情况下一月维护一次,部分弃坑作品除外,取得图章的作品随时维护,搬运作品仅收录入本贴的永久更新。<br />
<br />
本帖所呈现的“搬运授权”图标会在发帖取得授权后自动更新,不以版主添加为准;除“搬运授权”图标更新可能快于版主,其它的图标及高亮以版主最终添加呈现的为准。<br />
<br />
== 勋章墙 ==<br />
[[文件:骨灰勋章.png]]<br />
[[File:PluginsCDTribe小组勋章.png]]<br />
[[文件:面包勋章.png]]<br />
[[文件:热心翻译者勋章.png]]<br />
[[File:WIKI贡献者勋章.png]]<br />
[[File:疯狂搬运工勋章.png]]<br />
[[File:捉虫专家勋章.png]]<br />
[[File:开发人员勋章.png]]<br />
[[File:红石爱好者勋章.png]]<br />
[[File:基岩版爱好者勋章.png]]<br />
[[File:创作爱好者勋章.png]]<br />
[[File:热心翻译者勋章.png]]<br />
[[File:金锭勋章.png]]<br />
[[File:搬运工勋章.png]]<br />
[[File:皮肤爱好者勋章.png]]<br />
[[File:论坛十周年纪念勋章.png]]<br />
[[File:小麦种勋章.png]]<br />
[[File:苹果树勋章.png]]<br />
[[File:士兵荣誉勋章.png]]<br />
[[File:石镐矿工勋章.png]]<br />
[[File:铁镐矿工勋章.png]]<br />
[[文件:Java正版勋章.png]]<br />
[[File:Windows10正版勋章.png]]<br />
[[File:青苹果勋章.png]]<br />
<br />
== 你知道吗 ==<br />
* 他目前正活跃于MOD发布板进行搬运。<br />
* 他的小说已经咕咕咕了好久。<br />
* 他去年暑假在问答版高活跃度,有40多个爱心都是那时候拿的。<br />
* 他的性别是用F12改成gender_127的,生日也是。<br />
* 他是PluginsCDTribe小组的成员。<br />
* 他被[[伟大的小安]]称为人生导尸。<br />
* 他曾经大量在茶馆发假锭,但在发锭机制移除后发的金粒,人气或道具都是真的。<br />
** 他现在的金锭是负数。<br />
* 他是一个勋章收集爱好者。<br />
** 因为正在攒金块勋章,所以除了混乱送的稿子,他没有额外挖过矿。<br />
*** 等攒到金块后就会为了猪灵而大量挖矿的。<br />
<br />
== 积分分析 ==<br />
{{MCBBS积分分析}}<br />
<br />
[[分类:水怪]]<br />
{{PluginsCDTribe}}<br />
{{MCBBS论坛用户|用户|J-0~9}}<br />
[[Category:PluginsCDTribe成员]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E5%AE%89%E7%81%AC%E9%BB%AF&diff=54161
安灬黯
2024-03-24T14:02:41Z
<p>Salt lovely:检查到代码错误 // WikiSalt Editor</p>
<hr />
<div>{{不完整|过多主观用语}}<br />
{{PersonInfoBox<br />
|name= 安灬黯<br />
|UID= 3362343<br />
|Birthday= 2007年1月/丙戌年腊月<br />
|Nationality= 中华人民共和国<br />
|UserName=安灬黯<br />
|UserAlias= 氵笔安,小安,寻闻,An,伟大的小安,洛命<br />
|UserGroup= Lv.8 考古家<br />
|Other= 水怪、文学家、电脑爱好者、游戏爱好者、玩弓的、五键碳之王、<s>泥潭宇宙联盟帝国下隶尼斯湖水怪自治区苏维埃人民委员会主席、逊B社会主义共和国联盟逊B大会副主席</s><br />
}}<br />
<br />
'''安灬黯'''是MCBBS的一位用户,TA是一只吟诗氵帖的[[水怪]],同时也自称是一名预备[[带文学家|文学家]]。TA时刻梦想着被迫害(<s>什么抖M</s>)(但至今都未成功),TA虽然注册时间不长,但TA真的很水。<br />
<br />
==TA的简介==<br />
安灬黯(伟大的小安)者,实小安也。原贴吧一水笔,转泥潭,重操旧业。<br />
<br />
其人似人非人,但知此安擅文恶武。常墨溅茶馆,水漫金山,甚氵。<br />
<br />
此人本想制小号曰“寻闻”者,奈何无他邮箱,作罢。今作,苦无手机号,哀矣。<br />
<br />
其并不擅小说,但仍努力于[[周边创作]],写文常为其好而非其业,故鸽期年却无愧也。<br />
<br />
==TA的成就==<br />
'''[[tid:1090001|这个人居然3天从5级氵到了6级!]]'''<br />
<br />
TA从2021年10月1日开始鸽文,至2023年12月31日已有'''821'''天未更新一个字!<br />
<br />
==TA的文学作品==<br />
'''详见“[[安灬黯/作品]]” '''<br />
<br />
==《探险家小安的笔记》摘录==<br />
<br />
{{Quote| '''这里是光明永远的禁地,是黑暗最后的挣扎。''' |小安记于原不死族洞穴洞口}}<br />
<br />
{{Quote| '''黑暗是可怕的,但隐匿于光明中的黑暗更加可怕。''' |小安记于黑森林与平原交界处}}<br />
<br />
{{Quote| '''潜匿在密林深处的,不一定是敌人,还有可能是守护者。''' |小安记于黑森林深处}}<br />
<br />
{{Quote| '''你,有信念吗?你,惧怕失败吗?''' |小安记于黑森林尽头即Lowis第一次失败的地方}}<br />
<br />
{{Quote| '''硝烟弥漫的战场,没有一人生还。''' |小安记于废土乐渝坡古战场}}<br />
<br />
{{Quote| '''不死族?真的不死吗?是玩笑吗?''' |小安记于不死族大殿遗址}}<br />
<br />
{{Quote| '''英雄,就应该勇敢地直面恐惧!''' |小安记于边境村庄}}<br />
<br />
{{Quote| '''人类总是能绝境重生,愿我们每个人也能这样。''' |小安记于联盟主城}}<br />
<br />
{{Quote| '''传说当血月降临,那个人,哦不,神,就会回来,血洗这片大陆。''' |小安记于实体303的坟墓}}<br />
<br />
{{Quote| '''深渊是黑暗之母,黑暗是光明之母,黎明终会到来。''' |小安记于末地古战场}}<br />
<br />
==积分构成==<br />
{{MCBBS积分分析}}<br />
<br />
==语录==<br />
<br />
{{Quote| '''欧吼!{{...}}''' |安灬黯}}<br />
<br />
{{Quote| '''3天冲6级!''' |安灬黯}}<br />
<br />
{{Quote| '''核电给你!''' |安灬黯}}<br />
<br />
{{Quote| '''希望人有/没事🙏。''' |安灬黯}}<br />
<br />
{{Quote| '''人生导尸。''' |安灬黯回复[[800805]]}}<br />
<br />
{{Quote| '''字数太少。。。下次一定!''' |安灬黯回复热心读者们}}<br />
<br />
{{Quote| '''鸽了一年?基本操作,坐下坐下。''' |安灬黯回复热心读者们}}<br />
<br />
{{Quote| '''水贴的夜晚,空虚寂寥,没有方向与目标,如同行尸走肉,是时候改变了!''' |安灬黯}}<br />
<br />
{{Quote| '''为什么水贴后要带有质量的内容!为什么要扼杀我们白赚举报的机会!为什么要假借水贴之名创作!''' |安灬黯怒斥[[尸先peng]]}}<br />
<br />
{{Quote| '''我爱高中!我爱理科!''' |安灬黯含泪道}}<br />
<br />
==勋章墙==<br />
{{勋章墙|创作爱好者}}<br />
[[File:石镐矿工勋章.png]]<br />
[[File:小麦种勋章.png]]<br />
[[File:论坛十周年纪念勋章.png]]<br />
[[File:铁镐矿工勋章.png]]<br />
[[File:苹果树勋章.png]]<br />
<br />
==你知道吗==<br />
*TA其实在2020年6月25日注册时填写了性别信息,但在2020年7月末选择保密。<br />
**毕竟泥潭里的大佬都这么做,TA有空还想整gender_3呢<br />
*TA在注册后第一天就被[[SHEEP_REALMS]]版主发卡。<br />
**但TA最信任的版主就是[[SHEEP_REALMS]],每当有问题都会找绵羊。<br />
*TA发在茶馆的第一首诗其实是在2020年5月在贴吧创作的。<br />
**TA尝试过成为[[带文学家]],但最终放弃,转向追求当真正的文学家。<br />
***但TA做的很失败。<br />
*TA目前正在写小说,其实是因为在贴吧不想更新跑到了论坛,所以前几章文笔超烂。<br />
**该小说因论坛规矩与贴吧冲突很大,进行了多次修改,其中有一次直接添了100多字。<br />
***目前该小说已鸽……<br />
*TA是在[[迷离fyx]]告诉TA曾经有人一天内水了160积分后开始3天冲6级的挑战的。<br />
**[[迷离fyx]]曾说过TA的挑战不可能成功,但TA的确在第三天最后3小时成功了。<br />
**TA在挑战期间发的主题大多数以吟诗为主。<br />
**TA在那段时间内最痛恨的版主是[[消失失失失]],因为她扣了TA人气、金粒并删了一个主题。<br />
*编辑这个条目的Wiki账号并不叫“伟大的小安”而叫“寻闻与小安”。<br />
**因为小安的Wiki账号“伟大的小安”当时没有编辑权限,而Wiki账号“寻闻与小安”恰巧有。<br />
***但现在依旧是“伟大的小安”在编辑。<br />
*在2020年8月14日20:46,TA忽然脑子抽筋,花一个宝石买了一个[[改名卡]]。<br />
*TA从5级到6级用了3天,从6级到7级却用了15天,甚至从7级到8级用了近1年。<br />
*2020年8月15日22:00后,[[小灬望]]潜入TA的帖子进行考古,TA对此十分愠怒。<br />
*TA曾经仅有两首符合[[带文学家]]标准的诗作,即[[tid:1086515|七月二十六日洪水滔天]]和[[tid:1103482|七律•长水]]。<br />
**当然现在不止了。<br />
*TA在看完《长征》和《捍卫者》后热血沸腾,二气呵成写下[[tid:1105171|《结束了吗1》第一季 - 附录第一章 - 废土之战]]。<br />
*在2020年8月中旬和2021年10月上旬TA的iPad被恢复出厂设置了。<br />
**TA的所有照片、文章及诗篇都消失了。<br />
**但TA的照片截止2020年2月的都被完好保存在了百度网盘;文章都保存在MCBBS;但诗篇却因为主题被锁没了。<br />
***于是2020年10月3日22:00后TA买了6张解锁卡,最终放弃了。<br />
****之后TA又一下狠心,成功了。<br />
*2020年12月26日23:02,TA自封为“泥潭宇宙帝国下隶尼斯湖水怪自治区苏维埃人民委员会委员长”,准备将水帖政治正确化。<br />
**此事最终搁浅。<br />
*TA在MCBBS最好的朋友叫[[诡异的滑稽]]。<br />
*TA的Wiki积分等级:{{用户编辑积分等级|伟大的小安}}。<br />
*TA在2021年6月29日早4点多接受了[[诡异的滑稽]]的改名卡并更名为安灬黯。<br />
*TA在2021年7月2日0点多两次挖矿十连抽,血亏。<br />
*TA在2021年8月26日在时隔一年后重新更文。<br />
*TA拒绝绑定电话号码。<br />
**迫于形势,TA最终还是绑了。<br />
<br />
==大事年表==<br />
{| class="wikitable"<br />
|-<br />
!时间!!事件<br />
|-<br />
|2020-6-25 11:31||安灬黯注册,当时昵称为“伟大的小安”。<br />
|-<br />
|2020-6-25 12:33||升级为 Lv.2 采石匠。<br />
|-<br />
|2020-6-25 20:30||发布第一个回复(违反版规,已被版主删除)。<br />
|-<br />
|2020-6-26||[[tid:1068424|发布第一个主题]]。<br />
|-<br />
|2020-7-4 07:03||升级为 Lv.3 挖沙工。<br />
|-<br />
|2020-7-22 23:16||升级为 Lv.4 矿工。<br />
|-<br />
|2020-7-25 10:18||升级为 Lv.5 农夫。<br />
|-<br />
|2020-7-26 12:57||[[tid:1086515|第一次登上水榜第一]]。<br />
|-<br />
|2020-7-28||[[tid:1088170|第一次发表以“3天冲6级”为前缀的主题]]。<br />
|-<br />
|2020-7-30 20:11||[[tid:1090001|“3天冲6级”挑战圆满成功,于次日发粒庆祝]]。<br />
|-<br />
|2020-8-9||[[tid: 1097415|第一次在MCBBS发表小说]]。<br />
|-<br />
|2020-8-15 22:02||升级为 Lv.7 猎手。<br />
|-<br />
|2021-6-28 03:04||使用改名卡更名为“安灬黯”。<br />
|-<br />
|2021-7-30 11:24||升级为 Lv.8 考古家。<br />
|-<br />
|2022-6-19 08:00||成为高一新生。<br />
|}<br />
<br />
==坛友对TA的评价==<br />
{{quote|带善人小安。|[[DK_fier小怕]]|小安关于举报问题上的见解}}<br />
<br />
{{quote|绝世大水怪。|大多数坛友|}}<br />
<br />
{{quote|一定事小姐姐吧 一定吧!{{sic}}|[[奇怪的帽子]]|}}<br />
<br />
{{quote|怎么说呢...他是个好人,特别特别好的那种,好到无法用语言形容的那种|[[诡异的滑稽]]|}}<br />
<br />
{{quote|年更楼主()|[[山间Intermont]]|}}<br />
<br />
==目前状态==<br />
高中牲,勿扰。<br />
<br />
{{MCBBS论坛用户|用户|J-U~Z}}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=-xiao_kai-&diff=54159
-xiao kai-
2024-03-24T10:01:29Z
<p>Salt lovely:编辑“-xiao_kai-” // WikiSalt Editor</p>
<hr />
<div>{{PersonInfoBox<br />
|name= -xiao_kai-<br />
|UserAlias = 小开<br />
|UID = 3111573<br />
|UserName= -xiao_kai-<br />
|UserGroup= Lv.9 牧场主<br />
|Nationality= 中华人民共和国<br />
}}<br />
'''-xiao_kai-'''是一位论坛前水怪用户,地图搬运工,见习地形师,是[[BoneStudio]]的一位成员。<br />
<br />
== 事迹 ==<br />
* 最早的搬运帖子为{{TID|1001227|一个材质帖}},发布于2020-3-29 17:36。<br />
* 此后他发布了更多材质搬运帖。<br />
** 此外还有一个原创整合包。<br />
* 2020年的某个时间加入了[[BoneStudio]]小组,并开始学习地形。<br />
<br />
== 积分 ==<br />
{{-}}{{MCBBS积分分析}}<br />
*可以看出近一半是<s>水帖</s>发帖的积分。<br />
*他的Wiki积分等级:{{用户编辑积分等级|-xiao_kai-}}<br />
<br />
== 作品 ==<br />
*{{TID|1001227|(1.15.2 {{!}} 16X)Ultimacraft-原版3D,更加真实的MC纹理!}}<br />
*{{TID|1008173|(1.11.X~1.15.X{{!}}16X)SenseCraft-让 Minecraft充满活力!}}<br />
*{{TID|1021256|(低配/渣机也能流畅玩)方块之森------重新定义Minecraft!}}<br />
*{{TID|1055541|(独家搬运)树の天堂--专为懒人服主定制的地图!}}<br />
<br />
== 勋章墙 ==<br />
[[文件:BoneStudio.png]]<br />
[[File:Java正版勋章.png]]<br />
[[File:Windows10正版勋章.png]]<br />
[[File:Android正版勋章.png]]<br />
[[File:Switch正版勋章.png]]<br />
[[File:石镐矿工勋章.png]]<br />
[[File:铁镐矿工勋章.png]]<br />
[[File:金锭勋章.png]]<br />
[[File:小麦种勋章.png]]<br />
[[File:论坛十周年纪念勋章.png]]<br />
<br />
== 你知道吗 ==<br />
* 他无论是谁的好友申请都会同意。<br />
* 他是B站[https://space.bilibili.com/435292613 最屑UP主]。<br />
* 他是一个见习地形师。<br />
* 他正在制作大型生存地图。<br />
<br />
{{MCBBS论坛用户|用户|J-符号}}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92&diff=54144
用户:Salt lovely/沙盒
2024-03-23T11:40:18Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒” // 维基盐编辑器</p>
<hr />
<div>== 测试功能 ==<br />
<br />
* [[/抓取MCBBS用户头像]]<br />
* [[/签名]]<br />
* [[/皮肤测试]]<br />
* [[/导航盒]]<br />
* [[/投票箱]]<br />
<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=这里是投票标题<br />
|subtitle=默认样式测试(可选)这里是投票副标题<br />
|#同意=<br />
[[U:Salt]]<!-- 多行测试 --><br />
[[用户:Salt_lovely|{{color|#d3a|Salt Lovely}}]]<!-- 自定义用户名样式测试 --><br />
|*同意=用户选择同意<br />
<br />
|#反对=[[U:Salt|{{color|#3da|Salt111}}]]<br />
|*反对=用户选择{{反对}}<br />
<br />
|#弃权=[[User:Example]][[U:Salt|{{color|#3da|Salt111}}]][[U:Salt_lovely]]<br />
<br />
|#重复测试=[[U:Example]][[U:Example]][[U:Example]]<br />
|*重复测试=重复测试<br />
<br />
|#无投票1=<br />
<br />
|#无投票2=<br />
}}<br />
<br />
{{U:Salt lovely/沙盒/投票箱<br />
|标题=压力测试<br />
|副标题=颜色参数 有横条<br />
|bar=1<br />
|颜色=#00F5D4,#00BBF9,#FEE440,#F15BB5,#9B5DE5<br />
|#1=[[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|*1=我们可以看到啊,选这个的用户很多<br />
|#2=<br />
|#3=[[User:Salt]][[User:Example]][[U:Example]][[用户:Example]]<br />
|#4=<br />
|#5=<br />
|#6=<br />
|#7=[[User:Salt]][[User:Example]][[User:Salt]][[User:Example]][[User:Salt]][[User:Example]]<br />
|#8=<br />
|#9=<br />
|#10=<br />
|#11=<br />
|#12=<br />
|#13=[[User:Salt]]<br />
|#14=[[用户:Salt_lovely]][[用户:Salt_lovely]][[User:Salt]][[User:Example]][[U:Example]][[用户:Example]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#15=<br />
|#16=<br />
|#17=<br />
|*123=<br />
|*456=1234567890<br />
}}<br />
<br />
== JS代码存档 ==<br />
<pre>// MCBBS头像上传时三个大小头像切片上传代码 - 修改 - 启用抗锯齿<br />
// 其实就加了两行<br />
(0, eval)(`function saveAvatar() {<br />
var img = $('avatarimage');<br />
var sd = getSelectorDimention();<br />
var ad = getAvatarDimension();<br />
var rl = (sd.left-ad.left)/ad.width;<br />
var rt = (sd.top-ad.top)/ad.height;<br />
var rw = sd.width/ad.width;<br />
var rh = sd.height/ad.height;<br />
var iw = jQuery('#avatarimage').width();<br />
var ih = jQuery('#avatarimage').height();<br />
var sl = rl*iw;<br />
var st = rt*ih;<br />
var sw = rw*iw;<br />
var sh = rh*ih;<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>200 || sh>250) {<br />
var r = Math.max(sw/200, sh/250);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
ctx.imageSmoothingEnabled = true; // 启用抗锯齿<br />
ctx.imageSmoothingQuality = "high"; // 高品质抗锯齿<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar1').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>120 || sh>120) {<br />
var r = Math.max(sw/120, sh/120);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar2').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var mwh = Math.min(sw, sh);<br />
if (sw>mwh) {<br />
sl += Math.floor((sw-mwh)/2);<br />
sw = mwh;<br />
}<br />
if (sh>mwh) {<br />
st += Math.floor((sh-mwh)/2);<br />
sh = mwh;<br />
}<br />
var tw = 48;<br />
var th = 48;<br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar3').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var src = $('avatarform').action;<br />
$('avatarform').action = data[data.indexOf('src')+1].replace('images/camera.swf?inajax=1', 'index.php?m=user&a=rectavatar&base64=yes');<br />
$('avatarform').target='rectframe'; <br />
}`)</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1/style.css&diff=54143
用户:Salt lovely/沙盒/投票箱/style.css
2024-03-23T11:39:04Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒/投票箱/style.css” // 维基盐编辑器</p>
<hr />
<div>.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
/* 标题栏 */<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
/* 百分比条 */<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 16px #fff, 0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: "";<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
/* 不展示的部分 */<br />
.salt-vote-container .salt-vote-color,<br />
.salt-vote-container .salt-vote-describe {<br />
display: none;<br />
}<br />
/* 列表本身的样式 */<br />
.salt-vote-container .salt-vote-options {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: 0.5rem 0 0.5rem 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li {<br />
display: block;<br />
margin: 2px 0 0 0;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
}<br />
.salt-vote-container .salt-vote-options li.has-desc {<br />
cursor: pointer;<br />
}<br />
.salt-vote-container .salt-vote-options li,<br />
.salt-vote-container .salt-vote-options .salt-vote-option-content,<br />
.salt-vote-container .salt-vote-options .salt-vote-desc {<br />
position: relative;<br />
width: 100%;<br />
}<br />
/* 列表本身的背景 */<br />
.salt-vote-container .salt-vote-options li::before,<br />
.salt-vote-container .salt-vote-options li .salt-vote-option-count,<br />
.salt-vote-container .salt-vote-options li .salt-vote-option-count::before {<br />
content: "";<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-options li::before {<br />
opacity: 0;<br />
}<br />
.salt-vote-container .salt-vote-options li:hover::before {<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-option-count {<br />
display: flex;<br />
flex-wrap: nowrap;<br />
justify-content: flex-end;<br />
align-items: center;<br />
padding-right: 0.5rem;<br />
background-color: transparent;<br />
pointer-events: none;<br />
opacity: 0.5;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-option-count::before {<br />
width: var(--vote-percent, 0);<br />
left: auto;<br />
opacity: 0.2;<br />
}<br />
/* .salt-vote-container .salt-vote-options li:hover .salt-vote-option-count {<br />
opacity: 0.1;<br />
} */<br />
/* 选项主体部分 */<br />
.salt-vote-container .salt-vote-options .salt-vote-option-content {<br />
display: flex;<br />
justify-content: flex-start;<br />
align-items: center;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: 0.5rem 1rem;<br />
text-align: center;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 0.4rem;<br />
margin: 0.1rem 0.2rem 0.1rem 0;<br />
line-height: 1.5rem;<br />
font-size: 0.9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a::before {<br />
content: "";<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a:hover::before {<br />
opacity: 0.2;<br />
}<br />
/* 选项描述样式 */<br />
.salt-vote-container .salt-vote-options .salt-vote-desc {<br />
height: 0;<br />
padding: 0.5rem 1rem;<br />
margin: -1rem 0 0 0;<br />
opacity: 0;<br />
pointer-events: none;<br />
overflow: hidden;<br />
transition: all 0.2s ease;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container .salt-vote-options .salt-vote-desc.show {<br />
height: var(--height, auto);<br />
max-height: 90wh;<br />
margin: 0 0 0 0;<br />
opacity: 1;<br />
pointer-events: auto;<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E5%BE%AE%E4%BB%B6:SaltVoteContainer&diff=54142
微件:SaltVoteContainer
2024-03-23T11:38:48Z
<p>Salt lovely:编辑“微件:SaltVoteContainer” // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><script><br />
/**<br />
*<br />
*/<br />
((window) => {<br />
if (window.saltVoteJsInit) return; // 拒绝重复运行<br />
window.saltVoteJsInit = true;<br />
const defaultColor = ["#429DA5", "#7b515f", "#ab8749", "#4C7BA3", "#373D53"];<br />
// /** @type {() => HTMLDivElement[]} */<br />
// const getAllContainer = () =><br />
// Array.from(document.body.querySelectorAll("div.salt-vote-container"));<br />
/** @type {() => HTMLDivElement[]} */<br />
const getAllNotInitContainer = () =><br />
Array.from(<br />
document.body.querySelectorAll("div.salt-vote-container.not-init")<br />
);<br />
<br />
const at = (arr, index) => {<br />
const len = arr.length;<br />
if (len) {<br />
if (index >= len) {<br />
index -= Math.ceil((index - len + 1) / len) * len;<br />
}<br />
if (index < 0) index += len;<br />
return arr[index];<br />
}<br />
};<br />
<br />
/** 渲染条状图内容 @type {(collect: {name: string, set: string[], li: HTMLElement, count: HTMLElement}[], color: string[], hasBar: boolean) => { barHTML: string }} */<br />
const renderPercent = (collect, color, hasBar) => {<br />
const countAll = collect.reduce((prev, curr) => {<br />
return prev + curr.set.length;<br />
}, 0);<br />
// 计算百分比<br />
const percent = collect.map(({ set, li, count }) => {<br />
const res = Number(((set.length * 100) / countAll).toFixed(2));<br />
li.style.setProperty("--vote-percent", `${res}%`); // 顺便把百分比记录上去<br />
count.textContent = `${set.length} (${res}%)`;<br />
return res;<br />
});<br />
const divList = hasBar<br />
? collect.map(<br />
({ name, set }, i) =><br />
`<div class="salt-vote-bar-item" title="${name.replace(<br />
/"/g,<br />
"'"<br />
)}" style="--vote-color:${at(color, i)};width:${<br />
set.length ? percent[i] : 0<br />
}%">${Number(percent[i])}%</div>`<br />
)<br />
: [];<br />
return { barHTML: divList.join("") };<br />
};<br />
<br />
/** 主流程 */<br />
/** @type {(el: HTMLDivElement) => void} */<br />
const process = (el) => {<br />
el.classList.remove("not-init");<br />
const barEl = el.querySelector(".salt-vote-bar");<br />
const colorEl = el.querySelector(".salt-vote-color");<br />
const list = el.querySelector(".salt-vote-options");<br />
const lists = list && list.querySelectorAll("li");<br />
const descUl = el.querySelector(".salt-vote-describe");<br />
const descLi = descUl && descUl.querySelectorAll("li");<br />
/** 收集的投票信息 @type {{name: string, set: string[], li: HTMLElement, count: HTMLElement, desc?: HTMLElement}[]} */<br />
const collect = [];<br />
/** 收集的投票信息 @type {{name: string, desc: HTMLElement}[]} */<br />
const descCollect = [];<br />
/** 有问题的投票信息 @type {Record<string, Set<string>>} */<br />
const wrongCollect = {};<br />
/** @type {string[]} */<br />
const color = [];<br />
// 必须要有投票区域<br />
if (!list || !lists || !lists.length) return;<br />
// 获取颜色<br />
if (!colorEl) color.push(...defaultColor);<br />
else {<br />
const colorPar = (colorEl.textContent || "")<br />
.replace(/\s*[,;,;、*]+\s*/g, "***")<br />
.trim()<br />
.split("***")<br />
.filter(Boolean);<br />
if (colorPar.length) color.push(...colorPar);<br />
else color.push(...defaultColor);<br />
}<br />
// 获取投票选项描述<br />
const descList = Array.from(descLi || []);<br />
descList.forEach((desc) => {<br />
const option = desc.querySelector(".salt-vote-desc-option");<br />
const value = desc.querySelector(".salt-vote-desc");<br />
if (!option || !value) return;<br />
const title = option.textContent || "";<br />
const thisCollect = { name: title, desc: value };<br />
descCollect.push(thisCollect);<br />
desc.style.setProperty("--height", "0");<br />
});<br />
// 获取投票信息<br />
const liList = Array.from(lists);<br />
liList.forEach((li, liIndex) => {<br />
const option = li.querySelector(".salt-vote-option");<br />
const voter = li.querySelector(".salt-vote-voter");<br />
if (!option || !voter) return;<br />
const title = option.textContent || "";<br />
const voters = Array.from(voter.querySelectorAll("a"));<br />
const count = document.createElement("div");<br />
const thisCollect = { name: title, set: [], li: li, count };<br />
voters.forEach((v) => {<br />
const res = v.title<br />
.replace(/^(?:User|U|用户):/i, "")<br />
.replace(/\s/g, "_");<br />
if (thisCollect.set.includes(res)) {<br />
v.remove();<br />
return;<br />
}<br />
thisCollect.set.push(res);<br />
// 允许自定义用户名样式<br />
if (<br />
!v.textContent ||<br />
v.textContent.toUpperCase().trim().replace(/\s/g, "_") !==<br />
res.toUpperCase()<br />
)<br />
v.textContent = res;<br />
});<br />
collect.push(thisCollect);<br />
// 外观<br />
li.appendChild(count);<br />
count.className = "salt-vote-option-count";<br />
li.style.setProperty("--vote-color", at(color, liIndex)); // 配色<br />
li.style.setProperty("--vote-count", `${thisCollect.set.length}`);<br />
// 点击展开选项描述<br />
const desc = descCollect.find(({ name }) => name === title);<br />
if (desc) {<br />
const descEl = desc.desc;<br />
thisCollect.desc = descEl;<br />
li.classList.add("has-desc");<br />
descEl.classList.add("salt-vote-option-hooked");<br />
descEl.style.setProperty("--height", `${descEl.scrollHeight}px`);<br />
descEl.style.setProperty("--vote-color", at(color, liIndex));<br />
li.addEventListener("click", () => {<br />
if (descEl.classList.contains("show")) {<br />
descEl.classList.remove("show");<br />
} else {<br />
descEl.classList.add("show");<br />
descEl.style.setProperty("--height", `${descEl.scrollHeight}px`);<br />
}<br />
});<br />
li.appendChild(descEl);<br />
}<br />
});<br />
// 绘制图形<br />
const { barHTML } = renderPercent(collect, color, !!barEl);<br />
if (barEl) barEl.innerHTML = barHTML;<br />
};<br />
<br />
const main = () => getAllNotInitContainer().forEach((el) => process(el));<br />
<br />
setTimeout(() => {<br />
main();<br />
}, 0);<br />
setTimeout(() => {<br />
main();<br />
}, 66);<br />
setInterval(() => {<br />
main();<br />
}, 500);<br />
})(window);<br />
</script></includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E6%B4%9E%E7%A9%B4%E5%A4%9C%E8%8E%BA.jpg&diff=54092
文件:洞穴夜莺.jpg
2024-03-20T17:08:36Z
<p>Salt lovely:编辑“文件:洞穴夜莺.jpg” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
洞穴夜莺的头像<br />
==授权协议==<br />
{{文件版权/网络资源}}<br />
[[分类:用户头像]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E5%BE%AE%E4%BB%B6:SaltVoteContainer&diff=54031
微件:SaltVoteContainer
2024-03-17T17:52:56Z
<p>Salt lovely:编辑“微件:SaltVoteContainer” // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><script><br />
"use strict";<br />
/**<br />
*<br />
*/<br />
((window) => {<br />
if (window.saltVoteJsInit) return; // 拒绝重复运行<br />
window.saltVoteJsInit = true;<br />
const defaultColor = ["#429DA5", "#7b515f", "#ab8749", "#4C7BA3", "#373D53"];<br />
// /** @type {() => HTMLDivElement[]} */<br />
// const getAllContainer = () =><br />
// Array.from(document.body.querySelectorAll("div.salt-vote-container"));<br />
/** @type {() => HTMLDivElement[]} */<br />
const getAllNotInitContainer = () =><br />
Array.from(<br />
document.body.querySelectorAll("div.salt-vote-container.not-init")<br />
);<br />
// const traceElements = getAllNotInitContainer();<br />
<br />
const at = (arr, index) => {<br />
const len = arr.length;<br />
if (len) {<br />
if (index >= len) {<br />
index -= Math.ceil((index - len + 1) / len) * len;<br />
}<br />
if (index < 0) index += len;<br />
return arr[index];<br />
}<br />
};<br />
<br />
/** 渲染条状图内容 @type {(collect: {name: string, set: string[]}[], color: string[]) => string} */<br />
const renderBar = (collect, color) => {<br />
const countAll = collect.reduce((prev, curr) => {<br />
return prev + curr.set.length;<br />
}, 0);<br />
const divList = collect.map(<br />
({ name, set }, i) =><br />
`<div class="salt-vote-bar-item" title="${name.replace(<br />
/"/g,<br />
"'"<br />
)}" style="--vote-color:${at(color, i)};width:${<br />
set.length ? set.length * 100 : 0<br />
}%">${Number(((set.length * 100) / countAll).toFixed(2))}%</div>`<br />
);<br />
return divList.join("");<br />
};<br />
<br />
/** 主流程 */<br />
/** @type {(el: HTMLDivElement) => void} */<br />
const process = (el) => {<br />
el.classList.remove("not-init");<br />
const barEl = el.querySelector(".salt-vote-bar");<br />
const colorEl = el.querySelector(".salt-vote-color");<br />
const list = el.querySelector(".salt-vote-options");<br />
const lists = list && list.querySelectorAll("li");<br />
const descUl = el.querySelector(".salt-vote-describe");<br />
const descLi = descUl && descUl.querySelectorAll("li");<br />
/** 收集的投票信息 @type {{name: string, set: string[], li: HTMLElement, desc?: HTMLElement}[]} */<br />
const collect = [];<br />
/** 收集的投票信息 @type {{name: string, desc: HTMLElement}[]} */<br />
const descCollect = [];<br />
/** 有问题的投票信息 @type {Record<string, Set<string>>} */<br />
const wrongCollect = {};<br />
/** @type {string[]} */<br />
const color = [];<br />
// 必须要有投票区域<br />
if (!list || !lists || !lists.length) return;<br />
// 获取颜色<br />
if (!colorEl) color.push(...defaultColor);<br />
else {<br />
const colorPar = (colorEl.textContent || "")<br />
.replace(/\s*[,;,;、*]+\s*/g, "***")<br />
.trim()<br />
.split("***")<br />
.filter(Boolean);<br />
if (colorPar.length) color.push(...colorPar);<br />
else color.push(...defaultColor);<br />
}<br />
// 获取投票选项描述<br />
const descList = Array.from(descLi || []);<br />
descList.forEach((desc) => {<br />
const option = desc.querySelector(".salt-vote-desc-option");<br />
const value = desc.querySelector(".salt-vote-desc");<br />
if (!option || !value) return;<br />
const title = option.textContent || "";<br />
const thisCollect = { name: title, desc: value };<br />
descCollect.push(thisCollect);<br />
desc.style.setProperty("--height", "0");<br />
});<br />
// 获取投票信息<br />
const liList = Array.from(lists);<br />
liList.forEach((li, liIndex) => {<br />
const option = li.querySelector(".salt-vote-option");<br />
const voter = li.querySelector(".salt-vote-voter");<br />
if (!option || !voter) return;<br />
const title = option.textContent || "";<br />
const voters = Array.from(voter.querySelectorAll("a"));<br />
// if (title in collect) return;<br />
const thisCollect = { name: title, set: [], li: li };<br />
voters.forEach((v) => {<br />
const res = v.title<br />
.replace(/^(?:User|U|用户):/i, "")<br />
.replace(/\s/g, "_");<br />
if (thisCollect.set.includes(res)) {<br />
v.remove();<br />
return;<br />
}<br />
thisCollect.set.push(res);<br />
// 允许自定义用户名样式<br />
if (<br />
!v.textContent ||<br />
v.textContent.toUpperCase().trim().replace(/\s/g, "_") !==<br />
res.toUpperCase()<br />
)<br />
v.textContent = res;<br />
});<br />
collect.push(thisCollect);<br />
// 配色<br />
li.style.setProperty("--vote-color", at(color, liIndex));<br />
// 点击展开选项描述<br />
const desc = descCollect.find(({ name }) => name === title);<br />
if (desc) {<br />
const descEl = desc.desc;<br />
thisCollect.desc = descEl;<br />
li.classList.add("has-desc");<br />
descEl.classList.add("salt-vote-option-hooked");<br />
descEl.style.setProperty("--height", `${descEl.scrollHeight}px`);<br />
descEl.style.setProperty("--vote-color", at(color, liIndex));<br />
li.addEventListener("click", () => {<br />
if (descEl.classList.contains("show")) {<br />
descEl.classList.remove("show");<br />
} else {<br />
descEl.classList.add("show");<br />
descEl.style.setProperty("--height", `${descEl.scrollHeight}px`);<br />
}<br />
});<br />
li.appendChild(descEl);<br />
}<br />
});<br />
// 绘制图形<br />
if (barEl) {<br />
barEl.innerHTML = renderBar(collect, color);<br />
}<br />
};<br />
<br />
const main = () => getAllNotInitContainer().forEach((el) => process(el));<br />
<br />
setTimeout(() => {<br />
main();<br />
}, 0);<br />
setTimeout(() => {<br />
main();<br />
}, 66);<br />
setInterval(() => {<br />
main();<br />
}, 500);<br />
})(window);<br />
</script></includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1/style.css&diff=54030
用户:Salt lovely/沙盒/投票箱/style.css
2024-03-17T17:52:06Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒/投票箱/style.css” // 维基盐编辑器</p>
<hr />
<div>.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
/* 标题栏 */<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
/* 百分比条 */<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 16px #fff, 0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: "";<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
/* 不展示的部分 */<br />
.salt-vote-container .salt-vote-color,<br />
.salt-vote-container .salt-vote-describe {<br />
display: none;<br />
}<br />
/* 列表本身的样式 */<br />
.salt-vote-container .salt-vote-options {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: 0.5rem 0 0.5rem 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li {<br />
display: block;<br />
margin: 2px 0 0 0;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
}<br />
.salt-vote-container .salt-vote-options li.has-desc {<br />
cursor: pointer;<br />
}<br />
.salt-vote-container .salt-vote-options li,<br />
.salt-vote-container .salt-vote-options .salt-vote-option-content,<br />
.salt-vote-container .salt-vote-options .salt-vote-desc {<br />
position: relative;<br />
width: 100%;<br />
}<br />
/* 选项主体部分 */<br />
.salt-vote-container .salt-vote-options .salt-vote-option-content {<br />
display: flex;<br />
justify-content: flex-start;<br />
align-items: center;<br />
}<br />
.salt-vote-container .salt-vote-options li::before {<br />
content: "";<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-options li:hover::before {<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: 0.5rem 1rem;<br />
text-align: center;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 0.4rem;<br />
margin: 0.1rem 0.2rem 0.1rem 0;<br />
line-height: 1.5rem;<br />
font-size: 0.9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a::before {<br />
content: "";<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a:hover::before {<br />
opacity: 0.2;<br />
}<br />
/* 选项描述样式 */<br />
.salt-vote-container .salt-vote-options .salt-vote-desc {<br />
height: 0;<br />
padding: 0.5rem 1rem;<br />
margin: -1rem 0 0 0;<br />
opacity: 0;<br />
pointer-events: none;<br />
overflow: hidden;<br />
transition: all 0.2s ease;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container .salt-vote-options .salt-vote-desc.show {<br />
height: var(--height, auto);<br />
max-height: 90wh;<br />
margin: 0 0 0 0;<br />
opacity: 1;<br />
pointer-events: auto;<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=54029
用户:Salt lovely/沙盒/投票箱
2024-03-17T17:44:53Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒/投票箱” // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><!--<br />
--><div class="salt-vote-container not-init"><!--<br />
-->{{#if: {{{color|{{{颜色|}}}}}} | <div class="salt-vote-color">{{{color|{{{颜色|}}}}}}</div> | }}<!--<br />
--><div class="salt-vote-title">{{{title|{{{标题|投票统计}}}}}}</div><!--<br />
-->{{#if: {{{subtitle|{{{副标题|}}}}}} | <div class="salt-vote-subtitle">{{{subtitle|{{{副标题|}}}}}}</div> | }}<!--<br />
-->{{#if: {{{bar|}}} | <div class="salt-vote-bar"></div> | }}<!--<br />
--><ul class="salt-vote-options">{{#forargs: #| _k | _v|<br />
<li><div class="salt-vote-option-content"><!--<br />
--><div class="salt-vote-option">{{#var: _k }}</div><!--<br />
--><div class="salt-vote-voter">{{#var: _v }}</div><!--<br />
--></div></li><br />
}}</ul><!--<br />
--><ul class="salt-vote-describe">{{#forargs: * | _i | _d |<br />
<li><div class="salt-vote-desc-option">{{#var: _i }}</div><div class="salt-vote-desc">{{#var: _d }}</div></li><br />
}}</ul><!--<br />
--></div><!--<br />
-->{{CSS|1=<br />
{{U:Salt lovely/沙盒/投票箱/style.css}}<br />
}}{{#Widget:SaltVoteContainer}}</includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92&diff=54028
用户:Salt lovely/沙盒
2024-03-17T17:10:44Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒”的“测试功能”章节 // 维基盐编辑器</p>
<hr />
<div>== 测试功能 ==<br />
<br />
* [[/抓取MCBBS用户头像]]<br />
* [[/签名]]<br />
* [[/皮肤测试]]<br />
* [[/导航盒]]<br />
* [[/投票箱]]<br />
<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=这里是投票标题<br />
|subtitle=默认样式测试(可选)这里是投票副标题<br />
|#同意=<br />
[[U:Salt]]<!-- 多行测试 --><br />
[[用户:Salt_lovely|{{color|#d3a|Salt Lovely}}]]<!-- 自定义用户名样式测试 --><br />
|*同意=用户选择同意<br />
<br />
|#反对=[[U:Salt|{{color|#3da|Salt111}}]]<br />
|*反对=用户选择{{反对}}<br />
<br />
|#弃权=[[User:Example]]<br />
|*弃权=<br />
<br />
|#重复测试=[[U:Example]]<br />
|*重复测试=重复测试<br />
<br />
|#无投票1=<br />
<br />
|#无投票2=<br />
}}<br />
<br />
{{U:Salt lovely/沙盒/投票箱<br />
|标题=压力测试<br />
|副标题=颜色参数 有横条<br />
|bar=1<br />
|颜色=#00F5D4,#00BBF9,#FEE440,#F15BB5,#9B5DE5<br />
|#1=[[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|*1=我们可以看到啊,选这个的用户很多<br />
|#2=<br />
|#3=[[User:Salt]][[User:Example]][[U:Example]][[用户:Example]]<br />
|#4=<br />
|#5=<br />
|#6=<br />
|#7=[[User:Salt]][[User:Example]][[User:Salt]][[User:Example]][[User:Salt]][[User:Example]]<br />
|#8=<br />
|#9=<br />
|#10=<br />
|#11=<br />
|#12=<br />
|#13=[[User:Salt]]<br />
|#14=[[用户:Salt_lovely]][[用户:Salt_lovely]][[User:Salt]][[User:Example]][[U:Example]][[用户:Example]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#15=<br />
|#16=<br />
|#17=<br />
|*123=<br />
|*456=1234567890<br />
}}<br />
<br />
== JS代码存档 ==<br />
<pre>// MCBBS头像上传时三个大小头像切片上传代码 - 修改 - 启用抗锯齿<br />
// 其实就加了两行<br />
(0, eval)(`function saveAvatar() {<br />
var img = $('avatarimage');<br />
var sd = getSelectorDimention();<br />
var ad = getAvatarDimension();<br />
var rl = (sd.left-ad.left)/ad.width;<br />
var rt = (sd.top-ad.top)/ad.height;<br />
var rw = sd.width/ad.width;<br />
var rh = sd.height/ad.height;<br />
var iw = jQuery('#avatarimage').width();<br />
var ih = jQuery('#avatarimage').height();<br />
var sl = rl*iw;<br />
var st = rt*ih;<br />
var sw = rw*iw;<br />
var sh = rh*ih;<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>200 || sh>250) {<br />
var r = Math.max(sw/200, sh/250);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
ctx.imageSmoothingEnabled = true; // 启用抗锯齿<br />
ctx.imageSmoothingQuality = "high"; // 高品质抗锯齿<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar1').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>120 || sh>120) {<br />
var r = Math.max(sw/120, sh/120);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar2').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var mwh = Math.min(sw, sh);<br />
if (sw>mwh) {<br />
sl += Math.floor((sw-mwh)/2);<br />
sw = mwh;<br />
}<br />
if (sh>mwh) {<br />
st += Math.floor((sh-mwh)/2);<br />
sh = mwh;<br />
}<br />
var tw = 48;<br />
var th = 48;<br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar3').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var src = $('avatarform').action;<br />
$('avatarform').action = data[data.indexOf('src')+1].replace('images/camera.swf?inajax=1', 'index.php?m=user&a=rectavatar&base64=yes');<br />
$('avatarform').target='rectframe'; <br />
}`)</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=54027
用户:Salt lovely/沙盒/投票箱
2024-03-17T17:01:46Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒/投票箱” // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><!--<br />
--><div class="salt-vote-container not-init"><!--<br />
-->{{#if: {{{color|{{{颜色|}}}}}} | <div class="salt-vote-color">{{{color|{{{颜色|}}}}}}</div> | }}<!--<br />
--><div class="salt-vote-title">{{{title|{{{标题|投票统计}}}}}}</div><!--<br />
-->{{#if: {{{subtitle|{{{副标题|}}}}}} | <div class="salt-vote-subtitle">{{{subtitle|{{{副标题|}}}}}}</div> | }}<!--<br />
-->{{#if: {{{bar|}}} | <div class="salt-vote-bar"></div> | }}<!--<br />
--><ul class="salt-vote-options">{{#forargs: #| _k | _v|<br />
<li><div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div></li><br />
}}</ul><!--<br />
--><ul class="salt-vote-desc-list">{{#forargs: * | _i | _d |<br />
<li><div class="salt-vote-desc-option">{{#var: _i }}</div><div class="salt-vote-desc">{{#var: _d }}</div></li><br />
}}</ul><!--<br />
--></div><!--<br />
-->{{CSS|1=<br />
{{U:Salt lovely/沙盒/投票箱/style.css}}<br />
}}{{#Widget:SaltVoteContainer}}</includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1/style.css&diff=54026
用户:Salt lovely/沙盒/投票箱/style.css
2024-03-17T16:59:12Z
<p>Salt lovely:样式拆分</p>
<hr />
<div>.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
/* 标题栏 */<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
/* 百分比条 */<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff, 0 0 8px #fff, 0 0 16px #fff, 0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: "";<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
/* 不展示的部分 */<br />
.salt-vote-container .salt-vote-color,<br />
.salt-vote-container .salt-vote-desc {<br />
display: none;<br />
}<br />
/* 列表本身的样式 */<br />
.salt-vote-container .salt-vote-options {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: 0.5rem 0 0.5rem 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container .salt-vote-options li::before {<br />
content: "";<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-options li:hover::before {<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: 0.5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 0.4rem;<br />
margin: 0.1rem 0.2rem 0.1rem 0;<br />
line-height: 1.5rem;<br />
font-size: 0.9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a::before {<br />
content: "";<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-options li .salt-vote-voter a:hover::before {<br />
opacity: 0.2;<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/common.css&diff=54015
用户:Salt lovely/common.css
2024-03-11T16:40:38Z
<p>Salt lovely:编辑“用户:Salt_lovely/common.css” // 维基盐编辑器</p>
<hr />
<div>@charset "UTF-8";<br />
.mw-userlink[title="用户:Eicy"], .mw-userlink[title="用户:MashKJo"], .mw-userlink[title="用户:Sheep-realms"], .mw-userlink[title="用户:Salt lovely"], .mw-userlink[title="用户:QWERTY770"], .mw-userlink[title="用户:Litwak913"], .mw-userlink[title="用户:Jaanai"], .mw-userlink[title="用户:Lihl"], .mw-userlink[title="用户:坑触可"] {<br />
color: #dd1166;<br />
font-weight: bold;<br />
text-shadow: 0 0 1px #fce, 0 0 1px #fce, 0 0 1px #fce, 0 0 1px #fce, 0 0 1px #fce, 0 0 2px #fce, 0 0 2px #fce, 0 0 2px #fce, 0 0 2px #fce, 0 0 2px #fce;<br />
transform-origin: 50% 50%;<br />
}<br />
<br />
.mw-userlink[title="用户:Eicy"]:hover, .mw-userlink[title="用户:MashKJo"]:hover, .mw-userlink[title="用户:Sheep-realms"]:hover, .mw-userlink[title="用户:Salt lovely"]:hover, .mw-userlink[title="用户:QWERTY770"]:hover, .mw-userlink[title="用户:Litwak913"]:hover, .mw-userlink[title="用户:Jaanai"]:hover, .mw-userlink[title="用户:Lihl"]:hover, .mw-userlink[title="用户:坑触可"]:hover {<br />
transform: scale(1.25);<br />
}<br />
<br />
.mw-userlink[title="用户:White i"], .mw-userlink[title="用户:MidsummerEnd"], .mw-userlink[title="用户:自由李代数"], .mw-userlink[title="用户:我是人1012"], .mw-userlink[title="用户:Jaanai"] {<br />
color: #7e5666;<br />
font-weight: normal;<br />
}<br />
<br />
.mw-userlink[title="用户:Salt lovely"] {<br />
color: #049bd6;<br />
}<br />
<br />
.mw-userlink[title="用户:Salt"] {<br />
color: #9304d6;<br />
transform-origin: 50% 50%;<br />
}<br />
<br />
.mw-userlink[title="用户:Salt"]:hover {<br />
transform: scale(1.25);<br />
}<br />
<br />
.mw-userlink.new {<br />
outline: #fce dashed 1px;<br />
}<br />
<br />
.comment-post .comment-avatar,<br />
.comment-post .comment-user {<br />
opacity: 1 !important;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]) {<br />
font-weight: bold;<br />
position: relative;<br />
display: inline-block;<br />
min-height: calc(1em + 4px);<br />
background-color: #fff2cd;<br />
color: #fd3b7c;<br />
transform-origin: 50% 50%;<br />
transition: all 0.4s ease;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]) > * {<br />
background-color: #fff2cd;<br />
color: #fd3b7c;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"])::before, a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"])::after {<br />
content: "";<br />
position: absolute;<br />
height: 2px;<br />
width: 0;<br />
background: #ff236c;<br />
transition: all 0.25s ease;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"])::before {<br />
top: 0;<br />
right: 0;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"])::after {<br />
bottom: 0;<br />
left: 0;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]):hover {<br />
background: #ffe08b;<br />
color: #ff236c;<br />
z-index: 1;<br />
transform: scale(1.25);<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]):hover > * {<br />
background-color: #ffe08b;<br />
color: #ff236c;<br />
}<br />
<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]):hover::before, a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]):hover::after {<br />
width: 100%;<br />
transition: all 0.8s ease;<br />
}<br />
<br />
.patrollink,<br />
.mw-rollback-link > a {<br />
font-weight: bold;<br />
position: relative;<br />
display: inline-block;<br />
min-height: calc(1em + 4px);<br />
background-color: #fff2cd;<br />
color: #4a77ff;<br />
transform-origin: 50% 50%;<br />
transition: all 0.4s ease;<br />
}<br />
<br />
.patrollink > *,<br />
.mw-rollback-link > a > * {<br />
background-color: #fff2cd;<br />
color: #4a77ff;<br />
}<br />
<br />
.patrollink::before, .patrollink::after,<br />
.mw-rollback-link > a::before,<br />
.mw-rollback-link > a::after {<br />
content: "";<br />
position: absolute;<br />
height: 2px;<br />
width: 0;<br />
background: #255bff;<br />
transition: all 0.25s ease;<br />
}<br />
<br />
.patrollink::before,<br />
.mw-rollback-link > a::before {<br />
top: 0;<br />
right: 0;<br />
}<br />
<br />
.patrollink::after,<br />
.mw-rollback-link > a::after {<br />
bottom: 0;<br />
left: 0;<br />
}<br />
<br />
.patrollink:hover,<br />
.mw-rollback-link > a:hover {<br />
background: #ffe08b;<br />
color: #255bff;<br />
z-index: 1;<br />
transform: scale(1.25);<br />
}<br />
<br />
.patrollink:hover > *,<br />
.mw-rollback-link > a:hover > * {<br />
background-color: #ffe08b;<br />
color: #255bff;<br />
}<br />
<br />
.patrollink:hover::before, .patrollink:hover::after,<br />
.mw-rollback-link > a:hover::before,<br />
.mw-rollback-link > a:hover::after {<br />
width: 100%;<br />
transition: all 0.8s ease;<br />
}<br />
<br />
/* 动画 */<br />
@keyframes rotate-360 {<br />
from {<br />
transform: rotate(0);<br />
}<br />
to {<br />
transform: rotate(360deg);<br />
}<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/common.scss&diff=54014
用户:Salt lovely/common.scss
2024-03-11T16:40:05Z
<p>Salt lovely:编辑“用户:Salt_lovely/common.scss” // 维基盐编辑器</p>
<hr />
<div><pre>@mixin highlightbutton(<br />
$fontcolor: #8e5f92,<br />
$backcolor: #fff2cd,<br />
$fontcolor2: #634266,<br />
$backcolor2: #ffe08b,<br />
$bordercolor: #634266<br />
) {<br />
position: relative;<br />
display: inline-block;<br />
min-height: calc(1em + 4px);<br />
background-color: $backcolor;<br />
color: $fontcolor;<br />
> * {<br />
background-color: $backcolor;<br />
color: $fontcolor;<br />
}<br />
transform-origin: 50% 50%;<br />
transition: all 0.4s ease;<br />
&::before,<br />
&::after {<br />
content: "";<br />
position: absolute;<br />
height: 2px;<br />
width: 0;<br />
background: $bordercolor;<br />
transition: all 0.25s ease;<br />
}<br />
&::before {<br />
top: 0;<br />
right: 0;<br />
}<br />
&::after {<br />
bottom: 0;<br />
left: 0;<br />
}<br />
&:hover {<br />
background: $backcolor2;<br />
color: $fontcolor2;<br />
z-index: 1;<br />
> * {<br />
background-color: $backcolor2;<br />
color: $fontcolor2;<br />
}<br />
transform: scale(1.25);<br />
&::before,<br />
&::after {<br />
width: 100%;<br />
transition: all 0.8s ease;<br />
}<br />
}<br />
}<br />
.mw-userlink {<br />
// 管理员/巡查员高亮<br />
&[title="用户:Eicy"],<br />
&[title="用户:MashKJo"],<br />
&[title="用户:Sheep-realms"],<br />
&[title="用户:Salt lovely"],<br />
&[title="用户:QWERTY770"],<br />
&[title="用户:Litwak913"],<br />
&[title="用户:Jaanai"],<br />
&[title="用户:Lihl"],<br />
&[title="用户:坑触可"] {<br />
color: rgb(221, 17, 102);<br />
font-weight: bold;<br />
text-shadow: 0 0 1px #fce, 0 0 1px #fce, 0 0 1px #fce, 0 0 1px #fce,<br />
0 0 1px #fce, 0 0 2px #fce, 0 0 2px #fce, 0 0 2px #fce, 0 0 2px #fce,<br />
0 0 2px #fce;<br />
transform-origin: 50% 50%;<br />
&:hover {<br />
transform: scale(1.25);<br />
}<br />
}<br />
// 不再活跃<br />
&[title="用户:White i"],<br />
&[title="用户:MidsummerEnd"],<br />
&[title="用户:自由李代数"],<br />
&[title="用户:我是人1012"],<br />
&[title="用户:Jaanai"] {<br />
color: rgb(126, 86, 102);<br />
font-weight: normal;<br />
}<br />
//盐<br />
&[title="用户:Salt lovely"] {<br />
color: rgb(4, 155, 214);<br />
}<br />
// 小号<br />
&[title="用户:Salt"] {<br />
color: rgb(147, 4, 214);<br />
transform-origin: 50% 50%;<br />
&:hover {<br />
transform: scale(1.25);<br />
}<br />
}<br />
// 未创建<br />
&.new {<br />
outline: #fce dashed 1px;<br />
}<br />
}<br />
// 强制显示用户名和用户头像<br />
.comment-post {<br />
.comment-avatar,<br />
.comment-user {<br />
opacity: 1 !important;<br />
}<br />
}<br />
// 高亮红链、巡查按钮、回退按钮<br />
a[href*="&redlink=1"]:not([title*="讨论:"]):not([title*="用户:"]) {<br />
font-weight: bold;<br />
@include highlightbutton(<br />
rgb(253, 59, 124),<br />
#fff2cd,<br />
rgb(255, 35, 108),<br />
#ffe08b,<br />
rgb(255, 35, 108)<br />
);<br />
}<br />
.patrollink,<br />
.mw-rollback-link > a {<br />
font-weight: bold;<br />
@include highlightbutton(<br />
rgb(74, 119, 255),<br />
#fff2cd,<br />
rgb(37, 91, 255),<br />
#ffe08b,<br />
rgb(37, 91, 255)<br />
);<br />
}<br />
/* 动画 */<br />
@keyframes rotate-360 {<br />
from {<br />
transform: rotate(0);<br />
}<br />
to {<br />
transform: rotate(360deg);<br />
}<br />
}<br />
</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/user.js&diff=54011
用户:Salt lovely/user.js
2024-03-10T05:49:07Z
<p>Salt lovely:(InPageEdit-preference-summary-default)</p>
<hr />
<div>// test<br />
// mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverter.js&action=raw&ctype=text/javascript", "text/javascript");<br />
<br />
// wikiplus<br />
mw.loader.load('https://cdn.jsdelivr.net/npm/wikiplus-core@latest/dist/Main.js');<br />
// mw.loader.load('https://wikiplus-app.com/Main.js');<br />
// mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit')<br />
<br />
$(function(){<br />
//清理缓存<br />
$('#pt-logout').before(<br />
'<li id="pt-purge"><a title="刷新页面并清理缓存" href="?action=purge">清理缓存</a></li>'<br />
+'<li id="salt-editcount"><a href="https://mcbbs.wiki/wiki/特殊:编辑计数/Salt_lovely">编辑计数</a></li>'<br />
+'<li id="all-template"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=10">所有模板</a></li>'<br />
+'<li id="all-mw"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=8">所有MediaWiki</a></li>'<br />
+'<li id="all-widget"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=274">所有widget</a></li>'<br />
+'<li id="api-help"><a href="https://mcbbs.wiki/api.php?action=help&modules=main">API文档</a></li>');<br />
//日志统计<br />
countLog("#mw-log-deleterevision-submit>ul")<br />
//编辑器更改<br />
// loadAddon('WikiEditorModify')<br />
})<br />
<br />
//加载Addon-XXX.js<br />
function loadAddon(s) {<br />
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:Addon-" + s + ".js&action=raw&ctype=text/javascript"<br />
, "text/javascript");<br />
}<br />
//计算日志有几行<br />
function countLog(obj) {<br />
$(obj).each(function(){<br />
var count=$(this).children('li').length<br />
$(this).prepend('<span>共计'+count+'条记录</span>')<br />
})<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/user.js&diff=54010
用户:Salt lovely/user.js
2024-03-10T05:46:18Z
<p>Salt lovely:编辑“用户:Salt_lovely/user.js” // 维基盐编辑器</p>
<hr />
<div>// test<br />
// mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverter.js&action=raw&ctype=text/javascript", "text/javascript");<br />
<br />
// wikiplus<br />
mw.loader.load('https://cdn.jsdelivr.net/npm/wikiplus-core@latest/dist/Main.js');<br />
// mw.loader.load('https://wikiplus-app.com/Main.js');<br />
mw.loader.load('https://cdn.jsdelivr.net/npm/mediawiki-inpageedit')<br />
<br />
$(function(){<br />
//清理缓存<br />
$('#pt-logout').before(<br />
'<li id="pt-purge"><a title="刷新页面并清理缓存" href="?action=purge">清理缓存</a></li>'<br />
+'<li id="salt-editcount"><a href="https://mcbbs.wiki/wiki/特殊:编辑计数/Salt_lovely">编辑计数</a></li>'<br />
+'<li id="all-template"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=10">所有模板</a></li>'<br />
+'<li id="all-mw"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=8">所有MediaWiki</a></li>'<br />
+'<li id="all-widget"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=274">所有widget</a></li>'<br />
+'<li id="api-help"><a href="https://mcbbs.wiki/api.php?action=help&modules=main">API文档</a></li>');<br />
//日志统计<br />
countLog("#mw-log-deleterevision-submit>ul")<br />
//编辑器更改<br />
// loadAddon('WikiEditorModify')<br />
})<br />
<br />
//加载Addon-XXX.js<br />
function loadAddon(s) {<br />
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:Addon-" + s + ".js&action=raw&ctype=text/javascript"<br />
, "text/javascript");<br />
}<br />
//计算日志有几行<br />
function countLog(obj) {<br />
$(obj).each(function(){<br />
var count=$(this).children('li').length<br />
$(this).prepend('<span>共计'+count+'条记录</span>')<br />
})<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/common.js&diff=53999
用户:Salt lovely/common.js
2024-03-09T16:29:45Z
<p>Salt lovely:编辑“用户:Salt_lovely/common.js” // 维基盐编辑器</p>
<hr />
<div>mw.loader.load("//mcbbs.wiki/index.php?title=用户:Salt_lovely/user.js&action=raw&ctype=text/javascript", "text/javascript");<br />
// 受不了MW的**(粗口)JS压缩器了,是不是“ES2015”你们只支持了“ES”和“5”????????????</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/user.js&diff=53997
用户:Salt lovely/user.js
2024-03-09T15:59:47Z
<p>Salt lovely:wikiplus // 维基盐编辑器</p>
<hr />
<div>// test<br />
// mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:HanziConverter.js&action=raw&ctype=text/javascript", "text/javascript");<br />
<br />
// wikiplus<br />
mw.loader.load('https://cdn.jsdelivr.net/npm/wikiplus-core@latest/dist/Main.js');<br />
// mw.loader.load('https://wikiplus-app.com/Main.js');<br />
<br />
$(function(){<br />
//清理缓存<br />
$('#pt-logout').before(<br />
'<li id="pt-purge"><a title="刷新页面并清理缓存" href="?action=purge">清理缓存</a></li>'<br />
+'<li id="salt-editcount"><a href="https://mcbbs.wiki/wiki/特殊:编辑计数/Salt_lovely">编辑计数</a></li>'<br />
+'<li id="all-template"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=10">所有模板</a></li>'<br />
+'<li id="all-mw"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=8">所有MediaWiki</a></li>'<br />
+'<li id="all-widget"><a href="https://mcbbs.wiki/wiki/特殊:所有页面?namespace=274">所有widget</a></li>'<br />
+'<li id="api-help"><a href="https://mcbbs.wiki/api.php?action=help&modules=main">API文档</a></li>');<br />
//日志统计<br />
countLog("#mw-log-deleterevision-submit>ul")<br />
//编辑器更改<br />
// loadAddon('WikiEditorModify')<br />
})<br />
<br />
//加载Addon-XXX.js<br />
function loadAddon(s) {<br />
mw.loader.load("//mcbbs-wiki.cn/index.php?title=MediaWiki:Addon-" + s + ".js&action=raw&ctype=text/javascript"<br />
, "text/javascript");<br />
}<br />
//计算日志有几行<br />
function countLog(obj) {<br />
$(obj).each(function(){<br />
var count=$(this).children('li').length<br />
$(this).prepend('<span>共计'+count+'条记录</span>')<br />
})<br />
}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E9%B2%B8%E9%B1%BC%E6%8A%8A%E4%BB%96%E5%92%8C%E5%90%8C%E4%BC%99%E7%94%A8%E6%9D%A5%E9%94%80%E5%94%AE%E9%BB%91%E5%8D%A1%E7%9A%84QQ%E7%BE%A4%E7%9A%84%E5%90%8D%E7%A7%B0%E6%B7%BB%E5%8A%A0%E4%BA%86mcbbs%E7%9A%84%E4%B8%91%E9%99%8B%E9%9D%A2%E7%9B%AE%E7%9A%84%E5%90%8E%E7%BC%80.jpg&diff=53996
文件:鲸鱼把他和同伙用来销售黑卡的QQ群的名称添加了mcbbs的丑陋面目的后缀.jpg
2024-03-09T15:53:10Z
<p>Salt lovely:编辑“文件:鲸鱼把他和同伙用来销售黑卡的QQ群的名称添加了mcbbs的丑陋面目的后缀.jpg” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
鲸鱼把他和同伙用来销售黑卡的QQ群的名称添加了"mcbbs的丑陋面目"的后缀<br />
<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E8%9D%99%E8%9D%A0%E9%83%BD%E8%83%BD%E5%90%83%E6%80%8E%E4%B9%88%E4%B8%8D%E8%83%BD%E6%90%93.png&diff=53995
文件:蝙蝠都能吃怎么不能搓.png
2024-03-09T15:52:26Z
<p>Salt lovely:编辑“文件:蝙蝠都能吃怎么不能搓.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
蝙蝠都能吃怎么不能搓<br />
== 授权协议 ==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E7%96%BE%E9%A3%8E%E6%9B%BE%E7%BB%8F%E8%A6%81FHC%E5%81%9A%E4%BB%96%E5%90%8E%E5%AE%AB%EF%BC%8C%E4%BD%86%E6%98%AF%E8%A2%AB%E6%8B%92%E7%BB%9D%E4%BA%86.png&diff=53994
文件:疾风曾经要FHC做他后宫,但是被拒绝了.png
2024-03-09T15:51:34Z
<p>Salt lovely:编辑“文件:疾风曾经要FHC做他后宫,但是被拒绝了.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
疾风曾经要FHC做他后宫,但是被拒绝了<br />
== 授权协议 ==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E7%BB%93%E5%9F%8E%E5%B8%8C%E4%BA%9A%E4%B8%8EEmptyLava%E7%9A%84%E6%88%98%E6%9C%AF%E8%AE%A8%E8%AE%BA.png&diff=53993
文件:结城希亚与EmptyLava的战术讨论.png
2024-03-09T15:51:13Z
<p>Salt lovely:编辑“文件:结城希亚与EmptyLava的战术讨论.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
这波啊,这波是,这波回首掏<br />
== 授权协议 ==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E7%BE%8E%E5%B0%91%E5%A5%B3%E6%B2%A1%E6%9C%89%E8%85%BF%E6%AF%9B.png&diff=53992
文件:美少女没有腿毛.png
2024-03-09T15:50:30Z
<p>Salt lovely:编辑“文件:美少女没有腿毛.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
美少女没有腿毛<br />
== 授权协议 ==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E6%9A%97%E5%BD%B1%E6%9C%88%E8%B5%8E%E8%81%8A%E5%A4%A9%E8%AE%B0%E5%BD%95-1.png&diff=53991
文件:暗影月赎聊天记录-1.png
2024-03-09T15:49:59Z
<p>Salt lovely:编辑“文件:暗影月赎聊天记录-1.png” // 维基盐编辑器</p>
<hr />
<div>== 授权协议 ==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E6%9A%97%E5%BD%B1%E6%9C%88%E8%B5%8E%E8%81%8A%E5%A4%A9%E8%AE%B0%E5%BD%95-2.png&diff=53990
文件:暗影月赎聊天记录-2.png
2024-03-09T15:49:42Z
<p>Salt lovely:编辑“文件:暗影月赎聊天记录-2.png” // 维基盐编辑器</p>
<hr />
<div>== 授权协议 ==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E5%91%86%E7%93%9C%E8%A2%AB%E5%92%8Fe.jpg&diff=53989
文件:呆瓜被咏e.jpg
2024-03-09T15:43:21Z
<p>Salt lovely:编辑“文件:呆瓜被咏e.jpg” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
由呆瓜发到群里<br />
==授权协议==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E5%91%86%E7%93%9CDomado%E4%B8%8Exiaopangju%E7%9A%84%E8%81%8A%E5%A4%A9%E8%AE%B0%E5%BD%95.png&diff=53988
文件:呆瓜Domado与xiaopangju的聊天记录.png
2024-03-09T15:02:16Z
<p>Salt lovely:编辑“文件:呆瓜Domado与xiaopangju的聊天记录.png”的“文件说明”章节 // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
由呆瓜本人提供<br />
==授权协议==<br />
{{文件版权/公有领域}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E5%89%8DMOD%E5%8F%91%E5%B8%83%E7%89%88%E4%B8%BB%E2%91%A0.jpg&diff=53975
文件:前MOD发布版主①.jpg
2024-03-09T08:12:57Z
<p>Salt lovely:编辑“文件:前MOD发布版主①.jpg” // 维基盐编辑器</p>
<hr />
<div>== 摘要 ==<br />
前MOD发布版主在自己服务器群里骂忘记换小号进群的问答版主<br />
== 许可协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E5%89%8DMOD%E5%8F%91%E5%B8%83%E7%89%88%E4%B8%BB%E2%91%A1.jpg&diff=53974
文件:前MOD发布版主②.jpg
2024-03-09T08:12:54Z
<p>Salt lovely:编辑“文件:前MOD发布版主②.jpg” // 维基盐编辑器</p>
<hr />
<div>== 摘要 ==<br />
前MOD发布版主在自己服务器群里骂忘记换小号进群的问答版主。<br />
== 许可协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:SPG%E9%9C%87%E6%83%8AFHC%E7%9A%84%E4%BA%BA%E6%B0%94%E5%8F%AF%E4%BB%A5%E5%BD%93%E9%87%91%E7%B2%92%E7%BB%99.png&diff=53973
文件:SPG震惊FHC的人气可以当金粒给.png
2024-03-09T08:07:31Z
<p>Salt lovely:编辑“文件:SPG震惊FHC的人气可以当金粒给.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
SPG震惊FHC的人气可以当金粒给<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E5%A4%A9%E7%BE%BD%E8%81%8A%E5%A4%A9%E8%AE%B0%E5%BD%95-cnmkdjmmjg.jpg&diff=53972
文件:天羽聊天记录-cnmkdjmmjg.jpg
2024-03-09T08:07:15Z
<p>Salt lovely:编辑“文件:天羽聊天记录-cnmkdjmmjg.jpg” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
{{黑幕|cnmkdjmmjg|小朋友们千万不要学哦}}<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:Wiki%E7%BC%96%E8%BE%91%E7%BE%A4%E7%BE%A4%E4%B8%BB%E9%92%88%E5%AF%B9%E4%B8%80%E9%81%93%E9%98%B3%E5%85%89%E5%8F%91%E5%B8%83%E7%9A%84%E5%85%AC%E5%91%8A.jpg&diff=53971
文件:Wiki编辑群群主针对一道阳光发布的公告.jpg
2024-03-09T08:05:37Z
<p>Salt lovely:编辑“文件:Wiki编辑群群主针对一道阳光发布的公告.jpg” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
有关于一道阳光的公告<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E6%88%91%E5%96%9C%E6%AC%A2%E4%BD%A0%EF%BC%8C%E5%92%8C%E6%88%91%E4%BA%A4%E5%BE%80%E5%90%A7.jpg&diff=53970
文件:我喜欢你,和我交往吧.jpg
2024-03-09T08:05:27Z
<p>Salt lovely:编辑“文件:我喜欢你,和我交往吧.jpg” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
我喜欢你,和我交往吧<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:XD%E5%92%8CLin%E4%BA%92%E8%AE%BE(%E7%B2%BE%E5%8D%8E%E6%B6%88%E6%81%AF).png&diff=53969
文件:XD和Lin互设(精华消息).png
2024-03-09T08:05:02Z
<p>Salt lovely:编辑“文件:XD和Lin互设(精华消息).png” // 维基盐编辑器</p>
<hr />
<div>== 摘要 ==<br />
噗<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E4%B8%80%E9%81%93%E9%98%B3%E5%85%89%E5%9C%A8mcbbswikiQQ%E7%BE%A4%E7%9A%84%E5%8F%91%E8%A8%802.png&diff=53968
文件:一道阳光在mcbbswikiQQ群的发言2.png
2024-03-09T08:04:23Z
<p>Salt lovely:编辑“文件:一道阳光在mcbbswikiQQ群的发言2.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E6%96%87%E4%BB%B6:%E4%B8%80%E9%81%93%E9%98%B3%E5%85%89%E5%9C%A8mcbbswikiQQ%E7%BE%A4%E7%9A%84%E5%8F%91%E8%A8%801.png&diff=53967
文件:一道阳光在mcbbswikiQQ群的发言1.png
2024-03-09T08:03:48Z
<p>Salt lovely:编辑“文件:一道阳光在mcbbswikiQQ群的发言1.png” // 维基盐编辑器</p>
<hr />
<div>== 文件说明 ==<br />
== 授权协议 ==<br />
{{文件版权/网络资源}}<br />
[[分类:QQ图片]]</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92&diff=53958
用户:Salt lovely/沙盒
2024-03-04T17:37:49Z
<p>Salt lovely:置空测试</p>
<hr />
<div>== 测试功能 ==<br />
* [[/抓取MCBBS用户头像]]<br />
* [[/签名]]<br />
* [[/皮肤测试]]<br />
* [[/导航盒]]<br />
* [[/投票箱]]<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=这里是投票标题<br />
|subtitle=(可选)这里是投票副标题<br />
|#同意=[[U:Salt]][[用户:Salt_lovely]]<br />
|#反对=[[U:Salt]]<br />
|#弃权=[[User:Example]]<br />
|#重复测试=[[U:Example]]<br />
|#无投票1=<br />
|#无投票2=<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=没有横条<br />
|bar=<br />
|#111=[[用户:Salt_lovely]]<br />
|#123=<br />
|#222=[[User:Salt]][[User:Example]]<br />
|#333=<br />
|#4444=<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|标题=压力测试<br />
|副标题=颜色参数<br />
|颜色=#00F5D4,#00BBF9,#FEE440,#F15BB5,#9B5DE5<br />
|#1=[[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#2=<br />
|#3=[[User:Salt]][[User:Example]][[U:Example]][[用户:Example]]<br />
|#4=<br />
|#5=<br />
|#6=<br />
|#7=[[User:Salt]][[User:Example]][[User:Salt]][[User:Example]][[User:Salt]][[User:Example]]<br />
|#8=<br />
|#9=<br />
|#10=<br />
|#11=<br />
|#12=<br />
|#13=[[User:Salt]]<br />
|#14=[[用户:Salt_lovely]][[用户:Salt_lovely]][[User:Salt]][[User:Example]][[U:Example]][[用户:Example]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#15=<br />
|#16=<br />
|#17=<br />
}}<br />
<br />
== JS代码存档 ==<br />
<pre>// MCBBS头像上传时三个大小头像切片上传代码 - 修改 - 启用抗锯齿<br />
// 其实就加了两行<br />
(0, eval)(`function saveAvatar() {<br />
var img = $('avatarimage');<br />
var sd = getSelectorDimention();<br />
var ad = getAvatarDimension();<br />
var rl = (sd.left-ad.left)/ad.width;<br />
var rt = (sd.top-ad.top)/ad.height;<br />
var rw = sd.width/ad.width;<br />
var rh = sd.height/ad.height;<br />
var iw = jQuery('#avatarimage').width();<br />
var ih = jQuery('#avatarimage').height();<br />
var sl = rl*iw;<br />
var st = rt*ih;<br />
var sw = rw*iw;<br />
var sh = rh*ih;<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>200 || sh>250) {<br />
var r = Math.max(sw/200, sh/250);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
ctx.imageSmoothingEnabled = true; // 启用抗锯齿<br />
ctx.imageSmoothingQuality = "high"; // 高品质抗锯齿<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar1').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>120 || sh>120) {<br />
var r = Math.max(sw/120, sh/120);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar2').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var mwh = Math.min(sw, sh);<br />
if (sw>mwh) {<br />
sl += Math.floor((sw-mwh)/2);<br />
sw = mwh;<br />
}<br />
if (sh>mwh) {<br />
st += Math.floor((sh-mwh)/2);<br />
sh = mwh;<br />
}<br />
var tw = 48;<br />
var th = 48;<br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar3').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var src = $('avatarform').action;<br />
$('avatarform').action = data[data.indexOf('src')+1].replace('images/camera.swf?inajax=1', 'index.php?m=user&a=rectavatar&base64=yes');<br />
$('avatarform').target='rectframe'; <br />
}`)</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92&diff=53957
用户:Salt lovely/沙盒
2024-03-04T17:37:14Z
<p>Salt lovely:模板测试</p>
<hr />
<div>== 测试功能 ==<br />
* [[/抓取MCBBS用户头像]]<br />
* [[/签名]]<br />
* [[/皮肤测试]]<br />
* [[/导航盒]]<br />
* [[/投票箱]]<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=这里是投票标题<br />
|subtitle=(可选)这里是投票副标题<br />
|#同意=[[U:Salt]][[用户:Salt_lovely]]<br />
|#反对=[[U:Salt]]<br />
|#弃权=[[User:Example]]<br />
|#重复测试=[[U:Example]]<br />
|#无投票=[[U:Example]]<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=没有横条<br />
|bar=<br />
|#111=[[用户:Salt_lovely]]<br />
|#123=<br />
|#222=[[User:Salt]][[User:Example]]<br />
|#333=<br />
|#4444=<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|标题=压力测试<br />
|副标题=颜色参数<br />
|颜色=#00F5D4,#00BBF9,#FEE440,#F15BB5,#9B5DE5<br />
|#1=[[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#2=<br />
|#3=[[User:Salt]][[User:Example]][[U:Example]][[用户:Example]]<br />
|#4=<br />
|#5=<br />
|#6=<br />
|#7=[[User:Salt]][[User:Example]][[User:Salt]][[User:Example]][[User:Salt]][[User:Example]]<br />
|#8=<br />
|#9=<br />
|#10=<br />
|#11=<br />
|#12=<br />
|#13=[[User:Salt]]<br />
|#14=[[用户:Salt_lovely]][[用户:Salt_lovely]][[User:Salt]][[User:Example]][[U:Example]][[用户:Example]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#15=<br />
|#16=<br />
|#17=<br />
}}<br />
<br />
== JS代码存档 ==<br />
<pre>// MCBBS头像上传时三个大小头像切片上传代码 - 修改 - 启用抗锯齿<br />
// 其实就加了两行<br />
(0, eval)(`function saveAvatar() {<br />
var img = $('avatarimage');<br />
var sd = getSelectorDimention();<br />
var ad = getAvatarDimension();<br />
var rl = (sd.left-ad.left)/ad.width;<br />
var rt = (sd.top-ad.top)/ad.height;<br />
var rw = sd.width/ad.width;<br />
var rh = sd.height/ad.height;<br />
var iw = jQuery('#avatarimage').width();<br />
var ih = jQuery('#avatarimage').height();<br />
var sl = rl*iw;<br />
var st = rt*ih;<br />
var sw = rw*iw;<br />
var sh = rh*ih;<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>200 || sh>250) {<br />
var r = Math.max(sw/200, sh/250);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
ctx.imageSmoothingEnabled = true; // 启用抗锯齿<br />
ctx.imageSmoothingQuality = "high"; // 高品质抗锯齿<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar1').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>120 || sh>120) {<br />
var r = Math.max(sw/120, sh/120);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar2').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var mwh = Math.min(sw, sh);<br />
if (sw>mwh) {<br />
sl += Math.floor((sw-mwh)/2);<br />
sw = mwh;<br />
}<br />
if (sh>mwh) {<br />
st += Math.floor((sh-mwh)/2);<br />
sh = mwh;<br />
}<br />
var tw = 48;<br />
var th = 48;<br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar3').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var src = $('avatarform').action;<br />
$('avatarform').action = data[data.indexOf('src')+1].replace('images/camera.swf?inajax=1', 'index.php?m=user&a=rectavatar&base64=yes');<br />
$('avatarform').target='rectframe'; <br />
}`)</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=53956
用户:Salt lovely/沙盒/投票箱
2024-03-04T17:36:27Z
<p>Salt lovely:参数别名</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><!--<br />
--><div class="salt-vote-container not-init"><!--<br />
-->{{#if: {{{color|{{{颜色|}}}}}} | <div class="salt-vote-color">{{{color|{{{颜色|}}}}}}</div> | }}<!--<br />
--><div class="salt-vote-title">{{{title|{{{标题|投票统计}}}}}}</div><!--<br />
-->{{#if: {{{subtitle|{{{副标题|}}}}}} | <div class="salt-vote-subtitle">{{{subtitle|{{{副标题|}}}}}}</div> | }}<!--<br />
-->{{#if: {{{bar|1}}} | <div class="salt-vote-bar"></div> | }}<br />
{{#forargs: #<br />
| _k<br />
| _v<br />
| <nowiki></nowiki><br />
* <div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div><br />
}}</div><!--<br />
-->{{CSS|1=<br />
.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff,0 0 8px #fff,0 0 16px #fff,0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: '';<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: .5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
<br />
.salt-vote-container .salt-vote-color {<br />
display: none;<br />
}<br />
<br />
.salt-vote-container ul {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: .5rem 0 .5rem 2rem;<br />
}<br />
.salt-vote-container ul li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container ul li::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li:hover::before{<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container ul li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: .5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 .4rem;<br />
margin: .1rem .2rem .1rem 0;<br />
line-height: 1.5rem;<br />
font-size: .9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a:hover::before{<br />
opacity: 0.2;<br />
}<br />
}}{{#Widget:SaltVoteContainer}}</includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=53955
用户:Salt lovely/沙盒/投票箱
2024-03-04T17:30:54Z
<p>Salt lovely:添加颜色、bar两个参数</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><!--<br />
--><div class="salt-vote-container not-init"><!--<br />
-->{{#if: {{{color|{{{颜色|}}}}}} | <div class="salt-vote-color">{{{color|{{{颜色|}}}}}}</div> | }}<!--<br />
--><div class="salt-vote-title">{{{title|投票统计}}}</div><!--<br />
-->{{#if: {{{subtitle|{{{副标题|}}}}}} | <div class="salt-vote-subtitle">{{{subtitle|{{{副标题|}}}}}}</div> | }}<!--<br />
-->{{#if: {{{bar|1}}} | <div class="salt-vote-bar"></div> | }}<br />
{{#forargs: #<br />
| _k<br />
| _v<br />
| <nowiki></nowiki><br />
* <div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div><br />
}}</div><!--<br />
-->{{CSS|1=<br />
.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff,0 0 8px #fff,0 0 16px #fff,0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: '';<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: .5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
<br />
.salt-vote-container .salt-vote-color {<br />
display: none;<br />
}<br />
<br />
.salt-vote-container ul {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: .5rem 0 .5rem 2rem;<br />
}<br />
.salt-vote-container ul li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container ul li::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li:hover::before{<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container ul li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: .5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 .4rem;<br />
margin: .1rem .2rem .1rem 0;<br />
line-height: 1.5rem;<br />
font-size: .9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a:hover::before{<br />
opacity: 0.2;<br />
}<br />
}}{{#Widget:SaltVoteContainer}}</includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E5%BE%AE%E4%BB%B6:SaltVoteContainer&diff=53954
微件:SaltVoteContainer
2024-03-04T17:25:23Z
<p>Salt lovely:一些问题修复 // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><script><br />
"use strict";<br />
/**<br />
*<br />
*/<br />
((window) => {<br />
if (window.saltVoteJsInit) return; // 拒绝重复运行<br />
window.saltVoteJsInit = true;<br />
const defaultColor = ["#429DA5", "#7b515f", "#ab8749", "#4C7BA3", "#373D53"];<br />
// /** @type {() => HTMLDivElement[]} */<br />
// const getAllContainer = () =><br />
// Array.from(document.body.querySelectorAll("div.salt-vote-container"));<br />
/** @type {() => HTMLDivElement[]} */<br />
const getAllNotInitContainer = () =><br />
Array.from(<br />
document.body.querySelectorAll("div.salt-vote-container.not-init")<br />
);<br />
// const traceElements = getAllNotInitContainer();<br />
<br />
const at = (arr, index) => {<br />
const len = arr.length;<br />
if (len) {<br />
if (index >= len) {<br />
index -= Math.ceil((index - len + 1) / len) * len;<br />
}<br />
if (index < 0) index += len;<br />
return arr[index];<br />
}<br />
};<br />
<br />
/** 渲染条状图内容 @type {(collect: {name: string, set: string[]}[], color: string[]) => string} */<br />
const renderBar = (collect, color) => {<br />
const countAll = collect.reduce((prev, curr) => {<br />
return prev + curr.set.length;<br />
}, 0);<br />
const divList = collect.map(<br />
({ name, set }, i) =><br />
`<div class="salt-vote-bar-item" title="${name.replace(<br />
/"/g,<br />
"'"<br />
)}" style="--vote-color:${at(color, i)};width:${<br />
set.length ? set.length * 100 : 0<br />
}%">${Number(((set.length * 100) / countAll).toFixed(2))}%</div>`<br />
);<br />
return divList.join("");<br />
};<br />
<br />
/** 主流程 */<br />
/** @type {(el: HTMLDivElement) => void} */<br />
const main = (el) => {<br />
console.log(el);<br />
const barEl = el.querySelector(".salt-vote-bar");<br />
const colorEl = el.querySelector(".salt-vote-color");<br />
const list = el.querySelector("ul");<br />
const lists = list && list.querySelectorAll("li");<br />
/** 收集的投票信息 @type {{name: string, set: string[]}[]} */<br />
const collect = [];<br />
/** 有问题的投票信息 @type {Record<string, Set<string>>} */<br />
const wrongCollect = {};<br />
/** @type {string[]} */<br />
const color = [];<br />
// 必须要有投票区域<br />
if (!list || !lists || !lists.length) return;<br />
// 获取颜色<br />
if (!colorEl) color.push(...defaultColor);<br />
else {<br />
const colorPar = (colorEl.textContent || "")<br />
.replace(/\s*[,;,;、*]+\s*/g, "***")<br />
.trim()<br />
.split("***")<br />
.filter(Boolean);<br />
if (colorPar.length) color.push(...colorPar);<br />
else color.push(...defaultColor);<br />
}<br />
// 获取投票信息<br />
const liList = Array.from(lists);<br />
liList.forEach((li, liIndex) => {<br />
// salt-vote-option salt-vote-voter<br />
const option = li.querySelector(".salt-vote-option");<br />
/** @type {HTMLElement | null} */<br />
const voter = li.querySelector(".salt-vote-voter");<br />
if (!option || !voter) return;<br />
const title = option.textContent || "";<br />
const voters = Array.from(voter.querySelectorAll("a"));<br />
// if (title in collect) return;<br />
const thisCollect = { name: title, set: [] };<br />
voters.forEach((v) => {<br />
const res = v.title<br />
.replace(/^(?:User|U|用户):/i, "")<br />
.replace(/\s/, "_");<br />
if (thisCollect.set.includes(res)) {<br />
v.remove();<br />
return;<br />
}<br />
thisCollect.set.push(res);<br />
v.textContent = res;<br />
});<br />
collect.push(thisCollect);<br />
// 配色<br />
li.style.setProperty("--vote-color", at(color, liIndex));<br />
});<br />
// 绘制图形<br />
if (barEl) {<br />
barEl.innerHTML = renderBar(collect, color);<br />
}<br />
console.log(collect, renderBar(collect, color));<br />
el.classList.remove("not-init");<br />
};<br />
setTimeout(() => {<br />
getAllNotInitContainer().forEach((el) => main(el));<br />
}, 0);<br />
setInterval(() => {<br />
getAllNotInitContainer().forEach((el) => main(el));<br />
}, 1000);<br />
})(window);<br />
</script></includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=53953
用户:Salt lovely/沙盒/投票箱
2024-03-04T17:17:33Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒/投票箱” // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><div class="salt-vote-container not-init"><br />
<div class="salt-vote-color"></div><br />
<div class="salt-vote-title">{{{title|投票统计}}}</div>{{#if: {{{subtitle|}}} | <div class="salt-vote-subtitle">{{{subtitle|}}}</div> | }}<br />
<div class="salt-vote-bar"></div><br />
{{#forargs: #<br />
| _k<br />
| _v<br />
| <nowiki></nowiki><br />
* <div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div><br />
}}</div><br />
{{CSS|1=<br />
.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff,0 0 8px #fff,0 0 16px #fff,0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: '';<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: .5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
<br />
.salt-vote-container .salt-vote-color {<br />
display: none;<br />
}<br />
<br />
.salt-vote-container ul {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: .5rem 0 .5rem 2rem;<br />
}<br />
.salt-vote-container ul li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container ul li::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li:hover::before{<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container ul li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: .5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 .4rem;<br />
margin: .1rem .2rem .1rem 0;<br />
line-height: 1.5rem;<br />
font-size: .9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a:hover::before{<br />
opacity: 0.2;<br />
}<br />
}}{{#Widget:SaltVoteContainer}}</includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92&diff=53952
用户:Salt lovely/沙盒
2024-03-04T17:14:34Z
<p>Salt lovely:投票箱小部件压力测试</p>
<hr />
<div>== 测试功能 ==<br />
* [[/抓取MCBBS用户头像]]<br />
* [[/签名]]<br />
* [[/皮肤测试]]<br />
* [[/导航盒]]<br />
* [[/投票箱]]<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=这里是投票标题<br />
|subtitle=(可选)这里是投票副标题<br />
|#同意=[[U:Salt]][[用户:Salt_lovely]]<br />
|#反对=[[U:Salt]]<br />
|#弃权=[[User:Example]]<br />
|#重复测试=[[U:Example]]<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=QWERTYUIOP<br />
|#111=[[用户:Salt_lovely]]<br />
|#123=<br />
|#222=[[User:Salt]][[User:Example]]<br />
|#333=<br />
|#4444=<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=压力测试<br />
|#1=[[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]][[用户:Salt_lovely]]<br />
|#12=<br />
|#2=[[User:Salt]][[User:Example]]<br />
|#21=<br />
|#22=<br />
|#31=<br />
|#32=[[User:Salt]][[User:Example]][[User:Salt]][[User:Example]][[User:Salt]][[User:Example]]<br />
|#33=<br />
|#40=<br />
}}<br />
<br />
== JS代码存档 ==<br />
<pre>// MCBBS头像上传时三个大小头像切片上传代码 - 修改 - 启用抗锯齿<br />
// 其实就加了两行<br />
(0, eval)(`function saveAvatar() {<br />
var img = $('avatarimage');<br />
var sd = getSelectorDimention();<br />
var ad = getAvatarDimension();<br />
var rl = (sd.left-ad.left)/ad.width;<br />
var rt = (sd.top-ad.top)/ad.height;<br />
var rw = sd.width/ad.width;<br />
var rh = sd.height/ad.height;<br />
var iw = jQuery('#avatarimage').width();<br />
var ih = jQuery('#avatarimage').height();<br />
var sl = rl*iw;<br />
var st = rt*ih;<br />
var sw = rw*iw;<br />
var sh = rh*ih;<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>200 || sh>250) {<br />
var r = Math.max(sw/200, sh/250);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
ctx.imageSmoothingEnabled = true; // 启用抗锯齿<br />
ctx.imageSmoothingQuality = "high"; // 高品质抗锯齿<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar1').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>120 || sh>120) {<br />
var r = Math.max(sw/120, sh/120);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar2').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var mwh = Math.min(sw, sh);<br />
if (sw>mwh) {<br />
sl += Math.floor((sw-mwh)/2);<br />
sw = mwh;<br />
}<br />
if (sh>mwh) {<br />
st += Math.floor((sh-mwh)/2);<br />
sh = mwh;<br />
}<br />
var tw = 48;<br />
var th = 48;<br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar3').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var src = $('avatarform').action;<br />
$('avatarform').action = data[data.indexOf('src')+1].replace('images/camera.swf?inajax=1', 'index.php?m=user&a=rectavatar&base64=yes');<br />
$('avatarform').target='rectframe'; <br />
}`)</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=53951
用户:Salt lovely/沙盒/投票箱
2024-03-04T17:14:06Z
<p>Salt lovely:编辑“用户:Salt_lovely/沙盒/投票箱” // 维基盐编辑器</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><div class="salt-vote-container not-init"><br />
<div class="salt-vote-color"></div><br />
<div class="salt-vote-title">{{{title|投票统计}}}</div>{{#if: {{{subtitle|}}} | <div class="salt-vote-subtitle">{{{subtitle|}}}</div> | }}<br />
<div class="salt-vote-bar"></div><br />
{{#forargs: #<br />
| _k<br />
| _v<br />
| <nowiki></nowiki><br />
* <div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div><br />
}}</div><br />
{{CSS|1=<br />
.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
min-width: 2rem;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff,0 0 8px #fff,0 0 16px #fff,0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: '';<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: .5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
<br />
.salt-vote-container .salt-vote-color {<br />
display: none;<br />
}<br />
<br />
.salt-vote-container ul {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: .5rem 0 .5rem 2rem;<br />
}<br />
.salt-vote-container ul li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container ul li::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li:hover::before{<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container ul li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: .5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 .4rem;<br />
margin: .1rem .2rem .1rem 0;<br />
line-height: 1.5rem;<br />
font-size: .9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a:hover::before{<br />
opacity: 0.2;<br />
}<br />
}}{{#Widget:SaltCardEffect}}</includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E5%BE%AE%E4%BB%B6:SaltVoteContainer&diff=53950
微件:SaltVoteContainer
2024-03-04T17:13:49Z
<p>Salt lovely:用于展示投票箱</p>
<hr />
<div><noinclude>用于展示投票箱</noinclude><includeonly><script><br />
"use strict";<br />
/**<br />
*<br />
*/<br />
((window) => {<br />
if (window.saltVoteJsInit) return; // 拒绝重复运行<br />
window.saltVoteJsInit = true;<br />
const defaultColor = ["#429DA5", "#7b515f", "#ab8749", "#4C7BA3", "#373D53"];<br />
// /** @type {() => HTMLDivElement[]} */<br />
// const getAllContainer = () =><br />
// Array.from(document.body.querySelectorAll("div.salt-vote-container"));<br />
/** @type {() => HTMLDivElement[]} */<br />
const getAllNotInitContainer = () =><br />
Array.from(<br />
document.body.querySelectorAll("div.salt-vote-container.not-init")<br />
);<br />
// const traceElements = getAllNotInitContainer();<br />
<br />
const at = (arr, index) => {<br />
const len = arr.length;<br />
if (len) {<br />
if (index > len) {<br />
index -= Math.ceil((index - len + 1) / len) * len;<br />
}<br />
if (index < 0) index += len;<br />
return arr[index];<br />
}<br />
};<br />
<br />
/** 渲染条状图内容 @type {(collect: {name: string, set: string[]}[], color: string[]) => string} */<br />
const renderBar = (collect, color) => {<br />
const countAll = collect.reduce((prev, curr) => {<br />
return prev + curr.set.length;<br />
}, 0);<br />
const divList = collect.map(<br />
({ name, set }, i) =><br />
`<div class="salt-vote-bar-item" title="${name.replace(<br />
/"/g,<br />
"'"<br />
)}" style="--vote-color:${at(color, i)};width:${<br />
set.length ? set.length * 100 : 0<br />
}%">${Number(((set.length * 100) / countAll).toFixed(2))}%</div>`<br />
);<br />
return divList.join("");<br />
};<br />
<br />
/** 主流程 */<br />
/** @type {(el: HTMLDivElement) => void} */<br />
const main = (el) => {<br />
console.log(el);<br />
const barEl = el.querySelector(".salt-vote-bar");<br />
const colorEl = el.querySelector(".salt-vote-color");<br />
const list = el.querySelector("ul");<br />
const lists = list && list.querySelectorAll("li");<br />
/** 收集的投票信息 @type {{name: string, set: string[]}[]} */<br />
const collect = [];<br />
/** 有问题的投票信息 @type {Record<string, Set<string>>} */<br />
const wrongCollect = {};<br />
/** @type {string[]} */<br />
const color = [];<br />
// 必须要有投票区域<br />
if (!list || !lists || !lists.length) return;<br />
// 获取颜色<br />
if (!colorEl) color.push(...defaultColor);<br />
else {<br />
const colorPar = (colorEl.textContent || "")<br />
.replace(/\s*[,;,;、*]+\s*/g, "***")<br />
.trim()<br />
.split("***")<br />
.filter(Boolean);<br />
if (colorPar.length) color.push(...colorPar);<br />
else color.push(...defaultColor);<br />
}<br />
// 获取投票信息<br />
const liList = Array.from(lists);<br />
liList.forEach((li, liIndex) => {<br />
// salt-vote-option salt-vote-voter<br />
const option = li.querySelector(".salt-vote-option");<br />
/** @type {HTMLElement | null} */<br />
const voter = li.querySelector(".salt-vote-voter");<br />
if (!option || !voter) return;<br />
const title = option.textContent || "";<br />
const voters = Array.from(voter.querySelectorAll("a"));<br />
// if (title in collect) return;<br />
const thisCollect = { name: title, set: [] };<br />
voters.forEach((v) => {<br />
const res = v.title<br />
.replace(/^(?:User|U|用户):/i, "")<br />
.replace(/\s/, "_");<br />
if (thisCollect.set.includes(res)) {<br />
v.remove();<br />
return;<br />
}<br />
thisCollect.set.push(res);<br />
v.textContent = res;<br />
});<br />
collect.push(thisCollect);<br />
// 配色<br />
li.style.setProperty("--vote-color", at(color, liIndex));<br />
});<br />
// 绘制图形<br />
if (barEl) {<br />
barEl.innerHTML = renderBar(collect, color);<br />
}<br />
console.log(collect, renderBar(collect, color));<br />
el.classList.remove('not-init')<br />
};<br />
getAllNotInitContainer().forEach((el) => main(el));<br />
})(window);<br />
</script></includeonly></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92&diff=53949
用户:Salt lovely/沙盒
2024-03-04T17:07:25Z
<p>Salt lovely:测试投票箱</p>
<hr />
<div>== 测试功能 ==<br />
* [[/抓取MCBBS用户头像]]<br />
* [[/签名]]<br />
* [[/皮肤测试]]<br />
* [[/导航盒]]<br />
* [[/投票器]]<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=这里是投票标题<br />
|subtitle=(可选)这里是投票副标题<br />
|#同意=[[U:Salt]][[用户:Salt_lovely]]<br />
|#反对=[[U:Salt]]<br />
|#弃权=[[User:Example]]<br />
|#重复测试=[[U:Example]]<br />
}}<br />
{{U:Salt lovely/沙盒/投票箱<br />
|title=QWERTYUIOP<br />
|#111=[[用户:Salt_lovely]]<br />
|#123=<br />
|#222=[[User:Salt]][[User:Example]]<br />
|#333=<br />
|#4444=<br />
}}<br />
<br />
== JS代码存档 ==<br />
<pre>// MCBBS头像上传时三个大小头像切片上传代码 - 修改 - 启用抗锯齿<br />
// 其实就加了两行<br />
(0, eval)(`function saveAvatar() {<br />
var img = $('avatarimage');<br />
var sd = getSelectorDimention();<br />
var ad = getAvatarDimension();<br />
var rl = (sd.left-ad.left)/ad.width;<br />
var rt = (sd.top-ad.top)/ad.height;<br />
var rw = sd.width/ad.width;<br />
var rh = sd.height/ad.height;<br />
var iw = jQuery('#avatarimage').width();<br />
var ih = jQuery('#avatarimage').height();<br />
var sl = rl*iw;<br />
var st = rt*ih;<br />
var sw = rw*iw;<br />
var sh = rh*ih;<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>200 || sh>250) {<br />
var r = Math.max(sw/200, sh/250);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
ctx.imageSmoothingEnabled = true; // 启用抗锯齿<br />
ctx.imageSmoothingQuality = "high"; // 高品质抗锯齿<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar1').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var tw = sw;<br />
var th = sh;<br />
if (sw>120 || sh>120) {<br />
var r = Math.max(sw/120, sh/120);<br />
tw = Math.floor(sw/r);<br />
th = Math.floor(sh/r);<br />
} <br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar2').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var mwh = Math.min(sw, sh);<br />
if (sw>mwh) {<br />
sl += Math.floor((sw-mwh)/2);<br />
sw = mwh;<br />
}<br />
if (sh>mwh) {<br />
st += Math.floor((sh-mwh)/2);<br />
sh = mwh;<br />
}<br />
var tw = 48;<br />
var th = 48;<br />
var canvas = document.createElement('canvas');<br />
canvas.width = tw;<br />
canvas.height = th;<br />
var ctx = canvas.getContext("2d");<br />
ctx.fillStyle = 'white';<br />
ctx.fillRect(0, 0, tw, th);<br />
ctx.drawImage(img, sl, st, sw, sh, 0, 0, tw, th);<br />
var dataURL = canvas.toDataURL("image/jpeg");<br />
jQuery('#avatar3').val(dataURL.substr(dataURL.indexOf(",") + 1));<br />
var src = $('avatarform').action;<br />
$('avatarform').action = data[data.indexOf('src')+1].replace('images/camera.swf?inajax=1', 'index.php?m=user&a=rectavatar&base64=yes');<br />
$('avatarform').target='rectframe'; <br />
}`)</pre></div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=53948
用户:Salt lovely/沙盒/投票箱
2024-03-04T17:02:26Z
<p>Salt lovely:改成模板</p>
<hr />
<div><div class="salt-vote-container not-init"><br />
<div class="salt-vote-color"></div><br />
<div class="salt-vote-title">{{{title|投票统计}}}</div>{{#if: {{{subtitle|}}} | <div class="salt-vote-subtitle">{{{subtitle|}}}</div> | }}<br />
<div class="salt-vote-bar"></div><br />
{{#forargs: #<br />
| _k<br />
| _v<br />
| <nowiki></nowiki><br />
* <div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div><br />
}}</div><br />
{{CSS|1=<br />
.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
<br />
.salt-vote-container .salt-vote-bar {<br />
display: flex;<br />
align-items: center;<br />
width: 100%;<br />
height: 1rem;<br />
margin: 0 0 0 1rem;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item {<br />
position: relative;<br />
height: 100%;<br />
line-height: 100%;<br />
text-align: center;<br />
transition: 240ms ease;<br />
text-shadow: 0 0 8px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover {<br />
text-shadow: 0 0 8px #fff,0 0 8px #fff,0 0 16px #fff,0 0 16px #fff;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item::before {<br />
content: '';<br />
position: absolute;<br />
top: 25%;<br />
bottom: 25%;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: .5;<br />
transition: 240ms ease;<br />
z-index: -1;<br />
}<br />
.salt-vote-container .salt-vote-bar .salt-vote-bar-item:hover::before {<br />
top: 0;<br />
bottom: 0;<br />
opacity: 1;<br />
}<br />
<br />
.salt-vote-container .salt-vote-color {<br />
display: none;<br />
}<br />
<br />
.salt-vote-container ul {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: .5rem 0 .5rem 2rem;<br />
}<br />
.salt-vote-container ul li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container ul li::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li:hover::before{<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container ul li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: .5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 .4rem;<br />
margin: .1rem .2rem .1rem 0;<br />
line-height: 1.5rem;<br />
font-size: .9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a:hover::before{<br />
opacity: 0.2;<br />
}<br />
}}</div>
Salt lovely
https://mcbbs.wiki/index.php?title=%E7%94%A8%E6%88%B7:Salt_lovely/%E6%B2%99%E7%9B%92/%E6%8A%95%E7%A5%A8%E7%AE%B1&diff=53947
用户:Salt lovely/沙盒/投票箱
2024-03-04T16:38:46Z
<p>Salt lovely:先搭建一个框架</p>
<hr />
<div><div class="salt-vote-container not-init"><br />
<div class="salt-vote-color"></div><br />
<!-- <div class="salt-vote-title">{{{title|投票统计}}}</div><br />
{{#if: {{{subtitle|}}} | <div class="salt-vote-subtitle">{{{subtitle|}}}</div> | }} --><br />
<div class="salt-vote-title">投票统计</div><br />
<div class="salt-vote-subtitle">投票统计副标题</div><br />
<div class="salt-vote-bar"></div><br />
* <div class="salt-vote-option">同意</div><div class="salt-vote-voter">[[U:Salt_lovely]]</div><br />
* <div class="salt-vote-option">反对</div><div class="salt-vote-voter">[[U:Salt]][[User:Salt]][[用户:Salt]]</div><br />
* <div class="salt-vote-option">弃权</div><div class="salt-vote-voter">[[U:Example]]</div><br />
* <div class="salt-vote-option">重复投票</div><div class="salt-vote-voter">[[User:Example]]</div><br />
<!-- {{#forargs: #<br />
| _k<br />
| _v<br />
| <nowiki></nowiki><br />
* <div class="salt-vote-option">{{#var: _k }}</div><div class="salt-vote-voter">{{#var: _v }}</div><br />
}} --><br />
</div><br />
{{CSS|1=<br />
.salt-vote-container {<br />
width: 100%;<br />
max-width: 50rem;<br />
margin: 0 auto;<br />
}<br />
.salt-vote-container .salt-vote-title {<br />
width: 100%;<br />
font-size: 1.25rem;<br />
line-height: 2rem;<br />
text-align: center;<br />
color: #222d;<br />
}<br />
.salt-vote-container .salt-vote-subtitle {<br />
width: 100%;<br />
font-size: 1rem;<br />
line-height: 1.25rem;<br />
text-align: center;<br />
color: #333a;<br />
}<br />
.salt-vote-container .salt-vote-color {<br />
display: none;<br />
}<br />
.salt-vote-container ul {<br />
display: flex;<br />
flex-wrap: wrap;<br />
margin: .5rem 0 .5rem 2rem;<br />
}<br />
.salt-vote-container ul li {<br />
display: flex;<br />
position: relative;<br />
width: 100%;<br />
justify-content: flex-start;<br />
align-items: center;<br />
margin: 0 0 2px 0;<br />
}<br />
.salt-vote-container ul li::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li:hover::before{<br />
opacity: 0.1;<br />
}<br />
.salt-vote-container ul li .salt-vote-option {<br />
min-width: 4rem;<br />
flex-shrink: 0;<br />
padding: .5rem 1rem;<br />
text-align: center;<br />
border-left: 4px solid var(--vote-color, #ab8749);<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter {<br />
width: 100%;<br />
display: flex;<br />
flex-wrap: wrap;<br />
padding: 0 1rem 0 0;<br />
font-size: 1rem;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a {<br />
display: block;<br />
position: relative;<br />
height: 1.5rem;<br />
padding: 0 .4rem;<br />
margin: .1rem .2rem .1rem 0;<br />
line-height: 1.5rem;<br />
font-size: .9rem;<br />
box-sizing: border-box;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a::before {<br />
content: '';<br />
position: absolute;<br />
top: 0;<br />
bottom: 0;<br />
left: 0;<br />
right: 0;<br />
background-color: var(--vote-color, #ab8749);<br />
opacity: 0.1;<br />
z-index: -1;<br />
}<br />
.salt-vote-container ul li .salt-vote-voter a:hover::before{<br />
opacity: 0.2;<br />
}<br />
}}</div>
Salt lovely