tree: 5463e0cac6f8b9a007bfdf21e2ca9f41861f6dac [path history] [tgz]
  1. .github/
  2. _src/
  3. branding_assets/
  4. .asf.yaml
  5. .gitattributes
  6. .gitignore
  7. .gitpod.yml
  8. .htaccess
  9. _config.yml
  10. CONTRIBUTING.md
  11. gulpfile.js
  12. LICENSE
  13. NOTICE
  14. package-lock.json
  15. package.json
  16. README.md
README.md

Apache SystemDS Website

If you would like to develop on the browser:

Open in Gitpod online

Dependencies

Node.js and npm

Install node.js and npm.

Recommended: Node 16.x, npm 8.x

Gulp

We use Gulp to compile Sass and JS as well as run the Jekyll build. It can be installed with npm as:

sudo npm install -g gulp

📝If you are upgrading build system, checkout notes on upgrades.

Building the website

Download website dependencies

npm install

Build website contents

gulp

If all goes well it open the site in your browser at http://localhost:3000.

Troubleshooting

Error: spawn jekyll.bat ENOENT can be resolved by

gem install jekyll

If you are still facing the issue, perhaps the discussion here might would give some pointers.

Updating the website

After generating files by following above instructions.

  1. Create a new branch (for example, update-website) from the asf-staging branch.
git checkout asf-staging
git checkout -b update-website
  1. Copy the generated files to the website content folder.
cp -r _site/* content/
git add content/*
git commit -m "Update SystemDS website with latest changes"
  1. Add changes to the personal fork and create a PR against asf-staging branch.
git push https://github.com/<id>/systemds-website update-website

An example, PR#83.

Release Docs

Instruction for adding release specific version of docs to https://systemds.apache.org/docs

Step 0: Prerequisites

git clone https://github.com/apache/systemds
git clone https://github.com/apache/systemds-website

Step 1:

generate docs with as per https://github.com/apache/systemds/tree/main/docs

1.1. API Documentation


# In this case the release tag is 2.1.0-rc3 git checkout 2.1.0-rc3 cd systemds/docs ./updateAPI.sh

1.2. Documentation website

# Build jekyll based docs

jekyll serve -w

Step 2:

copy the contents to systemds-website repo

cd systemds-website

# create a new directory with release no.
mkdir content/docs/2.1.0

# copy the files in docs/_site folder to 2.1.0
cp -r ../systemds/docs/_site/* content/docs/2.1.0

Then follow, https://github.com/apache/systemds-website#updating-the-website

Step 3:

Open a PR against asf-staging branch.

Example PR: https://github.com/apache/systemds-website/pull/94

Website Preview at https://systemds.staged.apache.org

Step 4:

Production release via asf-site branch. For this approval from the team is recommended.

Example PR: https://github.com/apache/systemds-website/pull/95

Now, sync asf-staging and asf-site as:

# apply asf-staging commits onto asf-site
git rebase asf-staging asf-site

git push origin asf-site

Important: Along with this update project metadata by modifying release_version: in _src/_data/project.yml

And Update links in the documentation page as 9203626

How to add new dataset

To add a new dataset,

  1. create <dataset-name>.md file in the _src/_datasets folder.
  2. Upload dataset files to _src/assets/datasets/<dataset-name> folder.

And follow the Updating the website procedure.

How to add contributors to community page

  1. Get the details from https://people.apache.org/phonebook.html
  2. Example PR: PR#104

And follow follow, Updating the website procedure.