Skip to content

Commit cfe5242

Browse files
committed
[SYSTEMDS-501] Documentation webpage framework
This commit moves the documentation back to the master branch. It also clean up the previous documentation (by deleting it). Such that we have a clean start. Furthermore this commit, merges back the documentation on master, into the webpage documentation. Related PRs: apache#949 apache#922 Discussion Mails: https://tinyurl.com/yal7fd3r https://preview.tinyurl.com/yal7fd3r
1 parent a4853cf commit cfe5242

File tree

2,979 files changed

+1040660
-123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

2,979 files changed

+1040660
-123
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,8 @@ conf/systemds-env.sh
6161

6262
# Documentation artifacts
6363
docs/_site
64-
docs/api
64+
# TODO Make the API auto generate and relocate into this api folder for webpage
65+
# docs/api
6566

6667
# Test Artifacts
6768
src/test/scripts/**/*.dmlt

bin/README.md

Lines changed: 2 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -19,78 +19,5 @@ limitations under the License.
1919

2020
# Scripts to run SystemDS
2121

22-
This directory contains scripts to launch systemds.
23-
24-
## Setting SYSTEMDS_ROOT environment variable
25-
26-
In order to run SystemDS from your development directory and leave the
27-
SystemDS files untouched, the following setup could be used (example for bash):
28-
The settings are the same if you download a release of SystemDS.
29-
30-
The following example works if you open an terminal at the root of the downloaded release,
31-
or a cloned repository. You can also change the `$(pwd)` with the full path to the folder.
32-
33-
```bash
34-
export SYSTEMDS_ROOT=$(pwd)
35-
export PATH=$SYSTEMDS_ROOT/bin:$PATH
36-
```
37-
38-
It can be beneficial to enter these into your `~/.profile` for linux,
39-
(but remember to change `$(pwd` to the full folder path)
40-
or your environment variables in windows to enable reuse between terminals and restarts.
41-
42-
## Hello World example
43-
44-
To quickly verify that the system is setup correctly.
45-
You can run a simple hello world, using the launch script.
46-
47-
first open an terminal and go to an empty folder, then execute the following.
48-
49-
```bash
50-
# Create a hello World script
51-
echo 'print("HelloWorld!")' > hello.dml
52-
# Execute hello world Script
53-
systemds hello.dml
54-
# Remove the hello.dml
55-
rm hello.dml
56-
```
57-
58-
## Running a first example
59-
60-
To see SystemDS in action a simple example using the `Univar-stats.dml`
61-
script can be executed. This example is taken from the
62-
[SystemML documentation](http://apache.github.io/systemml/standalone-guide).
63-
The relevant commands to run this example with SystemDS will be listed here.
64-
See their documentation for further details.
65-
66-
### Example preparations
67-
68-
```bash
69-
# download test data
70-
wget -P data/ http://archive.ics.uci.edu/ml/machine-learning-databases/haberman/haberman.data
71-
72-
# generate a metadata file for the dataset
73-
echo '{"rows": 306, "cols": 4, "format": "csv"}' > data/haberman.data.mtd
74-
75-
# generate type description for the data
76-
echo '1,1,1,2' > data/types.csv
77-
echo '{"rows": 1, "cols": 4, "format": "csv"}' > data/types.csv.mtd
78-
```
79-
80-
### Executing the DML script
81-
82-
```shell script
83-
bin/systemds Univar-Stats.dml -nvargs X=data/haberman.data TYPES=data/types.csv STATS=data/univarOut.mtx CONSOLE_OUTPUT=TRUE
84-
```
85-
86-
## Using Intel MKL native instructions
87-
88-
To use the MKL acceleration download and install the latest MKL library from [1],
89-
set the environment variables with the MKL-provided script `$ compilervars.sh intel64` and set
90-
the option `sysds.native.blas` in `SystemDS-config.xml`.
91-
92-
[1]: https://software.intel.com/mkl "Intel Math Kernel Library"
93-
94-
## Further reading
95-
96-
More documentation is available in the [docs directory of our github repository](/dev/docs/README.md)
22+
This directory contains scripts to launch SystemDS.
23+
For details look at: [RunSystemDS](/docs/site/run.md).
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,22 @@
11
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<!--
3+
* Licensed to the Apache Software Foundation (ASF) under one
4+
* or more contributor license agreements. See the NOTICE file
5+
* distributed with this work for additional information
6+
* regarding copyright ownership. The ASF licenses this file
7+
* to you under the Apache License, Version 2.0 (the
8+
* "License"); you may not use this file except in compliance
9+
* with the License. You may obtain a copy of the License at
10+
*
11+
* http://www.apache.org/licenses/LICENSE-2.0
12+
*
13+
* Unless required by applicable law or agreed to in writing,
14+
* software distributed under the License is distributed on an
15+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
* KIND, either express or implied. See the License for the
17+
* specific language governing permissions and limitations
18+
* under the License.
19+
-->
220
<profiles version="16">
321
<profile kind="CodeFormatterProfile" name="SystemDS" version="16">
422
<setting id="org.eclipse.jdt.core.formatter.insert_space_after_ellipsis" value="insert"/>
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,22 @@
1+
<!--
2+
{% comment %}
3+
Licensed to the Apache Software Foundation (ASF) under one or more
4+
contributor license agreements. See the NOTICE file distributed with
5+
this work for additional information regarding copyright ownership.
6+
The ASF licenses this file to you under the Apache License, Version 2.0
7+
(the "License"); you may not use this file except in compliance with
8+
the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
{% end comment %}
18+
-->
19+
120
---
221
GENERAL NOTES:
322
* Assign IDs for epics by default with a key range of 10
@@ -321,5 +340,8 @@ SYSTEMDS-410 Lineage Tracing, Reuse and Integration II
321340
* 412 Robust lineage tracing (non-recursive, parfor) OK
322341
* 413 Cache and reuse MultiReturnBuiltin instructions OK
323342

343+
SYSTEMDS-500 Documentation Webpage Reintroduction
344+
* 501 Make Documentation webpage framework OK
345+
324346
Others:
325347
* Break append instruction to cbind and rbind

dev/docs/README.md

Lines changed: 0 additions & 39 deletions
This file was deleted.

docs/Gemfile

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
#-------------------------------------------------------------
2+
#
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
#
20+
#-------------------------------------------------------------
21+
source "https://rubygems.org"
22+
gem "jekyll"
23+
gem "rouge"

docs/README.md

Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
<!--
2+
{% comment %}
3+
Licensed to the Apache Software Foundation (ASF) under one or more
4+
contributor license agreements. See the NOTICE file distributed with
5+
this work for additional information regarding copyright ownership.
6+
The ASF licenses this file to you under the Apache License, Version 2.0
7+
(the "License"); you may not use this file except in compliance with
8+
the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
{% endcomment %}
18+
-->
19+
20+
# Apache SystemDS Documentation
21+
22+
The primary SystemDS documentation is written in markdown (*.md) and can be converted to HTML using
23+
[Jekyll](http://jekyllrb.com).
24+
25+
The Documentation is separated into different parts by sub folders.
26+
27+
``` py
28+
.
29+
├── _layouts
30+
│ ├── global.html # The Default content layout and html file.
31+
├── _site # If run locally a _site folder is generated containing the compiled site.
32+
├── _config.yml # The configuration for jekyll to construct the site.
33+
├── Gemfile.yml # The dependency list for the documentation
34+
├── index.md # The main entry File
35+
├── _layouts
36+
│ ├── global.html
37+
├── css # The style files folder
38+
├── img # The Images folder
39+
├── js # The JavaScript folder
40+
├── site # The different pages in the documentation
41+
├── api # Contains autogenerated files. Don't touch manually
42+
│ ├── java # The generated Java docs from source code.
43+
│ ├── python # The generated Python docs from source code.
44+
```
45+
46+
## Ubuntu Install
47+
48+
1. Install Ruby development environment [Jekyll on Ubuntu](https://jekyllrb.com/docs/installation/ubuntu/).
49+
2. Install Jekyll inside the Ruby environment.
50+
51+
- `gem install jekyll jekyll-redirect-from bundler pygments.rb`
52+
- To do this you might need to change permissions on folders `/var/lib/gems` and `/var/lib/gems/2.5.0`.
53+
- The Pygments package is optional, and does require sudo permissions.
54+
55+
3. Install python dependencies (Optionally).
56+
57+
- `pip install Pygments`
58+
59+
4. Launch the Documentation locally
60+
61+
- `jekyll serve -w`
62+
- This is done from the root of the gh-pages branch of the system.
63+
- The serving will per default be on localhost port 4000 [Link](http://localhost:4000)
64+
65+
### Update API
66+
67+
To update the API documentation run the `updateAPI.sh` file.
68+
Note that you have to install both the Java and Python -doc dependencies.
69+
70+
## Mac Install
71+
72+
Jekyll (and optionally Pygments) can be installed on the Mac OS in the following manner.
73+
74+
```bash
75+
brew install ruby
76+
gem install jekyll
77+
gem install jekyll-redirect-from
78+
gem install bundler
79+
brew install python
80+
pip install Pygments
81+
gem install pygments.rb
82+
```
83+
84+
To generate SystemDS documentation in HTML, navigate to the ```docs``` folder, the root directory of the
85+
documentation. From there, you can have Jekyll convert the markdown files to HTML. If you run in server mode,
86+
Jekyll will serve up the generated documentation by default at <http://127.0.0.1:4000>. Modifications
87+
to *.md files will be converted to HTML and can be viewed in a web browser.
88+
89+
```bash
90+
jekyll serve -w
91+
```

docs/_config.yml

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
#-------------------------------------------------------------
2+
#
3+
# Licensed to the Apache Software Foundation (ASF) under one
4+
# or more contributor license agreements. See the NOTICE file
5+
# distributed with this work for additional information
6+
# regarding copyright ownership. The ASF licenses this file
7+
# to you under the Apache License, Version 2.0 (the
8+
# "License"); you may not use this file except in compliance
9+
# with the License. You may obtain a copy of the License at
10+
#
11+
# http://www.apache.org/licenses/LICENSE-2.0
12+
#
13+
# Unless required by applicable law or agreed to in writing,
14+
# software distributed under the License is distributed on an
15+
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16+
# KIND, either express or implied. See the License for the
17+
# specific language governing permissions and limitations
18+
# under the License.
19+
#
20+
#-------------------------------------------------------------
21+
22+
highlighter: rouge
23+
markdown: kramdown
24+
25+
kramdown:
26+
entity_output: numeric
27+
28+
include:
29+
- img
30+
- api/python/
31+
32+
exclude:
33+
- README.md
34+
- updateAPI.sh
35+
36+
# These allow the documentation to be updated with newer releases
37+
SYSTEMDS_VERSION: 2.0.0-SNAPSHOT
38+
39+
# if 'analytics_on' is true, analytics section will be rendered on the HTML pages
40+
analytics_on: true
41+
analytics_provider: google_universal
42+
analytics_google_universal_tracking_id : UA-71553733-1

0 commit comments

Comments
 (0)