Planning my First Tachiyomi Contribution
Published: 2024-01-05 01:14:36

Hi everyone, if you've been following me for a while you may know that I use a comic/manga reader on my phone called [Tachiyomi](https://tachiyomi.org/). I've been wanting to contribute to this project for a while and started looking at open issues that might be good for a first timer like me. So I did some searching between the repos used for their [Android App](https://github.com/tachiyomiorg/tachiyomi) and their [Website](https://github.com/tachiyomiorg/website). I eventually settled for  two issues, this [issue] here (https://github.com/tachiyomiorg/website/issues/1093) that I found on the repo meant for their [website](https://github.com/tachiyomiorg/website). As well as an [issue](https://github.com/tachiyomiorg/tachiyomi/issues/9154) I found on the repo for their [Android app](https://github.com/tachiyomiorg/tachiyomi). I'll talk about them below.

#### What's the Issue on their Website?
This website issue is fairly simple. It's really just making a minor update to their website's documentation. The update that I have to make is in regards to how the app processes locally read files. In short, the app will count the number of files in a folder for a series. Each file is counted as a chapter. However, for a file type, such as EPUB, where all of the chapters are usually in one file. The app is unable to count each chapter, unless the EPUB is broken up into separate files for each chapter of the book/series. So this must be documented on their website.

#### What's the Issue for their Android App
The issue for their Android App seems somewhat simple, essentially I have to make sure that the description of a manga/comic is able to support Markdown. So I really just have to make, sure that things like links, bolds, or italics are properly displayed on the screen for the user to see. Whereas they previously were not being displayed correctly. For example, a link would look like this `[link](www.example.com)` meanwhile it should look like this [link](www.example.com). As you may know, I worked on creating a Python Application that converts Markdown into HTML. So I figured that with my previous Android knowledge with Java, I could learn Android development with Kotlin and tackle this issue. Since there shouldn't be too many differences between Android development with Java and Kotlin.

#### What's the Plan for the Website?
As I said before, this is a fairly simple issue, and kind of serves as a small introduction to contributing to Tachiyomi. So my plan is to ask one of the contributors were this change should be made, and then make a fork of the repo, clone it and create a branch for the issue. This seems fairly straight forward, and shouldn't take too long. 

#### What's the Plan for the Android App?
To tackle this issue, I'm going to try learning Kotlin, which I think should be pretty easy to pick up considering that it isn't too different from Java. To learn it, I'll split it up into two different parts. I'll first learn some of the features, and syntax differences between Java and Kotlin. Then I'll try to create an app or two with Kotlin that should function the same as the Java versions that I created for assignments in class. This should probably take a day or two. After that, I'll leave a comment on the issue saying I'd like to work on this, and ask which file the related code is located in. Then, I can just fork it, clone and create a branch to work on it, and hopefully things go smooth. 

So I'll get to work on this and see you guys in the post talking about my progress. Thanks for reading!