https://github.com/apache/systemds-website
Apache SystemDS Website
https://github.com/apache/systemds-website
gulp jekyll systemds
Last synced: about 1 year ago
JSON representation
Apache SystemDS Website
- Host: GitHub
- URL: https://github.com/apache/systemds-website
- Owner: apache
- License: apache-2.0
- Created: 2015-11-21T08:00:05.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2025-02-03T12:53:03.000Z (over 1 year ago)
- Last Synced: 2025-03-06T16:53:24.807Z (over 1 year ago)
- Topics: gulp, jekyll, systemds
- Language: HTML
- Homepage: https://systemds.apache.org/
- Size: 144 MB
- Stars: 20
- Watchers: 15
- Forks: 25
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# Apache SystemDS Website
> If you would like to develop on the browser:
>
> [](https://gitpod.io/#https://github.com/apache/systemds-website)
## Dependencies
### Node.js and npm
Install [node.js and npm](https://nodejs.org/).
Recommended: Node 16.x, npm 8.x. Node 19.x is not supported yet.
### Gulp
We use Gulp to compile Sass and JS as well as run the Jekyll build. It can be
installed with npm as:
```bash
sudo npm install -g gulp
```
📝If you are upgrading build system, checkout [notes on upgrades](https://github.com/apache/systemds-website/blob/main/CONTRIBUTING.md#notes-on-the-website-technology-stack).
## Building the website
Click to see instructions
### Download website dependencies
```bash
npm install
```
### Build website contents
```bash
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
```bash
gem install jekyll
```
If you are still facing the issue, perhaps the discussion
[here](https://github.com/j143/systemds-website/issues/3) might would give some pointers.
## Updating the website
After generating files by following above instructions.
Click to see instructions
1. Create a new branch (for example, `update-website`) from the `asf-staging` branch.
```bash
git checkout asf-staging
git checkout -b update-website
```
2. Copy the generated files to the website `content` folder.
```bash
cp -r _site/* content/
git add content/*
git commit -m "Update SystemDS website with latest changes"
```
3. Add changes to the personal fork and create a PR against `asf-staging` branch.
```bash
git push https://github.com//systemds-website update-website
```
An example, [`PR#83`](https://github.com/apache/systemds-website/pull/83).
## Release Docs
Instruction for adding release specific version of docs to https://systemds.apache.org/docs
Click to see instructions
**Step 0: Prerequisites**
```sh
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**
```sh
# 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**
```sh
# Build jekyll based docs
jekyll serve -w
```
**Step 2:**
copy the contents to `systemds-website` repo
```sh
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:
```sh
# 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](https://github.com/apache/systemds-website/blob/main/_src/_data/project.yml#L46)
>
> And Update links in the documentation page as
> [`9203626`](https://github.com/apache/systemds-website/commit/9203626f945e11706f36ff6693cd5eda454fe389)
## How to add new dataset
To add a new dataset,
1. create `.md` file in the [`_src/_datasets`](_src/_datasets) folder.
2. Upload dataset files to [`_src/assets/datasets/`](_src/assets/datasets) folder.
If the file sizes are big, use LFS
```bash
git lfs install
git add file.zip
git commit -m "Add big file"
git push origin main
```
And follow the [_Updating the website_](#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`](https://github.com/apache/systemds-website/pull/104/files)
And follow follow, [_Updating the website_](#updating-the-website) procedure.