Add missing actions file.
13 files changed
tree: 16d986863f4bf69aa8f44b9c087ae8494b5ffd14
  1. .github/
  2. scripts/
  3. source/
  4. .asf.yaml
  5. .gitignore
  6. .jshintrc
  7. Dockerfile
  8. Gemfile
  9. Gemfile.lock
  10. Gruntfile.js
  11. LICENSE
  12. package.json
  13. README.md
README.md

Apache Libcloud Website

This repository contains source code for a Libcloud website powered by Jekyll.

System Dependencies

  • Ruby >= 3.1.1
  • Jekyll >= 4.2.2
  • Gems: bundler (gem install bundler)
  • jpgoptim (optional, for compressing images)
  • optipng (optional, for compressing images)
  • Node.js (optional, needed for Grunt tasks)

You are strongly encouraged to utilize provided Dockerfile which contains all the dependencies which makes building the website a breeze.

Keep in mind that the initial image build may take a while since all the dependencies need to be installed and build, but subsequent runs should be much faster.

In case you want to install all the dependencies locally outside the Docker container, you are encouraged to install and use rvm and use rvm to install Ruby as shown below.

rvm install 3.1.1
rvm use 3.1.1
gem install bundler -v "2.3.0"

Installing Ruby dependencies

rvm use 3.1.1
bundle install

Installing Node.js dependencies

npm install .

Linting code

node_modules/.bin/grunt lint

Running Local Development Server

docker-run-dev-server.sh
./scripts/run-dev-server.sh
# Non-Docker versions
#./scripts/run-dev-server.sh

This will start Docker container with local development server listening on port 4000 available at http://localhost:4000/.

Building and Publishing the Website

./scripts/docker-build-site.sh
# Non-Docker versions
#./scripts/docker-build-site.sh
./scripts/stage-changes.sh {prod,staging}
git push origin <branch>

Branch Layout

  • master - Contains website source code without the generated content.
  • asf-site - Contains generated website content for production environment.
  • asf-staging - Contains generated website content for staging environment.