Skip to content

Conversation

@wreiske
Copy link
Member

@wreiske wreiske commented Jan 29, 2026

Summary

This PR migrates the documentation site from the Bootstrap-based wc-eh-docs theme to the new Tailwind CSS-based mieweb-docs theme with mieweb/ui components integration.

Changes

New Theme (themes/mieweb-docs/)

  • Complete rewrite using Tailwind CSS for styling
  • Modern, responsive layout with dark mode support
  • Improved sidebar navigation with search highlighting
  • New search modal with keyboard shortcuts
  • Feedback modal component
  • Updated shortcodes (info, warning, tip, note, etc.)

Sidebar Search Improvements

  • Fixed icon positioning using flexbox layout
  • Added text highlighting for search matches with <mark> tags
  • Dark mode support for highlights
  • Improved search result display

Build System Updates

  • Added Tailwind CSS configuration (tailwind.config.ts)
  • Added PostCSS configuration
  • New TypeScript component system (src/components/)
  • ESLint configuration with browser globals support for theme JS
  • Prettier configuration for consistent formatting
  • Husky pre-commit hooks

Theme Backup

  • Original wc-eh-docs theme preserved in themes/_wc-eh-docs-backup/

Stats

  • 1,226 files changed
  • 43,998 insertions(+)
  • 31,423 deletions(-)

Testing

  • Hugo build completes successfully
  • Sidebar navigation works correctly
  • Search functionality with highlighting works
  • Dark mode toggles properly
  • All shortcodes render correctly
  • Mobile responsive layout works

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 326ba04

@wreiske wreiske force-pushed the fix/sidebar-search-ui branch from 586ffe6 to ff4fc0d Compare January 29, 2026 21:25
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 29, 2026

Deploying eh-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: d1e5141
Status: ✅  Deploy successful!
Preview URL: https://df2862cb.eh-docs.pages.dev
Branch Preview URL: https://fix-sidebar-search-ui.eh-docs.pages.dev

View logs

@wreiske wreiske changed the title fix(sidebar-search): Improve icon positioning and add text highlighting feat: Migrate documentation theme from Bootstrap to Tailwind CSS with mieweb/ui components Jan 29, 2026
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit e1f1470

- Add Lightbox TypeScript component to @mieweb/ui
- Integrate lightbox into Hugo theme (main.js)
- Add lightbox CSS styles
- Features:
  - Click images to open in full-screen modal
  - Navigate between images with arrows/keyboard
  - Image counter (e.g., '1 of 11')
  - Close with Escape, click outside, or close button
  - Touch swipe support for mobile
  - Automatic filtering of small images/icons
  - ARIA labels for accessibility
- Update eslint config to ignore vendor files
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 0c73db1

- Create Lightbox React component with full-screen image viewing, keyboard
  navigation, touch swipe support using @mieweb/ui Modal
- Create SidebarSearch React component for filtering navigation items with
  debounced search and text highlighting
- Create SearchModal React component with Lunr.js integration for full-text
  documentation search
- Add esbuild build pipeline (scripts/build-components.ts) for bundling React
  components to ESM format for Hugo integration
- Install lucide-react for icons
- Configure ESLint to ignore bundled React components
- Add npm scripts: build:components, build:components:prod, watch:components

Components are now built to themes/mieweb-docs/assets/js/react/ and can be
mounted in Hugo templates via data-react-component attributes.
- Fix system-name.html shortcode HTML escaping issue where multi-line span
  was being interpreted as markdown blockquote, causing raw HTML to display
- Add new WebChart logo (PNG) from webchartnow.com for proper brand display
  in both light and dark modes
Add prettier-ignore comment and put span element on single line to prevent
markdown blockquote interpretation when the shortcode output was rendered.
The multi-line HTML was causing raw '<span class=' text to appear on pages.
- Add sticky TOC sidebar on right side for pages with table of contents
- Implement IntersectionObserver-based scrollspy to highlight current section
- Style TOC with nested hierarchy, left border indicator, and proper indentation
- TOC is responsive - only shows on screens >= 1280px width
- Move TOC outside main content area for proper sticky behavior
- Add smooth scrolling when clicking TOC links
- Include proper ARIA labels for accessibility
- Exclude Hugo templates from prettier (contain Go template syntax)
The scrollIntoView call on TOC links was causing the entire page to
scroll back to top. Fixed by using scrollTo on the TOC aside container
instead of scrollIntoView on the link element.
- Escape HTML in highlightText to prevent XSS (DOM text as HTML)
- Add SRI integrity hashes to highlight.js CDN resources
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit f7e3f75

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit d4ce002

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 49f662b

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 58082c0

- Add canonical URLs and Open Graph meta tags
- Add Twitter Card meta tags for social sharing
- Add TechArticle LD+JSON structured data for documentation pages
- Add WebSite LD+JSON with SearchAction for homepage
- Add robots.txt template with dynamic sitemap reference
- Configure sitemap with changefreq and priority settings
- Improve meta description fallback to use page summary
- Update title format: 'Page Title | Brand Documentation'
- Add article:published_time and article:modified_time meta tags
- Remove TOML from lint-staged (no prettier parser)
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 8d64f09

- Create tailwind-eh.css for Enterprise Health (Jost font, burgundy primary)
- Create tailwind-wc.css for WebChart (Inter font, orange primary)
- Update baseof.html to load brand-specific CSS and fonts dynamically
- Collapse build info in sidebar footer behind 'Build Info' details element
- Remove hardcoded Inter font loading, use brand fonts from @mieweb/ui
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 1f17314

- Create footer.html partial with brand-specific content
- Add footer configuration to config-eh.toml and config-wc.toml
  - Social links (LinkedIn, YouTube, Twitter/X, Facebook)
  - Quick links (Company, Careers, Contact, Request a Demo)
  - Legal links (Privacy Policy, Data Privacy Framework)
  - Contact info (email, phone, address)
- Include footer in index.html, list.html, and single.html layouts
- Update layouts to use flex-col for proper footer positioning
- Refactor sidebar navigation styles to use CSS classes
  - Add sidebar-item-parent, sidebar-item-link classes
  - Add sidebar-child-parent, sidebar-child-link classes
  - Add sidebar-leaf-link class for leaf items
- Footer is responsive: 1-col mobile, 2-col tablet, 4-col desktop
@cloudflare-workers-and-pages
Copy link

cloudflare-workers-and-pages bot commented Jan 30, 2026

Deploying wc-docs with  Cloudflare Pages  Cloudflare Pages

Latest commit: d1e5141
Status: ✅  Deploy successful!
Preview URL: https://a602e7c6.wc-docs.pages.dev
Branch Preview URL: https://fix-sidebar-search-ui.wc-docs.pages.dev

View logs

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 2d5babb

- Remove 'markup: pandoc' from 15 content files frontmatter
- Remove pandoc from security.exec.allow in config-eh.toml and config-wc.toml
- Update single.html to always apply image path fix (./assets/ -> ../assets/)
  instead of conditionally checking for pandoc markup

This allows the site to build on Cloudflare Pages which doesn't have
pandoc installed. Goldmark (Hugo's native renderer) handles the content
correctly with unsafe=true already configured.
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 372938c

Update build.sh to include the brand prefix (eh/wc) in the baseURL
when running the dev server with --live flag. This makes the local
dev URLs match the production URL structure:
- Before: http://localhost:1313/functions/...
- After:  http://localhost:1313/eh/functions/...

This ensures consistent URL paths between development and production.
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit bf226dd

…rcepting /functions/ path

Cloudflare Pages reserves /functions/ URL paths for serverless Functions.
By adding _routes.json with empty include and exclude all (/*), we tell
Cloudflare to serve all routes as static assets, not Functions.
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit a9aa3f2

Cloudflare Pages requires at least one include rule, so using a pattern
that will never match anything ensures Functions are never invoked and
all routes serve static assets including /functions/*
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit d98b1c4

…d path

Cloudflare Pages reserves /functions/ URL path for serverless Workers/Functions.
This rename:
- Renames content/functions/ to content/features/
- Updates all internal links from functions/ to features/
- Adds _redirects to redirect old /functions/* URLs to /features/*
- Removes unused _routes.json

Old URLs will redirect: /functions/* -> /features/*
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 9d62ce2

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit 6e105a3

@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit b65ae36

@wreiske
Copy link
Member Author

wreiske commented Jan 30, 2026

Refactored lightbox IIFE to properly initialize after sidebar navigation:
- Wait for images to load before collecting dimensions
- Handle bfcache restoration with pageshow event listener
- Track bound images with data-lightbox-bound attribute to avoid duplicates
- Re-collect images on click for fresh indices
- Make lightbox element creation idempotent
@github-actions
Copy link

👋 @wreiske, Your documentation has been pushed to https://docs-qa.med-web.com/124-merge/ for commit fbc6237

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants