[00:35:51] for me whenever i enter a page small is always the sefa [00:35:54] default [00:35:58] tf is a sefa [01:09:23] oh its "text" in Special:Preferences under the appearance tab [03:09:40] A good place to start would be to send GitHub PRs for config changes. [06:16:52] whats the mediawiki page name that allows you to automatically place a file summary [06:21:45] there's for licenses (that become part of file description afterwards) but not descriptions themselves [06:21:55] either way it's template based [06:22:18] unless you talk about mass uploading, that I don't know [06:22:19] Without tasks? [06:31:21] Upon seeing tasks like https://issue-tracker.miraheze.org/T13708 [06:32:43] Well, the problem is, I need a test environment! One that is the same as the entire Miraheze wiki farm! [06:33:55] You do not need that for simple config changes. [06:35:29] It's just a matter of imitating the existing setup and adding a few lines. The person reviewing your changes has access to the farm and can deploy those changes to a test environment to see how it goes. [06:36:56] For example, I've done PRs like https://github.com/miraheze/mw-config/commit/2224d24fe8828a3392c940728523ad4d8a00bb98 without access to Miraheze infrastucture. [06:39:01] There are also tasks like https://issue-tracker.miraheze.org/T14430 which only require a local MediaWiki install to test and fix, though it could be quite involved in terms of the amount of php required. [06:42:07] most extensions and configurations behave exactly as they would in a local installation [06:44:17] [1/2] like this [06:44:17] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432620971810095155/image0.jpg?ex=6901b7c0&is=69006640&hm=23acfb04d6729d5aeac41c9b9f319dc8adbc5d73df568745620d2356830bbc8a& [09:45:32] But then I would have to set up an entire wiki farm! That's what the configuration is aimed at! [09:45:56] And yet not all of them [09:46:00] And yet not all of them [09:56:20] MediaWiki:Upload-default-description [09:57:38] > The person reviewing your changes has access to the farm and can deploy those changes to a test environment to see how it goes. [10:02:22] unless you're doing some insane changes to caching (which even I wouldn't touch), your local install will rarely ever behave differently in terms of configuration settings [10:04:46] And you think it would be a good idea to spend days or weeks discussing this just because an SRE is allowed to test it again and again? [10:05:15] Because my pure MW instance also knows all WikiFarm wikis? [10:05:23] Without all configs of Miraheze [10:05:43] that's the point, it doesn't need to [10:06:35] ? [10:06:46] Still can't follow [10:07:04] If I want/need to change the configurations of wikis in the farm [10:07:06] If I want/need to change the configurations of wikis in the farm... [10:07:18] If I want/need to change the configurations of certain wikis in the farm... [10:20:53] then you should look up how we do that https://github.com/miraheze/mw-config/blob/main/LocalSettings.php [10:21:33] I already know that, because there are also all the local configuration overrides for all the farm wikis. [10:22:05] and for that you need only know the subdomain or database name [10:26:22] And how do you expect me to test changes if the subdomain doesn't point to my server? [10:26:41] Well... although... I could try replacing it with another one... [10:26:43] πŸ€” [10:27:07] For a simple change like adding a protection level, it will behave no differently to out of the box mediawiki [10:27:08] [1/2] I forgot PHP had a function called `die` [10:27:09] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432677057422430374/image.png?ex=6901ebfc&is=69009a7c&hm=e8935f277b55d8bc8ed6e1434826f3a978e51120ca51e64464e7764e8bca4342& [10:27:18] You are massively overcomplicating things [10:27:27] Mediawiki has restInPeace too [10:27:29] you don't need to test if that part is right lol you just need to test if the configuration itself works [10:27:45] I mean you don't really even need that for protection levels [10:27:49] It's standard config [10:28:15] yeah honestly I just push to main without a care in the world [10:28:17] Our techs are more than competent enough to check that while deploying [10:28:27] You're not supposed to say that [10:28:38] You meticulously test by deploying on test before mwtask [10:28:48] And making sure it doesn't explode [10:29:22] There is not really a lot you can do to test something like that tbh [10:30:18] prot levels don't really need testing tbh, i just quadruple check the syntax and names [10:30:39] easier to just git revert than to test a PR [10:31:03] that's to say go make it easier smhhhhh [10:31:12] actually might do it myself [10:31:14] @urbanecm might have a thoughts as a Wikimedia deployer [10:31:35] But basic things like that I wouldn't expect you to need to spin up a mediawiki instance [10:32:04] yeah anything more involved than that I will actually test [10:32:35] hmm yes today I will not test default ext changes [10:34:36] I mean that didn't work anyway [10:34:39] Somehow [10:35:09] beta is cursed [10:35:30] Yes it is [10:35:37] Despite being a fair few years younger [10:35:45] It suffers from all the same issues as WMF beta [10:39:15] 2020 [10:56:45] Nuke it every year then, it will be fresh each time /j [11:06:12] That tells me you know nothing about the problems with wmf beta [12:07:39] [1/2] yo send this to another server [12:07:39] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432702353148219433/image.png?ex=6902038b&is=6900b20b&hm=83a340a973d55fee240540c3b5c4a6185be94a7945bc6089ae84346d6ec00ca8& [12:30:41] true [12:35:48] but i think every problem can be solved provided you nuke it enough [12:35:59] if once every year is not enough maybe one per week [13:29:09] Such posts need to be posted in #offtopic please [13:35:40] How goes Miraheze? [13:38:01] [1/2] can someone help me with infobox stuff [13:38:01] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432725092286337075/i-humbly-ask-for-your-cat-reaction-pics-v0-42xsa7f6c6cb1.png?ex=690218b8&is=6900c738&hm=25f56ab3b5262beae39d91c5c866965cbb8682a49e91ee6de859bd8682c2e88c& [14:14:43] Maybe it can be solved if you watch Nukie enough [14:14:57] What are you struggling with? [14:15:52] 2 things [14:16:56] [1/3] - the label cells should be vertically aligned to the top and aligned to the left [14:16:56] [2/3] - why are albania and wales social distancing from the rest.. [14:16:56] [3/3] https://cdn.discordapp.com/attachments/407537962553966603/1432734886183043072/image-397.png?ex=690221d7&is=6900d057&hm=755ddd004559ae6158e056fc5c7f2eef63340938fec8b613bdf1a87c18c8ffb3& [14:17:30] but after changing the common css the label cells aren't listening 🫠 [14:18:30] Sometimes I find that space can be left over if you have unused functions in the table. [14:19:03] Is that all one long parameter or seperate parameters? [14:19:11] one long parameter [14:20:20] [1/2] it's basically [14:20:20] [2/2] ```|debut = {{VDSC|Albania}}
{{VDSC|Canada}}
{{VDSC|Chile}}
... and so on and so forth``` [14:30:31] What does it look like between {Number of finalists} and the {debut} parameter. [14:32:51] in the template itself or on the wiki page? [14:33:30] In the template [14:33:33] what's link to the page [14:34:16] it's set to private but i'll send a link and make you two admins [14:35:58] https://verda.miraheze.org/wiki/Verdavision_Song_Contest_01 [14:36:40] send me your usernames [14:37:18] it's imported from wikipedia [14:37:19] https://en.wikipedia.org/wiki/Template:Infobox_song_contest [14:38:29] [1/2] this part [14:38:30] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432740311922114643/image.png?ex=690226e5&is=6900d565&hm=704c7c9e1ccca26e8bde2fd72de6da5e966ce3a375ad7033c6a37c8b16f87c21& [14:39:41] [1/2] doesn't seem to have the issue on wp? [14:39:41] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432740613681315912/image.png?ex=6902272d&is=6900d5ad&hm=189dc3fbf75e099eed15baddbea459a509b2f6cc5b170b0b4178eb520be4847c& [14:45:40] i don't know what's happening [14:47:23] [1/2] when i listed them out on the main page as they were on the template they were normal [14:47:23] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432742550447460498/image.png?ex=690228fb&is=6900d77b&hm=2dcc5c5c7228333d2e3336e55cbba91d0baaad6afdf50567149f81fc0e1f64b6& [14:47:58] https://cdn.discordapp.com/attachments/407537962553966603/1432742698225504547/image.png?ex=6902291e&is=6900d79e&hm=29bf21effddc4c1616cd63c810225358d5cb846504e8564d848180b16053ded8& [16:05:01] okey [16:05:03] :) [16:30:22] Citizen has a "performance" mode now? [16:31:55] yes it was added a few weeks ago [16:37:11] They should add a "maximum" mode where your browser is blasted with 200 ads playing subway surfers gameplay, tuff 6-7 mango phonk edits and the newest episode of skibidi toilet. [16:38:17] thats an idea for sure ! [16:41:03] usually this happens when you've got newlines in the template [16:42:47] so A) make sure that the template doesn't have trailing newlines (imo `onlyinclude` > `noinclude` for templates entirely due to this reason) or B) use CSS to remove the margin for `p` elements in infoboxes [16:42:49] or do both [16:43:25] you dont even need to do that [16:43:31] just go on to f*ndom [16:43:43] https://cdn.discordapp.com/attachments/1385686339483074651/1389837864665219153/caption.gif [16:44:12] What if we embedded fandom in Miraheze ❓ [16:44:28] Oh wait f*om mb [16:44:36] f-slur detected, time to ban you [16:44:45] https://tenor.com/view/opinion-bunny-cat-meme-tim-gif-5757637543570572724 [16:44:50] impossible it's not in csp whitelist:EpicFaceMH: [16:44:57] https://tenor.com/view/god-bless-fandom-god-bless-fandom-wiki-miraheze-gif-17358418883085533391 [16:47:49] @thewwrnerdguy i wonder if when i need both onlyinclude and includeonly, which one is inside? [16:48:10] wdym [16:48:31] includeonly means it doesn't show up on the template page but it does appear when transcluding [16:48:49] onlyinclude means that only stuff in the onlyinclude shows up when transcluding [16:48:51] [1/3] ab/noinclude [16:48:51] [2/3] can be replaced with [16:48:52] [3/3] a/onlyincludeb [16:49:02] yes [16:49:28] a/onlyincludeb/noinclude is redundant [16:49:39] but what to replace a/includeonlyb/noinclude if you use onlyinclude? [16:49:40] I learnt this way later than I should have [16:50:19] `a/onlyinclude/includeonlyb` [16:50:34] that's what i meant [16:50:39] the order doesn't matter, I just put includeonly first out of personal preference [16:50:47] [1/2] hi rhinos, regarding the question about fmboxes not showing up. What do you think might have happend? [16:50:47] [2/2] Kind regards, Quarnds [16:51:11] hard to remember the order for me lol [16:51:30] stick to old fashion w/o onlyinclude:ThinkingHardMH: [16:51:42] murdering you rn [16:51:59] [1/2] how do i do this [16:51:59] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432773906501992479/image.png?ex=6902462e&is=6900f4ae&hm=6552f3a056fc954ad671871a9d17758e24cebf01620d62fe5dca1cf84287d5a1& [16:52:59] do i go on common.css or [16:53:05] how to search for tags tbh [16:53:12] :insource: does nothing [16:53:43] [1/2] so for example, here is me doing that for a portable infobox. I don't know if you're using PI or a classic infobox, but the best way to try it is by inspect element [16:53:43] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432774342932041788/image.png?ex=69024697&is=6900f517&hm=15a2043bd4823c3a0d0640eb1a8609d566f94dcbcd68ffeaaf7caae8a5b48ca4& [16:53:47] yes it would be common.css [16:54:07] and you just need to set `margin: 0;` for something [16:54:14] it's wikipedia style not pi i think they mentioned [16:54:27] I think you might be able to just do `.infobox p { margin: 0; }` [16:54:47] i just imported one from wikipedia [16:54:55] ^ [16:56:14] btw fandom has special:tagsreport. is it ext or what? [16:56:43] nvm it's a fandom owned ext [16:57:06] 404 repo link in their special:version [16:57:12] any substitute to it? [16:57:18] [1/2] i just put this in common.css [16:57:18] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432775243432464464/image.png?ex=6902476d&is=6900f5ed&hm=d4d75d3085461d08dc69f89ed0270648c6b3b0eb31f96825cd5c8213667ff958& [16:57:26] now i wait for about 70 hours [16:57:31] for it to update [16:59:45] [1/2] found a wiki replicating it:EpicFaceMH: [16:59:45] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432775859126796308/IMG_20251029_005854.jpg?ex=69024800&is=6900f680&hm=d4daa04f24ffa1b35f6edfdad96a8e9575d49001687244d53b062c9df71cdde3& [17:00:30] well not exist [17:10:43] Why are you asking me [17:10:46] Also please ping me [17:11:29] they also opened a support thread [17:11:50] okay, and yes I opened a support thread. πŸ‘ [17:12:18] You'll get an answer from someone who probably isn't me in the support thread [17:34:32] Where can I see the wiki request queue 🧌 [17:35:12] [[Special:RequestWikiQueue]] [17:35:12] [18:17:22] so after waiting for quite a bit this hasn't updated yet and i don't know if it's just the css style being slow to load or if that did absolutely nothing but [18:17:40] [1/2] πŸ‘πŸ‘πŸ‘πŸ‘πŸ‘πŸ‘ [18:17:40] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432795469070733392/image.png?ex=69025a43&is=690108c3&hm=e65cdd3af6ccd68b0dcc25b4c2b46990e413241dc6ff0a9e673d6b9b103a01fd& [18:18:31] i diagnose you with caching [18:19:12] ctrl+shift+r? [18:19:14] because i did that [18:19:24] and it didn't do nothing unfortunately [18:19:31] ?debug=2 my beloved [18:20:22] or maybe the css really does nothing [18:20:50] try inspecting your infobox elements to check it [18:21:52] oh i found something out [18:22:11] [1/2] so for some reason albania and wales are not in the same thing as the rest [18:22:12] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432796608155881533/image.png?ex=69025b53&is=690109d3&hm=ebef0e4e0676187c2ebe13abdedf428c8ea56f39e2f4ba465af1684b79e733d9& [18:22:48] [1/2] actually no it DID do something because the margin between those two was bigger [18:22:48] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432796760706777149/image.png?ex=69025b77&is=690109f7&hm=66599553d02420a0716bf1dadffc0accdbfcf6be728cac3a50be9e5967c1fa9d& [18:22:53] everything between them are in the p [18:22:57] but there should be no margin [18:23:01] everything should be in the p [18:23:07] why are those two not in the p [18:23:13] there's a br [18:23:23] which creates the gap definitely [18:23:31] yeah but the thing i'm asking is [18:23:38] why are they not in the p [18:24:06] [1/2] i don't think i did something wrong here no? [18:24:06] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432797088865058827/image.png?ex=69025bc6&is=69010a46&hm=9f56b7145018f898817bbfbae59f1badf258c93ee1a5862b715a4ee7f649975b& [18:24:10] i mightve [18:24:14] i'm a bit blind at times [18:24:15] very probably extra newlines in your vdsc template [18:25:15] [1/2] ```[[File:Flag_of_{{{1}}}.svg|21px|border|link={{{1}}} in the Verdavision Song Contest{{#if:{{{2|}}}| {{{2}}}}}]] [[{{{1}}} in the Verdavision Song Contest{{#if:{{{2|}}}| {{{2}}}}}|{{{1}}}]]``` [18:25:15] [2/2] this is the template itself [18:25:47] [1/2] but there's also the rest of it [18:25:47] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432797512137179276/image.png?ex=69025c2a&is=69010aaa&hm=cc85a54db4979a3ce4c9b0d9efa2bc610c03f4f4be7b52407fce2387a0b9ed8f& [18:26:07] yes [18:26:14] that's where the problem lays [18:26:41] [1/4] use [18:26:41] [2/4] ``` [18:26:41] [3/4] /includeonly [18:26:42] [4/4] ``` [18:26:47] [1/5] not [18:26:48] [2/5] ``` [18:26:48] [3/5] /includeonly [18:26:48] [4/5] [18:26:48] [5/5] ``` [18:27:16] [1/5] if you have to make them in different lines, instead you should use [18:27:16] [2/5] ``` [18:27:16] [3/5] /includeonly [18:27:17] [5/5] ``` [18:27:32] [1/2] MERRY CHRISTMAS [18:27:32] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432797953772228700/image.png?ex=69025c94&is=69010b14&hm=67be91e903a7f75addf7378411eda6e8085424fac78c69f42617df42969d4553& [18:28:21] [1/2] now how tf do i fix those not being aligned properly [18:28:21] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432798158039289866/image.png?ex=69025cc4&is=69010b44&hm=c578a65684220eeb624a1f077a9dc22a88fc328dae4fa2175f23f1be277ab77a& [18:28:37] again, use inspect [18:29:26] 1 problem [18:29:43] oh wait [18:29:44] no [18:29:47] there's no problem [18:29:55] i'm just stupid! [18:30:02] okay time to go fix that........ [18:32:28] [1/2] HUZZAH [18:32:28] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432799194976092180/image.png?ex=69025dbc&is=69010c3c&hm=34c10c9daeb2d822fac3495678c722651149275a6db7964143bde7b4c038bee4& [18:36:48] Have seen tasks like this, which was tagged with the Configuration project! For what is this? [18:37:15] For tasks where one needs to adjust the LocalSettings? [18:43:45] mw-config in general [19:13:37] In the `wgManageWikiPermissionsAdditionalRights` key, we have `default`! `default` automatically applies to every wiki in the entire farm, right? But then why are groups such as `global-admin` and `global-renamer` in the `+metawiki` key instead of in `default`? [19:13:44] Im mean, this are global groups? [19:13:58] Because, `steward` is in the `default` key [19:21:39] [1/2] certain things are handled on metawiki, mostly because of logging and abuse reasons [19:21:39] [2/2] the steward local group exists on every wiki locally whereas GA and GR don't [19:26:51] I was told weeks ago that there is a way to make mini slideshows in miraheze similar to fandom's (I mean like the ones in this page https://danmachi.fandom.com/wiki/Ais_Wallenstein/Equipment in case I am not being clear). Can someone please show me where I can see how to do that? I have tried searching on my own but have had no luck [19:27:28] But its permissions are still global? [19:28:17] no, global permissions are handled separately (not in mw-config at all) [19:31:03] Where? [19:31:20] It is only in the `LocalSettings.php` [19:31:41] https://meta.miraheze.org/wiki/Special:GlobalGroupPermissions [19:35:38] [19:49:49] [1/2] How can this be fixed then? [19:49:50] [2/2] [[phab:T14439]] [19:49:50] [19:50:39] there was some discussion on this in #tech [19:54:59] @pskyechology [19:55:01] Like this? [19:55:01] https://github.com/miraheze/mw-config/pull/6154 [19:58:57] Complicated [19:59:02] No [19:59:58] What is the best way7 to have a forum? [20:01:46] [1/2] probably discord [20:01:47] [2/2] Do you mean something like https://xyy.miraheze.org/wiki/Forum:Wiki_Plaza ? [20:03:09] I think that's [[mw:Extension:DPLforum]] [20:03:10] [20:20:23] I disagree with Discord as a forum option; information on Discord is highly prone to being permanently lost, not really a good thing for discussion spaces surrounding documentation and knowledge bases (although tbh i guess if there's nothing better then it's not entirely a horrible option) [20:37:00] One could even use PHBB (is that what it is called?) [20:42:20] [1/2] discord is better for a community that tends to talk more about the subject than the wiki itself, i.e. something that can replace fandom's abysmal discussions [20:42:20] [2/2] otherwise even talk pages will work [20:53:39] it's good but with only disadvantage that you can't start a new topic with discussiontools [20:55:16] Also, ProBoards does free forum hosts but downside is ads [20:55:48] (it needs starting one with a placeholder top template for breadcrumb nav and category [21:07:34] Battle Cats Wiki used ProBoards for a few months, but having to upload images to an external service was a major complaint (money can solve that, but that wasn't an option for us) [21:07:44] Main choices seem to be "On wiki - Eg DPL forum" or "Self host" - Eg phpBB or paid/free host - ProBoards [21:08:00] most pages' separate talk pages work for discussions specific to that page. you will always need a space to discuss on topics across different pages. many wikis use talk:main Page by default, and it may become too long and have many /Archives [21:08:59] dpl forum offers a way to make each across-wiki topic in separate pages, but is less accessible with discussiontools when creating a topic [21:10:05] most wikis like wikipedia or mh meta actually use this scheme. only difference being talk:main page moved and split into some blocks on different themes [21:12:06] I made custom Forum namespace and changed model from wiki text to DT [21:13:32] wait is there a contentmodel called dt [21:15:09] discussiontools [21:15:14] related [21:15:24] don't remember how exactly it's called [21:17:28] [1/2] well [21:17:28] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432840716593266780/Screenshot_2025-10-29-05-17-05-744_mark.via-edit.jpg?ex=69028467&is=690132e7&hm=86b3723ee928f383d6b745f31fb8db8648953d6020ca5351f050b22d25ea950f& [21:17:46] What would you say are the main choices for Fourms for wikis? [21:17:52] i don't remember how i made that then lol [21:18:11] but meta does that too [21:18:46] Talk:Main Page as a beginning; later moved to Project talk: [21:19:03] for most wikis i think [21:32:44] I think the main choices on how to do forums for wikis seem to be "On wiki - Eg DPL forum" or "Self host stand alone forum" - Eg phpBB or "paid/free host but not your own host " - Eg ProBoards [21:41:12] I mean even then, people are gonna discuss and come up with stuff that are worthy of preservation/extended sharing, but the way Discord is sets up roadblocks to either task [21:50:42] reddit looks more similar to fandom's abysmal forum [21:50:53] than discord [22:04:45] yeah I feel that with Discord being prone to getting lost, but it does allow the conversation to continue much faster than having to write out a reply then someone needs to load a page and find they have a notification then go back and make their own reply. but yeah balancing ease of communication with making sure you have a historical record is difficult [22:07:33] was fandom's forum that bad? I remember that if you didn't know how to xss it then the formatting options were very limited, and to do anything useful I had to figure out the non-documented api from the web requests, but besides that it seemed alright [22:10:54] [1/2] forum was pretty basic, i remember an admin implementing emojis w/ js tho [22:10:54] [2/2] what i called abysmal is current "discussions" thing that is not even part of mediawiki (and yet stores all images in wiki) [22:12:04] pretty sure it was just old wiki forum that is currently disabled everywhere? [22:12:38] at least i remember how staff refused to migrate it to "new platform" and talking about security risks [22:26:32] we didn't have js [22:26:35] on fandom [22:27:17] i never succeeded sending fandom a single ticket [22:27:32] and thus didn't have bot either [22:28:00] just let bot edits flood in rc and could do nothing [22:30:28] i've figured out their undocumented api to import comments [22:31:21] just waiting for flowthread to fix their security issue and get installed to import the past comments (and commentstream comments bc i'll disable it after flowthread is installed [22:32:17] btw didn't fandom also use commentstream around 2020 [22:32:40] and was transferred to the new feature later [22:32:55] new feature=comment+message wall+forum [22:41:36] Citizen has them implemented longer, but it was Vector 2022 that standardized the approach. [22:42:29] Vector 2022, Minerva, Citizen, and Lakeus all use the same implementation for dark mode and other client preferences essentially [22:42:46] [1/2] ah alright [22:42:46] [2/2] yeah nvm vector 2022 sucks citizen for life [22:43:30] The main reason is that it allows dark mode to work across skins, it is needed for multi-skin wikis and also better for the MW ecosystem [22:44:56] I prefer just sticking with one skin - less CSS to write [22:45:27] To be fair almost all skins started from Vector one way or the other, so it is a cycle [22:46:05] I have 6 CSS stylesheets just with a 2 skin wiki, 8 if we inculde the other "base" sheets that load other hseets [22:46:39] I only have Vector 2022 and whatver Wikimedia's mobile skin is called [22:47:22] i just wonder why vector stupidly chose to use both -day -night and @media -os selectors [22:47:32] and made everyone else use the same [22:48:02] for me, I like the ability to have different skins for different users and use cases. [22:48:14] well it's what powers the "auto" mode [22:48:16] I must of written 500+ lines of CSS [22:48:58] they could have used some internal js to implement them [22:49:03] Yeah that is the only way to make auto mode work without using JS [22:50:30] really? [22:51:08] Yeah the server does not know what the client dark mode preference is [22:51:40] 1590 lines of CSS for the Taerel wiki (with spaces) [22:52:25] oh you'd love https://battlecats.miraheze.org/wiki/MediaWiki:Cosmos.css/buttons.css [22:53:05] isn't the `@media (prefers-color-scheme:` meant for auto [22:53:20] Yes, hence the selector [22:53:48] Why so much CSS? [22:53:52] nah your choices are either A) don't have an auto mode or B) need to duplicate the colour scheme selectors [22:54:24] You can techincally use JS to detect the current user browser/OS preference, and assign the dark or light theme correctly [22:55:04] WMF probably want to implement the auto theme without using JS, so that's why this approach is taken [22:55:33] Cosmos had a load of svg buttons, which were then set as background images; I basically copied every single background image I could find so I could use the svgs as mask-images instead [22:56:00] I think I just used a filter:invert for my buttons [22:57:48] I'm not sure that would have been any easier (although would probably have lower load times) [22:58:05] w/o js so how the -day -night -os classes are added to the root element [22:58:08] I only had to invert black into white [22:58:33] is that actually php? [22:58:41] how did you figure out which elements needed to be inverted though? [22:59:35] I tried doing the filter:invert approach on timeless but gave up because there were just so many svgs in the wrong colour that only showed up on certain pages [23:00:11] [1/3] There are two ways. [23:00:11] [2/3] - For logged-in user, it is applied at PHP. MW reads the user preferences, and apply the right class. [23:00:11] [3/3] - For logged-out user, since MW does not track logged-out user preferences server-side, it is saved in localStorage in your browser. There is an inline JS in the skin to get the value from localStorage and apply the right class. [23:00:32] I used inspect element [23:01:02] still rely on js [23:01:16] When JS is disabled, the theme detection works for logged-in user because it is set by the server. The theme detection won't work for logged-out user because the localStorage can't be accessed. [23:01:32] That's why the default is set to `auto`, and the media query is used [23:01:40] I did that to create buttons.css but I couldn't find an easy way to do that on timeless [23:01:46] The icons are just simple black and white icons, so not too hard to just invert [23:02:35] wait i believe vector-2022 default is -day [23:02:58] Oh well it is on them :S [23:03:20] But that allows `os` to work without JS [23:04:00] My assumption is that dark mode is still causing a lot of UI breakage all over the places, and they are not confident to set `os` as default [23:04:24] os can work w/o js to begin with [23:04:25] which wiki is this? I'd like to take a look if possible [23:05:46] https://taerel.com/w/Lasika_Lonely_Mountains#Animals - uses Vector 2022 - the thing I inverted was icons for a place page "near to" template [23:06:18] so it's like, w/o js it can be either (light/dark switch) or (follow os theme) [23:06:18] Sometimes, you just need a very very narrrow selecor [23:06:56] if you want (light/dark/os switch) you either use js or have to repeat the stupid selectors twice [23:07:05] and wmf chose the latter [23:07:35] span.mw-valign-middle:nth-child(3) > span:nth-child(1) > img:nth-child(1) I had to go really really narrow [23:08:03] and meanwhile disagrees to add something like common.less to simply codes [23:08:17] so we all have to write the stupid selectors twice [23:08:32] There is a LESS extension I believe [23:09:00] https://www.mediawiki.org/wiki/Extension:Less [23:09:14] I saw some wiki uses LESS for the global css [23:09:52] It was the RuneScape wikis, not sure how they implemented it though [23:10:31] [1/2] they compile them with a bot ig [23:10:31] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432869167966588958/Screenshot_2025-10-29-07-10-06-699_mark.via-edit.jpg?ex=69029ee7&is=69014d67&hm=d1fff1cacdc386d317cf08a10e86be540f481f04220240ea231514241a812e84& [23:12:16] [1/2] oh right you're talking about inside a template. I'm talking about images like this [23:12:16] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432869607320060055/image.png?ex=69029f4f&is=69014dcf&hm=3b4a16af7f0df6aae6f70905b1fd442dd923ea6751b3c8db249f2f828f4da54a& [23:12:18] [1/2] oh there is an ext [23:12:18] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432869615498821692/Screenshot_2025-10-29-07-11-57-528_mark.via-edit.jpg?ex=69029f51&is=69014dd1&hm=0b53bf3d67bf8dc5fe58a0a6bc58dddccdccc4905a052114a53403c735dfe409& [23:12:36] links to rs mainpage instead of any repository [23:12:50] so impossible to use it out of rs [23:13:19] happen to use the same name as the abandoned ext on mw: [23:13:46] https://cdn.discordapp.com/attachments/407537962553966603/1432869983855055048/Screenshot_from_2025-10-28_23-13-36.png?ex=69029fa9&is=69014e29&hm=d9a960deb1c0c04b15c471604f182a84c90d0e7027e913357fb0761c07aa7428& [23:13:53] the ext generally just does this thing [23:14:21] .css is still the actual entrance [23:15:03] btw i think i've seen talks on this on mw phab where they disagree bc it has security issue [23:17:24] automatically edits the corresponding css page upon the less page changes the function itself doesn't seem difficult to implement and doesn't actually needs an ext [23:17:57] a bot can also do that [23:19:29] [1/2] on the battle cats wiki we have a page that defines the theme variables once and then uses Lua to duplicate it for auto mode [23:19:30] [2/2] https://cdn.discordapp.com/attachments/407537962553966603/1432871427060797661/image.png?ex=6902a101&is=69014f81&hm=2df8fd896b7a72c6afc90695a12d5306bc9454b3558d4a36efa474a5b931e2ca& [23:19:31] https://battlecats.miraheze.org/wiki/MediaWiki:Global.css/themes.css [23:20:07] but if you wanted to make a nontrivial adjustment this doesn't work [23:20:27] cool [23:25:12] oh it generates :root [23:25:26] some selectors are not like this [23:25:39] but can be easily modified [23:25:53] great idea [23:32:54] so it splits a css page into three [23:33:26] one for color, one for module to work, one as root and imports the second [23:35:18] the first two can actually merge (? by making raw css parameters to module [23:37:19] wdym? [23:39:38] like {{#invoke:cssthemes|main|light{//}/nowiki|dark{//}/nowiki}} [23:40:16] I inverted icons with a very precise selecor [23:42:05] +implementing a less compiler in lua can also do that🀣 [23:46:13] this might actually be genius [23:46:47] I think the advantage with a less compiler is that you wouldn't have to import any css [23:47:12] with lua I think you'd always need to have an import statement because you need `&templates=expand`