Skip to content

Add monochrome Noto Emoji font and emoji icons to section headers#405

Merged
tkuhn merged 5 commits intomasterfrom
feature/noto-emoji
Mar 18, 2026
Merged

Add monochrome Noto Emoji font and emoji icons to section headers#405
tkuhn merged 5 commits intomasterfrom
feature/noto-emoji

Conversation

@tkuhn
Copy link
Contributor

@tkuhn tkuhn commented Mar 18, 2026

Summary

  • Add Noto Emoji (monochrome, variable weight) web font for consistent cross-platform emoji rendering
  • Emoji placed first in all font-family stacks with unicode-range so they take priority over system color emoji while not affecting normal text
  • JS wrapLeadingEmoji() auto-wraps leading emoji in h1-h6 into <span class="emoji"> with theme blue styling and 1.3em size
  • Hooks into Wicket's /ajax/call/complete event for dynamically loaded content
  • Strips U+FE0F variation selectors in JS to ensure monochrome font renders correctly
  • Adds contextual emoji to ~25 section headers across UserList, Search, SpaceList, Space, Project, Profile, Explore, List, and template pages

Test plan

  • Verify emoji render in monochrome blue on static pages (e.g. ResearchGroupDemo.html)
  • Verify emoji render on live Wicket pages including AJAX-loaded sections
  • Check emoji appear correctly in headings across Search, Spaces, User, Profile, and Publish pages
  • Confirm no layout shifts from emoji sizing (1.3em + vertical-align)
  • Test on Chrome and Firefox

🤖 Generated with Claude Code

tkuhn and others added 5 commits March 18, 2026 07:59
Use Google's Noto Emoji (monochrome, variable weight) as the first
font in every font-family stack so it takes priority over system color
emoji. The unicode-range excludes U+FE0F to avoid variation sequence
conflicts. ResearchGroupDemo.html emojis are wrapped in span.emoji
with blue fill + dark stroke styling for evaluation.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add .emoji class with background-clip gradient (dark-to-bright blue,
bottom-left to top-right), 1.3em font-size, and vertical alignment
to keep layout stable.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add wrapLeadingEmoji() to nanodash.js that scans h1-h6 elements and
wraps a leading emoji character in <span class="emoji"> for styling.
Runs on DOMContentLoaded (no jQuery needed) and again from
updateElements() for AJAX-loaded content. Idempotent via .emoji check.

Remove manual emoji spans from ResearchGroupDemo.html and add script
tag in wicket:remove block for standalone file:// testing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Simpler and more consistent — emoji color now matches the app's
standard link/button blue (#0B73DA) exactly.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add contextual emoji to headings on UserList, Search, SpaceList, Space,
Project, Profile, Explore, List, and template pages. Strip U+FE0F in JS
wrapLeadingEmoji to ensure Noto Emoji renders correctly. Subscribe to
Wicket AJAX /ajax/call/complete event so dynamically loaded headings
get emoji wrapping too. Adjust list padding (20px default, 10px for
user/agent lists).

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@tkuhn tkuhn merged commit 496efbf into master Mar 18, 2026
8 checks passed
@tkuhn tkuhn deleted the feature/noto-emoji branch March 18, 2026 09:21
@github-actions
Copy link

🎉 This PR is included in version 4.20.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

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

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant