Difference between revisions of "S5SlideShow"
Jump to navigation
Jump to search
(Created page with "<source lang='json'> { "name": "S5SlideShow", "author": "Vitaliy Filippov", "url": "https://www.mediawiki.org/wiki/Extension:S5SlideShow", "license-name": "GPL...") |
(→Links) |
||
(46 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
+ | {{Link|target=https://phabricator.wikimedia.org/T241706|title=Please comment here}} | ||
+ | {{Extension | ||
+ | |name=S5SlideShow | ||
+ | |url=https://www.mediawiki.org/wiki/Extension:S5SlideShow | ||
+ | |purpose=Slideshow presentation from Wikimarkup | ||
+ | |since=2009 | ||
+ | |storemode=property | ||
+ | }} | ||
+ | |||
+ | = S5 = | ||
+ | * https://en.wikipedia.org/wiki/S5_(file_format) | ||
+ | * https://meyerweb.com/eric/tools/s5/s5-intro.html | ||
+ | * https://en.wikipedia.org/wiki/Web-based_slideshow#S5-based_slideshows | ||
+ | * https://github.com/todd-a-jacobs/s5 | ||
+ | |||
+ | = Example Slideshows = | ||
+ | click "slideshow" on any of the talk pages | ||
+ | {{#ask: [[Category:Talk]] | ||
+ | |format=table | ||
+ | }} | ||
+ | |||
+ | = Links = | ||
+ | * https://www.mediawiki.org/wiki/Extension:S5SlideShow | ||
+ | * http://wiki.4intra.net/S5SlideShow | ||
+ | * https://github.com/mediawiki4intranet/S5SlideShow/issues | ||
+ | * https://phabricator.wikimedia.org/T241706 | ||
+ | == Alternatives == | ||
+ | * https://gitlab.com/hydrawiki/extensions/javascriptslideshow | ||
+ | |||
+ | = Forks = | ||
+ | * https://github.com/hexmode/S5SlideShow | ||
+ | * https://github.com/WolfgangFahl/S5SlideShow | ||
+ | = Packagist = | ||
+ | * https://packagist.org/packages/mediawiki/s5-slide-show | ||
+ | |||
+ | = Issues = | ||
+ | * https://phabricator.wikimedia.org/T241706 | ||
+ | |||
+ | == Call to undefined method WikitextContent:getText() == | ||
+ | <pre> | ||
+ | Exception encountered, of type "Error" | ||
+ | [c34bfba970bc2aa84ca0a212] /index.php?title=SWMConTalk2015-10&action=slide Error from line 254 of extensions/S5SlideShow/src/Render.php: Call to undefined method WikitextContent::getText() | ||
+ | Backtrace: | ||
+ | #0 extensions/S5SlideShow/src/Render.php(348): S5SlideShow\Render->loadContent() | ||
+ | #1 extensions/S5SlideShow/src/Action.php(90): S5SlideShow\Render->genSlideFile(boolean) | ||
+ | #2 includes/MediaWiki.php(493): S5SlideShow\Action->show() | ||
+ | </pre> | ||
+ | <source lang='bash'> | ||
+ | /srv/www/mediawiki/code/extensions/S5SlideShow$ gitinfo | ||
+ | == Remote URL: origin https://github.com/WolfgangFahl/S5SlideShow (fetch) | ||
+ | origin https://github.com/WolfgangFahl/S5SlideShow (push) | ||
+ | </source> | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes Call to undefined method WikitextContent::getText() for MW 1.27.3 env see https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/Translate/+/538756/3/TranslateHooks.php as an example|name=Wolfgang Fahl|date=2020-02-07 10:29:10 +0100|hash=6ed5a2a|storemode=subobject|viewmode=line}} | ||
+ | |||
+ | == Class 'S5SlideShow\Hooks not found == | ||
+ | <pre> | ||
+ | Exception encountered, of type "Error" | ||
+ | [120789ca59e7b0366a3b81ea] /index.php?title=SWMConTalk2015-10&action=slide Error from line 293 of /hd/owei/srv/www/mediawiki/code/extensions/S5SlideShow/src/Render.php: Class 'S5SlideShow\Hooks' not found | ||
+ | Backtrace: | ||
+ | #0 /hd/owei/srv/www/mediawiki/code/extensions/S5SlideShow/src/Render.php(271): S5SlideShow\Render->parse(string) | ||
+ | </pre> | ||
+ | <source lang='bash' highlight='1'> | ||
+ | grep "Hooks::" *.php | ||
+ | Render.php: $prev = Hooks::$parsingSlide; | ||
+ | Render.php: Hooks::$parsingSlide = true; | ||
+ | Render.php: Hooks::$parsingSlide = $prev; | ||
+ | Render.php: Hooks::$styles['print'] = 'print.css'; | ||
+ | Render.php: foreach ( Hooks::$styles as $k => $file ) { | ||
+ | </source> | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes Class 'S5SlideShow\Hooks not found|name=Wolfgang Fahl|date=2020-02-08 08:59:39|hash=54a50873165b20ef93981f7f5ce60f920dc30a5b|storemode=subobject|viewmode=line}} | ||
+ | == Class 'Wikimedia\AtEase\AtEase' not found == | ||
+ | Superfluous by now. | ||
+ | === composer.local.json === | ||
+ | <source lang='json'> | ||
+ | { | ||
+ | "require": { | ||
+ | "wikimedia/at-ease": "*" | ||
+ | } | ||
+ | } | ||
+ | </source> | ||
+ | <source lang='bash'> | ||
+ | php composer.phar update | ||
+ | </source> | ||
+ | |||
+ | == PPNode_DOM properties == | ||
+ | * https://doc.wikimedia.org/mediawiki-core/1.23.1/php/classPPNode__DOM.html | ||
+ | |||
+ | <pre> | ||
+ | Notice: Undefined property: PPNode_DOM::$ownerDocument in extensions/S5SlideShow/src/Render.php on line 176 | ||
+ | Notice: Undefined property: PPNode_DOM::$childNodes in extensions/S5SlideShow/src/Render.php on line 177 | ||
+ | Notice: Trying to get property 'length' of non-object in extensions/S5SlideShow/src/Render.php on line 193 | ||
+ | </pre> | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes invalid yatil subpath content|name=Wolfgang Fahl|date=2020-02-08 15:28:51 +0100|hash=8aadf71|storemode=subobject|viewmode=line}} | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes namespace reference and avoids use of AtEase|name=Wolfgang Fahl|date=2020-02-08 18:05:52 +0100|hash=1b7821e|storemode=subobject|viewmode=line}} | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes template path and autoloading of Skin.php|name=Wolfgang Fahl|date=2020-02-09 08:20:17 +0100|hash=8d9c1a1|storemode=subobject|viewmode=line}} | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes node access|name=Wolfgang Fahl|date=2020-02-09 08:37:04 +0100|hash=bcabc8f|storemode=subobject|viewmode=line}} | ||
+ | |||
+ | == Trying to get property nodeName of None object == | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes Trying to get property nodeName of None object|name=Wolfgang Fahl|date=2020-02-09 08:50:14 +0100|hash=539a5e8|storemode=subobject|viewmode=line}} | ||
+ | == Argument 1 passed to S5SlideShow\Skin::setupSkinUserCss() must be an instance of S5SlideShow\OutputPage, == | ||
+ | <pre> | ||
+ | TypeError: Argument 1 passed to S5SlideShow\Skin::setupSkinUserCss() must be an instance of S5SlideShow\OutputPage, instance of OutputPage given, called in /var/www/html/mediawiki-1.33.2/includes/OutputPage.php on line 3127 and defined in /var/www/html/mediawiki-1.33.2/extensions/S5SlideShow/src/Skin.php:33 | ||
+ | Stack trace: | ||
+ | </pre> | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=remove type hint (could also add namespace)|name=Wolfgang Fahl|date=2020-02-09 11:03:03 +0100|hash=99dcfe7|storemode=subobject|viewmode=line}} | ||
+ | |||
+ | == typo extension.json ParserGetVariablValueSwitch == | ||
+ | <pre> | ||
+ | Original exception: [fba9fa950b264030360a7267] /index.php/Hauptseite MWException from line 176 of /var/www/mediawiki/code/includes/Hooks.php: Invalid callback S5SlideShow\S5SlideShowHooks::ParserGetVariablValueSwitch in hooks for ParserGetVariableValueSwitch | ||
+ | </pre> | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes typo|name=Wolfgang Fahl|date=2020-02-09 15:49:19 +0100|hash=06e58ba|storemode=subobject|viewmode=line}} | ||
+ | == Authors == | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=adds author hexmode and links|name=Wolfgang Fahl|date=2020-02-09 16:14:36 +0100|hash=6fbca98|storemode=subobject|viewmode=line}} | ||
+ | |||
+ | = type on file_get_contents and wrong __DIR__ = | ||
+ | {{commit|host=https://github.com|path=WolfgangFahl|project=S5SlideShow|subject=fixes file_get_contents call - looks good|name=Wolfgang Fahl|date=2020-02-09 17:03:41 +0100|hash=c51ab7e|storemode=subobject|viewmode=line}} | ||
+ | |||
+ | = Code = | ||
+ | == Debugging == | ||
+ | {{Link|target=PHP Mediawiki Eclipse debugging}} | ||
+ | == extension.json == | ||
<source lang='json'> | <source lang='json'> | ||
{ | { | ||
"name": "S5SlideShow", | "name": "S5SlideShow", | ||
− | " | + | "namemsg": "s5slide-name", |
+ | "descriptionmsg": "s5slide-desc", | ||
+ | "version": "0.3", | ||
+ | "license-name": "GPL-2.0+", | ||
+ | "type": "parserhook", | ||
"url": "https://www.mediawiki.org/wiki/Extension:S5SlideShow", | "url": "https://www.mediawiki.org/wiki/Extension:S5SlideShow", | ||
− | " | + | "requires": { |
− | + | "MediaWiki": ">= 1.27.3" | |
− | |||
− | |||
− | |||
− | |||
− | |||
}, | }, | ||
− | " | + | "author": [ |
− | " | + | "Vitaliy Filippov", |
− | " | + | "Wolfgang Fahl" |
− | + | ], | |
− | + | "Actions": { | |
+ | "slide": "S5SlideShow\\Action" | ||
}, | }, | ||
"Hooks": { | "Hooks": { | ||
+ | "ImageBeforeProduceHTML": [ | ||
+ | "S5SlideShow\\S5SlideShowHooks::ImageBeforeProduceHTML" | ||
+ | ], | ||
"ParserFirstCallInit": [ | "ParserFirstCallInit": [ | ||
− | "S5SlideShowHooks::ParserFirstCallInit" | + | "S5SlideShow\\S5SlideShowHooks::ParserFirstCallInit" |
], | ], | ||
"ArticleFromTitle": [ | "ArticleFromTitle": [ | ||
− | "S5SlideShowHooks::ArticleFromTitle" | + | "S5SlideShow\\S5SlideShowHooks::ArticleFromTitle" |
], | ], | ||
"AlternateEdit": [ | "AlternateEdit": [ | ||
− | "S5SlideShowHooks::AlternateEdit" | + | "S5SlideShow\\S5SlideShowHooks::AlternateEdit" |
], | ], | ||
"MagicWordwgVariableIDs": [ | "MagicWordwgVariableIDs": [ | ||
− | "S5SlideShowHooks::MagicWordwgVariableIDs" | + | "S5SlideShow\\S5SlideShowHooks::MagicWordwgVariableIDs" |
], | ], | ||
"ParserGetVariableValueSwitch": [ | "ParserGetVariableValueSwitch": [ | ||
− | "S5SlideShowHooks:: | + | "S5SlideShow\\S5SlideShowHooks::ParserGetVariableValueSwitch" |
] | ] | ||
}, | }, | ||
"SpecialPages": { | "SpecialPages": { | ||
− | "S5SlideShow": "SpecialS5SlideShow" | + | "S5SlideShow": "S5SlideShow\\SpecialS5SlideShow" |
+ | }, | ||
+ | "MessagesDirs": { | ||
+ | "S5SlideShow": [ | ||
+ | "i18n" | ||
+ | ] | ||
}, | }, | ||
"ExtensionMessagesFiles": { | "ExtensionMessagesFiles": { | ||
− | " | + | "S5SlideShowI18n": "src/I18n.php" |
+ | }, | ||
+ | "AutoloadClasses": { | ||
+ | "S5SlideShow\\S5SlideShowHooks": "src/S5SlideShowHooks.php", | ||
+ | "S5SlideShow\\SpecialS5SlideShow": "src/Special.php", | ||
+ | "S5SlideShow\\Action": "src/Action.php", | ||
+ | "S5SlideShow\\Render": "src/Render.php", | ||
+ | "S5SlideShow\\Skin": "src/Skin.php" | ||
}, | }, | ||
− | " | + | "config": { |
+ | "_prefix": "egS5", | ||
+ | "Scaled": false, | ||
+ | "DefaultStyle": "default", | ||
+ | "BrowserScaleHack": true, | ||
+ | "SlideTemplateFile": "extensions/S5SlideShow/slide.htm", | ||
+ | "SlideCenterMark": "(center)", | ||
+ | "SlideHeadingMark": false, | ||
+ | "SlideIncMark": "(step)" | ||
+ | }, | ||
+ | "manifest_version": 1 | ||
} | } | ||
</source> | </source> |
Latest revision as of 18:17, 13 March 2021
Extension | |
---|---|
edit | |
name | S5SlideShow |
url | https://www.mediawiki.org/wiki/Extension:S5SlideShow |
purpose | Slideshow presentation from Wikimarkup |
since | 2009 |
wiki |
S5
- https://en.wikipedia.org/wiki/S5_(file_format)
- https://meyerweb.com/eric/tools/s5/s5-intro.html
- https://en.wikipedia.org/wiki/Web-based_slideshow#S5-based_slideshows
- https://github.com/todd-a-jacobs/s5
Example Slideshows
click "slideshow" on any of the talk pages
Links
- https://www.mediawiki.org/wiki/Extension:S5SlideShow
- http://wiki.4intra.net/S5SlideShow
- https://github.com/mediawiki4intranet/S5SlideShow/issues
- https://phabricator.wikimedia.org/T241706
Alternatives
Forks
Packagist
Issues
Call to undefined method WikitextContent:getText()
Exception encountered, of type "Error" [c34bfba970bc2aa84ca0a212] /index.php?title=SWMConTalk2015-10&action=slide Error from line 254 of extensions/S5SlideShow/src/Render.php: Call to undefined method WikitextContent::getText() Backtrace: #0 extensions/S5SlideShow/src/Render.php(348): S5SlideShow\Render->loadContent() #1 extensions/S5SlideShow/src/Action.php(90): S5SlideShow\Render->genSlideFile(boolean) #2 includes/MediaWiki.php(493): S5SlideShow\Action->show()
/srv/www/mediawiki/code/extensions/S5SlideShow$ gitinfo
== Remote URL: origin https://github.com/WolfgangFahl/S5SlideShow (fetch)
origin https://github.com/WolfgangFahl/S5SlideShow (push)
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes Call to undefined method WikitextContent::getText() for MW 1.27.3 env see https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/Translate/+/538756/3/TranslateHooks.php as an example |
name | Wolfgang Fahl |
date | 2020-02-07 10:29:10 +0100 |
hash | 6ed5a2a |
Class 'S5SlideShow\Hooks not found
Exception encountered, of type "Error" [120789ca59e7b0366a3b81ea] /index.php?title=SWMConTalk2015-10&action=slide Error from line 293 of /hd/owei/srv/www/mediawiki/code/extensions/S5SlideShow/src/Render.php: Class 'S5SlideShow\Hooks' not found Backtrace: #0 /hd/owei/srv/www/mediawiki/code/extensions/S5SlideShow/src/Render.php(271): S5SlideShow\Render->parse(string)
grep "Hooks::" *.php
Render.php: $prev = Hooks::$parsingSlide;
Render.php: Hooks::$parsingSlide = true;
Render.php: Hooks::$parsingSlide = $prev;
Render.php: Hooks::$styles['print'] = 'print.css';
Render.php: foreach ( Hooks::$styles as $k => $file ) {
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes Class 'S5SlideShow\Hooks not found |
name | Wolfgang Fahl |
date | 2020-02-08 08:59:39 |
hash | 54a50873165b20ef93981f7f5ce60f920dc30a5b |
Class 'Wikimedia\AtEase\AtEase' not found
Superfluous by now.
composer.local.json
{
"require": {
"wikimedia/at-ease": "*"
}
}
php composer.phar update
PPNode_DOM properties
Notice: Undefined property: PPNode_DOM::$ownerDocument in extensions/S5SlideShow/src/Render.php on line 176 Notice: Undefined property: PPNode_DOM::$childNodes in extensions/S5SlideShow/src/Render.php on line 177 Notice: Trying to get property 'length' of non-object in extensions/S5SlideShow/src/Render.php on line 193
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes invalid yatil subpath content |
name | Wolfgang Fahl |
date | 2020-02-08 15:28:51 +0100 |
hash | 8aadf71 |
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes namespace reference and avoids use of AtEase |
name | Wolfgang Fahl |
date | 2020-02-08 18:05:52 +0100 |
hash | 1b7821e |
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes template path and autoloading of Skin.php |
name | Wolfgang Fahl |
date | 2020-02-09 08:20:17 +0100 |
hash | 8d9c1a1 |
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes node access |
name | Wolfgang Fahl |
date | 2020-02-09 08:37:04 +0100 |
hash | bcabc8f |
Trying to get property nodeName of None object
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes Trying to get property nodeName of None object |
name | Wolfgang Fahl |
date | 2020-02-09 08:50:14 +0100 |
hash | 539a5e8 |
Argument 1 passed to S5SlideShow\Skin::setupSkinUserCss() must be an instance of S5SlideShow\OutputPage,
TypeError: Argument 1 passed to S5SlideShow\Skin::setupSkinUserCss() must be an instance of S5SlideShow\OutputPage, instance of OutputPage given, called in /var/www/html/mediawiki-1.33.2/includes/OutputPage.php on line 3127 and defined in /var/www/html/mediawiki-1.33.2/extensions/S5SlideShow/src/Skin.php:33 Stack trace:
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | remove type hint (could also add namespace) |
name | Wolfgang Fahl |
date | 2020-02-09 11:03:03 +0100 |
hash | 99dcfe7 |
typo extension.json ParserGetVariablValueSwitch
Original exception: [fba9fa950b264030360a7267] /index.php/Hauptseite MWException from line 176 of /var/www/mediawiki/code/includes/Hooks.php: Invalid callback S5SlideShow\S5SlideShowHooks::ParserGetVariablValueSwitch in hooks for ParserGetVariableValueSwitch
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes typo |
name | Wolfgang Fahl |
date | 2020-02-09 15:49:19 +0100 |
hash | 06e58ba |
Authors
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | adds author hexmode and links |
name | Wolfgang Fahl |
date | 2020-02-09 16:14:36 +0100 |
hash | 6fbca98 |
type on file_get_contents and wrong __DIR__
Commit | |
---|---|
host | https://github.com |
path | WolfgangFahl |
project | S5SlideShow |
subject | fixes file_get_contents call - looks good |
name | Wolfgang Fahl |
date | 2020-02-09 17:03:41 +0100 |
hash | c51ab7e |
Code
Debugging
PHP Mediawiki Eclipse debugging
extension.json
{
"name": "S5SlideShow",
"namemsg": "s5slide-name",
"descriptionmsg": "s5slide-desc",
"version": "0.3",
"license-name": "GPL-2.0+",
"type": "parserhook",
"url": "https://www.mediawiki.org/wiki/Extension:S5SlideShow",
"requires": {
"MediaWiki": ">= 1.27.3"
},
"author": [
"Vitaliy Filippov",
"Wolfgang Fahl"
],
"Actions": {
"slide": "S5SlideShow\\Action"
},
"Hooks": {
"ImageBeforeProduceHTML": [
"S5SlideShow\\S5SlideShowHooks::ImageBeforeProduceHTML"
],
"ParserFirstCallInit": [
"S5SlideShow\\S5SlideShowHooks::ParserFirstCallInit"
],
"ArticleFromTitle": [
"S5SlideShow\\S5SlideShowHooks::ArticleFromTitle"
],
"AlternateEdit": [
"S5SlideShow\\S5SlideShowHooks::AlternateEdit"
],
"MagicWordwgVariableIDs": [
"S5SlideShow\\S5SlideShowHooks::MagicWordwgVariableIDs"
],
"ParserGetVariableValueSwitch": [
"S5SlideShow\\S5SlideShowHooks::ParserGetVariableValueSwitch"
]
},
"SpecialPages": {
"S5SlideShow": "S5SlideShow\\SpecialS5SlideShow"
},
"MessagesDirs": {
"S5SlideShow": [
"i18n"
]
},
"ExtensionMessagesFiles": {
"S5SlideShowI18n": "src/I18n.php"
},
"AutoloadClasses": {
"S5SlideShow\\S5SlideShowHooks": "src/S5SlideShowHooks.php",
"S5SlideShow\\SpecialS5SlideShow": "src/Special.php",
"S5SlideShow\\Action": "src/Action.php",
"S5SlideShow\\Render": "src/Render.php",
"S5SlideShow\\Skin": "src/Skin.php"
},
"config": {
"_prefix": "egS5",
"Scaled": false,
"DefaultStyle": "default",
"BrowserScaleHack": true,
"SlideTemplateFile": "extensions/S5SlideShow/slide.htm",
"SlideCenterMark": "(center)",
"SlideHeadingMark": false,
"SlideIncMark": "(step)"
},
"manifest_version": 1
}