So it all begun as a [something]monkey script but I decided to give it a try to web extensions after several years of not touching it. If you don't care about the yada yada, skip right at the...
So it all begun as a [something]monkey script but I decided to give it a try to web extensions after several years of not touching it.
If you don't care about the yada yada, skip right at the bottom now.
Why
So the whole thing revolve around a simple concept: I'd like tildes to remain as lightweight as possible with a simple and clean interface and not too many user settings.
We don't know the full structure of the code yet but, by experience, frontend and backend require quite an effort to be kept in balance so that one or either don't becomes a mess.
From this idea, the next step has been quite obvious. Users that would like a more advanced frontend experience could just download an extension (probably an app for mobile once it becomes possible).
What
Right now the extension does some simple things. It is basically just a porting of the script I made some time ago so you'll get non-tildes link in a new tab and a button to jump to new comments in a topic you already visited.
The extension don't retain any user data. it doesn't care who you are or what you browse. If you're unsure you can check the source code (below).
Future Goals
The immediate priority is to create a "settings" page so you can customize how the features should behave. As an example, about the links in new tab, letting you decide which kind of links should behave like this: all / comment's / text submission's / etc etc. I'm still thinking which are reasonable use-case
After that, I want to try and implement a user's labelling system and that is the reason for the app already requesting access to storage data on the browser. I've yet to figure it out but the gist of it is that I'll store something like username:tag
duplet in your browser localstorage
and on load of a page, check for usernames match and add the label you choose.
Additional Notes
I know the code is dirty. As I said, I didn't touch extensions since... I think more than 6 years ago. Maybe more.
On top of that, I went for jquery and am more of a modern framework JS developer with a strong preference and background as backend developer, so... you know.
I still think I'll stick to jquery because the syntax is quite clear and I want even non-technical people to be able to understand what's going on in the code if they want to double check.
If you want to contribute you're more than welcome but keep in mind that most basic things are still missing. To mention just a couple:
- settings page
- proper isolation of content scripts
- guidelines or at least a sample to use to implement new features
if you have any resource that you used to build something similar (web extension or the like) please share them as I've a goddamn long commute every day and have time to read :)
Links
It should work on any fork of Chrome as well.
I can't assure the same for future development.
Current features:
- Link in new tabs management
- Button to jump to new comments in topics
- Add custom CSS from external URL
- Markdown Preview
- Add User's labels