Commit graph

57 commits

Author SHA1 Message Date
alistair3149 8d410dfb49
refactor: use init module instead of inline style for skeleton screen 2024-05-25 03:02:18 -04:00
alistair3149 bb110c6d98
feat: rewrite Javascript implementation
To ensure easier development and maintenance, IE support is dropped to allow
modern Javascript features. The old tabber module is rewritten into newer
standard and using classes to ensure proper scoping.
2024-05-25 00:33:22 -04:00
alistair3149 177c67681e
refactor: use data-mw- prefix for data attribute 2024-05-23 22:05:28 -04:00
alistair3149 c553eddb41
refactor: use stripOuterParagraph instead of str_replace 2024-04-24 15:18:17 -04:00
github-actions b0d52d6fd8 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2024-04-24 19:13:26 +00:00
alistair3149 7b1c319e24
feat: allow tab name to be parsed
This is an experimental config and can lead to performance issue and unexpected behavior.

Closes: #35
2024-04-24 15:13:08 -04:00
paladox a6c61af08d
fix: Argument #1 ($input) must be of type string, null given (#112) 2024-01-03 15:00:55 -05:00
paladox 9a795f2a74
fix: PHP Notice: Uninitialized string offset: 0 (#108) 2023-11-05 18:10:02 -05:00
H. C. Kruse 7f75899995
feat: add support for nested tabbers in Codex (#95)
* refactor: Apply some code cleanup

* feat: WIP dynamic nested tabber in codex

* feat: Make deeply nested tabbers work

* doc: fix comment position

---------

Co-authored-by: alistair3149 <alistair3149@users.noreply.github.com>
2023-07-11 22:06:57 -04:00
alistair3149 a3212b6c2b
feat: wrap tab content in <p> if there are no HTML elements 2023-07-05 23:07:57 -04:00
alistair3149 c06f0e7e74
refactor: rename TabberNeueEnableLegacyMode to TabberNeueUseCodex 2023-07-05 23:00:32 -04:00
github-actions 7a42d9f055 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-07-06 01:48:00 +00:00
alistair3149 8278e66548
refactor: update Parsoid implementation
Note that it is not enabled, still a WIP
2023-07-05 21:47:50 -04:00
alistair3149 cd63b6c10f
refactor: remove noscript message
Tabber already shows content without JS, and noscript handling is a bit tricky in MW
2023-07-05 18:32:18 -04:00
alistair3149 e3a82e603b
refactor: deprecate 2023-07-05 18:14:52 -04:00
alistair3149 0fbfefcb87
fix: avoid using noscript as it is disallowed by VE 2023-07-05 18:03:00 -04:00
alistair3149 89e90af034
feat: add experimental support of Codex
It can be enabled by setting `$wgTabberNeueEnableLegacyMode` to `true`.
It is the first implementation and a WIP with numerous caveats:
- Nested Tabber does not work
- Tabber Transclue does not work
2023-07-05 17:26:33 -04:00
github-actions b5329229c9 ci: 👷 lint code to MediaWiki standards
Check commit and GitHub actions for more details
2023-02-16 19:11:17 +00:00
alistair3149 874738db2a
feat: add langauge converter support
This should allow MW apply langauge conversion to tab title
2023-02-16 14:10:46 -05:00
alistair3149 365777eae3
feat: improve noscript support
1. Allow other tabs to be shown
2. Put noscript message in warning box
2023-02-16 14:02:04 -05:00
NekoCharm 18f278e1ad
fix: use data-title for tab panel (#74) 2022-12-05 00:26:49 -05:00
alistair3149 7b61ca663e
feat(core): use data-title instead of title attribute for tab panel
Title attribute produces a tooltip over the whole tab panel.
That is not ideal and the a11y need is already fulfilled by aria-label.
2022-11-02 19:55:46 -04:00
alistair3149 831eeee16c
refactor: use proper extension namespaces 2022-06-29 17:22:14 -04:00
alistair3149 047ba17d1b
fix: hide duplicate images generated by MobileFrontend
When a thumb is placed inside tabber under an article section, MobileFrontend duplicates
the image for some reason. So the hacky way to fix this is to hide the duplicated image.
Since it is an upstream issue, there are not much I can do.

Closes: #2
2022-06-29 17:01:57 -04:00
github-actions 05cfd51669 ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-06-05 19:14:03 +00:00
ArdWar 9535181261
perf: revert back to recursiveTagParse() (#27)
* fix unnecessary whitespace trim on tab content

* use recursiveTagParse() to lessen unstrip size
2022-06-05 15:13:24 -04:00
alistair3149 1f4436843f
feat: improve loading behavior before module is added
* Add skeleton screen to avoid layout shift
* Hide other sections before the module is loaded to avoid layout shift
* Add noscript message
* Header container is now saved in parser instead of being generated.
If you have any issues with the script, try clearing out the parser cache
or do an empty edit.
2022-05-06 17:53:52 -04:00
alistair3149 8fdead811e
feat: add tracking categories for pages using Tabber
Pages with tabber/tabbertransclude tag will have a tracking category called Category:Pages using Tabber/TabberTransclude parser tag. To hide the category, put the __HIDDENCAT__ magic word on the category page
2022-05-06 13:09:03 -04:00
alistair3149 dc3cb203a3
fix: disable Parsoid extension module support
Seems like it is preventing VE to open by somehow breaking Parsoid (restbase error 500) in MW 1.35.5.
Disabling it for now.
2022-04-23 18:41:14 -04:00
alistair3149 853bbfed5c
refactor: remove unused comment 2022-04-22 19:59:20 -04:00
alistair3149 7d5776f03b
refactor: load module after rendering tab 2022-04-20 17:33:23 -04:00
alistair3149 3220bb8ef4
feat: add initial Parsoid support for the tabber tag 2022-04-20 17:21:49 -04:00
alistair3149 558581c893
refactor: rename parserHook result variable 2022-04-20 15:32:19 -04:00
alistair3149 0b690a2744
refactor: standardize parserHook and render across parser tags 2022-04-20 15:23:45 -04:00
alistair3149 007f1942de
feat: use the new HookContainer system 2022-04-20 14:00:28 -04:00
github-actions 670df8051e ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-04-20 17:51:17 +00:00
alistair3149 1fc2451a12
refactor: separate parser tags into their own classes 2022-04-20 13:50:38 -04:00
github-actions 4a662d3f27 ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-04-20 17:13:25 +00:00
alistair3149 cc663e76e8
refactor: separate hooks from the rest of TabberNeue class 2022-04-20 13:11:10 -04:00
github-actions 094f82ed48 ci: lint code to MediaWiki standards
Check commit and GitHub actions for more details
2022-04-19 18:04:16 +00:00
alistair3149 51893d8b9d fix: add null check for $input 2022-04-19 14:03:25 -04:00
alistair3149 69c638330d
feat: use CSS instead of __NOEDITSECTION__ to hide edit buttons
* Appending __NOEDITSECTION__ to tab body seems to break the table markup (#12)
* Edit buttons still work for transcluded tabs so it should be visible

Closes #12
2022-04-19 10:36:38 -04:00
alistair3149 893611e41d
feat: replace loading message with animation 2022-04-18 22:46:40 -04:00
ciencia d8c3db4e59 feat: allow tab content to be transclusions of other pages
* Initial merge of the TabberTransclude extension from Ciencia
* Tab content can now be fetched from other pages on the wiki. The content is lazy-loaded when the tab is selected through a XHR request.
* Add a config option to disable setting URL hash on tab change
2022-04-18 21:56:03 -04:00
alistair3149 91105aa338
refactor: use array style on adding modules to ParserOutput
String is deprecated since 1.38 (T296123)

Closes #11
2022-04-18 20:24:21 -04:00
ciencia 98c6f2753a
feat: trim spaces between title and content
Trim spaces between title and content to avoid unwanted <pre> wraps when using
content next to title separated by a space instead of a new line.
2022-04-18 19:43:08 -04:00
nobbyfix 3f689e0b28
feat: append __NOEDITSECTION__ to tabber body before parsing (#9) 2022-02-01 23:04:24 -05:00
alistair3149 09715dcef6
feat: use Tabber count instead of MD5 as identifier 2021-10-23 00:47:49 -04:00
alistair3149 dae448ab5a
refactor: change md5 config name to be more clear 2021-10-01 12:23:57 -04:00
alistair3149 d44cbbf6b9
feat: add config to disable MD5 hash (#6) 2021-10-01 12:20:00 -04:00