diff --git a/.readthedocs.yaml b/.readthedocs.yaml new file mode 100644 index 0000000..948cee4 --- /dev/null +++ b/.readthedocs.yaml @@ -0,0 +1,36 @@ +# Read the Docs configuration file +# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details + +version: 2 + +build: + os: ubuntu-24.04 + tools: + python: "3.12" + rust: "latest" + apt_packages: + - libgtk-4-dev + - libadwaita-1-dev + - libgdk-pixbuf2.0-dev + - libatk1.0-dev + - libcairo2-dev + - libjpeg8-dev + - libpango1.0-dev + - libgif-dev + - build-essential + - g++ + - xvfb + jobs: + # Take screenshots + pre_build: + - cd doc/screenshotter; xvfb-run cargo run + +sphinx: + configuration: doc/source/conf.py + +formats: +- pdf + +python: + install: + - requirements: doc/requirements.txt diff --git a/README.md b/README.md index e28468f..0152aa0 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,10 @@ # Charm +[![Documentation Status](https://readthedocs.org/projects/charm-ed/badge/?version=latest)](https://charm-ed.readthedocs.io/en/latest/?badge=latest) + A structure-first hex editor focused on improving the user experience in manually annotating binary file structure. -![Screenshot of charm](doc/screenshot.png?raw=true) +![Screenshot of Charm](https://charm-ed.readthedocs.io/en/latest/_images/demo.png) ## Current Features @@ -22,30 +24,8 @@ A structure-first hex editor focused on improving the user experience in manuall - Python analyzer API - Bit-level addressing (also already halfway there) -## Building - -### Ubuntu - -1. Install dependencies: - -``` -sudo apt-get install libgtk-4-dev libadwaita-1-dev libgdk-pixbuf2.0-dev libatk1.0-dev libcairo2-dev libjpeg8-dev libpango1.0-dev libgif-dev build-essential g++ -``` - -2. Build: - -``` -cargo build -``` - -On certain versions of Ubuntu, your version of GTK may be too old for the default configuration, which depends on GTK 4.8. You can disable GTK 4.8 features and build like so, but you may have worse scrolling behavior on Wayland. - -``` -cargo build --no-default-features -F gtk -``` +## Building / Installing -### NixOS +[See documentation for more details](https://charm-ed.readthedocs.io/en/latest/build.html). -``` -nix-shell -p gtk4 gdk-pixbuf atk cairo libjpeg8 pango giflib pkg-config libadwaita -``` +Linux is supported. MacOS and Windows work in theory but may require some elbow grease. \ No newline at end of file