From 86f37ce7c1826bde23af3252546e2f008ef719ff Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Mon, 25 Apr 2016 17:57:17 +0100 Subject: [PATCH 1/5] Update for changes in github pages --- Gemfile.lock | 158 ++++++++++++++++++++++++++++++++++----------- README.markdown | 5 +- _config.yml | 16 +++-- js/copySnippets.js | 2 +- 4 files changed, 137 insertions(+), 44 deletions(-) diff --git a/Gemfile.lock b/Gemfile.lock index 91118af4..a38db7c6 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,49 +2,133 @@ GEM remote: http://rubygems.org/ specs: RedCloth (4.2.9) - classifier (1.3.3) - fast-stemmer (>= 1.0.0) + activesupport (4.2.6) + i18n (~> 0.7) + 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) - commander (4.1.5) - highline (~> 1.6.11) - directory_watcher (1.4.1) - fast-stemmer (1.0.2) - github-pages (1) + ethon (0.8.1) + ffi (>= 1.3.0) + execjs (2.6.0) + faraday (0.9.2) + multipart-post (>= 1.2, < 3) + ffi (1.9.10) + gemoji (2.1.0) + github-pages (75) RedCloth (= 4.2.9) - jekyll (= 1.1.2) - kramdown (= 1.0.2) - liquid (= 2.5.1) - maruku (= 0.6.1) - rdiscount (= 1.6.8) - redcarpet (= 2.2.2) - highline (1.6.19) - jekyll (1.1.2) - classifier (~> 1.3) + github-pages-health-check (= 1.1.0) + jekyll (= 3.0.4) + jekyll-coffeescript (= 1.0.1) + jekyll-feed (= 0.5.1) + jekyll-gist (= 1.4.0) + jekyll-github-metadata (= 1.11.1) + jekyll-mentions (= 1.1.2) + jekyll-paginate (= 1.1.0) + jekyll-redirect-from (= 0.10.0) + jekyll-sass-converter (= 1.3.0) + jekyll-seo-tag (= 1.3.3) + jekyll-sitemap (= 0.10.0) + jekyll-textile-converter (= 0.1.0) + jemoji (= 0.6.2) + kramdown (= 1.10.0) + liquid (= 3.0.6) + listen (= 3.0.6) + mercenary (~> 0.3) + rdiscount (= 2.1.8) + redcarpet (= 3.3.3) + rouge (= 1.10.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.0) + activesupport (>= 2, < 5) + nokogiri (>= 1.4) + i18n (0.7.0) + jekyll (3.0.4) colorator (~> 0.1) - commander (~> 4.1.3) - directory_watcher (~> 1.4.1) - kramdown (~> 1.0.2) - liquid (~> 2.5.1) - maruku (~> 0.5) - pygments.rb (~> 0.5.0) - redcarpet (~> 2.2.2) - safe_yaml (~> 0.7.0) - kramdown (1.0.2) - liquid (2.5.1) - maruku (0.6.1) - syntax (>= 1.0.0) - posix-spawn (0.3.6) - pygments.rb (0.5.2) - posix-spawn (~> 0.3.6) - yajl-ruby (~> 1.1.0) - rdiscount (1.6.8) - redcarpet (2.2.2) - safe_yaml (0.7.1) - syntax (1.0.0) - yajl-ruby (1.1.0) + jekyll-sass-converter (~> 1.0) + jekyll-watch (~> 1.1) + kramdown (~> 1.3) + liquid (~> 3.0) + mercenary (~> 0.3.3) + rouge (~> 1.7) + safe_yaml (~> 1.0) + jekyll-coffeescript (1.0.1) + coffee-script (~> 2.2) + jekyll-feed (0.5.1) + jekyll-gist (1.4.0) + octokit (~> 4.2) + jekyll-github-metadata (1.11.1) + octokit (~> 4.0) + jekyll-mentions (1.1.2) + html-pipeline (~> 2.3) + jekyll (~> 3.0) + jekyll-paginate (1.1.0) + jekyll-redirect-from (0.10.0) + jekyll (>= 2.0) + jekyll-sass-converter (1.3.0) + sass (~> 3.2) + jekyll-seo-tag (1.3.3) + jekyll (~> 3.0) + jekyll-sitemap (0.10.0) + jekyll-textile-converter (0.1.0) + RedCloth (~> 4.0) + jekyll-watch (1.3.1) + listen (~> 3.0) + jemoji (0.6.2) + gemoji (~> 2.0) + html-pipeline (~> 2.2) + jekyll (>= 3.0) + json (1.8.3) + kramdown (1.10.0) + 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.0.0) + minitest (5.8.4) + multipart-post (2.0.0) + net-dns (0.8.0) + nokogiri (1.6.7.2) + mini_portile2 (~> 2.0.0.rc2) + octokit (4.3.0) + sawyer (~> 0.7.0, >= 0.5.3) + public_suffix (1.5.3) + rb-fsevent (0.9.7) + rb-inotify (0.9.7) + ffi (>= 0.5.0) + rdiscount (2.1.8) + redcarpet (3.3.3) + rouge (1.10.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.5.2) + thread_safe (0.3.5) + typhoeus (0.8.0) + ethon (>= 0.8.0) + tzinfo (1.2.2) + thread_safe (~> 0.1) PLATFORMS ruby DEPENDENCIES github-pages + +BUNDLED WITH + 1.11.2 diff --git a/README.markdown b/README.markdown index b41e3d44..867bb3a1 100644 --- a/README.markdown +++ b/README.markdown @@ -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". +> ***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 @@ -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 -> **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 bundle diff --git a/_config.yml b/_config.yml index a222501f..4fa66a78 100644 --- a/_config.yml +++ b/_config.yml @@ -1,11 +1,17 @@ ### Global gh-pages pre-amble safe: true lsi: false -pygments: true -markdown: redcarpet -redcarpet: - extensions: ["no_intra_emphasis", "fenced_code_blocks", "autolink", "tables", "with_toc_data"] - +highlighter: rouge +markdown: kramdown +encoding: UTF-8 +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 diff --git a/js/copySnippets.js b/js/copySnippets.js index 934708ce..11aba1e9 100644 --- a/js/copySnippets.js +++ b/js/copySnippets.js @@ -8,7 +8,7 @@ $(document).ready(function() { Spring.configureCopyButtons = function() { if (ZeroClipboard.detectFlashSupport()) { - $(".highlight > pre").each(function(index) { + $("pre.highlight").each(function(index) { Spring.buildCopyButton($(this), index); } ); From 83a616b02c49a763f7456f1f7f6594836cda2704 Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Tue, 26 Apr 2016 10:16:05 +0200 Subject: [PATCH 2/5] Upgrade rbenv Ruby version to 2.2.0 --- .ruby-version | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.ruby-version b/.ruby-version index 31af4996..76521af3 100644 --- a/.ruby-version +++ b/.ruby-version @@ -1 +1 @@ -ruby-1.9.3 \ No newline at end of file +ruby-2.2.0 From 25706255a3611c8b329946f81bcc4548eeeadb6d Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Tue, 26 Apr 2016 10:16:38 +0200 Subject: [PATCH 3/5] Fix markdown syntax error The kramdown backend doesn't support titles whithout empty lines before them. --- _sample-pages/project.html | 1 + 1 file changed, 1 insertion(+) diff --git a/_sample-pages/project.html b/_sample-pages/project.html index b0435da4..0fdee0b0 100644 --- a/_sample-pages/project.html +++ b/_sample-pages/project.html @@ -75,6 +75,7 @@ corpus callosum! * ... + ## Quick Start {% include download_widget.md %} From c7ae9c6eeb231675f6d6b52c5bbfae0d17a975fe Mon Sep 17 00:00:00 2001 From: Brian Clozel Date: Tue, 26 Apr 2016 10:17:19 +0200 Subject: [PATCH 4/5] Replace ZeroClipboard with clipboard.js For copy/paste support in our code samples, we are using the ZeroClipboard library which relies heavily on Flash. Because many browsers/extensions are disabling this plugin nowadays, this commit replaces ZeroClipboard with a native, lightweight solution for this feature. --- _includes/page.html | 2 +- js/ZeroClipboard.min.js | 8 ------ js/ZeroClipboard.swf | Bin 1635 -> 0 bytes js/clipboard.min.js | 7 ++++++ js/copySnippets.js | 41 ++++++++++++++++++++++--------- js/projectDocumentationWidget.js | 4 +-- 6 files changed, 38 insertions(+), 24 deletions(-) delete mode 100755 js/ZeroClipboard.min.js delete mode 100644 js/ZeroClipboard.swf create mode 100644 js/clipboard.min.js diff --git a/_includes/page.html b/_includes/page.html index 87df027f..53cf5738 100644 --- a/_includes/page.html +++ b/_includes/page.html @@ -26,7 +26,7 @@ - +