Merge branch 'gh-pages' of https://github.com/spring-projects/gh-pages into gh-pages

This commit is contained in:
Eric Bottard
2017-09-16 16:00:33 +02:00
13 changed files with 198 additions and 94 deletions

View File

@@ -1 +1 @@
ruby-1.9.3 ruby-2.2.0

View File

@@ -1,3 +1,4 @@
source "http://rubygems.org" source "http://rubygems.org"
gem "github-pages" gem "github-pages"
gem "rouge"

View File

@@ -1,50 +1,129 @@
GEM GEM
remote: http://rubygems.org/ remote: http://rubygems.org/
specs: specs:
RedCloth (4.2.9) activesupport (4.2.6)
classifier (1.3.3) i18n (~> 0.7)
fast-stemmer (>= 1.0.0) json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
addressable (2.4.0)
coffee-script (2.4.1)
coffee-script-source
execjs
coffee-script-source (1.10.0)
colorator (0.1) colorator (0.1)
commander (4.1.5) ethon (0.9.0)
highline (~> 1.6.11) ffi (>= 1.3.0)
directory_watcher (1.4.1) execjs (2.7.0)
fast-stemmer (1.0.2) faraday (0.9.2)
github-pages (1) multipart-post (>= 1.2, < 3)
RedCloth (= 4.2.9) ffi (1.9.13)
jekyll (= 1.1.2) gemoji (2.1.0)
kramdown (= 1.0.2) github-pages (86)
liquid (= 2.5.1) github-pages-health-check (= 1.1.0)
maruku (= 0.6.1) jekyll (= 3.1.6)
rdiscount (= 1.6.8) jekyll-coffeescript (= 1.0.1)
redcarpet (= 2.2.2) jekyll-feed (= 0.5.1)
highline (1.6.19) jekyll-gist (= 1.4.0)
jekyll (1.1.2) jekyll-github-metadata (= 2.0.2)
classifier (~> 1.3) jekyll-mentions (= 1.1.3)
jekyll-paginate (= 1.1.0)
jekyll-redirect-from (= 0.10.0)
jekyll-sass-converter (= 1.3.0)
jekyll-seo-tag (= 2.0.0)
jekyll-sitemap (= 0.10.0)
jemoji (= 0.6.2)
kramdown (= 1.11.1)
liquid (= 3.0.6)
listen (= 3.0.6)
mercenary (~> 0.3)
rouge (= 1.11.1)
terminal-table (~> 1.4)
github-pages-health-check (1.1.0)
addressable (~> 2.3)
net-dns (~> 0.8)
octokit (~> 4.0)
public_suffix (~> 1.4)
typhoeus (~> 0.7)
html-pipeline (2.4.1)
activesupport (>= 2, < 5)
nokogiri (>= 1.4)
i18n (0.7.0)
jekyll (3.1.6)
colorator (~> 0.1) colorator (~> 0.1)
commander (~> 4.1.3) jekyll-sass-converter (~> 1.0)
directory_watcher (~> 1.4.1) jekyll-watch (~> 1.1)
kramdown (~> 1.0.2) kramdown (~> 1.3)
liquid (~> 2.5.1) liquid (~> 3.0)
maruku (~> 0.5) mercenary (~> 0.3.3)
pygments.rb (~> 0.5.0) rouge (~> 1.7)
redcarpet (~> 2.2.2) safe_yaml (~> 1.0)
safe_yaml (~> 0.7.0) jekyll-coffeescript (1.0.1)
kramdown (1.0.2) coffee-script (~> 2.2)
liquid (2.5.1) jekyll-feed (0.5.1)
maruku (0.6.1) jekyll-gist (1.4.0)
syntax (>= 1.0.0) octokit (~> 4.2)
posix-spawn (0.3.6) jekyll-github-metadata (2.0.2)
pygments.rb (0.5.2) jekyll (~> 3.1)
posix-spawn (~> 0.3.6) octokit (~> 4.0)
yajl-ruby (~> 1.1.0) jekyll-mentions (1.1.3)
rdiscount (1.6.8) html-pipeline (~> 2.3)
redcarpet (2.2.2) jekyll (~> 3.0)
safe_yaml (0.7.1) jekyll-paginate (1.1.0)
syntax (1.0.0) jekyll-redirect-from (0.10.0)
yajl-ruby (1.1.0) jekyll (>= 2.0)
jekyll-sass-converter (1.3.0)
sass (~> 3.2)
jekyll-seo-tag (2.0.0)
jekyll (~> 3.1)
jekyll-sitemap (0.10.0)
jekyll-watch (1.4.0)
listen (~> 3.0, < 3.1)
jemoji (0.6.2)
gemoji (~> 2.0)
html-pipeline (~> 2.2)
jekyll (>= 3.0)
json (1.8.3)
kramdown (1.11.1)
liquid (3.0.6)
listen (3.0.6)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9.7)
mercenary (0.3.6)
mini_portile2 (2.1.0)
minitest (5.9.0)
multipart-post (2.0.0)
net-dns (0.8.0)
nokogiri (1.6.8)
mini_portile2 (~> 2.1.0)
pkg-config (~> 1.1.7)
octokit (4.3.0)
sawyer (~> 0.7.0, >= 0.5.3)
pkg-config (1.1.7)
public_suffix (1.5.3)
rb-fsevent (0.9.7)
rb-inotify (0.9.7)
ffi (>= 0.5.0)
rouge (1.11.1)
safe_yaml (1.0.4)
sass (3.4.22)
sawyer (0.7.0)
addressable (>= 2.3.5, < 2.5)
faraday (~> 0.8, < 0.10)
terminal-table (1.6.0)
thread_safe (0.3.5)
typhoeus (0.8.0)
ethon (>= 0.8.0)
tzinfo (1.2.2)
thread_safe (~> 0.1)
PLATFORMS PLATFORMS
ruby ruby
DEPENDENCIES DEPENDENCIES
github-pages github-pages
rouge
BUNDLED WITH
1.12.5

View File

@@ -4,6 +4,9 @@ Spring's project pages are based on [Jekyll](http://jekyllrb.com) and [GitHub Pa
This approach may sound a little funky (and it is), but it's way better than the misery of Git submodules. In fact, it's actually pretty easy. If you're just getting started, then follow the directions immediately below. If you're needing a refresher on how to keep things up to date, then head to the section at the bottom on "keeping up to date". This approach may sound a little funky (and it is), but it's way better than the misery of Git submodules. In fact, it's actually pretty easy. If you're just getting started, then follow the directions immediately below. If you're needing a refresher on how to keep things up to date, then head to the section at the bottom on "keeping up to date".
> ***Note:*** Github changed their rendering (a lot) in April 2016. If you are seeing pages build failures since that time, then you probably need to merge some changes from this upstream. Follow the instructions below, and for testing locally use rubiy 2.x and don't forget to `bundle exec ...` everything.
# How to start a new `gh-pages` project page # How to start a new `gh-pages` project page
@@ -95,7 +98,7 @@ Assuming you're already within your project's clone directory, and you've alread
### Install jekyll if you have not already ### Install jekyll if you have not already
> **Note:** Jekyll 1.1.2 is a known good version, and it is specifically referred to in `Gemfile.lock` so you have to use `bundle` (not `gem install ...`) to install it: > **Note:** Jekyll 3.0.4 is a known good version, and it is specifically referred to in `Gemfile.lock` so you have to use `bundle` (not `gem install ...`) to install it:
gem install bundler gem install bundler
bundle bundle
@@ -104,7 +107,7 @@ Assuming you're already within your project's clone directory, and you've alread
Use the `--watch` flag to pick up changes to files as you make them, allowing you a nice edit-and-refresh workflow. Use the `--watch` flag to pick up changes to files as you make them, allowing you a nice edit-and-refresh workflow.
jekyll serve --watch bundle exec jekyll serve --watch
> **Important:** Because the `baseurl` is set explicitly within your project's `_config.yml` file, you'll need to fully-qualify the URL to view your project. For example, if your project is named "spring-xyz", your URL when running Jekyll locally will be <http://localhost:4000/spring-xyz/>. Don't forget the trailing slash! You'll get a 404 without it. > **Important:** Because the `baseurl` is set explicitly within your project's `_config.yml` file, you'll need to fully-qualify the URL to view your project. For example, if your project is named "spring-xyz", your URL when running Jekyll locally will be <http://localhost:4000/spring-xyz/>. Don't forget the trailing slash! You'll get a 404 without it.

View File

@@ -1,11 +1,17 @@
### Global gh-pages pre-amble ### Global gh-pages pre-amble
safe: true safe: true
lsi: false lsi: false
pygments: true highlighter: rouge
markdown: redcarpet markdown: kramdown
redcarpet: encoding: UTF-8
extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"] github: [metadata]
kramdown:
input: GFM
hard_wrap: false
smart_quotes: ["apos", "apos", "quot", "quot"]
gems:
- jekyll-coffeescript
- jekyll-paginate
### The following properties will change on a project-by-project basis ### The following properties will change on a project-by-project basis

View File

@@ -1,7 +1,7 @@
{% if page.badges.twitter %} {% if page.badges.twitter %}
<div class="project-sub-link"> <div class="project-sub-link">
<a href="https://twitter.com/{{ page.badges.twitter }}"> <a href="https://twitter.com/{{ page.badges.twitter }}">
<div class="spring-icon project-badges twitter" alt="Twitter" title="Twitter"> <div class="spring-icon project-badges twitter" title="Twitter">
</div> </div>
</a> </a>
</div> </div>
@@ -9,7 +9,7 @@
{% for badge in page.badges.custom %} {% for badge in page.badges.custom %}
<div class="project-sub-link"> <div class="project-sub-link">
<a href="{{ badge.url }}"> <a href="{{ badge.url }}">
<div class="spring-icon project-badges {{ badge.icon }}" alt="{{ badge.name }}" title="{{ badge.name }}"> <div class="spring-icon project-badges {{ badge.icon }}" title="{{ badge.name }}">
</div> </div>
</a> </a>
</div> </div>

View File

@@ -1,10 +1,10 @@
<head> <head>
<title>{{ site.name }}</title> <title>{{ site.name }}</title>
<link rel="icon" type="image/png" href="{{site.baseurl}}/favicon.png"/> <link rel="icon" type="image/png" href="{{site.baseurl}}/favicon.png" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/bootstrap/css/bootstrap.min.css" /> <link rel="stylesheet" type="text/css" href="{{site.baseurl}}/bootstrap/css/bootstrap.min.css" />
<link href='//fonts.googleapis.com/css?family=Varela+Round|Montserrat:400,700' rel='stylesheet' type='text/css'> <link rel="stylesheet" type="text/css" href="https://fonts.googleapis.com/css?family=Varela+Round|Montserrat:400,700" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/font-awesome/css/font-awesome.min.css" /> <link rel="stylesheet" type="text/css" href="{{site.baseurl}}/font-awesome/css/font-awesome.min.css" />
<link rel="stylesheet" type="text/css" href="{{site.baseurl}}/bootstrap/css/bootstrap-select.css" /> <link rel="stylesheet" type="text/css" href="{{site.baseurl}}/bootstrap/css/bootstrap-select.css" />
@@ -18,21 +18,21 @@
{{ head_links }} {{ head_links }}
<script type="text/javascript" src="{{site.baseurl}}/js/jquery.js"></script> <script src="{{site.baseurl}}/js/jquery.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/bootstrap/js/bootstrap.min.js"></script> <script src="{{site.baseurl}}/bootstrap/js/bootstrap.min.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/bootstrap/js/bootstrap-select.js"></script> <script src="{{site.baseurl}}/bootstrap/js/bootstrap-select.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/underscore.js"></script> <script src="{{site.baseurl}}/js/underscore.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/backbone.js"></script> <script src="{{site.baseurl}}/js/backbone.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/projectDocumentationWidget.js"></script> <script src="{{site.baseurl}}/js/projectDocumentationWidget.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/application.js"></script> <script src="{{site.baseurl}}/js/application.js"></script>
<script type="text/javascript" src="{{site.baseurl}}/js/ZeroClipboard.min.js"></script> <script src="{{site.baseurl}}/js/clipboard.min.js"></script>
<script type="text/javascript"> <script>
var apiBaseUrl = "{{ site.main_site_url }}"; var apiBaseUrl = "{{ site.main_site_url }}",
var projectId = "{{ site.project }}"; projectId = "{{ site.project }}",
var siteBaseUrl = "{{ site.baseurl }}"; siteBaseUrl = "{{ site.baseurl }}";
</script> </script>
<script type="text/javascript" src="{{site.baseurl}}/js/copySnippets.js"></script> <script src="{{site.baseurl}}/js/copySnippets.js"></script>
<meta name="google-site-verification" content="7qGntFPD9lWAVCtUu5U77v4l68PsTHf6xpzgjQv2j2M" /> <meta name="google-site-verification" content="7qGntFPD9lWAVCtUu5U77v4l68PsTHf6xpzgjQv2j2M" />
<script> <script>
var _gaq = _gaq || []; var _gaq = _gaq || [];
@@ -84,12 +84,12 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="search-form--container"> <div class="search-form--container">
<form class="form-inline form-search" <form class="form-inline form-search"
action="{{site.main_site_url}}/search" method="get"> action="{{site.main_site_url}}/search">
<input type="text" <input type="search"
class="search-query search-form--form js-search-input" class="search-query search-form--form js-search-input"
placeholder="Search for documention, guides, and posts..." placeholder="Search for documention, guides, and posts..."
name="q" /> name="q" />
<button type="submit" class="search-form--submit"> <button class="search-form--submit">
<i class="icon-search"></i> <i class="icon-search"></i>
</button> </button>
</form> </form>
@@ -113,10 +113,10 @@
</ul> </ul>
</div> </div>
</div> </div>
&copy; <script type="text/javascript"> var d = new Date(); &copy; <script> var d = new Date();
document.write(d.getFullYear());</script> <a href="https://www.pivotal.io">Pivotal Software</a>, Inc. All Rights Reserved. document.write(d.getFullYear());</script> <a href="https://www.pivotal.io">Pivotal Software</a>, Inc. All Rights Reserved.
<a href="https://www.pivotal.io/terms-of-use">Terms of Use</a> and <a href="https://pivotal.io/terms-of-use">Terms of Use</a> and
<a href="https://www.pivotal.io/privacy-policy">Privacy</a> <a href="https://pivotal.io/privacy-policy">Privacy</a>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -75,6 +75,7 @@ corpus callosum!
* ... * ...
<span id="quick-start"></span> <span id="quick-start"></span>
## Quick Start ## Quick Start
{% include download_widget.md %} {% include download_widget.md %}

File diff suppressed because one or more lines are too long

Binary file not shown.

7
js/clipboard.min.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@@ -1,26 +1,43 @@
window.Spring = window.Spring || {}; window.Spring = window.Spring || {};
ZeroClipboard.setDefaults( { moviePath: siteBaseUrl + '/js/ZeroClipboard.swf' } );
$(document).ready(function() { $(document).ready(function() {
Spring.configureCopyButtons(); Spring.configureCopyButtons();
}); });
Spring.configureCopyButtons = function() { Spring.configureCopyButtons = function() {
if (ZeroClipboard.detectFlashSupport()) {
$(".highlight > pre").each(function(index) { $("pre.highlight").each(function(index) {
Spring.buildCopyButton($(this), index); Spring.buildCopyButton($(this), index);
} }
); );
} var errorMessage = function() {
if (/Mac/i.test(navigator.userAgent)) {
return 'Press Cmd-C to Copy';
}
else {
return 'Press Ctrl-C to Copy';
}
};
var snippets = new Clipboard('.copy-button');
snippets.on('success', function(e) {
e.clearSelection();
Spring.showTooltip(e.trigger, "Copied!");
});
snippets.on('error', function(e) {
Spring.showTooltip(e.trigger, errorMessage());
});
}
Spring.showTooltip = function(elem, message) {
$(elem).tooltip({placement:'right', title:message});
$(elem).tooltip('show');
setTimeout(function(){$(elem).tooltip('destroy');},1000);
} }
Spring.buildCopyButton = function (preEl, id) { Spring.buildCopyButton = function (preEl, id) {
var codeBlockId = "code-block-"+ id; var codeBlockId = "code-block-"+ id;
var copyButtonId = "copy-button-" + id; var copyButtonId = "copy-button-" + id;
preEl.attr('id', codeBlockId); preEl.attr('id', codeBlockId);
var button = $('<button class="copy-button snippet" id="' + copyButtonId + '" data-clipboard-target="' + codeBlockId + '"></button>'); var button = $('<button class="copy-button snippet" id="' + copyButtonId + '" data-clipboard-target="#' + codeBlockId + '"></button>');
preEl.before(button); preEl.before(button);
var zero = new ZeroClipboard(button);
$(zero.htmlBridge).tooltip({title: "copy to clipboard", placement: 'bottom'});
} }

View File

@@ -95,7 +95,7 @@ Spring.SnippetView = Backbone.View.extend({
this.combinedTemplate = _.template( this.combinedTemplate = _.template(
"<div class=\"highlight\"><pre><code>" + "<div class=\"highlight\"><pre><code>" +
downloadTemplate.find("code:first").html() + downloadTemplate.find("code:first").html() +
"{@ if (repository) { @}" + "{@ if (typeof(repository) != \"undefined\") { @}" +
repositoryTemplate.find("code:first").html() + repositoryTemplate.find("code:first").html() +
"{@ } @}" + "{@ } @}" +
"</code></pre></div>" "</code></pre></div>"
@@ -107,9 +107,7 @@ Spring.SnippetView = Backbone.View.extend({
var html = $(this.combinedTemplate(this.model)); var html = $(this.combinedTemplate(this.model));
this.$el.html(html); this.$el.html(html);
if (ZeroClipboard.detectFlashSupport()) { Spring.buildCopyButton(html.find(":first"), "snippet");
Spring.buildCopyButton(html.find(":first"), "snippet");
}
return this; return this;
}, },