feat: add new blogpost.

This commit is contained in:
Nuno Sempere 2022-12-20 00:40:57 +00:00
parent fa879e0935
commit dbf67c4661
8 changed files with 71 additions and 0 deletions

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 170 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 208 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 213 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 218 KiB

View File

@ -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)
*<br>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.
<p><section id="isso-thread">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section></p>