If you would like to develop on the browser:
Install node.js and npm.
Recommended: Node 16.x, npm 8.x. Node 19.x is not supported yet.
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.
### 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.
After generating files by following above 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/
An example, PR#83
.
Instruction for adding release specific version of docs to https://systemds.apache.org/docs
**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)
To add a new dataset,
<dataset-name>.md
file in the _src/_datasets
folder._src/assets/datasets/<dataset-name>
folder.If the file sizes are big, use LFS
git lfs install
git add file.zip
git commit -m "Add big file"
git push origin main
And follow the Updating the website procedure.
PR#104
And follow follow, Updating the website procedure.