Apache Daffodil Website

Clone this repo:
  1. 699882d Update 3.1.0 release notes for rc2 changes by Steve Lawrence · 14 hours ago master
  2. ba8ff96 Update 3.1.0 release notes by John Interrante · 3 days ago
  3. 6d0ab85 Add 3.1.0 release notes by Steve Lawrence · 3 days ago
  4. 8bdeb1f Stage release v3.1.0-rc1 by Steve Lawrence · 3 days ago
  5. 89549e7 Only publish site updates from the master branch by Steve Lawrence · 5 days ago

Apache Daffodil Website

The Apache Daffodil website is based off of the Apache Website Template.

The website is generated using Jekyll and some plug-ins for it.

How to deploy this web site

Install Ruby Bundler

Some Linux distributions provide the Ruby Bundler via their package managers, for example, for Fedora:

$ dnf install rubygem-bundler

Install or Update Site Dependencies

$ gem install


$ gem update

Install Jekyll Plug-ins for AsciiDoc and Diagram Rendering

Some content is developed using the AsciiDoc Markdown variant, which supports embedded diagrams created from diagram-specifying text formats.

(You probably want to install these as super-user using sudo.)

$ apt install python-pip
$ pip install blockdiag
$ pip install seqdiag
$ pip install actdiag
$ pip install nwdiag

NOTE: nwdiag actually supports more than one diagram type. It supports nwdiag, packetdiag, rackdiag, etc.

Running Locally

Before opening a pull request, you can preview your contributions by running from within the directory:

$ jekyll serve --watch --source site

If that fails to work due to missing jekyll plugin versions, try:

$ bundle exec jekyll serve --watch --source site

Open http://localhost:4000 to view the site served by Jekyll.

Once satisfied, create a branch and open a pull request using the Daffodil project Code Conttributor Workflow but using the website repo instead of the code repo.

Pushing to the Live Site

Daffodil uses gitpubsub for publishing to the website. The static content served via apache must be served in the content directory on the asf-site orphan branch. When the changes are merged into the master branch on GitHub, a GitHub action will automatically be triggered and it will perform the necessary steps to publish the site.