Skip to content

Commit c47453a

Browse files
committed
refactor: Complete taxonomy overhaul and doc update
Major changes to project nomenclature, taxonomy, and presentation: - Replace old tag system (VISUAL/MNEM/ALT) with Peircean semiotics-based taxonomy (ICONIC/MNEMONIC) - Remove all backward compatibility for old tags across all tools - Update validator to only accept ICONIC/MNEMONIC tags - Remove "variant" concept entirely from codebase (no traces remain) - Update all documentation generators to use new classification system - Remove variant column from generated HTML and Markdown tables - Update table headers: Symbol | Code | Iconic | Mnemonic | Description - Change sequences display to vertical layout (flex-direction: column) - Multiple sequences for same symbol now render on separate lines - Update HTML legend to show only 2 tag types (ICONIC/MNEMONIC) - Remove all variant-related CSS classes (badge-variant, sequence-variant) - tools/validate_xcompose.py: Update valid_tags to {ICONIC, MNEMONIC} - tools/generate_xcompose_docs.py: Rewrite classification logic, remove variant from data structures - tools/xcompose_lib.py: Update tag regex pattern - All Python tools: Update module docstrings and headers - XCompose: Update category headers and banner - install.sh/uninstall.sh: Update all echo messages and comments - Makefile: Update header and help text
1 parent 7bdbbe7 commit c47453a

19 files changed

+1929
-3208
lines changed

CLAUDE.md

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# xcompose-stem - Developer Documentation
1+
# XCompose-STEM - Developer Documentation
22

33
**Architecture, design decisions, and development guide for maintainers**
44

@@ -58,15 +58,16 @@ The `XCompose` file is the **only** authoritative source. All documentation is g
5858

5959
Comment format includes type tags:
6060
```
61-
<Multi_key> <minus> <greater> : "→" U2192 # [VISUAL] Rightwards arrow
62-
<Multi_key> <h> <rarrow> : "→" U2192 # [MNEM] Rightwards arrow
63-
<Multi_key> <g> <a> : "α" U03B1 # [MNEM] Greek small letter alpha
61+
<Multi_key> <minus> <greater> : "→" U2192 # [ICONIC] Rightwards arrow
62+
<Multi_key> <h> <rarrow> : "→" U2192 # [MNEMONIC] Rightwards arrow
63+
<Multi_key> <g> <a> : "α" U03B1 # [MNEMONIC] Greek small letter alpha
6464
```
6565

66-
Type tags:
67-
- `[VISUAL]` - Visual/ASCII shortcuts that look like the output
68-
- `[MNEM]` - Mnemonic letter sequences with systematic prefixes
69-
- `[ALT]` - Alternative patterns or edge cases
66+
Type tags (based on Peircean semiotics):
67+
- `[ICONIC]` - Sequences that visually resemble their output (self-documenting, language-independent)
68+
- `[MNEMONIC]` - Sequences based on linguistic/semantic associations (abbreviations, systematic prefixes)
69+
70+
See `docs/taxonomy-refinement-proposal.md` for the theoretical foundation and rationale.
7071

7172
#### 2. Dual Access Pattern
7273
Frequently-used symbols should have **both**:

CONTRIBUTING.md

Lines changed: 13 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# Contributing to xcompose-stem
1+
# Contributing to XCompose-STEM
22

33
Thank you for your interest in contributing! This guide will help you add new sequences or improve existing ones.
44

@@ -17,34 +17,33 @@ Thank you for your interest in contributing! This guide will help you add new se
1717
Add your sequence to the appropriate category in `XCompose`:
1818

1919
```
20-
<Multi_key> <h> <example> : "★" U2605 # [MNEM] Black star
20+
<Multi_key> <h> <example> : "★" U2605 # [MNEMONIC] Black star
2121
```
2222

2323
**Format requirements:**
2424
- Use `<Multi_key>` prefix
2525
- Include Unicode codepoint (U+XXXX format)
26-
- Add type tag: `[VISUAL]`, `[MNEM]`, or `[ALT]`
26+
- Add type tag: `[ICONIC]` or `[MNEMONIC]`
2727
- Write clear description
2828

2929
### 2. Choose the Right Type Tag
3030

31-
**`[VISUAL]`** - Visual/ASCII shortcuts that look like the output:
31+
**`[ICONIC]`** - Sequences that visually resemble their output:
3232
```
33-
<Multi_key> <minus> <greater> : "→" U2192 # [VISUAL] Rightwards arrow
34-
<Multi_key> <less> <equal> : "≤" U2264 # [VISUAL] Less than or equal
33+
<Multi_key> <minus> <greater> : "→" U2192 # [ICONIC] Rightwards arrow
34+
<Multi_key> <less> <equal> : "≤" U2264 # [ICONIC] Less than or equal
3535
```
3636

37-
**`[MNEM]`** - Mnemonic sequences with letter prefixes:
38-
```
39-
<Multi_key> <h> <impl> : "⇒" U21D2 # [MNEM] Implies
40-
<Multi_key> <g> <a> : "α" U03B1 # [MNEM] Greek small letter alpha
41-
```
37+
**Characteristics:** Self-documenting, language-independent, typically 2-3 keys
4238

43-
**`[ALT]`** - Alternative patterns or edge cases:
39+
**`[MNEMONIC]`** - Sequences based on linguistic/semantic associations:
4440
```
45-
<Multi_key> <exclam> <h> <e> : "∉" U2209 # [ALT] Not an element of
41+
<Multi_key> <h> <impl> : "⇒" U21D2 # [MNEMONIC] Implies
42+
<Multi_key> <g> <a> : "α" U03B1 # [MNEMONIC] Greek small letter alpha
4643
```
4744

45+
**Characteristics:** Abbreviations or names, systematic prefixes, discoverable patterns
46+
4847
### 3. Follow Prefix Conventions
4948

5049
| Prefix | Category | Example |
@@ -187,4 +186,4 @@ By contributing, you agree that your contributions will be licensed under the MI
187186

188187
---
189188

190-
**Thank you for helping make xcompose-stem better!**
189+
**Thank you for helping make XCompose-STEM better!**

Makefile

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
################################################################################
2-
# Makefile for xcompose-stem
3-
# Part of xcompose-stem - Keyboard shortcuts for STEM symbols on Linux
2+
# Makefile for XCompose-STEM
3+
# Part of XCompose-STEM - Easy Unicode Symbols on Linux for STEM Professionals
44
#
55
# Copyright (c) 2025 Phil Bowens
66
# Repository: https://github.com/phil-bowens/xcompose-stem
@@ -24,7 +24,7 @@
2424
#
2525
################################################################################
2626

27-
.PHONY: help validate audit docs all clean test install uninstall check-defaults
27+
.PHONY: help validate audit docs all clean test install uninstall check-defaults comparison-table
2828

2929
# Configuration
3030
XCOMPOSE_FILE := XCompose
@@ -36,7 +36,7 @@ CHECKER := tools/check_system_defaults.py
3636
DOCS_DIR := docs
3737

3838
help: ## Show this help message
39-
@echo "xcompose-stem - Makefile targets"
39+
@echo "XCompose-STEM - Makefile targets"
4040
@echo ""
4141
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | \
4242
awk 'BEGIN {FS = ":.*?## "}; {printf " \033[36m%-15s\033[0m %s\n", $$1, $$2}'
@@ -60,6 +60,10 @@ check-defaults: ## Compare against system defaults (informational)
6060
@echo "==> Comparing against system defaults..."
6161
@$(PYTHON) $(CHECKER) $(XCOMPOSE_FILE)
6262

63+
comparison-table: ## Generate comparison table (saves to docs/xcompose_comparison.md)
64+
@echo "==> Generating comparison table..."
65+
@$(PYTHON) $(CHECKER) $(XCOMPOSE_FILE) --table --output $(DOCS_DIR)/xcompose_comparison.md
66+
6367
docs: ## Generate all documentation (HTML, JSON, Markdown, checklist)
6468
@echo "==> Generating documentation..."
6569
@$(PYTHON) $(GENERATOR) $(XCOMPOSE_FILE) --all

README.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
1-
# xcompose-stem
1+
# XCompose-STEM
22

3-
**Keyboard shortcuts for STEM symbols on Linux**
3+
**Easy Unicode Symbols on Linux for STEM Professionals**
44

55
XCompose configuration providing hundreds of keyboard shortcuts for mathematical notation, Greek letters, arrows, and scientific typography.
66

@@ -27,7 +27,7 @@ This is a personal XCompose configuration, maintained for my own use and shared
2727
- **Systematic prefixes** - `h`=math, `g`=Greek, `k`=keyboard, `p`=IPA, `b`=box-drawing
2828
- **Complete symbol families** - All directional variants (arrows, inequalities, set relations)
2929
- **Quality tooling** - Automated validation, design audits, multi-format documentation
30-
- **Type-tagged sequences** - Every sequence classified as [VISUAL], [MNEM], or [ALT]
30+
- **Type-tagged sequences** - Every sequence classified as [ICONIC] or [MNEMONIC]
3131
- **Frequency-optimized** - Common symbols get shorter sequences
3232
- **LaTeX-inspired ergonomics** - `_` for subscripts (like LaTeX), `__` for macrons
3333

@@ -291,7 +291,7 @@ Settings → Keyboard → Layout → Options → Compose key position
291291
**Testing your Compose key:**
292292
Try typing `Compose + -> ` (Compose, then minus, then greater-than). You should get: →
293293

294-
If it works, you're ready to use xcompose-stem!
294+
If it works, you're ready to use XCompose-STEM!
295295

296296
---
297297

0 commit comments

Comments
 (0)