github-actions
0d63257e86
ci: lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2022-09-28 21:02:56 +00:00
alistair3149
7bec9ef10b
fix(core): hide double MW search suggestion
...
In rare scenario such as #520 , default MW search suggestions will load regardless of the settings.
This simple CSS hack is used to hide in case if it loaded.
This will not be needed when vue search is implemented.
2022-09-28 17:02:15 -04:00
alistair3149
b15a92c2ff
fix: do not collapse space in highlighted search title
...
Closes #494
2022-08-01 01:45:32 -04:00
alistair3149
e53afa51dc
fix(core): config CitizenThemeDefault should set theme correctly
...
Previously the config did set the theme correctly but get overridden by the inline
script to auto, this will fix it.
Closes : #418
2022-06-29 15:29:44 -04:00
alistair3149
8c4166ae8f
feat(core): tweak spacing between body header and content
2022-06-21 16:23:31 -04:00
alistair3149
9fe063acb9
feat(core): use URL-safe key for search suggestions
...
Use `title` in Action API and `key` in REST API to generate result link
Related: Miraheze T9428
2022-06-21 16:20:43 -04:00
alistair3149
34c300d69c
fix(core): center class on thumbnails should center ( #476 )
...
Hide the overflow so the thumbnail will be at the center of avaliable space
instead of the whole page. Also have to remove hover shadow as overflow clip it.
2022-06-07 19:06:06 -04:00
alistair3149
eba22354e5
fix(core): run script when DOM is ready
...
Sometimes the scripts start to run before DOM is fully ready. It causes things
like #475 where the checkbox is not in DOM yet but the script is already asking for it.
2022-06-04 17:44:03 -04:00
alistair3149
9d8a631f44
fix(core): delay blur event for search suggestions
...
This is a hacky way to fix fix #404 and #410 . By introducing a delay to
the function to dismiss the suggestions, users on Safari should be able
to click the link properly.
2022-06-03 22:35:45 -04:00
alistair3149
0ffc78ce9e
fix(core): add missing plainlinks styles
2022-06-02 16:13:45 -04:00
alistair3149
8ec0400b1a
feat(core): simplify page header spacing
2022-06-02 14:40:31 -04:00
alistair3149
dca529b164
feat(core): add bottom margin to page header
2022-06-02 12:58:15 -04:00
alistair3149
47069b613c
feat(skinStyles): do not lazyload OOUI font size with skinStyles
...
Changing the OOUI font size in skinStyles would cause a significant layout shift
because the styles are lazyloaded. OOUI is designed around a based font size of 14px
in mind, so we should obey that. Hopefully WMF will revisit OOUI during T254055, then
this hack can be removed.
2022-06-02 12:13:48 -04:00
alistair3149
4fbe09f212
feat(core): tweak category links styles
2022-06-02 11:48:42 -04:00
alistair3149
2f6d383d9e
fix(core): use z-index on popup only to avoid clipping
...
Also:
* Remove unnessecary margin on mw-body-header
* Move the extra mw-body margin to mw-body-header, as there can be other elements in mw-body
2022-06-02 10:57:19 -04:00
alistair3149
c6b8ba9e80
fix(core): source edit button should not collapse itself when VE is selected
2022-06-02 10:51:30 -04:00
alistair3149
215e043f54
style(core): minor cleanup for the preference module
2022-05-25 16:38:39 -04:00
alistair3149
7b810b2389
fix(core): incorrect z-index for the inner header container
...
Also fix the undefined LESS variable in the Echo skinstyle
2022-05-25 16:01:21 -04:00
alistair3149
6f7f548680
feat(core): only use overflow when needed for mw-body
...
Assigning overflow property that is not clip will block position:sticky from working.
Instead, Citizen will only apply overflow:clip with a fallback to hidden in smaller viewport.
2022-05-23 18:18:53 -04:00
alistair3149
21633dcd3c
feat(core): separate header from personal menu list
2022-05-23 16:10:14 -04:00
alistair3149
be8b9a0a0d
feat(core): clean up and tweak z-index usage
...
fixes #462
2022-05-23 15:11:41 -04:00
alistair3149
726a348369
feat(core): hide redirect message in search results when not needed
...
If either the title or redirect title is a substring of the other,
hide the redirect.
Related: T303013
2022-05-20 19:48:07 -04:00
alistair3149
a5c52e48b7
feat(core): indicate when search results are from redirects
...
For REST API, search results will now indicate if they are from redirects.
The current implementation is that it will always show up, the logic to
trim redundant info will come later
Related: T303013
2022-05-20 19:10:36 -04:00
alistair3149
da619c793b
refactor(core): remove duplicated auto theme handling
...
Refactor auto theme handling into inline script since theme.js is basically duplicated code
at this point. Also add the event listener whenever auto theme is set.
Closes : #461
2022-05-20 17:33:10 -04:00
alistair3149
71999f8838
feat(core): use gap instead of margin for spacing in flexbox
2022-05-20 16:18:56 -04:00
alistair3149
ea875234be
feat(core): use keywords for transform origin
...
This would allow CSSJanus to flip the styles correctly for RTL
2022-05-20 16:07:44 -04:00
alistair3149
1b7217457a
feat(core): do not override blockquote font size
2022-05-19 14:26:56 -04:00
alistair3149
b02948837c
refactor(core): do not use h3 for preference card header
2022-05-18 21:37:27 -04:00
alistair3149
c81ba1f07a
fix(core): oversized ULS language toggle under tablet viewport
2022-05-18 21:26:55 -04:00
alistair3149
1df223abfa
feat(core): update menu to be more inlined with MW core
...
* Use label instead of h3 for menu headings
* Rename portals to portlets according to core
* Replace label-class with heading-class
* Use has-label to hide labels instead of adding screen reader class
2022-05-18 17:14:24 -04:00
alistair3149
95a4609c17
feat(core): use standard external link icon fo external links
...
Have to polyfill because it is still a long way to go until being standardized in core
Related: T261391
2022-05-17 22:10:26 -04:00
alistair3149
9d711d4ee2
refactor(core): use scroll-padding-top
for top margin
2022-05-17 15:35:04 -04:00
alistair3149
1be7f5faaf
refactor(core): rewrite ToC scrollspy based on Vector
2022-05-17 15:11:16 -04:00
alistair3149
73c61e9b37
feat(core): use ULS for interwiki language menu if possible
2022-05-17 09:42:34 -04:00
alistair3149
93087a4fbe
refactor(core): clean up personal menu implementation
2022-05-16 22:52:04 -04:00
alistair3149
8c2d8e5e4e
refactor(core): remove mw-portal
class
...
It is legacy code no longer found in core, and mw-portlet serves the exact same function.
2022-05-16 19:40:10 -04:00
alistair3149
9926140281
feat(core): add language count badge
...
Now the language button will have a badge indicating avaliable languages for the page
2022-05-16 19:31:11 -04:00
alistair3149
c6e9bc44a9
feat(core): use checkboxHack for page actions more menu
...
* use checkboxHack for the menu
* streamline language and more action menu styles and classes
2022-05-16 18:14:35 -04:00
alistair3149
4bfbbeef39
perf(core): minify languages svg
2022-05-16 00:56:55 -04:00
alistair3149
442f241641
feat(core): add language menu to page tools
...
In other language menu and language variant menu are merged into a singular menu
with a toggle in page tools. This is the first step towards having better language
handling in the skin.
2022-05-16 00:50:00 -04:00
alistair3149
7cdd049ea9
fix(core): mw-list-item does not exist in older MW
2022-05-13 14:52:20 -04:00
alistair3149
7bfc9f88d7
feat(core): tweak and clean up ToC card styles
2022-05-13 13:42:22 -04:00
alistair3149
03d853c50e
feat(core): change ToC toggle behavior and position
2022-05-13 01:12:52 -04:00
alistair3149
c978bb1320
refactor(core): rename title hidden class
2022-05-13 00:30:46 -04:00
alistair3149
d59ca5c83a
refactor(core): move intersection observer into a module
...
* We will likely use it for other things in the future
* Based on Vector's implementation
* Also do not get toc element twice
2022-05-13 00:26:53 -04:00
alistair3149
23795e05e3
chore(ci): disable mediawiki/class-doc
2022-05-13 00:20:05 -04:00
alistair3149
13a2b710ea
refactor(core): remove duplicated check for ToC
2022-05-12 23:24:32 -04:00
alistair3149
194c73d5bb
style(core): use arrow function
2022-05-12 22:44:17 -04:00
alistair3149
5ff7b4cf90
fix(core): invisible search suggestion item
2022-05-12 22:43:05 -04:00
alistair3149
86150d492d
refactor(core): clean up checkboxHack implementation
...
Mostly based on Vector 2022. Now we target checkbox hacks by the HTML classes
.mw-checkbox-hack-TYPE instead of defining each individually, which would
make it more scalable.
2022-05-12 22:37:28 -04:00
alistair3149
5dc456cc6a
fix(core): incorrect table of content modal location
2022-05-12 21:48:20 -04:00
alistair3149
508c96ae9d
refactor(core): merge ToC script into core scripts
2022-05-12 17:18:39 -04:00
alistair3149
e0d5eb9657
feat(core): set toc-enabled through Mustache template
...
Since somewhere around MW 1.37, buildSkinFeatures() no longer have access to OutputPage.
That causes $out->isTOCenabled always return null, which makes ToC
broken for any wikis since 1.37. This should fix the issue for now.
More optimizations on the loading behavior will come soon.
2022-05-12 17:01:01 -04:00
alistair3149
478a8396af
refactor(core): merge card content fade animation into mixin
2022-05-11 22:06:33 -04:00
github-actions
a2577db3c8
ci: lint code to MediaWiki standards
...
Check commit and GitHub actions for more details
2022-05-12 01:41:40 +00:00
alistair3149
c69f2927ef
feat(core): set accent-color as primary color
2022-05-11 21:40:27 -04:00
alistair3149
b73357cf7c
feat(core): update checkboxHack API
2022-05-11 21:32:36 -04:00
alistair3149
da26d4bc7f
refactor(core): add null check search button checkbox
2022-05-11 19:08:51 -04:00
alistair3149
0e3ecf1415
feat(core): use relative units for text and spacing
2022-05-11 19:04:52 -04:00
alistair3149
895d7c2398
feat(core): add missing title text to preferences button
2022-05-11 18:47:02 -04:00
alistair3149
d39deb157c
feat(core): make range indicator text smaller
2022-05-10 22:22:31 -04:00
alistair3149
3e051f0d67
feat(core): use relative units for page actions
2022-05-10 22:17:12 -04:00
alistair3149
7ff415db13
feat(core): use relative unit for search suggestion
2022-05-10 22:05:42 -04:00
alistair3149
22450c4804
refactor(core): clean up header variables
2022-05-10 21:58:57 -04:00
alistair3149
1186bdf102
feat(core): update preferences menu behavior
...
* Adjust font size slider range, it starts at 80% and ends at 180%
* Font size is always shown in percentage now
* Better handling of initial font size, it should now detect browser or site default correctly
* Use relative units
* Tweak styles
2022-05-10 21:45:30 -04:00
alistair3149
9872a820af
feat(core): make header icon background scale to font size
2022-05-10 14:00:28 -04:00
alistair3149
9a28bccd64
refactor(core): partial cleanup of header preferences
...
This is a part of the header refactor
* Use styles provided by header
* Clean up header-related HTML classes
2022-05-10 13:39:58 -04:00
alistair3149
f8d90e1782
fix(core): hover state should be visible on card
2022-05-10 13:37:48 -04:00
alistair3149
000643ad36
refactor(core): clean up personal menu
...
This is a part of the header refactor
* Clean up DOM strcture
* Clean up unnessecary styles
* Clean up HTML classes
* Add active state to button
2022-05-10 13:36:52 -04:00
alistair3149
cae7deb945
refactor(core): clean up header icon styles
2022-05-10 11:59:43 -04:00
alistair3149
15296d55be
refactor(core): move checkboxHack checkboxes into container
2022-05-10 11:15:34 -04:00
alistair3149
105d1b9006
refactor(core): clean up inner header implementation
...
This is a part of the header refactor
* Add hover and active state for title button
* Clean up DOM structure
* Clean up unnessecary styles
* Clean up HTML class names
2022-05-10 10:52:36 -04:00
alistair3149
6e35212007
refactor(core): clean up search box implementation
...
* Clean up DOM structure
* Clean up HTML classes
* Use relative units
* Remove unnessecary CSS
2022-05-10 10:52:36 -04:00
alistair3149
5ccfbcfdeb
refactor(core): clean up drawer implementation
...
This is a part of the site header refactor
* Use relative units
* Add title to toggle button
* Remove unnessecary CSS
* Rewrite HTML classes
* Temporary remove drawer subsearch, it will be re-explored in a later patch
2022-05-10 10:52:36 -04:00
alistair3149
44f9bc0a7c
feat(core): style parenthesis text in FirstHeading differently
...
Parenthesis text in FirstHeading are commonly used for disambiguation purposes
Therefore it does not have to be as prominent as the title
2022-05-07 00:45:51 -04:00
alistair3149
b00c7ddf4a
feat(core): tweak ToC styles
...
* Use the same border radius as other Citizen menus
* Remove unnessecary margin and padding
* More accurate height calculations
2022-05-03 16:03:34 -04:00
alistair3149
a3d85bb8a5
fix(core): fix overflow in search suggestions
2022-05-02 21:36:59 -04:00
alistair3149
ca59b097ba
refactor(core): merge duplicating mixins together
2022-05-01 22:53:41 -04:00
alistair3149
a6d88fc68b
style: lint styles with stylelint
2022-05-01 22:40:27 -04:00
alistair3149
d286afdfb9
feat(core): add animation to page tools more menu
2022-05-01 22:39:41 -04:00
alistair3149
e6a9bd38f1
feat(core): add animation to preferences menu
2022-05-01 22:36:14 -04:00
alistair3149
41e0832904
feat(core): remove animation from searchbox but keep suggestion on mobile
2022-05-01 22:17:36 -04:00
alistair3149
b4959b1972
feat(core): add animation to personal menu
2022-05-01 22:12:47 -04:00
alistair3149
2c9a5f45ec
refactor(core): merge menu content show transition into mixin
2022-05-01 22:11:31 -04:00
alistair3149
e2a6a0355c
feat(core): toggle visbility in CSS when menu is show/hidden
...
* Better performance as browser would not render element when it is hidden
* Better accessbility support for screen readers
2022-05-01 21:46:39 -04:00
alistair3149
60d57dea85
feat(core): switch searchbox transitions to scale
2022-05-01 21:35:33 -04:00
alistair3149
c0c2e61bf3
refactor(core): turn card animation into a mixin
2022-05-01 21:23:37 -04:00
alistair3149
e2da010a90
feat(core): tweak drawer open transition
...
Instead of using translate which can look jarring especially in large menus,
we use a combination of scale and opacity to achieve smoother effect while
saving more on performance.
2022-05-01 20:17:06 -04:00
alistair3149
fae606277f
feat(core): tweak transition timing and curve
...
* Subtle transitions (e.g. color, opacity) are now sped up to 100ms,
so that it feels more responsive.
* Sizing transitions (e.g. transform, height) are now slowed to 250ms
and use a new cubic curve, it should feel more smooth.
2022-05-01 19:25:32 -04:00
alistair3149
56a869b3d9
refactor(core): clean up transition variable names
2022-05-01 19:14:17 -04:00
alistair3149
5fb9627ba7
refactor(core): clean up unused LESS variables
2022-05-01 19:09:00 -04:00
alistair3149
709a89d399
perf(core): remove box-shadow transition for thumbnails
...
It is not nessecary and expensive to run. If it is needed, a pseudo element should be used instead
2022-05-01 18:57:59 -04:00
alistair3149
b39452d3b5
refactor(core): remove unnessecary style overrides for links
...
* Visited link styles are removed from MW already,
there are no need to use important to override those rules.
* Citizen should not override text-decoration setting if users
want to have underline links.
2022-05-01 18:45:48 -04:00
alistair3149
4bacf2fff1
perf(core): remove expensive CSS transitions
2022-04-30 18:04:19 -04:00
alistair3149
c74f1685d6
feat(core): add aria-label for preferences button
2022-04-30 18:01:38 -04:00
alistair3149
ac3ebf56a2
fix(core): incorrect aria-controls ID in section toggle
2022-04-30 17:19:57 -04:00
alistair3149
76a84d9e00
feat(core): add ARIA support to collaspible sections
...
* Also renamed toggle to indicator since it is misleading. The whole heading is the toggle itself.
2022-04-30 14:48:09 -04:00
alistair3149
b69ca82650
fix: lower header z-index to 4
...
The original z-index is way too high (10) and would overlap dialogs.
It should be set to 4 (same as Vector 2022) to ensure compatiblity with OOUI elements.
Closes #447
2022-04-30 13:50:49 -04:00
alistair3149
39225d6f36
perf(core): improve rendering performance of drawer menu
2022-04-28 21:54:54 -04:00
alistair3149
87f6e4fa19
feat(core): tweak sitestats style
...
* Left align the drawer header
* Hide file count when width is smaller than 480px
2022-04-28 21:41:41 -04:00