https://github.com/moegirlwiki/kaleidoscope
Modern, lightweight API wrapper for MediaWiki (1.28 or higher)
https://github.com/moegirlwiki/kaleidoscope
api csharp dotnet mediawiki moegirlpedia wrapper
Last synced: 21 days ago
JSON representation
Modern, lightweight API wrapper for MediaWiki (1.28 or higher)
- Host: GitHub
- URL: https://github.com/moegirlwiki/kaleidoscope
- Owner: moegirlwiki
- License: mit
- Created: 2017-03-20T15:56:32.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2017-04-02T06:17:20.000Z (about 8 years ago)
- Last Synced: 2024-05-29T13:07:58.545Z (11 months ago)
- Topics: api, csharp, dotnet, mediawiki, moegirlpedia, wrapper
- Language: C#
- Size: 103 KB
- Stars: 5
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Project Kaleidscope
[](https://ligstd.visualstudio.com/Project%20Kaleidoscope%20Public%20Release)
Project Kaleidscope is a modern, lightweight MediaWiki API wrapper for .NET platforms (.NET Core and .NET Framework) built by Moegirlpedia. It's goal is making interoperating with MediaWiki easy and enjoyable.
### Why?
The original MediaWiki API lives for years (even prior to modern technology). All actions call one single endpoint (`/api.php`), everything is described with query string or form data, which doesn't make sense for modern application development.
To address this issue, we developed this library to make development easier.
### Be careful!
This is an **experimental project**, which means lots of changes may happen every day. We are still working on making API calls more elegant.
### Get started
Check out the source tree, and build it with .NET Core SDK (at least 1.0 RTM).
### Technology
Project Kaleidscope utilizes [Dependency Injection](https://en.wikipedia.org/wiki/Dependency_injection). For example, if you want to use your own session provider module (e.g. JWT token), you may implement your own `ISessionProvider`, then inject your implementation to API service collection. Then all requests in this service collection scope will use JWT token for authentication instead of the old-school cookie-based one.
For more information about Dependency Injection, check out our wiki documentation and online resources.
### Get invovled
Feel free to open an issue if you encounter problems. For pull requests, all unit tests should pass.