The Aurora website is powered by [Middleman](http://middlemanapp.com/), a static website generator
written in ruby. If you'd like to learn more about Middleman and how it works, their official
websites have helpful documentation.
-
+
## Setup
For most website-related changes, knowledge of Middleman or Ruby are unnecessary; Middleman is
used to convert markdown files to HTML and handle dynamic templates.
* `source/`, which includes site templates and markdown files. This is the directory you will
revise documents in 99% of the time.
- * `publish/`, where static-generated HTML files app live. Files in this directory are generated
+ * `content/`, where static-generated HTML files app live. Files in this directory are generated
when the `rake2.0 build` command is run, and these files are served via HTTP on the Aurora
website.
* `tmp/`, a directory used when cloning the remote project repository before processing
testing the website during development. More info below.
## Running and Developing the Website
-### Setting up Local Dev Environment
-The build environment for the website is managed by Vagrant. To initialize the environment run:
- vagrant up
+### Setting up Local Dev Environment using Docker
+From the root of the repository run the following:
-This will prepare the environment and generate the site. Your local repository
-(the directory containing this README) will be mounted at `/vagrant` in the
-virtual machine.
+$ docker run -it -v $(pwd):/website -p 4567:4567 apache/aurora-website:dev
-**Note:** all rake commands must be run from `/vagrant`.
+Execute the remainder of the commands inside of this docker container.
### Generating the site
To generate the site one only needs to run `rake2.0` after performing the setup
task automates the process of fetching the markdown, performing some translations, and
storing it in a version-specific directory under `source/documentation`.
-First, prepare the vagrant environment and move into the `/vagrant` directory:
-
- $ vagrant up
- $ vagrant ssh
- vagrant@vagrant-ubuntu-trusty-64:~$ cd /vagrant
-
You will use the `generate_docs` rake task to fetch the docs you wish to place on the website.
This task takes two arguments - `title` and `git_tag`. The title is the name to give this branch
of documentation.
After completing an official Aurora release, you should add the new version of documentation and
advertise the release on the website.
+$RELEASE in this case is the number version of the release (i.e. 0.22.0).
+
First, add the new release to the top of `data/downloads.yml`.
-
+
# Add documentation for the new release
rake2.0 generate_docs[$RELEASE,$RELEASE]
# Render the docs.
rake2.0
-### Development
-To live edit the site run `rake2.0 dev` and then open a browser window to
-`http://192.168.33.10:4567`. Any change you make to the sources dir will
-be shown on the local dev site immediately. Errors will be shown in the
+### Development
+To live edit the site run `rake2.0 dev` and then open a browser window to
+`http://localhost:4567`. Any change you make to the sources dir will
+be shown on the local dev site immediately. Errors will be shown in the
console you launched `rake2.0 dev` within.
## Contributing Website Changes
Have you made local changes that you would like to contribute to the website?
-While we use Apache [ReviewBoard](http://reviews.apache.org) for changes to the primary Aurora
-codebase, website changes are currently reviewed by attaching diffs to Apache JIRA tickets.
+Make a PR to our website repository through Github.
## Publishing Changes to the Website
All project committers have access to commit to the Aurora website; we encourage those without
commit access to contribute changes by following the steps above.
-The website uses svnpubsub to sync changes in this SVN repository with the live site. The publish
-folder contains the websites content and when committed to the svn repository it will be
-automatically deployed. Note: there is sometimes a slight delay between committing to SVN and
-appearing online.
+The website uses Apache Infra tooling to sync this Git repository with the live site.
+
+The content folder contains the websites content and when changes are committed to the asf-staging
+or asf-site branches, changes will be automatically deployed.
+
+Before committing ensure that changes from source/ have been properly built in the `content/`
+directory.
+
+`$ git add content source`
+`$ git commit -m "Message describing the website changes you've made."`
+
+Updates to the current website should first be submitted as a Pull Request to the asf-staging branch.
+
+Once the PR has been merged in the asf-staging branch, a live preview will be available at:
+https://aurora.staged.apache.org/
-Before commiting, ensure that changes from source/ have been properly built in the `publish/`
-directory. Changes will be published to the website by running:
+If the site looks good and functions correctly, a PR should be made to the asf-site branch
+from the asf-staging branch, squashing all commits into a single commit detailing
+the change (usually a release).
- svn commit -m "Message describing the website changes you've made."
+Note: there is sometimes a slight delay between merging PRs and
+changes appearing online.
### Apache License
Except as otherwise noted this software is licensed under the
+++ /dev/null
-# -*- mode: ruby -*-
-# vi: set ft=ruby :
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
-VAGRANTFILE_API_VERSION = "2"
-
-Vagrant.require_version ">= 1.5.0"
-
-Vagrant.configure(2) do |config|
- config.vm.box = "ubuntu/trusty64"
-
- config.vm.network :private_network, ip: "192.168.33.10"
- config.vm.provider :virtualbox do |vb|
- vb.customize ["modifyvm", :id, "--memory", "4096"]
- vb.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]
- end
- config.vm.provision "shell", path: "provision.sh"
-end