{"id":13533078,"url":"https://github.com/LibreService/my_rime","last_synced_at":"2025-04-01T21:31:44.647Z","repository":{"id":65290333,"uuid":"577564335","full_name":"LibreService/my_rime","owner":"LibreService","description":"Free and Open Source online Chinese IME powered by RIME. 自由开源在线中文输入法 拼音 双拼 粤语 注音 五笔 仓颉 速成","archived":false,"fork":false,"pushed_at":"2024-07-19T18:38:59.000Z","size":268,"stargazers_count":341,"open_issues_count":0,"forks_count":32,"subscribers_count":5,"default_branch":"master","last_synced_at":"2025-03-29T05:05:14.951Z","etag":null,"topics":["lua","naive-ui","pwa","rime","saas","vue","wasm"],"latest_commit_sha":null,"homepage":"https://my-rime.vercel.app/","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/LibreService.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-13T02:33:14.000Z","updated_at":"2025-03-21T14:21:19.000Z","dependencies_parsed_at":"2024-01-13T22:19:37.975Z","dependency_job_id":"1d6329f8-e43e-4d49-bbe0-b613f92b57b6","html_url":"https://github.com/LibreService/my_rime","commit_stats":{"total_commits":176,"total_committers":3,"mean_commits":"58.666666666666664","dds":"0.022727272727272707","last_synced_commit":"c73ea172d28f07031ba87a1d71c4d2e1c8ba82a3"},"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreService%2Fmy_rime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreService%2Fmy_rime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreService%2Fmy_rime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/LibreService%2Fmy_rime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/LibreService","download_url":"https://codeload.github.com/LibreService/my_rime/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246713217,"owners_count":20821858,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["lua","naive-ui","pwa","rime","saas","vue","wasm"],"created_at":"2024-08-01T07:01:16.388Z","updated_at":"2025-04-01T21:31:43.887Z","avatar_url":"https://github.com/LibreService.png","language":"TypeScript","funding_links":[],"categories":["TypeScript","List"],"sub_categories":["Other Projects Using NaiveUI"],"readme":"# My RIME 梧桐输入法\n![](https://img.shields.io/github/license/LibreService/my_rime)\n\nOnline Chinese IME powered by [RIME](https://github.com/rime/librime).\n\nhttps://my-rime.vercel.app/\n\n\nThis is a **STATIC** website so you **DON'T** need to own a server to host it.\n\nAll computation is performed in browser, thanks to Web Assembly.\n\nIt's also a [PWA](https://web.dev/progressive-web-apps/), so you can install it like a native App and use it **OFFLINE**.\n\n## Documentation\nIf you want to distribute your own IME, see [customize](doc/customize.md).\n\nIf you want to deploy schemas dynamically (online, like how you deploy in Desktop/Mobile platforms), see [deploy](doc/deploy.md).\n\nIf you want to develop My RIME or know technical details, see [develop](doc/develop.md).\n\n## Self host\nDownload latest [artifact](https://github.com/LibreService/my_rime/releases/download/latest/my-rime-dist.zip) built by GitHub Actions.\n\n## Development workflow\nMy RIME can be built on Linux, macOS and Windows.\n\n### Install node\nYou may use [nvm](https://github.com/nvm-sh/nvm)\nor [winget](https://github.com/microsoft/winget-cli)\nto install node.\n### Install pnpm and dev dependencies\n```sh\nnpm i -g pnpm\npnpm i\n```\n### Install build and RIME dependencies\n```sh\n# Ubuntu\napt install -y \\\n  cmake \\\n  ninja-build \\\n  clang-format \\\n  libboost-dev \\\n  libboost-regex-dev \\\n  libyaml-cpp-dev \\\n  libleveldb-dev \\\n  libmarisa-dev \\\n  libopencc-dev\n\n# macOS\nbrew install cmake ninja clang-format\n\n# Windows\nwinget install cmake Ninja-build.Ninja LLVM\n```\n### Install emsdk\nhttps://emscripten.org/docs/getting_started/downloads.html\n### Get submodule\nIt's not recommended to clone recursively, as many boost libs are not needed.\n```sh\npnpm run submodule\n```\n### Get font\nUncommon characters are rendered using\n[遍黑体](https://github.com/Fitzgerald-Porthmouth-Koenigsegg/Plangothic-Project),\n[花园明朝](https://github.com/max32002/max-hana)\nand\n[一点明朝](https://github.com/ichitenfont/I.Ming).\n```sh\npnpm run font\n```\n### Build wasm\n```sh\npnpm run native\npnpm run schema\nexport ENABLE_LOGGING=OFF # optional, default ON\nexport BUILD_TYPE=Debug # optional, default Release\npnpm run lib\npnpm run wasm\n```\n### Run develop server\n```sh\npnpm run dev\n```\nThe app is accessible at http://localhost:5173\n\nOptionally, go to http://localhost:5173/?debug=on or turn on `Advanced` switch so that you can send raw key sequences to librime,\ne.g. `{Shift+Delete}`, `{Release+a}`.\nThis feature is better used with log enabled.\n### Lint\n```sh\npnpm run lint:fix\n```\n### Check type\n```sh\npnpm run check\n```\n### Build\n```sh\npnpm run build\n```\n### Test\n```sh\npnpm run test\n```\n### Preview\n```sh\npnpm run preview\n```\n### Deploy (maintainer only)\n```sh\n# publish IMEs\ndeclare -a packages=(\n  ... # targets output by pnpm run schema\n)\nfor package in \"${packages[@]}\"; do\n  pushd public/ime/$package\n  npm publish\n  popd\ndone\n\n# set VERSION to avoid CDN and browser caching old version\nexport LIBRESERVICE_CDN=https://cdn.jsdelivr.net/npm/@libreservice/my-rime@VERSION/dist/\nexport RIME_CDN=https://cdn.jsdelivr.net/npm/@rime-contrib/\n\nvercel build --prod\nnpm publish\nvercel deploy --prebuilt --prod\n```\n\n## Docker\n```sh\ndocker build \\\n  --build-arg ENABLE_LOGGING=OFF \\\n  -t my-rime .\ndocker run --name my-rime -d my-rime\n```\nLet's say the IP address of the container is 172.17.0.2 (got by `docker inspect my-rime | grep IPAddress`), then My RIME is accessible at http://172.17.0.2/.\n\n## License\nAGPLv3+\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLibreService%2Fmy_rime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FLibreService%2Fmy_rime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FLibreService%2Fmy_rime/lists"}