Apache Daffodil Site

Clone this repo:
  1. 61d109b Update link to Apache NiFi Processors by Steve Lawrence · 5 days ago master
  2. 07b158a Automate building/publishing of the website by Steve Lawrence · 6 days ago
  3. b1a3d50 Updated draft DFDL Spec with warning banner. (#15) by Mike Beckerle · 6 days ago
  4. d763325 Design Note for Daffodil-2192 fix - redesign of nextElementResolver for unparser (#12) by Mike Beckerle · 6 days ago
  5. 1e3d548 Bump daffodil version on unsupported features page by Steve Lawrence · 14 days ago

Apache Daffodil (incubating) Website

The Apache Daffodil (incubating) web site 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

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.