Permalink
Browse files

Add Jekyll tag to isolate "production-only" doc components.

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...
1 parent c3f5e07 commit 55a4f11b5064650024bb13c68639665394c03a0c @pwendell pwendell committed Mar 3, 2014
Showing with 33 additions and 6 deletions.
  1. +1 −1 dev/create-release/create-release.sh
  2. +16 −3 docs/README.md
  3. +2 −2 docs/_layouts/global.html
  4. +14 −0 docs/_plugins/production_tag.rb
View
2 dev/create-release/create-release.sh
@@ -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
View
19 docs/README.md
@@ -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
View
4 docs/_layouts/global.html
@@ -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']);
@@ -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>
View
14 docs/_plugins/production_tag.rb
@@ -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.