Project goal: Using alternative tooling (Antora or Hugo) to build the Jenkins static site and provide documentation per Jenkins version
Skills to study/improve: Web development, AsciiDoc, Static website tooling, Proof of concept, Documentation
Jenkins.io is generated as a static website from AsciiDoc sources stored in GitHub. One of the drawback of the current build method is that the technical documentation is not product version bound. It is thus not possible to view the documentation for a given Jenkins version. Only the latest can be viewed. This can lead to unnecessary confusion.
Two tools are currently looked at whether they can solve the requirement, while keeping the existing functionalities and automation: Antora or Hugo.
The potential GSoC project would be to build a working tooling to generate the site in its existing form and to demonstrate the new documentation requirement. Based on these implementations (Antora or Hugo based), the Community would choose which path to go for the modernization of Jenkins.io.
Most likely we will lean towards an approach using Antora, as it is a site generator for producing websites in AsciiDoc that appears to offer exactly the kind of features we are looking for.
Web development
Asciidoc
Static website tooling
Proof of concept
Documentation
The deliverables of the project(s) would be:
A fully automated (CI ready) build procedure, equivalent to the existing one
Demonstration that all the existing pages are rendered in an equivalent way
Suggestions of improved page design(s)
A list of all automation that are difficult/impossible to port to the new tool
Suggestions and demos of alternative ways to solve this
Demonstration of the versioned documentation automated tooling
Description of the publication process (how does one contribute to document a new or modified feature)
Basically any good-first-issue listed in the jenkins.io GitHub repo would do. These can be accessed at the GitHub repo issues tracker with the "good first issue" label.