From 27ae0bcae7a949f61afb2005557de1aa64c48cc4 Mon Sep 17 00:00:00 2001 From: Lex Lim Date: Sat, 30 Jul 2022 23:33:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8DBug=EF=BC=8C=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E6=96=B0=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 修复Tile加载图片错误 2. 增加自定义字体组件 3. 增加html5的detail和summary --- IsekaiWidgets.i18n.php | 7 ++++ IsekaiWidgets.zip | Bin 71021 -> 0 bytes extension.json | 33 +++++++++++++++- i18n/ja.json | 2 +- includes/ExtraFontWidget.php | 2 +- includes/FontFaceWidget.php | 6 +-- includes/Html5Widget.php | 35 +++++++++++++++++ includes/TileWidget.php | 5 ++- includes/Widgets.php | 30 ++++++++++----- modules/ext.isekai.collapse.js | 33 ++++++++++++++++ modules/ext.isekai.collapse.less | 64 +++++++++++++++++++++++++++++++ modules/tile/tile.js | 22 +++++++---- 12 files changed, 214 insertions(+), 25 deletions(-) create mode 100644 IsekaiWidgets.i18n.php delete mode 100644 IsekaiWidgets.zip create mode 100644 includes/Html5Widget.php create mode 100644 modules/ext.isekai.collapse.js create mode 100644 modules/ext.isekai.collapse.less diff --git a/IsekaiWidgets.i18n.php b/IsekaiWidgets.i18n.php new file mode 100644 index 0000000..d803955 --- /dev/null +++ b/IsekaiWidgets.i18n.php @@ -0,0 +1,7 @@ + [ + 'htmldetails' => [0, 'htmldetails'], + 'htmlsummary' => [0, 'htmlsummary'], + ], +]; \ No newline at end of file diff --git a/IsekaiWidgets.zip b/IsekaiWidgets.zip deleted file mode 100644 index 25feeddc81cb6395fd6c4bbb99bb8f105019e2d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 71021 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 diff --git a/extension.json b/extension.json index 6a141a3..a188d6e 100644 --- a/extension.json +++ b/extension.json @@ -7,16 +7,23 @@ "descriptionmsg": "isekai-widgets-desc", "license-name": "GPL-2.0-or-later", "type": "parserhook", + "requires": { + "MediaWiki": ">= 1.34.0" + }, "MessagesDirs": { "IsekaiWidgets": [ "i18n" ] }, + "ExtensionMessagesFiles": { + "IsekaiWidgetsMagic": "IsekaiWidgets.i18n.php" + }, "AutoloadNamespaces": { "Isekai\\Widgets\\": "includes" }, "Hooks": { - "ParserFirstCallInit": "Isekai\\Widgets\\Widgets::onParserSetup" + "ParserFirstCallInit": "Isekai\\Widgets\\Widgets::onParserSetup", + "BeforePageDisplay": "Isekai\\Widgets\\Widgets::onLoad" }, "ResourceModules": { "ext.isekai.widgets.global": { @@ -97,11 +104,33 @@ "desktop", "mobile" ] + }, + "ext.isekai.collapse": { + "scripts": [ + "ext.isekai.collapse.js" + ], + "styles": [ + "ext.isekai.collapse.less" + ], + "targets": [ + "desktop", + "mobile" + ] } }, "ResourceFileModulePaths": { "localBasePath": "modules", "remoteExtPath": "IsekaiWidgets/modules" }, - "manifest_version": 1 + "attributes": { + "CodeMirror": { + "TagModes": { + "tilegroup": "text/mediawiki", + "exfont": "text/mediawiki", + "details": "text/mediawiki", + "summary": "text/mediawiki" + } + } + }, + "manifest_version": 2 } \ No newline at end of file diff --git a/i18n/ja.json b/i18n/ja.json index 1a537da..a2b8e81 100644 --- a/i18n/ja.json +++ b/i18n/ja.json @@ -13,5 +13,5 @@ "isekai-discover-loading": "読み込み中...", "isekai-discover-change-btn": "変える", "isekai-discover-readmore-btn": "開く", - "isekai-discover-error-cannotload": "サーバからのページを読み取りに失敗しま。" + "isekai-discover-error-cannotload": "サーバからのページを読み取りに失敗しました。" } \ No newline at end of file diff --git a/includes/ExtraFontWidget.php b/includes/ExtraFontWidget.php index 3116ef0..f6ee07f 100644 --- a/includes/ExtraFontWidget.php +++ b/includes/ExtraFontWidget.php @@ -7,7 +7,7 @@ class ExtraFontWidget { public static function create($text, $params, $parser, $frame){ $existsFonts = $parser->extIsekaiWidgetsCache->get('extraFonts', INF, []); - $content = $text = $frame->expand($text); + $content = $text = $parser->recursiveTagParse($text, $frame); if (!isset($params['name']) || empty($params['name'])) { return '' . wfMessage('isekai-font-error-invalid-params')->parse() . '' . $content; } diff --git a/includes/FontFaceWidget.php b/includes/FontFaceWidget.php index 385c221..4af1334 100644 --- a/includes/FontFaceWidget.php +++ b/includes/FontFaceWidget.php @@ -11,7 +11,7 @@ class FontFaceWidget { * @param \Parser $parser * @param \PPFrame $frame */ - public static function create($text, $params, $parser, $frame){ + public static function create($text, $params, $parser, $frame) { if (!isset($params['src']) || !isset($params['name']) || empty($params['src']) || empty($params['name'])) { return '' . wfMessage('isekai-fontface-error-invalid-params')->parse() . ''; @@ -42,8 +42,8 @@ class FontFaceWidget { $fontUrl = $file->getUrl(); $fontId = substr(Utils::safeBase64Encode(md5($fontName, true)), 0, 8); - $css = ""; + $css = ""; $existsFonts[$fontName] = $fontId; $existsFonts = $parser->extIsekaiWidgetsCache->set('extraFonts', $existsFonts); diff --git a/includes/Html5Widget.php b/includes/Html5Widget.php new file mode 100644 index 0000000..b7712be --- /dev/null +++ b/includes/Html5Widget.php @@ -0,0 +1,35 @@ +getOutput()->addModules('ext.isekai.collapse'); + $allowedAttr = ['class']; + $htmlArgs = array_filter($args, function($k) use($allowedAttr) { + return in_array($k, $allowedAttr); + }, ARRAY_FILTER_USE_KEY); + + $content = ''; + if ($text) { + $content = $parser->recursiveTagParse($text, $frame); + } + + return [Html::rawElement('details', $htmlArgs, $content), "markerType" => 'nowiki']; + } + + public static function createSummary(string $text, array $args, \Parser $parser, \PPFrame $frame) { + $allowedAttr = ['class']; + $htmlArgs = array_filter($args, function($k) use($allowedAttr) { + return in_array($k, $allowedAttr); + }, ARRAY_FILTER_USE_KEY); + + $content = ''; + if ($text) { + $content = $parser->recursiveTagParse($text, $frame); + } + + return [Html::rawElement('summary', $htmlArgs, $content), "markerType" => 'nowiki']; + } +} \ No newline at end of file diff --git a/includes/TileWidget.php b/includes/TileWidget.php index 32a0c67..f4b86f9 100644 --- a/includes/TileWidget.php +++ b/includes/TileWidget.php @@ -130,7 +130,7 @@ class TileWidget { } private function getImagesArgs(array &$element, array &$content){ - /*$service = MediaWikiServices::getInstance(); + $service = MediaWikiServices::getInstance(); $this->images = []; // 提取wikitext图片 preg_match_all('/\[\[(?.+?:.+?)(\|.*?)?\]\]/', $this->content, $matches); @@ -149,13 +149,14 @@ class TileWidget { preg_match_all('/<img .*?src="(?<src>.*?)".*?srcset="(?<srcset>.*?)"[^\>]+>/', $this->content, $matches); if (isset($matches['src']) && !empty($matches['src'])) { $this->images = array_merge($this->images, $matches['src']); - }*/ + } if(!empty($this->images)){ $element['data-effect'] = 'image-set'; foreach($this->images as $image){ $content[] = Html::element('img', [ 'src' => $image, + 'style' => 'display: none' ]); } } diff --git a/includes/Widgets.php b/includes/Widgets.php index 84bc1df..416bd28 100644 --- a/includes/Widgets.php +++ b/includes/Widgets.php @@ -2,20 +2,32 @@ namespace Isekai\Widgets; use MapCacheLRU; +use Parser; class Widgets { + /** + * @param \Parser $parser + */ public static function onParserSetup(&$parser){ - $parser->extIsekaiWidgetsCache = new MapCacheLRU( 100 ); // 100 is arbitrary + $parser->extIsekaiWidgetsCache = new MapCacheLRU( 100 ); // 100 is arbitrary - $parser->setHook('createpage', CreatePageWidget::class . '::create'); - $parser->setHook('discoverbox', DiscoverWidget::class . '::create'); - $parser->setHook('previewcard', PreviewCardWidget::class . '::create'); + $parser->setHook('createpage', [CreatePageWidget::class, 'create']); + $parser->setHook('discoverbox', [DiscoverWidget::class, 'create']); + $parser->setHook('previewcard', [PreviewCardWidget::class, 'create']); - $parser->setHook('tile', TileWidget::class . '::create'); - $parser->setHook('tilegroup', TileGroupWidget::class . '::create'); + $parser->setHook('tile', [TileWidget::class, 'create']); + $parser->setHook('tilegroup', [TileGroupWidget::class, 'create']); - $parser->setHook('fontface', FontFaceWidget::class . '::create'); - $parser->setHook('exfont', ExtraFontWidget::class . '::create'); - return true; + $parser->setHook('fontface', [FontFaceWidget::class, 'create']); + $parser->setHook('exfont', [ExtraFontWidget::class, 'create']); + + $parser->setHook('details', [Html5Widget::class, 'createDetails']); + $parser->setHook('summary', [Html5Widget::class, 'createSummary']); + + return true; + } + + public static function onLoad(\OutputPage $outputPage) { + $outputPage->addModuleStyles("ext.isekai.collapse"); } } \ No newline at end of file diff --git a/modules/ext.isekai.collapse.js b/modules/ext.isekai.collapse.js new file mode 100644 index 0000000..2ecd15f --- /dev/null +++ b/modules/ext.isekai.collapse.js @@ -0,0 +1,33 @@ +(function($) { + $('.isekai-collapse').addClass('animate') + $('.isekai-collapse .isekai-collapse-title').on('click', '', function(e) { + e.preventDefault(); + var titleElem = $(this); + var containerElem = titleElem.parent('.isekai-collapse'); + var contentElem = containerElem.find('.isekai-collapse-content'); + if (containerElem.prop('open')) { // 需要收起 + var collapsedHeight = titleElem.outerHeight(); + var expandedHeight = collapsedHeight + contentElem.outerHeight(); + containerElem.css('height', expandedHeight); + console.log('expandedHeight', expandedHeight); + requestAnimationFrame(function() { + console.log('collapsedHeight', collapsedHeight); + containerElem.addClass('closing').css('height', collapsedHeight); + setTimeout(function() { + containerElem.prop('open', false).removeClass('closing'); //.css('height', 'auto'); + }, 260); + }); + } else { // 需要展开 + containerElem.prop('open', true); + var collapsedHeight = titleElem.outerHeight(); + containerElem.css('height', collapsedHeight); + requestAnimationFrame(function() { + var expandedHeight = collapsedHeight + contentElem.outerHeight(); + containerElem.css('height', expandedHeight); + /*setTimeout(function() { + containerElem.css('height', 'auto'); + }, 260);*/ + }); + } + }); +})(jQuery); diff --git a/modules/ext.isekai.collapse.less b/modules/ext.isekai.collapse.less new file mode 100644 index 0000000..e303396 --- /dev/null +++ b/modules/ext.isekai.collapse.less @@ -0,0 +1,64 @@ +.isekai-collapse { + width: 50%; + background: #fff; + margin-bottom: .5rem; + box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); + border-radius: 5px; + overflow: hidden; + + @media screen and (max-width: 767px) { + width: 100%; + } + + &.animate { + overflow-y: hidden; + will-change: height; + transition: height 250ms ease-in-out; + } + + .isekai-collapse-title { + padding: 1rem; + display: block; + background-color: #f7f7f7; + padding-left: 2.2rem; + position: relative; + cursor: pointer; + color: black; + font-size: 1rem; + + &::before { + content: ''; + border-width: 0.4rem; + border-style: solid; + border-color: transparent transparent transparent #000; + position: absolute; + top: 1.32rem; + left: 1.2rem; + transform: rotate(0); + transform-origin: 0.2rem 50%; + will-change: transform; + transition: transform 250ms ease; + } + + &::-webkit-details-marker { + transform: rotate(90deg); + } + } + + .isekai-collapse-content { + padding: 1em; + } + + &[open] > .isekai-collapse-title:before { + transform: rotate(90deg); + } + + &.closing[open] > .isekai-collapse-title:before { + transform: rotate(0); + } +} + +.isekai-indent > .isekai-collapse { + padding-left: 0; + margin-left: 8px; +} \ No newline at end of file diff --git a/modules/tile/tile.js b/modules/tile/tile.js index dd0fa2b..3d9790b 100644 --- a/modules/tile/tile.js +++ b/modules/tile/tile.js @@ -519,7 +519,7 @@ isekai.tile.init = function () { this._createTile = function(){ function switchImage(el, img_src, i){ - $.setTimeout(function(){ + setTimeout(function(){ el.fadeOut(500, function(){ el.css("background-image", "url(" + img_src + ")"); el.fadeIn(); @@ -582,7 +582,11 @@ isekai.tile.init = function () { element.addClass("image-set"); $.each(element.children("img"), function(){ - that.images.push(this); + var imgElem = document.createElement('img'); + imgElem.src = this.src; + imgElem.srcset = this.srcset; + imgElem.alt = this.alt; + that.images.push(imgElem); $(this).remove(); }); @@ -592,12 +596,14 @@ isekai.tile.init = function () { var rnd_index = rand(0, temp.length - 1); var div = $("<div>").addClass("img -js-img-"+i).css("background-image", "url("+temp[rnd_index].src+")"); element.prepend(div); - temp.splice(rnd_index, 1); + if (temp.length > 1) { + temp.splice(rnd_index, 1); + } } var a = [0, 1, 4, 3, 2]; - $.setInterval(function(){ + setInterval(function(){ var temp = that.images.slice(); var colors = Colors.colors(Colors.PALETTES.ALL), bg; bg = colors[rand(0, colors.length - 1)]; @@ -608,7 +614,9 @@ isekai.tile.init = function () { var rnd_index = rand(0, temp.length - 1); var div = element.find(".-js-img-"+a[i]); switchImage(div, temp[rnd_index].src, i); - temp.splice(rnd_index, 1); + if (temp.length > 1) { + temp.splice(rnd_index, 1); + } } a = a.reverse(); @@ -619,7 +627,7 @@ isekai.tile.init = function () { this._runEffects = function(){ var o = this.options; - if (this.effectInterval === false) this.effectInterval = $.setInterval(function(){ + if (this.effectInterval === false) this.effectInterval = setInterval(function(){ var current, next; current = $(this.slides[this.currentSlide]); @@ -641,7 +649,7 @@ isekai.tile.init = function () { }; this._stopEffects = function(){ - $.clearInterval(this.effectInterval); + clearInterval(this.effectInterval); this.effectInterval = false; };