Wikifunctions:Status updates/2026-02-20
| ◀ | ▶ |
A sneak preview of Abstract Wikipedia




Abstract Wikipedia is going to have its public preview within the next few weeks. We gave the prototype a first internal twirl with the team, and we are really excited about where we are. You can find four screenshots here using test content, one about Kolkata and three about the year 1769 with previews in English, Dagbani, and German.
This is a very preliminary prototype, so don’t read too much into the screenshots. We have identified a number of things we want to improve during our session working on it, and we have already fixed a number of these. We are working hard on making it easier to use. Even after our initial launch of it, we plan to spend Abstract Wikipedia's early days working with you to improve the interface in steps to make it less technical and more welcoming, once you demonstrate that it can and will be used at all.
What you see in the screenshot are two panels: on the left hand side, the list of function calls that represent the abstract content, and on the right hand side a preview of the article in a language.
The screenshots show two articles: one about Kolkata, with two rather complex sentences, and three about the year 1769, which shows a more structured article and how it could be created. The three screenshots provide previews of the output text in three different languages.
Note that the functions used are based on a partially-modified set of Wikifunctions; these are not all exactly the functions that are in Wikifunctions right now, but have been changed here or there locally for the prototype.
We are excited to share our progress, and would love to hear back from you! What do you think?
Recent Changes in the software
This week, we upgraded Z6894/'Same Wikidata enum instance' to check for invalid inputs, and return a Z516/’argument value error’ if any are present. Previously, these situations would result in a much less helpful error, from JavaScript: cannot read properties of undefined.
Excitingly, Wikidata sitelinks are now being imported by Fetch Wikidata entities (Z6820) whenever a Wikidata item is fetched (T382795). A sitelink connects an item with a page about that item, which exists on Wikipedia or some other Wikimedia project. In Wikifunctions, each sitelink is now represented as an instance of a new type, Wikidata sitelink (Z6039), which contains keys for:
- site (e.g., 'enwiki' or 'dewikiquote'),
- language of the site (as a Natural language (Z60)),
- project the site belongs to (e.g., 'wiki' or 'wikiquote'),
- title of the referenced page, and
- URL of the page.
When Z6820 receives a nonempty list of Natural language (Z60) in its third argument, it imports only the sitelinks to sites in that language.
Additionally, there is a new built-in function, Fetch Wikidata sitelinks (Z6839), which provides greater convenience when one only needs to get the sitelinks for a particular item. This function, like Z6820, takes a list of natural languages and filters for those languages. It also allows for filtering by the project of the sitelinks. We imagine this will be useful for making fragments for Abstract Wikipedia such as those that want to link to Wikipedia articles.
Last but not least, we fixed a UX issue when moving a complex Object up or down in a list. Previously, the UI would incorrectly update the content and display. We spotted this during our work on the forthcoming Abstract Wikipedia interface, but fixed this to work correctly in Wikifunctions too (T416788).
Fresh Functions weekly: 21 new Functions
This week we had 21 new functions. Here is an incomplete list of functions with implementations and passing tests to get a taste of what functions have been created. Thanks everybody for contributing!
- start fragment in Korean (Z31563)
- intro for year in Arabic (Z31572)
- prepend reversed first list to second list (Z31580)
- all k-diagonals of matrix (Z31585)
- get k-diagonal of list of lists (Z31587)
- depth of list of lists up to jaggedness (Z31592)
- are all elements equal? (Z31600)
- dimensions of list of lists (Z31605)
- size of matrix (Z31612)
- generate range of Integers (Z31619)
- date (idwiki) (Z31648)
- perimeter of circle with radius (Z31661)
- Convert Malay rumi to jawi (Z31670)
- label for item in given language or fallback (Z31676)
A complete list of all functions sorted by when they were created is available.