{"id":18929097,"url":"https://github.com/jwillikers/cyrillic-encoder","last_synced_at":"2026-05-09T09:42:06.273Z","repository":{"id":104838545,"uuid":"340429226","full_name":"jwillikers/cyrillic-encoder","owner":"jwillikers","description":"A demo Qt application for encoding alphanumeric characters as arbitrary Cyrillic symbols","archived":false,"fork":false,"pushed_at":"2025-02-13T00:28:05.000Z","size":396,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-14T21:38:55.166Z","etag":null,"topics":["cmake","cpp","cpp20","cyrillic","demo","demo-app","nix","qt"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jwillikers.png","metadata":{"files":{"readme":"README.adoc","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.adoc","code_of_conduct":"CODE_OF_CONDUCT.adoc","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":"2021-02-19T16:38:27.000Z","updated_at":"2025-01-29T14:31:59.000Z","dependencies_parsed_at":null,"dependency_job_id":"2624491a-0937-4945-a943-60e67fff2eec","html_url":"https://github.com/jwillikers/cyrillic-encoder","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fcyrillic-encoder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fcyrillic-encoder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fcyrillic-encoder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jwillikers%2Fcyrillic-encoder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jwillikers","download_url":"https://codeload.github.com/jwillikers/cyrillic-encoder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239927824,"owners_count":19719835,"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":["cmake","cpp","cpp20","cyrillic","demo","demo-app","nix","qt"],"created_at":"2024-11-08T11:29:55.319Z","updated_at":"2026-03-16T12:30:15.134Z","avatar_url":"https://github.com/jwillikers.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"= Cyrillic Encoder\nJordan Williams \u003cjordan@jwillikers.com\u003e\n:experimental:\n:icons: font\nifdef::env-github[]\n:tip-caption: :bulb:\n:note-caption: :information_source:\n:important-caption: :heavy_exclamation_mark:\n:caution-caption: :fire:\n:warning-caption: :warning:\nendif::[]\n\nimage:https://github.com/jwillikers/cyrillic-encoder/actions/workflows/build.yaml/badge.svg[CI, link=https://github.com/jwillikers/cyrillic-encoder/actions/workflows/build.yaml]\n\nA Qt demo application for encoding alphanumeric characters as arbitrary Cyrillic symbols.\n\nifdef::env-github[]\n++++\n\u003cp align=\"center\"\u003e\n  \u003cimg  alt=\"Cyrillic Encoder Demo\" src=\"screenshots/Cyrillic Encoder Demo.gif?raw=true\"/\u003e\n\u003c/p\u003e\n++++\nendif::[]\n\nifndef::env-github[]\nimage::screenshots/Cyrillic Encoder Demo.gif[Cyrillic Encoder Demo, align=center]\nendif::[]\n\n== Getting Started\n\nThis section describes how to set up the build environment required by the project.\nThese instructions are for Fedora 38.\n\n. Install an implementation of Nix, such as https://lix.systems[Lix] used here.\n+\n[,sh]\n----\ncurl -sSf -L https://install.lix.systems/lix | sh -s -- install\n----\n\n. First, clone the source code of this repository locally.\n+\n[,sh]\n----\ngit clone https://github.com/jwillikers/cyrillic-encoder.git\n----\n\n. Then change into the project directory.\n+\n[,sh]\n----\ncd cyrillic-encoder\n----\n\n. Run with `nix run`.\n+\n[,sh]\n----\nnix run\n----\n\n== Development\n\nhttps://nixos.org/[Nix] is used to manage all of the necessary dependencies.\nThe `nix develop` command can be used to enter or run commands in an environment with all of the necessary dependencies.\nFor convenience, direnv can be used to automatically load this environment when entering the project's directory.\nThe https://marketplace.visualstudio.com/items?itemName=mkhl.direnv[mkhl.direnv VSCode extension] integrates this environment in VSCode for development.\nNix also generates the configuration for https://pre-commit.com/[pre-commit], which automates formatting and various checks when committing changes.\n\n. Install direnv for your system according to the https://direnv.net/docs/installation.html[direnv installation instructions].\n+\n[,sh]\n----\nsudo rpm-ostree install direnv\nsudo systemctl reboot\n----\n\n. Integrate direnv with your shell by following the instructions on the https://direnv.net/docs/hook.html[direnv Setup page].\n\n. Permit the direnv configuration in the repository.\n+\n[,sh]\n----\ndirenv allow\n----\n\n. The https://just.systems/[just] command runner can be used to perform common tasks, such as building the project and running tests.\nThe `workflow`, or `w`, subcommand can be used to easily run the default developer workflow.\nThis will configure the CMake build, build everything, and run the tests.\n+\n[,sh]\n----\njust w\n----\n\n=== Workflows\n\nhttps://cmake.org/cmake/help/latest/manual/cmake-presets.7.html[CMake presets] are used to simplify common configurations and tasks.\nThe workflow presets perform sets of tasks in a specific order.\nThe presets of most interest to developers are `dev` and `dev-clang`.\nThese perform the configure, build, and test steps.\nThe former uses the default compiler, oftentimes GCC, and the latter uses Clang.\nIn addition to these two workflows, the `ci-gcc`, `ci-clang`, and `coverage-clang` presets can be used to perform the exact workflows used in CI.\nThe following command demonstrates how to execute the workflow for the `dev` preset.\n\n[,sh]\n----\ncmake --workflow --preset dev\n----\n\n=== Flatpak\n\nCyrillic Encoder can be built locally as a https://flatpak.org/[Flatpak].\nI might get around to setting up a Flatpak remote using GitHub Pages for easy installation someday.\nFollow these instructions to build the Flatpak.\n\n. Add the Flathub remote to the user's Flatpak installation.\n+\n[,sh]\n----\nflatpak remote-add --user --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo\n----\n\n. Use the `just flatpak` command to build the Flatpak.\n+\n[,sh]\n----\njust flatpak\n----\n\n== Todo\n\n. Switch from CMake to Meson.\n\n== Contributing\n\nContributions in the form of issues, feedback, and even pull requests are welcome.\nMake sure to adhere to the project's link:CODE_OF_CONDUCT.adoc[Code of Conduct].\n\n== Open Source Software\n\nThis project is built on the hard work of countless open source contributors.\nSeveral of these projects are enumerated below.\n\n* https://asciidoctor.org/[Asciidoctor]\n* https://www.boost.org/[Boost {cpp} Libraries]\n* https://github.com/boost-ext/ut[[Boost::ext\\].μt]\n* https://ccache.dev/[ccache]\n* https://github.com/TheLartians/Ccache.cmake[Ccache.cmake]\n* https://clang.llvm.org/[Clang]\n* https://clang.llvm.org/extra/clang-tidy/[Clang-Tidy]\n* https://clang.llvm.org/docs/ClangFormat.html[ClangFormat]\n* https://cmake.org/[CMake]\n* https://cmake-format.readthedocs.io/en/latest/index.html[cmakelang]\n* https://gcc.gnu.org/[GCC]\n* https://git-scm.com/[Git]\n* https://www.linuxfoundation.org/[Linux]\n* https://github.com/microsoft/GSL[Microsoft's GSL]\n* https://github.com/TheLartians/ModernCppStarter[ModernCppStarter]\n* https://ninja-build.org/[Ninja]\n* https://www.qt.io/[Qt]\n\n== Code of Conduct\n\nThe project's Code of Conduct is available in the link:CODE_OF_CONDUCT.adoc[Code of Conduct] file.\n\n== License\n\nThis repository is licensed under the https://www.gnu.org/licenses/gpl-3.0.html[GPLv3], available in the link:LICENSE.adoc[license file].\n\n© 2021-2024 Jordan Williams\n\n== Authors\n\nmailto:{email}[{author}]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fcyrillic-encoder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjwillikers%2Fcyrillic-encoder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjwillikers%2Fcyrillic-encoder/lists"}