diff --git a/blog/2022/12/20/hacking-on-rose/.src/index_gpt.md b/blog/2022/12/20/hacking-on-rose/.src/index_gpt.md new file mode 100644 index 0000000..b18b23f --- /dev/null +++ b/blog/2022/12/20/hacking-on-rose/.src/index_gpt.md @@ -0,0 +1,34 @@ +Hacking on the Rose browser +=========================== + +I recently had the pleasure of tinkering with the [rose browser](https://github.com/mini-rose/rose) for a few days. It's a Linux-based minimalist web browser, making it easy and fun to customize. To help others who may explore this project, I decided to leave some notes about my experience. + +Rose is written in C and takes advantage of the WebKit and GTK libraries. WebKit, which drives Safari, is a fork of the open-source KHTML and KJS libraries. GTK, on the other hand, is a library for enabling graphical user interfaces. You can utilize both libraries simultaneously by using WebKitGTK. + +Personally, I have found solace in the simplicity of this code. Nevertheless, for usability purposes and for my own enjoyment, I have been adding some code to it. You can have a look at my edits [here](https://github.com/NunoSempere/rose-browser). + +I've made two main changes to the [Rose Browser](https://github.com/NunoSempere/rose-browser): + +1. I've implemented a [reader mode](https://github.com/NunoSempere/rose-browser/tree/personal/plugins/readability) +2. I've added [redirection functionality](https://github.com/NunoSempere/rose-browser/tree/personal/plugins/libre_redirect), which redirects users to open source frontends of otherwise annoying websites. + +The reader mode allows readers to access a page in a more visually-appealing way; it returns a page that is easy and enjoyable to read. + + +Check out this [picture](https://i.imgur.com/ExEoWqq.png) of a great newsletter, where you can read its content. + +When presented with the unpleasant experience of reading Matt Levine's newsletter: + + + +![An image of an overcrowded newsletter full of advertisements](https://i.imgur.com/uRDsnXB.png) + +I obtained the code for this from [Firefox](https://github.com/mozilla/readability). Subsequently, I implemented it within WebKit and made a few modifications. + +I offer an alternative version of [LibRedirect](https://libredirect.codeberg.page/), which redirects annoying webpages to better, open-source alternatives. + +![List of sites to which I have redirected traffic](https://i.imgur.com/NRo9wrF.png) + +I have added instructions for installing the Rose browser on [Ubuntu 20.04](https://github.com/NunoSempere/rose-browser/raw/personal/rose), which is the version I am currently using. + +If you are a dear friend who is using Linux, please reach out for assistance if you run into any difficulties while attempting to install this. diff --git a/blog/2022/12/20/hacking-on-rose/.src/libre_redirect.png b/blog/2022/12/20/hacking-on-rose/.src/libre_redirect.png new file mode 100644 index 0000000..610cf89 Binary files /dev/null and b/blog/2022/12/20/hacking-on-rose/.src/libre_redirect.png differ diff --git a/blog/2022/12/20/hacking-on-rose/.src/matt-levine-clean.png b/blog/2022/12/20/hacking-on-rose/.src/matt-levine-clean.png new file mode 100644 index 0000000..730208c Binary files /dev/null and b/blog/2022/12/20/hacking-on-rose/.src/matt-levine-clean.png differ diff --git a/blog/2022/12/20/hacking-on-rose/.src/matt-levine-og.png b/blog/2022/12/20/hacking-on-rose/.src/matt-levine-og.png new file mode 100644 index 0000000..6fd184d Binary files /dev/null and b/blog/2022/12/20/hacking-on-rose/.src/matt-levine-og.png differ diff --git a/blog/2022/12/20/hacking-on-rose/.src/rose-blog-2.png b/blog/2022/12/20/hacking-on-rose/.src/rose-blog-2.png new file mode 100644 index 0000000..ce8ec1d Binary files /dev/null and b/blog/2022/12/20/hacking-on-rose/.src/rose-blog-2.png differ diff --git a/blog/2022/12/20/hacking-on-rose/.src/rose-blogpost.png b/blog/2022/12/20/hacking-on-rose/.src/rose-blogpost.png new file mode 100644 index 0000000..dee6fab Binary files /dev/null and b/blog/2022/12/20/hacking-on-rose/.src/rose-blogpost.png differ diff --git a/blog/2022/12/20/hacking-on-rose/.src/rose-homepage-2.png b/blog/2022/12/20/hacking-on-rose/.src/rose-homepage-2.png new file mode 100644 index 0000000..1d31ec5 Binary files /dev/null and b/blog/2022/12/20/hacking-on-rose/.src/rose-homepage-2.png differ diff --git a/blog/2022/12/20/hacking-on-rose/index.md b/blog/2022/12/20/hacking-on-rose/index.md new file mode 100644 index 0000000..eb5f169 --- /dev/null +++ b/blog/2022/12/20/hacking-on-rose/index.md @@ -0,0 +1,37 @@ +Hacking on the Rose browser +=========================== + +I recently spent a few days hacking on the [rose browser](https://github.com/mini-rose/rose). It's a minimalist browser for Linux machines which is easy to play with. I enjoyed the experience, and thought to leave some notes. + +Rose is written in C, and uses the Webkit and GTK libraries. Webkit, which drives Safari, started out as a fork of some previous open-source libraries, [KHTML](https://en.wikipedia.org/wiki/KHTML) and [KJS](https://en.wikipedia.org/wiki/KJS_%28software%29). [GTK](https://en.wikipedia.org/wiki/GTK) is a library for creating graphical interfaces. You can use the two together using [WebKitGTK](https://webkitgtk.org/). + +![Image of this blogpost from the rose homepage](https://i.imgur.com/0sVCaN7.png) +*
Pictured: An earlier version of this blogpost in the rose browser.* + +Personally, I find the simplicity of the code soothing. Still, to improve usability and for my own enjoyment, I've been adding some code to it. You can have a look at my tweaks [here](https://github.com/NunoSempere/rose-browser). These implement two main changes: + +1. I've implemented a [reader mode](https://github.com/NunoSempere/rose-browser/tree/personal/plugins/readability) +2. I've added [redirection functionality](https://github.com/NunoSempere/rose-browser/tree/personal/plugins/libre_redirect), which redirects users to open source frontends of otherwise annoying websites. + +The reader mode, for instance, returns this beautiful to read page: + +![Pictured: Good newsletter, where you can read the content](https://i.imgur.com/ExEoWqq.png) + +when fed the cluttered aesthetic abomination that is Matt Levine's newsletter: + +![Pictured: Bad newsletter, with lots of advertisements](https://i.imgur.com/uRDsnXB.png) + +I lifted the code for doing this from [Firefox](https://github.com/mozilla/readability), figured out how to integrate it with WebKit, and then made a few modifications. + +As mentioned, I also wrote a version of [LibRedirect](https://libredirect.codeberg.page/) for the rose browser. It which direct annoying websites into better open-source versions: + +![Pictured: list of sites that I am redirecting](https://i.imgur.com/NRo9wrF.png) + +Lastly, I've added some code for installing the Rose browser on [Ubuntu 20.04](https://github.com/NunoSempere/rose-browser/raw/personal/rose), which is what I'm personally using. + +If you are a close friend using Linux feel free to reach out if you get stuck trying to install this. + + +

+ +