It's interesting to think about how complex the wikipedia text is compared to something like github flavored markdown or even standard html tables (although I guess it eventually renders into standard html so it's not more complex than the latter when all other html elements are considered in addition to <table>)
For example the swatch internet time infobox is dynamically updated
{{short description|Alternate time system by watch maker Swatch}}
{{Infobox
| image = [[File:Swatch beat Logo.svg|200px|alt=Logo of Swatch Internet Time]]
| caption = Logo of Swatch Internet Time
| title = Time{{efn|at page generation }} {{purge|(update to view correct time)}}
| label1 = 24-hour time (UTC)
| data1 = {{nowrap|{{#time:H:i:s}}}}
| label2 = 24-hour time (CET)
| data2 = {{Time|CET|dst=no|df-cust=H:i:s|hide-refresh=yes}}
| label3 = .beat time (BMT)
| data3 = {{nowrap|@{{#expr: floor( {{#expr:{{#expr:{{#expr:{{#time:H|now + 1 hour}}3600}}+{{#expr:{{#time:i}}60}}+{{#time:s}}}}/86.4}} )}}}}
}}
I always found it ironic that the table syntax is designed to resemble ascii-art type tables, and then literally nobody writes it in a way that looks like an ascii art table.
I agree it's great, but that risk is so major that I stopped using it. "There's a 50% chance that your editor will invisibly corrupt the data you enter, and another 30% chance to corrupt the entire file" is just not usable...
Especially in Zed where the only way to switch hard tabs is buried in the settings menu, and impossible to change per buffer.
You'd think more editors would be smart enough to recognize that it's a TSV file and therefore should preserve the tabs, in much the same way that you'd think editors would be smart enough to recognize that something's a Makefile and therefore should preserve the tabs.
It gets tricky when you have a TSV inside Markdown. I don’t think I’ve ever seen tabs used for indentation in Markdown in the wild, though it probably does work.
We could, however, make the Tab key insert spaces if the cursor is in the beginning of a line, and a literal \t if it’s in the middle. This way, you can write a TSV table pretty much anywhere you want.
Lack of control over your editor's behaviour shouldn't be acceptable on this level. Just like making tabs/spaces visible, control like this ahould be a basic feature of every editor.
Yeah, it’s not terribly hard to do that even without AI (Prettier can do it, for example). But there’s a lot of places where the tooling just isn’t available. Then again, it’s probably not a big deal if your GitHub comment markup isn’t perfect.
I think the root of the problem is, almost everything else you use in Markdown is easy to do by hand. There’s just no good syntax for tables like this, I guess.
I am not a regular contributor to Wikipedia but the little time I have spent contributing there has exposed me to its very elaborate culture, with barnstars being one artefact of that culture, alongside policy acronyms everyone seems to know by heart, WikiProjects organised around every imaginable topic, userboxes that are little badges that say something about you, etc.
I've had the desire to contribute so many times, but each time I was blocked. I don't think Wikipedia accurately measures how much contribution they lose because of the hostile treatment of new editors and what I believe are poorly implemented editing policies. Their policies likely haven't been revised since a decade or more, they should do a survey about it.
I'm not trying to defend Wikipedia at all costs, but you should also think about how much spam and trolling would happen on their platform if they didn't have these annoying blocks for non-registered users.
I run a pretty simple SaaS with a free tier and the amount of spam that I have to manage is high; I don't want to even imagine how difficult it must be to run a website where anybody can edit pretty much anything.
In that specific case, logged in users are still allowed, however you cannot create new accounts when visiting from that range, so you have to already have an account, or go somewhere else to create one.
There are both, every user has their own sandbox. But this one is there to encourage first time visitors and the uninitiated to make changes , so they know that anyone can contribute uninhibited.
Though, just to be clear, the per-user ones are also public. They're just a convention where if you make a subpage of your user page and call it "Sandbox", nobody is going to complain about the encyclopedic value of your edits.
For example the swatch internet time infobox is dynamically updated
{{short description|Alternate time system by watch maker Swatch}} {{Infobox | image = [[File:Swatch beat Logo.svg|200px|alt=Logo of Swatch Internet Time]] | caption = Logo of Swatch Internet Time | title = Time{{efn|at page generation }} {{purge|(update to view correct time)}} | label1 = 24-hour time (UTC) | data1 = {{nowrap|{{#time:H:i:s}}}} | label2 = 24-hour time (CET) | data2 = {{Time|CET|dst=no|df-cust=H:i:s|hide-refresh=yes}} | label3 = .beat time (BMT) | data3 = {{nowrap|@{{#expr: floor( {{#expr:{{#expr:{{#expr:{{#time:H|now + 1 hour}}3600}}+{{#expr:{{#time:i}}60}}+{{#time:s}}}}/86.4}} )}}}} }}
Day 2: our users have complicated needs so we’ll basically reinvent Lisp expressions, but worse.
Day N: whatever this markup language is
——
I’ve seen this happen so many times it’s not even funny anymore. Well, at least it’s not YAML.
Anyways, now a days you can use lua, so most of the wikisyntax is just glue code calling a lua program
https://en.wikipedia.org/wiki/Greenspun%27s_tenth_rule
But the spaces around | make it easier to read, than, say, CSV.
It's the perfect format, more or less! CSV, but no difficulty around commas, and the only major risk being an editor that converts tabs to spaces
Especially in Zed where the only way to switch hard tabs is buried in the settings menu, and impossible to change per buffer.
We could, however, make the Tab key insert spaces if the cursor is in the beginning of a line, and a literal \t if it’s in the middle. This way, you can write a TSV table pretty much anywhere you want.
Even vim lets you set that per-buffer so that's more of an editor problem than anything else, lmao
For now. I get the feeling we'll have tooling everywhere that does this soon.
I was recently tab-completing a Markdown table and whatever autocomplete model I had just fixed the table up without any intervention.
I think the root of the problem is, almost everything else you use in Markdown is easy to do by hand. There’s just no good syntax for tables like this, I guess.
I'm not up to speed on my parsers anymore, but I believe Parsoid remains the most complete implementation, while mwlib is a reasonable compromise.
https://www.mediawiki.org/wiki/Alternative_parsers#Known_imp...
I am not a regular contributor to Wikipedia but the little time I have spent contributing there has exposed me to its very elaborate culture, with barnstars being one artefact of that culture, alongside policy acronyms everyone seems to know by heart, WikiProjects organised around every imaginable topic, userboxes that are little badges that say something about you, etc.
By the way, I added a few userboxes for the Logo programming language, in case there are any Wikipedians out here who happen to love Logo: https://en.wikipedia.org/wiki/Category:User_logo
https://en.wikipedia.org/wiki/User:Xaosflux
I run a pretty simple SaaS with a free tier and the amount of spam that I have to manage is high; I don't want to even imagine how difficult it must be to run a website where anybody can edit pretty much anything.
Mobile ips are often blocked because of the sheer amount of spam and they switch so much that its difficult to block individual offenders.
The block in this case appears to be this one: https://meta.wikimedia.org/wiki/Special:GlobalBlockList?targ...
In that specific case, logged in users are still allowed, however you cannot create new accounts when visiting from that range, so you have to already have an account, or go somewhere else to create one.
The error message blocked users get should link to https://en.wikipedia.org/wiki/Wikipedia:Advice_to_T-Mobile_I... with more info on how to still edit.
There are exceptions to this policy, but you generally need to have a really good pre-existing reputation to qualify https://en.wikipedia.org/wiki/Wikipedia:IP_block_exemption
One particular thing that comes to mind though, is that Fossil (https://fossil-scm.org/) has a private local-only sandbox: https://fossil-scm.org/home/wikiedit?name=Sandbox. It saves to your browser's persistent storage, but never on the server.