diff --git a/README.md b/README.md deleted file mode 100644 index 549b18b..0000000 --- a/README.md +++ /dev/null @@ -1,76 +0,0 @@ -# eframe template - -[![dependency status](https://deps.rs/repo/github/emilk/eframe_template/status.svg)](https://deps.rs/repo/github/emilk/eframe_template) -[![Build Status](https://github.com/emilk/eframe_template/workflows/CI/badge.svg)](https://github.com/emilk/eframe_template/actions?workflow=CI) - -This is a template repo for [eframe](https://github.com/emilk/egui/tree/master/crates/eframe), a framework for writing apps using [egui](https://github.com/emilk/egui/). - -The goal is for this to be the simplest way to get started writing a GUI app in Rust. - -You can compile your app natively or for the web, and share it using Github Pages. - -## Getting started - -Start by clicking "Use this template" at https://github.com/emilk/eframe_template/ or follow [these instructions](https://docs.github.com/en/free-pro-team@latest/github/creating-cloning-and-archiving-repositories/creating-a-repository-from-a-template). - -Change the name of the crate: Chose a good name for your project, and change the name to it in: -* `Cargo.toml` - * Change the `package.name` from `eframe_template` to `your_crate`. - * Change the `package.authors` -* `main.rs` - * Change `eframe_template::TemplateApp` to `your_crate::TemplateApp` -* `index.html` - * Change the `eframe template` to `your_crate`. optional. -* `assets/sw.js` - * Change the `'./eframe_template.js'` to `./your_crate.js` (in `filesToCache` array) - * Change the `'./eframe_template_bg.wasm'` to `./your_crate_bg.wasm` (in `filesToCache` array) - -### Learning about egui - -`src/app.rs` contains a simple example app. This is just to give some inspiration - most of it can be removed if you like. - -The official egui docs are at . If you prefer watching a video introduction, check out . For inspiration, check out the [the egui web demo](https://emilk.github.io/egui/index.html) and follow the links in it to its source code. - -### Testing locally - -Make sure you are using the latest version of stable rust by running `rustup update`. - -`cargo run --release` - -On Linux you need to first run: - -`sudo apt-get install libxcb-render0-dev libxcb-shape0-dev libxcb-xfixes0-dev libxkbcommon-dev libssl-dev` - -On Fedora Rawhide you need to run: - -`dnf install clang clang-devel clang-tools-extra libxkbcommon-devel pkg-config openssl-devel libxcb-devel gtk3-devel atk fontconfig-devel` - -### Web Locally - -You can compile your app to [WASM](https://en.wikipedia.org/wiki/WebAssembly) and publish it as a web page. - -We use [Trunk](https://trunkrs.dev/) to build for web target. -1. Install the required target with `rustup target add wasm32-unknown-unknown`. -2. Install Trunk with `cargo install --locked trunk`. -3. Run `trunk serve` to build and serve on `http://127.0.0.1:8080`. Trunk will rebuild automatically if you edit the project. -4. Open `http://127.0.0.1:8080/index.html#dev` in a browser. See the warning below. - -> `assets/sw.js` script will try to cache our app, and loads the cached version when it cannot connect to server allowing your app to work offline (like PWA). -> appending `#dev` to `index.html` will skip this caching, allowing us to load the latest builds during development. - -### Web Deploy -1. Just run `trunk build --release`. -2. It will generate a `dist` directory as a "static html" website -3. Upload the `dist` directory to any of the numerous free hosting websites including [GitHub Pages](https://docs.github.com/en/free-pro-team@latest/github/working-with-github-pages/configuring-a-publishing-source-for-your-github-pages-site). -4. we already provide a workflow that auto-deploys our app to GitHub pages if you enable it. -> To enable Github Pages, you need to go to Repository -> Settings -> Pages -> Source -> set to `gh-pages` branch and `/` (root). -> -> If `gh-pages` is not available in `Source`, just create and push a branch called `gh-pages` and it should be available. - -You can test the template app at . - -## Updating egui - -As of 2023, egui is in active development with frequent releases with breaking changes. [eframe_template](https://github.com/emilk/eframe_template/) will be updated in lock-step to always use the latest version of egui. - -When updating `egui` and `eframe` it is recommended you do so one version at the time, and read about the changes in [the egui changelog](https://github.com/emilk/egui/blob/master/CHANGELOG.md) and [eframe changelog](https://github.com/emilk/egui/blob/master/crates/eframe/CHANGELOG.md). diff --git a/assets/images/cshs1.jpg b/assets/images/cshs1.jpg new file mode 100644 index 0000000..ca40472 Binary files /dev/null and b/assets/images/cshs1.jpg differ diff --git a/assets/images/cshs1_hi.jpg b/assets/images/cshs1_hi.jpg new file mode 100644 index 0000000..795a0e7 Binary files /dev/null and b/assets/images/cshs1_hi.jpg differ diff --git a/assets/images/cshs2.jpg b/assets/images/cshs2.jpg new file mode 100644 index 0000000..959b1a5 Binary files /dev/null and b/assets/images/cshs2.jpg differ diff --git a/assets/images/cshs2_hi.jpg b/assets/images/cshs2_hi.jpg new file mode 100644 index 0000000..c487beb Binary files /dev/null and b/assets/images/cshs2_hi.jpg differ diff --git a/assets/images/cshs3.jpg b/assets/images/cshs3.jpg new file mode 100644 index 0000000..164c088 Binary files /dev/null and b/assets/images/cshs3.jpg differ diff --git a/assets/images/cshs3_hi.jpg b/assets/images/cshs3_hi.jpg new file mode 100644 index 0000000..04a3739 Binary files /dev/null and b/assets/images/cshs3_hi.jpg differ diff --git a/assets/images/grezi1.jpg b/assets/images/grezi1.jpg new file mode 100644 index 0000000..22301cd Binary files /dev/null and b/assets/images/grezi1.jpg differ diff --git a/assets/images/grezi1_hi.jpg b/assets/images/grezi1_hi.jpg new file mode 100644 index 0000000..dcb6398 Binary files /dev/null and b/assets/images/grezi1_hi.jpg differ diff --git a/assets/images/grezi2.jpg b/assets/images/grezi2.jpg new file mode 100644 index 0000000..81223f8 Binary files /dev/null and b/assets/images/grezi2.jpg differ diff --git a/assets/images/grezi2_hi.jpg b/assets/images/grezi2_hi.jpg new file mode 100644 index 0000000..6a9faa1 Binary files /dev/null and b/assets/images/grezi2_hi.jpg differ diff --git a/assets/images/grezi3.jpg b/assets/images/grezi3.jpg new file mode 100644 index 0000000..bff0fe3 Binary files /dev/null and b/assets/images/grezi3.jpg differ diff --git a/assets/images/grezi3_hi.jpg b/assets/images/grezi3_hi.jpg new file mode 100644 index 0000000..eabea8b Binary files /dev/null and b/assets/images/grezi3_hi.jpg differ diff --git a/src/app.rs b/src/app.rs index dc2b0ab..8b911a2 100644 --- a/src/app.rs +++ b/src/app.rs @@ -274,7 +274,10 @@ impl ContextWindow { CONTEXT_METRICS, None, 1.0, + #[cfg(target_arch = "wasm32")] env!("PHOST"), + #[cfg(not(target_arch = "wasm32"))] + "file://assets", ); self.text = text diff --git a/src/kdenlive.dj b/src/kdenlive.dj index 54790f9..75a0719 100644 --- a/src/kdenlive.dj +++ b/src/kdenlive.dj @@ -1 +1,11 @@ # Kdenlive Experience + +I've used Kdenlive extensively to edit a variety of different videos. + +- This was a project I did for my school to advertise their Computer Science courses. You can watch it [here](https://nations.lol/s/EjgsfR6wjLfwHMX) + +![My CSHS Ad Image 1](images/cshs1.jpg#256x144) +![My CSHS Ad Image 2](images/cshs2.jpg#256x144) +![My CSHS Ad Image 3](images/cshs3.jpg#256x144) + +- I've made other things in Kdenlive, but I haven't been able to find them at this time. For instance, I edited a video for my mother's [Upcycled Book Making Business](https://scrappapercircus.com) diff --git a/src/python.dj b/src/python.dj index 16384e3..a51ceff 100644 --- a/src/python.dj +++ b/src/python.dj @@ -1,3 +1,7 @@ # Python Experience +Most of my Computer Science courses in primary school were in Python. Most of the stuff I made in those classes aren't anything special. Other than that, I haven't made much in Python, see my [Rust](#rust) experience + +- I got this from my Advanced Programming DE class in high school. + ![Microsoft Technology Associate certificate](images/mta.jpg#512x377) diff --git a/src/rust.dj b/src/rust.dj index d7f259c..a6d36d7 100644 --- a/src/rust.dj +++ b/src/rust.dj @@ -16,3 +16,15 @@ This portfolio uses these Rust crates including but not limited to: You can view the code for this portfolio [here](https://git.nations.lol/fnmain/portfolio) ![A screenshot of my GitHub projects I've worked on in Rust](images/rust_contribs.jpg#256x256) + +- This is a slideshow program I made that uses a custom plain-text language to make animated and engaging presentations. + +![A grezi slide](images/grezi1.jpg#256x144) +![A grezi slide](images/grezi2.jpg#256x144) +![A grezi slide](images/grezi3.jpg#256x144) + +Grezi has a native, as well as a WebAssembly runtime; and can export to any `cairo` supported format. Including PDF, PostScript, SVG/JPG/PNG per slide, etc. You can view the full presentations above in the web runtime + +- [Hashing: Sets & Maps](https://git.nations.lol/grezi/#Hashing%20Sets%20Maps.slideshow) +- [Linked Lists](https://git.nations.lol/grezi/#Linked%20Lists.slideshow) +- [Recursion](https://git.nations.lol/grezi/#recursion.slideshow)