Unified all button styles across the theme to match the menu panel aesthetic, fixed complex table styling, resolved all linting errors, and improved accessibility.
Three new comprehensive component files for enhanced coverage:
- ooui-enhanced.styl (15,737 bytes) - Complete MediaWiki OOUI library styling
- aur-enhanced.styl (11,802 bytes) - Full AUR site styling
- print-enhanced.styl (7,919 bytes) - Enhanced print styles
Added comprehensive styling for all MediaWiki OOUI widgets:
- Buttons: Primary, destructive, and disabled states with proper gradients
- Form Controls: Checkboxes, radios, toggle switches with custom styling
- Inputs: Text inputs with icons, validation states, and proper focus rings
- Dropdowns: Enhanced with hover effects and selected state indicators
- Dialogs: Modals with proper header/body/footer structure
- Menus: Popup menus with hover and selection states
- Toolbars: Action toolbars with grouped tools
- Progress Bars: Determinate and indeterminate with animations
- Tabs: Framed and unframed tab widgets
- Field Layouts: Form fields with error/success messages
- Drag & Drop: Draggable elements with visual feedback
Complete styling overhaul for aur.archlinux.org:
- Package Listings: Enhanced search results with hover effects
- Package Details: Metadata tables with proper styling
- Package Actions: Vote/unvote/flag buttons with clear visual states
- Dependencies: Styled dependency lists with type labels
- File Lists: Monospace font with scrolling for long lists
- Comments: Thread styling with author and date metadata
- Search Forms: Enhanced with proper focus states
- User Accounts: Profile and account page styling
- Statistics: Stats boxes with table formatting
- Notifications: Success/error message styling
Enhanced print styles for better hardcopy output:
- Layout: White background, black text, proper margins
- Hidden Elements: Navigation, sidebars, actions hidden
- Link URLs: External links show URLs after text
- Typography: Optimized fonts and sizes for print
- Code Blocks: Proper formatting with borders
- Tables: Borders and headers for clarity
- Page Breaks: Intelligent break avoidance
- Site-Specific: Optimizations for forums and AUR
- Accessibility: High contrast and readable fonts
- Replaced
:focuswith:focus-visibleacross all form controls- Checkboxes, radios, and selects now use
:focus-visible - Form validation states use
:focus-visible - Edit interface inputs use
:focus-visible - Skip links use
:focus-visible - Improves keyboard accessibility while reducing visual noise for mouse users
- Checkboxes, radios, and selects now use
- Removed deprecated
gradient-button()mixin (not used anywhere) - All code now uses
gradient-surface()consistently
- Created comprehensive CHANGELOG.md following Keep a Changelog format
- Updated README.md with features section and changelog link
- Documented all changes from 2026-01-16 to present
- Fixed all linting errors (9 errors → 0 errors)
- Fixed indentation in main.styl
- Removed trailing whitespace
- Added stylelint-disable comments for MediaWiki-specific patterns
Problem: Tables with rowspan and colspan (like WireGuard peer tables) had no special styling
Fixed:
- Added centered text and gradient background for colspan/rowspan headers
- Styled top-left corner cells with both rowspan AND colspan
- Added
vertical-align: middlefor better alignment - Styled empty cells to prevent collapse
- Styled italic hint text (like "dynamic")
Problem: Used bright purple gradient that stood out from menu panels Fixed:
- Changed from
gradient-button()(bright purple) togradient-surface()(subtle dark) - Updated hover/active states to use subtle blue tint instead of bright colors
- Added proper borders matching menu panels
Problem: Search submit buttons used bright purple background Fixed:
- Main search button: now uses
gradient-surface() - Sticky header search button: now uses
gradient-surface() - Hover states: subtle blue tint instead of bright purple
Problem: Sticky header buttons had inconsistent styling Fixed:
- Updated
.vector-sticky-header .cdx-buttonto match menu panels - Unified hover effects
Problem: Used custom colors and borders that didn't match other buttons Fixed:
- Changed from
$darkerbackground togradient-surface() - Updated border from
rgba($arch-blue, 0.35)to$border-subtle - Unified hover state with other buttons
Problem: Used dark translucent background with bright purple hover Fixed:
- Base state: now uses
gradient-surface()instead ofrgba(0,0,0,0.3) - Hover state: subtle blue tint instead of bright
$arch-blue - Border: uses
$border-subtleinstead of white
- 4 different button styles across the theme
- Bright purple gradients on some buttons
- Inconsistent hover effects
- Mismatched borders and shadows
- 1 unified button style across entire theme
- All buttons use
gradient-surface()(dark gradient matching menus) - Consistent hover: subtle blue tint (
rgba($arch-blue, 0.12)) - Consistent borders:
$border-subtle - Consistent text:
$lighterbase,$secondary-blueon hover
src/components/tables.styl- Complex table supportsrc/components/forms.styl- General buttonssrc/components/navigation.styl- Search & sticky header buttons + menu readability + icon alignmentsrc/components/content.styl- Collapsible togglessrc/components/code.styl- Copy buttonssrc/mixins/menus.styl- Menu panel readability improvements
Icons throughout the theme were misaligned - hamburger menu, search icons, TOC toggle arrows, and page title icons were all over the place.
Added universal alignment for all icon types:
.vector-icon,.mw-ui-icon,.oo-ui-iconElement-icon,.cdx-icon- All use
display: inline-flexwithalign-items: centerandjustify-content: center - Added
flex-shrink: 0to prevent sizing issues - Set
margin: 0to remove unwanted spacing
- Hamburger menu: Fixed with flexbox alignment
- Header buttons/links: All use
display: inline-flexwithgap: 0.3em - Dropdown labels: Proper centering with padding
- Wrapped in flex container for proper alignment
- Fixed size to 16px × 16px
- Added
display: blockto SVG to prevent inline spacing issues
- Increased size from 16px to 18px for better visibility
- Added menu panel gradient styling (matching buttons)
- Better centering with flexbox
- Added hover effects matching other buttons
- Fixed icon fill color and sizing
- Added proper padding and centering
- Fixed alignment with page title text
- All menu items use
display: flexwithgap - Icons properly aligned with text
- Consistent spacing throughout
- All icons now perfectly aligned
- Consistent sizing across the theme
- Better visual hierarchy
- Professional appearance
User reported that left menu items were hard to read compared to original non-styled version.
-
Text Brightness
- Menu items:
$light(#bfbfbf) →$lighter(#e7e7e7) - Headings:
$lighter→white(#ffffff) - Hover state:
$secondary-blue→whitewith font-weight 500
- Menu items:
-
Background Contrast
- Lightened menu background from
$basetolighten($base, 4%) - Increased blue tint from
rgba($arch-blue, 0.06)torgba($arch-blue, 0.08) - Hover background:
rgba($arch-blue, 0.1)→rgba($arch-blue, 0.15)
- Lightened menu background from
-
Font Sizes
- Menu items: 0.9em → 0.95em
- Headings: 0.8em → 0.85em
- Heading font-weight: 600 → 700
-
Spacing
- Line height: Added 1.4-1.5 for better readability
- Menu item margin: 0.3em → 0.35em
- Heading margin-bottom: 0.3em → 0.4em
- Link padding: Increased from 0.15em to 0.2em-0.25em
-
Visual Feedback
- Hover state now shows white text + bold (500)
- More prominent hover backgrounds
- Better visual hierarchy
- Before: Gray text on dark background, hard to distinguish
- After: Bright white text, better contrast, larger text, more spacing
Test on these Arch Wiki pages:
- WireGuard setup (complex tables with rowspan/colspan)
- Any page with collapsible sections
- Search functionality (main + sticky header)
- Code blocks with copy buttons
- Pages with various buttons (edit, history, etc.)