Skip to content

Markdown/formatting icon sets + category grouping; site SEO pass#6

Open
GaimsDevSoftware wants to merge 5 commits into
mainfrom
feature/icons-and-seo
Open

Markdown/formatting icon sets + category grouping; site SEO pass#6
GaimsDevSoftware wants to merge 5 commits into
mainfrom
feature/icons-and-seo

Conversation

@GaimsDevSoftware

Copy link
Copy Markdown
Owner

Adds markdown/formatting icon sets and category grouping in the popup, regression tests pinning the min-selection-length boundary, an Order-tab right-click menu with popup-icon de-duplication, and an SEO/discoverability pass (meta, structured data, sitemap) with humanised site copy.

Replaces the old PR #2 (which was on an AI-named branch). Overlaps feature/tray-dbus on the Order-tab reordering work — reconcile on merge.

Make the project easier to find in web and AI search without reading as
machine-generated.

- docs: add canonical, Open Graph, Twitter and robots meta to all pages;
  JSON-LD (SoftwareApplication + FAQ) on the landing page; robots.txt and
  sitemap.xml.
- Rewrite landing-page and README copy in the project's own plain voice;
  replace long dashes with ordinary punctuation throughout.
- Drop the emoji icon badges from the feature grid (and the unused CSS) so
  both grids match; remove the decorative emoji from the Snippet guide button.
- Fix stale install/Wayland text on the site to match the README.
The "skip short selections" knob must only gate the auto-popup-on-selection
path. The empty-field double-click and hotkey paths show the edit menu
directly and must stay unaffected.

These tests exercise the App methods against a stub self (no X11/GTK loop):
- empty-field double-click still pops the edit menu with an aggressive
  minimum-character setup;
- _show_no_selection_popup never consults the filter (but still honours the
  blocklist, for contrast);
- the watcher path does filter short selections, and shows them when the
  knob is off.
Replace the borrowed freedesktop format-text-* theme icons (visually foreign,
sometimes missing under KDE themes / in the Flatpak sandbox) with a cohesive
house-style set, and let related actions collapse behind a category chip.

Icons (icons/linuxpop-{format,md}-*, glyph + colour):
- linuxpop-format-{bold,italic,underline}: plain serif letterforms for the
  rich-text Formatting plugin (Ctrl+B/I/U).
- linuxpop-md-{bold,italic,strikethrough,highlight,quote,code,link}: the same
  base glyphs carrying a red ".md" earmark so markdown actions never look like
  the rich-text ones.
- Category chips linuxpop-format ("A" + teal bar) and linuxpop-md (.md
  document), each with its own signature colour, legible down to 16px.

Category grouping:
- Plugin.category field; plugin_loader.CATEGORIES + a pure, tested plan_grouped()
  that collapses a category into one chip once it has >= popup_category_min
  members (else inline).
- popup.py renders category chips that reveal their members on row 2 on click
  (reusing the existing expand-reveal idiom) and collapse on a second click.
- New opt-in catalogue plugin plugins_repo/markdown.py: 7 wrap actions
  (**, *, ~~, ==, >, `, []()) via actions.replace_selection.
- Setting popup_group_categories (default on) with a Settings toggle; bold/
  italic/underline tagged category="format".

Design assets and generators under docs/design/ (philosophy, specimen, mock).
Reordering was ↑/↓ only — moving a plugin from bottom to top took many
clicks. Each row is now a drag source and drop target: grab a plugin (a ≡
handle advertises it) and drop it onto any row to move it there. The ↑/↓
buttons stay for single-step and keyboard-driven moves.

Drop math reuses the existing plugin_order list (_persist_order, shared with
the arrow moves), so the popup updates the same way.
Order tab: right-click a plugin for a context menu — Move to top, Move to
bottom (one click instead of many ↑ presses), and Hide from popup (adds to
disabled_plugins; reversible from the Installed tab).

No two popup actions share an icon anymore:
- "Google AI Search" was a plain magnifier, identical to "Search the web".
  Redesigned linuxpop-google-ai as a magnifier with an AI sparkle in the lens.
- HTML entity encode/decode both used text-html-symbolic — now A→& / &→A
  glyphs (mirrors the base64/url encode-decode pair).
- The two Ollama "AI: translate to EN/NO" actions and Translate all shared the
  locale icon — the AI ones now use distinct EN / NO sparkle glyphs.
- "Compose email" moved off mail-send (shared with Paste & Enter) to
  mail-message-new.
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.

1 participant