New Documentation Site Engine

Mentee: Rajiv Ranjan Singh
Mentors: Indermohan Singh, Meg McRoberts, Suraj Banakar

Rajiv Ranjan Singh

SDE 1 @ Lummo
I graduated in August, 2022 from JSSATE Bengaluru, India

Agenda

  • I will give an overview of the project and the problem we are solving.
  • Overview of work I did in starting phase of GSoC 2022.
  • Overview of work I did in the final phase of GSoC 2022.
  • Will discuss what work is left to be done, challenges I faced, things I learn, etc.

Work Done

Phase 1

  • Initialization and deployment of the documentation engine based on Docusaurus from scratch.
  • Adding UI and UX changes, moving the content and search functionality to the new documentation site engine.
  • Adding documentation search functionality.
  • Adding Versioning of docs support feature.
  • Adding Multiple repository docs support feature.

Phase 2

  • Integrating Lighthouse CI.
  • Adding Vale linter for doc quality checks.
  • Adding Prettier GitHub Action support to format docs.
  • Adding GitHub Action to check broken links in docs.

Future Work to be done

  • Enhancing multiple repository docs support feature.
  • Making good UI/UX for the new documentation site engine. We have to make sure that the UI/UX of the documentation engine is good and easy to use.
  • Migrating the content from the old documentation site engine to the new documentation site engine.
  • Writing our own custom rules for Vale linter. As of now, we are following the Google Style Guide for Vale linter.
  • Adding Docusaurus component which can render shipyard files.

Other than the above work, we can find other suggestions in meeting notes here.

Challenges Faced

  • The most challenging part was the Adding Multiple repository docs support feature but we have implemented it partially.
  • The project requirement was not so clear I was not sure whether the migration of content from the old documentation site engine to the new documentation site engine is part of the project or not.
  • Scheduling meetings like mentors and mentees were at different time zones so it was a little bit hard to sync up but we did it and we had a great meeting.

Learnings

  • Proper PoC and understanding are very important before starting the project or any feature and also we should have other alternatives before choosing the best one.
  • Learned about Keptn, Docusaurus, GitHub Actions, How to make good PRs, How to make proper commit messages, JavaScript XML(JSX), Keptn CLI, MDX, Writing proper documentation, etc.
  • Planning and structuring the requirements for the project and managing high-priority tasks and low-priority tasks.
  • How to work in a team and how to communicate with the team.