This repository contains the source code for a modern version of the Jenkins documentation website, built using Vite.js and React.
This project aims to provide a faster, more modern, and developer-friendly platform for Jenkins documentation and related content, including:
- Core Jenkins documentation
 - Blog posts
 - Security advisories
 - Changelogs (Stable/LTS and Weekly)
 - Event information
 - Contributor guidelines
 - And more related Jenkins project information (Awards, Artwork, Books, etc.)
 
This project is part of Google Summer of Code (GSoC) 2025, focusing on modernizing the Jenkins documentation infrastructure and improving the developer experience.
- Framework: React
 - Build Tool: Vite
 - Styling: Primarily Material UI (MUI) components and custom CSS
 - Routing: React Router
 - Content: Data often fetched from static JSON/YAML files
 - Web Components: Uses 
@jenkinsci/jenkins-io-components 
- Node.js (check 
package.jsonfor version compatibility if needed) - npm or yarn
 
- Clone the repository:
git clone <repository-url> cd <repository-directory>
 - Install dependencies:
npm install # or yarn install 
- Run the development server:
This command will also run pre-dev scripts (
npm run dev # or yarn devscripts/blog-assets.mjs). - Open your browser to 
http://localhost:3000(or the port specified invite.config.jsor terminal output). 
- Run the build command:
This command runs pre-build scripts (
npm run build # or yarn buildscripts/blog-assets.mjs,scripts/security-build.mjs) and the Vite build, followed by a post-build script (scripts/blog-build.mjs). - The production-ready files will be generated in the 
distdirectory. 
├── content/             # Datas of blog and authors to load
├── public/              # Static assets and data files (JSON, YAML)
├── scripts/             # Build-related scripts (blog, security data processing)
├── src/
│   ├── components/      # Reusable React components
│   ├── images/          # Source images
│   ├── pages/           # Page components corresponding to routes
│   ├── styles/          # Global CSS
│   ├── theme.js         # MUI theme configuration
│   ├── utils/           # Utility functions (e.g., data loading)
│   ├── App.jsx          # Main application component with routing
│   └── main.jsx         # Application entry point
├── vite.config.js       # Vite configuration
├── package.json         # Project dependencies and scripts
└── README.md            # This file
We welcome contributions from the community! Here's how you can contribute to this Jenkins Documentation Site:
- 
Report Issues: If you find bugs or have suggestions for improvements, please open an issue with a clear description and steps to reproduce.
 - 
Submit Pull Requests:
- Fork the repository
 - Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
 - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
 
 - 
Content Contributions:
- For documentation updates, modify the relevant content files in the appropriate directories
 - For blog posts, follow the existing structure and format in the blog content directories
 - Ensure all content follows Jenkins documentation standards
 
 - 
Code Contributions:
- Follow the existing code style and project structure
 - Add tests for new functionality when applicable
 - Update documentation to reflect your changes
 - Ensure your code passes all existing tests
 
 - 
Review Process:
- All contributions will be reviewed by maintainers
 - Address feedback and requested changes promptly
 - Be patient and responsive during the review process
 
 
- Set up your local development environment as described in the "Getting Started" section
 - Make sure all tests pass before submitting changes
 - Test your changes thoroughly in different browsers if applicable
 
- Join the Jenkins developers mailing list for discussions
 - Participate in Jenkins community meetings
 - Reach out to maintainers for guidance on larger contributions
 
We appreciate all contributions, whether it's fixing typos, adding new features, or improving documentation!