Jump to content

GSoC/2024/StatusReports/Ajay Chauhan: Difference between revisions

From KDE Community Wiki
Intincrab (talk | contribs)
Intincrab (talk | contribs)
No edit summary
 
(6 intermediate revisions by 2 users not shown)
Line 8: Line 8:
The problem that this project aims to solve is the need for a reliable and up-to-date
The problem that this project aims to solve is the need for a reliable and up-to-date
epub rendering solution for the Arianna ebook reader.
epub rendering solution for the Arianna ebook reader.
== Mentor ==
Carl Schwan


== Work report ==
== Work report ==
Line 15: Line 19:
* Understood the usage of epub.js in Arianna, including rendering, navigation, annotations, and user interactions
* Understood the usage of epub.js in Arianna, including rendering, navigation, annotations, and user interactions


'''Week 3-4:'''
'''Week 3-6:'''
* Identified all places where epub.js (epub-viewer.js) is integrated with Qt in Arianna, comparing it to foliate-js's implementation of the same features.
* Identified all places where epub.js (epub-viewer.js) is integrated with Qt in Arianna, comparing it to foliate-js's implementation of the same features.
* Prepared a [https://invent.kde.org/graphics/arianna/-/merge_requests/48 draft merge request] to document the changes made.
* Prepared a [https://invent.kde.org/graphics/arianna/-/merge_requests/48 draft merge request] to document the changes made.
* Implemented the core rendering functionality in foliate-js, using the ''view.js'' module to create the main rendering component and implementing the ''open()'' method to load the book. [https://invent.kde.org/graphics/arianna/-/commit/f10232c41e9acb77ffb4a24720f68a3abf3222a9?merge_request_iid=48] [https://invent.kde.org/graphics/arianna/-/commit/82625f0b8993ee425b9646e0addda2294415653d?merge_request_iid=48]
* Started implementing the core rendering functionality in foliate-js, using the ''view.js'' module to create the main rendering component and implementing the ''open()'' method to load the book. [https://invent.kde.org/graphics/arianna/-/commit/f10232c41e9acb77ffb4a24720f68a3abf3222a9?merge_request_iid=48] [https://invent.kde.org/graphics/arianna/-/commit/82625f0b8993ee425b9646e0addda2294415653d?merge_request_iid=48]


'''Week 4-6:'''
'''Week 6-8'''
* Added foliate-js implementation, the ''foliate-view'', ''footnoteHandler'', and ''CursorAutohider'', extending the functionality of the ported epub.js features. [https://invent.kde.org/graphics/arianna/-/commit/96440ba98b2933001da02c1f8ece6388e6ae3cbc?merge_request_iid=48]
* Familiarised myself with the current Foliate ebook reader implementation of the foliate-js.
* Familiarised myself with the current Foliate ebook reader implementation of the foliate-js.
* I was very inactive during this period due to my end semester exams.
'''Week 9-11:'''
* Fixed the book loading process. My mentor helped with this. [https://invent.kde.org/graphics/arianna/-/commit/b0c23adefc65e591189e007004b19451b04f6095?merge_request_iid=48]
* Ported the Table of Contents (TOC) functionality to allow navigation through the book’s structure.[https://invent.kde.org/graphics/arianna/-/commit/af72dacffcd9eb2a35140b15799620d36b97a276?merge_request_iid=48]
* Added metadata handling to update the backend, inform the app when the book is ready. [https://invent.kde.org/graphics/arianna/-/commit/ec5ac4e9ec18cda35bd22b574d8d2e1ec751b8fc?merge_request_iid=48]
[[File:Ported progress bar, slider and table of contents.png|thumb|Screenshot of a progress bar and table of contents (TOC)]]
'''Week 12-13:'''
* Fixed rendering issues that were causing the book to not be visible on the screen. My mentor assisted me with this.[https://invent.kde.org/graphics/arianna/-/commit/a813ec7dea8897307ea7307201fe5602ebd24fad?merge_request_iid=48]
* Resolved text color issues in light theme mode to improve readability and maintain visual consistency[https://invent.kde.org/graphics/arianna/-/commit/6a62b8b07f62eaca407c0a9f3c925cc6d6fa9964?merge_request_iid=48]
* Enabled navigation buttons by setting backend.locationsReady to true in the ready case[https://invent.kde.org/graphics/arianna/-/merge_requests/48/diffs?commit_id=2884ac10a5f90275e08b63d1b529ba1ffea8f5f3]
* Theme Color Handling: Improved the handling of theme colors, ensuring a consistent visual experience across different themes.[https://invent.kde.org/graphics/arianna/-/commit/cf860bf1c1af6e51a04423f7d81f081c739850db?merge_request_iid=48]
'''Week 14-15:'''
* Fix Slider and Update Progress Percentage: Fixed the slider functionality to correctly reflect the progress percentage, ensuring accurate progress tracking for users.[https://invent.kde.org/graphics/arianna/-/commit/ee6cae02b72806486e5914a38640f23b2c86887d?merge_request_iid=48]
* Fixed slider functionality, ensuring the reading position is accurately reflected when users interact with the slider.[https://invent.kde.org/graphics/arianna/-/commit/c7622930bda0b040dd716129914b3dd2c6506933?merge_request_iid=48]
* Text Color in Light Theme: Resolved text color issues in the light theme mode [https://invent.kde.org/graphics/arianna/-/commit/c7622930bda0b040dd716129914b3dd2c6506933?merge_request_iid=48]
* Resolved issues with the book progress display, update time left calculation, and popup behavior [https://invent.kde.org/graphics/arianna/-/commit/ee6cae02b72806486e5914a38640f23b2c86887d?merge_request_iid=48]


== Links to Blogs and other writing ==
== Links to Blogs and other writing ==


[https://ajayslog.vercel.app/ Blog (not updated yet)]
* [https://ajayslog.vercel.app/posts/gsoc/ Blog Post #1]
* [https://ajay2.vercel.app/posts/gsoc2/ Blog Post #2]

Latest revision as of 19:06, 4 October 2024

Port Arianna to Foliate-js

Arianna reader uses the epub.js, which is no longer actively maintained. This creates a challenge as the epub.js may not be able to keep up with the evolving standards and new changes. To address this issue, the proposed solution is to port Arianna to Foliate-js, which is an actively maintained epub renderer and has more features compared to epub.js and is used by the Foliate ebook reader.

The problem that this project aims to solve is the need for a reliable and up-to-date epub rendering solution for the Arianna ebook reader.

Mentor

Carl Schwan

Work report

Week 1-2:

  • Thoroughly reviewed the existing epub.js (epub-viewer.js) implementation in Arianna, identifying features and functionalities to be ported to foliate-js.
  • Understood the usage of epub.js in Arianna, including rendering, navigation, annotations, and user interactions

Week 3-6:

  • Identified all places where epub.js (epub-viewer.js) is integrated with Qt in Arianna, comparing it to foliate-js's implementation of the same features.
  • Prepared a draft merge request to document the changes made.
  • Started implementing the core rendering functionality in foliate-js, using the view.js module to create the main rendering component and implementing the open() method to load the book. [1] [2]

Week 6-8

  • Familiarised myself with the current Foliate ebook reader implementation of the foliate-js.
  • I was very inactive during this period due to my end semester exams.

Week 9-11:

  • Fixed the book loading process. My mentor helped with this. [3]
  • Ported the Table of Contents (TOC) functionality to allow navigation through the book’s structure.[4]
  • Added metadata handling to update the backend, inform the app when the book is ready. [5]
Screenshot of a progress bar and table of contents (TOC)

Week 12-13:

  • Fixed rendering issues that were causing the book to not be visible on the screen. My mentor assisted me with this.[6]
  • Resolved text color issues in light theme mode to improve readability and maintain visual consistency[7]
  • Enabled navigation buttons by setting backend.locationsReady to true in the ready case[8]
  • Theme Color Handling: Improved the handling of theme colors, ensuring a consistent visual experience across different themes.[9]

Week 14-15:

  • Fix Slider and Update Progress Percentage: Fixed the slider functionality to correctly reflect the progress percentage, ensuring accurate progress tracking for users.[10]
  • Fixed slider functionality, ensuring the reading position is accurately reflected when users interact with the slider.[11]
  • Text Color in Light Theme: Resolved text color issues in the light theme mode [12]
  • Resolved issues with the book progress display, update time left calculation, and popup behavior [13]

Links to Blogs and other writing