Skip to content

Latest commit

 

History

History
45 lines (28 loc) · 2.32 KB

File metadata and controls

45 lines (28 loc) · 2.32 KB

Apache Struts Website

Project Overview

This project contains the source code for the official Apache Struts website (https://struts.apache.org/). It is a static website generated by Jekyll. The site's content is written in Markdown and HTML. The project uses Maven to manage the build process, including fetching and converting documentation from Confluence.

Key Technologies:

  • Jekyll: A static site generator written in Ruby.
  • Maven: A build automation tool used to manage the project's build lifecycle.
  • Java: Used for the custom tools that fetch and convert documentation from Confluence.
  • HTML/CSS/JavaScript: The core technologies used for the website's frontend.
  • Markdown (kramdown): Used for writing the content of the website.

Architecture:

The website is structured as a typical Jekyll project. The main configuration is in _config.yml. The source files are in the source directory. The website's layout and includes are in the _layouts and _includes directories, respectively. The documentation is partially sourced from Confluence and converted to Markdown using custom Java tools managed by Maven.

Building and Running

To build and run the website locally, you can use either Bundler and Jekyll directly or Docker.

Using Bundler and Jekyll:

  1. Install Bundler: gem install bundler
  2. Install dependencies: bundle install
  3. Run the Jekyll server: bundle exec jekyll serve -w --trace --host 0.0.0.0

The website will be available at http://localhost:4000.

Using Docker:

There are shell scripts available to run the website in a Docker container:

  • ./docker-run.sh (for Bash/Sh)
  • ./docker-run.fish (for Fish shell)

These scripts will build the Docker image and run the Jekyll server. The website will be available at http://localhost:4000.

Development Conventions

  • Content: Content is written in Markdown (.md) or HTML (.html) files in the source directory.
  • Styling: The website uses Bootstrap for styling. Custom styles are in the source/css directory.
  • Documentation: The documentation is a mix of Markdown files and content imported from the Struts Confluence wiki. The import process is managed by Maven profiles.
  • Updating the Website: The README.md file contains instructions on how to update the live website.