Marcoil has uploaded a new change for review.
https://gerrit.wikimedia.org/r/160423
Change subject: WIP: Bug 67540 - Load extension CSS modules
......................................................................
WIP: Bug 67540 - Load extension CSS modules
This patch adds extensions' CSS modules to the list of modules
passed to load.php from Parsoid's <head> output. It will be further
developed to also load other module parts like JS, messages, etc.
Change-Id: I2b96a96a296919920c1c13cc34e78c603a0faea2
---
M lib/mediawiki.ApiRequest.js
M lib/mediawiki.DOMPostProcessor.js
2 files changed, 36 insertions(+), 3 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/parsoid
refs/changes/23/160423/1
diff --git a/lib/mediawiki.ApiRequest.js b/lib/mediawiki.ApiRequest.js
index 9ccd964..ad01399 100644
--- a/lib/mediawiki.ApiRequest.js
+++ b/lib/mediawiki.ApiRequest.js
@@ -457,7 +457,8 @@
action: 'parse',
text: text,
disablepp: 'true',
- contentmodel: 'wikitext'
+ contentmodel: 'wikitext',
+ prop: 'text|modules'
};
var uri = env.conf.wiki.apiURI;
@@ -517,6 +518,33 @@
// Add the source to the cache
this.env.pageCache[this.text] = parsedHtml;
+
+ // Add the modules to the page data
+ var i;
+ if (data.parse.modules) {
+ if (!this.env.page.extensionModules) {
+ this.env.page.extensionModules = new Set();
+ }
+ for (i in data.parse.modules) {
this.env.page.extensionModules.add(data.parse.modules[i]); }
+ }
+ if (data.parse.modulescripts) {
+ if (!this.env.page.extensionModuleScripts) {
+ this.env.page.extensionModuleScripts = new
Set();
+ }
+ for (i in data.parse.modulescripts) {
this.env.page.extensionModuleScripts.add(data.parse.modulescripts[i]); }
+ }
+ if (data.parse.modulestyles) {
+ if (!this.env.page.extensionModuleStyles) {
+ this.env.page.extensionModuleStyles = new Set();
+ }
+ for (i in data.parse.modulestyles) {
this.env.page.extensionModuleStyles.add(data.parse.modulestyles[i]); }
+ }
+ if (data.parse.modulemessages) {
+ if (!this.env.page.extensionModuleMessages) {
+ this.env.page.extensionModuleMessages = new
Set();
+ }
+ for (i in data.parse.modulemessages) {
this.env.page.extensionModuleMessages.add(data.parse.modulemessages[i]); }
+ }
} catch ( e2 ) {
error = new DoesNotExistError( 'Could not expand extension
content for ' +
this.title + e2 );
diff --git a/lib/mediawiki.DOMPostProcessor.js
b/lib/mediawiki.DOMPostProcessor.js
index 636017c..cf7923b 100644
--- a/lib/mediawiki.DOMPostProcessor.js
+++ b/lib/mediawiki.DOMPostProcessor.js
@@ -343,8 +343,13 @@
'skins.vector.styles',
'site',
'mediawiki.skinning.content.parsoid'
- ],
- styleURI = env.conf.wiki.apiURI
+ ];
+ if (env.page.extensionModuleStyles) {
+ env.page.extensionModuleStyles.forEach(function
(module) {
+ modules.push(module);
+ });
+ }
+ var styleURI = env.conf.wiki.apiURI
.replace(/^http:\/\//, '//') // proto-relative
.replace(/\/api.php$/, '/load.php')
+ '?modules=' + modules.join('|') +
'&only=styles&debug=true&skin=vector';
--
To view, visit https://gerrit.wikimedia.org/r/160423
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2b96a96a296919920c1c13cc34e78c603a0faea2
Gerrit-PatchSet: 1
Gerrit-Project: mediawiki/services/parsoid
Gerrit-Branch: master
Gerrit-Owner: Marcoil <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits