Wolfite.dev / Highlights

Obby Wiki

WikiWire v0.5.0 released

Obby WikiMediaWiki

WikiWire v0.5.0 introduces new features (mostly experiments) that should make working with WikiWire a whole lot easier. This is a feature release and contains no breaking changes.

1. Shared site groups

WikiWire now supports shared site groups. If that's confusing, think of it like the normal shared/ folder, but you can choose individually which sites/wikis are included. This has many use-cases, but was specifically implemented separate types of sites instead of individual sites, such as language interwikis. Here's an example using shared site groups in wikiwire.toml:

toml
version = 1
shared = false # the legacy shared folder is not required to use shared site groups

# sync multiple modules between language interwikis

[[sites]]
id = "obbywiki"
host = "obby.wiki"
api = "https://obby.wiki/api.php"
shared_groups = ["lang"]

[[sites]]
id = "obbywiki-es"
host = "es.obby.wiki"
api = "https://es.obby.wiki/api.php"
shared_groups = ["lang"]

# sync `shared-staging` between multiple staging sites, if you wish

[[sites]]
id = "staging-1"
host = "st1-staging.obby.wiki"
api = "https://st1-staging.obby.wiki/api.php"
shared_groups = ["lang", "staging"]

[[sites]]
id = "staging-2"
host = "st2-staging.obby.wiki"
api = "https://st2-staging.obby.wiki/api.php"
shared_groups = ["lang", "staging"]

There are no limits to the number of shared site groups you can create.

2. File deletions are officially supported

I've wanted this since the beginning, honestly. This is experimental, so you'll have to opt in by adding delete_removed = true to the top of your wikiwire.toml file. It works just as expected; if you delete a file on git and run WikiWire, that file will be deleted on-wiki. This is currently experimental and may not always work as expected, but I haven't found any issues yet.

3. Infer page existence option

The last feature is also experimental and requires an opt-in with infer_page_existence = true. This is more ambitious and has a higher likelihood of breaking, but it makes WikiWire infer if a page exists on-wiki via its Git history, rather than always probing if a page exists first before attempting to sync. Whether you want to enable this or not depends on how much you want speed or reliability.

That's it! WikiWire v0.5.0 is already out and available. View the release on GitHub below or replace obbywiki/[email protected] with obbywiki/[email protected] in your action.

yaml
- uses: obbywiki/[email protected]