User:Mike Dillon/Scripts/build-urls.js

function buildUrl(base, params) { var url = base; if (url == null) return null;

var queryString = ""; if (params != null) { var delim = "?"; for (var p in params) { queryString += delim + escape(p) + "=" + escape(params[p]); delim = "&"; }   }    url += queryString;

return url; }

function buildActionUrl(action, title, params) { if (params == null) params = {}; params['title'] = title; params['action'] = action; return buildUrl(mw.config.get('wgServer') + mw.config.get('wgScriptPath') + '/index.php', params); }

function buildRawJavascriptUrl(title, params) { if (params == null) params = {}; params['ctype'] = 'text/javascript'; params['dontcountme'] = 's'; return buildActionUrl('raw', title, params); }