Skip to content

Commit

Permalink
Add readthedocs integration
Browse files Browse the repository at this point in the history
  • Loading branch information
misson20000 committed Aug 6, 2024
1 parent 930192b commit 0a00314
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 26 deletions.
36 changes: 36 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -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
32 changes: 6 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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.

0 comments on commit 0a00314

Please sign in to comment.