Skip to content

Commit

Permalink
Add Jekyll tag to isolate "production-only" doc components.
Browse files Browse the repository at this point in the history
Author: Patrick Wendell <pwendell@gmail.com>

Closes #56 from pwendell/jekyll-prod and squashes the following commits:

1bdc3a8 [Patrick Wendell] Add Jekyll tag to isolate "production-only" doc components.
  • Loading branch information
pwendell committed Mar 3, 2014
1 parent c3f5e07 commit 55a4f11
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 6 deletions.
2 changes: 1 addition & 1 deletion dev/create-release/create-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ scp spark* \
# Docs
cd spark
cd docs
jekyll build
PRODUCTION=1 jekyll build
echo "Copying release documentation"
rc_docs_folder=${rc_folder}-docs
rsync -r _site/* $USER_NAME@people.apache.org /home/$USER_NAME/public_html/$rc_docs_folder
Expand Down
19 changes: 16 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,22 @@ We include the Spark documentation as part of the source (as opposed to using a

In this directory you will find textfiles formatted using Markdown, with an ".md" suffix. You can read those text files directly if you want. Start with index.md.

To make things quite a bit prettier and make the links easier to follow, generate the html version of the documentation based on the src directory by running `jekyll build` in the docs directory. Use the command `SKIP_SCALADOC=1 jekyll build` to skip building and copying over the scaladoc which can be timely. To use the `jekyll` command, you will need to have Jekyll installed, the easiest way to do this is via a Ruby Gem, see the [jekyll installation instructions](http://jekyllrb.com/docs/installation). This will create a directory called _site containing index.html as well as the rest of the compiled files. Read more about Jekyll at https://github.com/mojombo/jekyll/wiki.

In addition to generating the site as html from the markdown files, jekyll can serve up the site via a webserver. To build and run a local webserver use the command `jekyll serve` (or the faster variant `SKIP_SCALADOC=1 jekyll serve`), which runs the webserver on port 4000, then visit the site at http://localhost:4000.
The markdown code can be compiled to HTML using the
[Jekyll tool](http://jekyllrb.com).
To use the `jekyll` command, you will need to have Jekyll installed.
The easiest way to do this is via a Ruby Gem, see the
[jekyll installation instructions](http://jekyllrb.com/docs/installation).
Compiling the site with Jekyll will create a directory called
_site containing index.html as well as the rest of the compiled files.

You can modify the default Jekyll build as follows:

# Skip generating API docs (which takes a while)
$ SKIP_SCALADOC=1 jekyll build
# Serve content locally on port 4000
$ jekyll serve --watch
# Build the site with extra features used on the live page
$ PRODUCTION=1 jekyll build

## Pygments

Expand Down
4 changes: 2 additions & 2 deletions docs/_layouts/global.html
Original file line number Diff line number Diff line change
Expand Up @@ -24,9 +24,9 @@

<link rel="stylesheet" href="css/pygments-default.css">

{% production %}
<!-- Google analytics script -->
<script type="text/javascript">
/*
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-32518208-1']);
_gaq.push(['_trackPageview']);
Expand All @@ -36,8 +36,8 @@
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
*/
</script>
{% endproduction %}

</head>
<body>
Expand Down
14 changes: 14 additions & 0 deletions docs/_plugins/production_tag.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
module Jekyll
class ProductionTag < Liquid::Block

def initialize(tag_name, markup, tokens)
super
end

def render(context)
if ENV['PRODUCTION'] then super else "" end
end
end
end

Liquid::Template.register_tag('production', Jekyll::ProductionTag)

0 comments on commit 55a4f11

Please sign in to comment.