Minimal implementation of the mw
object for testing and debugging Wikipedia Lua modules outside of MediaWiki.
β οΈ This is a lightweight mock. It is not complete or production-safe β intended for development and debugging only.
Quick example:
-- include this library local mw = require("mw/mw") -- replace require to support namespace removal local originalRequire = require function require(moduleName) moduleName = moduleName:gsub("Modu[^:]+:", "") return originalRequire(moduleName) end -- Load a copy of a module -- Note that this loads "Piechart.lua" file (a local file). local p = require('Module:Piechart') local json_data = '[{"label": "k: $v", "value": 33.1}, {"label": "m: $v", "value": -1}]' local html = p.renderPie(json_data) mw.logObject(html)
mw
table with placeholders for:
mw.log
, mw.logObject
mw.text
mw.ustring
(proxy to string
)After this lua
and luac
should be available in your terminal.
Install Lua on Windows using Scoop.
If you donβt have Scoop yet:
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser Invoke-RestMethod -Uri https://get.scoop.sh | Invoke-Expression
Then install Lua:
Install Homebrew.
Then install Lua:
brew update brew install lua2. Install Visual Studio Code and Lua Debug
Install Visual Studio Code.
Install the Lua Debug extension by actboy168:
Extension ID: actboy168.lua-debug
Create a .vscode/launch.json
:
{ "version": "0.2.0", "configurations": [ { "type": "lua", "request": "launch", "name": "Launch Lua script", "program": "${workspaceFolder}/_test.lua" } ] }
Create a test file, e.g. _test.lua
:
mw = require("mw") -- your mock mw.log("Hello from mock mw!") mw.logObject({ foo = "bar", nested = { a = 1 } })
Set breakpoints, hit F5 to debug.
lua-wiki/
β
βββ mw/
β βββ mw.lua -- mw entry point
β βββ text.lua -- mw.text mock
β βββ ustring.lua -- mw.ustring proxy
| ...
βββ _test.lua -- your dev entry point
-- _test.lua require("mw") local data = { title = "Example", ns = 0, isTalk = false, } mw.logObject(data)
mw.ustring
).RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4