My Journey Contributing to Joplin (So Far)
It has been around three weeks since I started contributing to Joplin, and I thought it would be a good idea to document my journey so far. I’ll continue updating this as I progress.
Week 1 — Understanding the Codebase
The first week was mostly about understanding the codebase and figuring out how things work in Joplin. I spent time exploring the repository, reading documentation, and learning how different parts of the project are structured.
I started with a few small contributions:
- #14410 — Added video tutorials to documentation pages
- #14423 — Prevent 4th backtick when closing fenced code block
- #14474 — Add option to disable the Joplin icon for internal note links
These PRs helped me get a better understanding of how the project works and how the contribution workflow looks.
Week 2 — More Contributions
In the second week, I continued contributing and working on more issues.
PRs from this week:
- #14474 — Copying from markdown preview including theme background colour
- #14529 — Translate Find and Replace dialog in Rich Text editor
- #14591 — Auto-scroll to selected note from "Go to Anything" search results
By this point I was getting more comfortable navigating the repository and understanding how features are implemented.
Week 3 — Proposal Research and Plugin Development
During the third week, I started looking at the GSoC ideas list. I was particularly interested in projects related to AI/ML, and ideas 3 and 4 caught my attention.
Since these ideas involve building a plugin, I decided to first understand how Joplin plugins work. I followed the official plugin tutorial:
Using the tutorial as a starting point, I built my first Joplin plugin — a Table of Contents plugin, and made some modifications to it to better understand the plugin architecture.
Repository:
Video demo:
Current Work
I am currently working on this PR:
- #14561 — Added a PDF viewer for the Rich Text editor
At the same time, I have been doing research for Idea #4 and I am close to finishing my first GSoC proposal. I will post it on the forum once it is ready.
I didn’t open any PRs in the last week because I was mostly focused on working on the proposal and researching the architecture.