Apache Spark Website

Clone this repo:
  1. 7417ec5 Update Spark committers list to include Anton Okolnychyi (#638) by Anton Okolnychyi · 6 hours ago asf-site
  2. ee61090 Add Spark 3.5.7 release notes (#637) by Peter Toth · 7 hours ago
  3. d781ac9 Fix TOC of release process documentation by Peter Toth · 14 hours ago
  4. 64c1b04 Add docs for Apache Spark 3.5.7 by dongjoon-hyun · 30 hours ago
  5. 0cff6da Update `rexml` to version 3.4.4 (#635) by Bjørn Jørgensen · 2 days ago

Generating the website HTML

In this directory you will find text files formatted using Markdown, with an .md suffix.

Building the site requires Ruby 3, Jekyll, and Rouge. The easiest way to install the right version of these tools is using Bundler and running bundle install in this directory.

See also https://github.com/apache/spark/blob/master/docs/README.md

A site build will update the directories and files in the site directory with the generated files. Using Jekyll via bundle exec jekyll locks it to the right version. So after this you can generate the html website by running bundle exec jekyll build in this directory. Use the --watch flag to have jekyll recompile your files as you save changes.

In addition to generating the site as HTML from the Markdown files, jekyll can serve the site via a web server. To build the site and run a web server use the command bundle exec jekyll serve which runs the web server on port 4000, then visit the site at http://localhost:4000.

Please make sure you always run bundle exec jekyll build after testing your changes with bundle exec jekyll serve, otherwise you end up with broken links in a few places.

Updating Jekyll version

To update Jekyll or any other gem please follow these steps:

  1. Update the version in the Gemfile
  2. Run bundle update which updates the Gemfile.lock
  3. Commit both files

Docs sub-dir

The docs are not generated as part of the website. They are built separately for each release of Spark from the Spark source repository and then copied to the website under the docs directory. See the instructions for building those in the readme in the Spark project's /docs directory.

Rouge and Pygments

We also use Rouge for syntax highlighting in documentation Markdown pages. Its HTML output is compatible with CSS files designed for Pygments.

To mark a block of code in your Markdown to be syntax highlighted by jekyll during the compile phase, use the following syntax:

{% highlight scala %}
// Your Scala code goes here, you can replace Scala with many other
// supported languages too.
{% endhighlight %}

You probably don't need to install that unless you want to regenerate the Pygments CSS file. It requires Python, and can be installed by running sudo easy_install Pygments.

Merge PR

To merge pull request, use the merge_pr.py script which also squashes the commits.