$ account rime
This repository is the official project website for the Rime input method engine (δΈε·ι»θΌΈε ₯ζ³εΌζ). It is a static site built with the Zola static site generator, deployed to GitHub Pages via a GitHub Actions workflow. The site provides download links for Rime clients (Weasel for Windows, Squirrel for macOS, ibus-rime for Linux), documentation, a blog, donation information, and an online input method demo using fcitx5-rime.js. It also includes a Python script that automatically fetches the latest release assets from GitHub and updates Sparkle appcast XML files for the Weasel and Squirrel clients, enabling automatic updates. The site features dynamic notices (e.g., commemorative messages, typewriter animations) and Chinese text conversion between simplified and traditional characters. While primarily a content site, it contains well-structured CI/CD pipelines and a reusable release management script.
librime is the core library of the Rime Input Method Engine, a modular, cross-platform C++ framework for building Chinese and East Asian input methods. It provides a flexible pipeline architecture composed of processors, segmentors, translators, and filters, all configurable via YAML schemas. The library handles dictionary compilation from text to binary trie formats (leveldb and marisa-trie), spelling algebra for variant syllable mapping, and user-specific adaptation through frequency and custom phrase databases. It exposes a stable C API for integration into frontends (e.g., IBus, Squirrel, Weasel) and supports dynamic plugin loading for extensibility. The codebase is well-structured with clear separation of concerns, a component registry pattern, and extensive unit tests. Notable technical strengths include a custom double-array trie implementation (darts-clone), a sophisticated YAML config compiler supporting inheritance and patching, and an event-driven context system for real-time composition state.