Upgrade to Jekyll 3.0

Gemfile:

  - Upgrade to Jekyll 3.x (3.0.1 tested).  This brings several new
    features I want to use, most notably *collections* which allows us
    to add blog-like collections. I've converted the `_releases` and
    `_alerts` pages into collections, although their plugins are
    maintained to handle the Download and Active Alert features.

  - Upgrade to latest Kramdown.

  - Lock Less at 2.4.0.  This prevents breaking our Less plugin.  Jekyll
    3.x provides native support for SCSS, so we may want to switch to
    that in time.

  - Lock HTML Proofer at 2.1.0.  The most recent version was taking
    forever to check our pages (I never actually got it to complete).
    I'll look into it when I get more time.

Makefile:

  - New `make clean` command.  Jekyll 3.x by default attempts to do
    incremental rebuilds.  The new `jekyll clean` command cleans up the
    metadata necessary for than so that a full build is performed, and
    this new `make clean` command is a wrapper around it so that we
    automatically do full rebuilds in the relevant cases.  Note: our
    plugins aren't fully compatible with the incremental rebuilds, but
    I'd like to fix that in the future.

  - Remove WEBrick hack to enable previewing with default URL paths (/
    instead of /index.html).

  - Filter out compliants from Rouge

README.md:

  - Now that Alerts (_alerts) are part of a collection, the file names
    are no longer parsed for dates, so instructions on adding the date
    to the YAML metadata have been added.

_alerts/*:

  - Now that alerts are part of a collection, the file names are no
    longer parsed to provide dates, so a `date:` field has been added to
    the YAML metadata.

_config.yml:

  - Some variables renamed per upgrade instructions.

  - Switched from old default syntax highlighter Pygments to new default
    Rouge.  I tried to use Rouge options to keep new output as similar
    to old output as possible to making diffing easy, but Rouge adds
    extra CSS class info.

  - Move `_alerts` and `_releases` into Jekyll 3.x "collections", which
    provide the organizational features we were using plugins to
    manange.  I haven't removed the old plugins because we still use
    some of their features (alerts.rb provides active issue and banner
    features; releases.rb provides info to Download page)

  - _layouts/* can no longer provide default global metadata; that is now
    provided in the new `defaults:` section in _config.yml.

_layouts/*:

  - Default metadata can no longer be provided in the layout files for
    collections, so I've removed it and left a message to see
    _config.yml.

_plugins/*:

  - Remove filter_for.rb. It's completely broken on Jekyll 3.x because
    of changes to Liquid which prevent adding new arguments to the
    inherited Liquid::For class. Existing uses of filter_for have been
    migrated to built-in for loops prefaced by sorts.

  - Remove remove-html-extension.rb: at it said in the comments, this
    was a temporary hack to get us to Jekyll 3.0.

_releases/*:

  - Rename all the files: prefix a v to the file name so the output html
    (e.g. v10.0.0.html) is the same as the source filename (e.g.
    v10.0.0.md).  This is necessary to migrate them to a Jekyll collection.

  - Remove %v from titles: we have to explicitly set the title, like we
    used to.  Again required for migration to collections.

_templates/events.html & en/rss/events.rss:

  - Sort events by date and then loop with regular for loop rather than
    filter_for

en/alerts.html & en/rss/alerts.rss:

  - Sort alerts by date and then loop with regular for loop rather than
    filter_for

en/bitcoin-core/index.md & en/version-history.html & en/rss/releases.rss:

  - Sort alerts by date and then loop with regular for loop rather than
    filter_for
This commit is contained in:
David A. Harding 2015-09-04 21:27:26 -04:00
parent 02f72f778c
commit 7d98f798ab
No known key found for this signature in database
GPG key ID: 4B29C30FF29EC4B7
62 changed files with 194 additions and 247 deletions

View file

@ -2,22 +2,16 @@ GEM
remote: https://rubygems.org/
specs:
RedCloth (4.2.9)
addressable (2.3.7)
classifier (1.3.3)
fast-stemmer (>= 1.0.0)
addressable (2.4.0)
colorator (0.1)
colored (1.2)
commander (4.1.5)
highline (~> 1.6.11)
commonjs (0.2.7)
ethon (0.7.3)
ethon (0.8.0)
ffi (>= 1.3.0)
execjs (2.6.0)
fast-stemmer (1.0.2)
ffi (1.9.3)
ffi-icu (0.1.2)
ffi (1.9.10)
ffi-icu (0.1.10)
ffi (~> 1.0, >= 1.0.9)
highline (1.6.20)
html-proofer (2.1.0)
addressable (~> 2.3)
colored (~> 1.2)
@ -26,58 +20,51 @@ GEM
parallel (~> 1.3)
typhoeus (~> 0.7)
yell (~> 2.0)
jekyll (1.3.0)
classifier (~> 1.3)
jekyll (3.0.1)
colorator (~> 0.1)
commander (~> 4.1.3)
liquid (~> 2.5.2)
listen (~> 1.3)
maruku (~> 0.6.0)
pygments.rb (~> 0.5.0)
redcarpet (~> 2.3.0)
safe_yaml (~> 0.9.7)
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-sass-converter (1.4.0)
sass (~> 3.4)
jekyll-watch (1.3.0)
listen (~> 3.0)
jshintrb (0.3.0)
execjs
multi_json (>= 1.3)
rake
json (1.8.1)
kramdown (1.6.0)
json (1.8.3)
kramdown (1.9.0)
less (2.4.0)
commonjs (~> 0.2.7)
libv8 (3.16.14.3)
liquid (2.5.4)
listen (1.3.1)
libv8 (3.16.14.13)
liquid (3.0.6)
listen (3.0.5)
rb-fsevent (>= 0.9.3)
rb-inotify (>= 0.9)
rb-kqueue (>= 0.2)
maruku (0.6.1)
syntax (>= 1.0.0)
mercenary (0.3.5)
mini_portile (0.6.2)
mini_portile2 (2.0.0)
multi_json (1.11.2)
nokogiri (1.6.6.2)
mini_portile (~> 0.6.0)
parallel (1.4.1)
posix-spawn (0.3.6)
pygments.rb (0.5.4)
posix-spawn (~> 0.3.6)
yajl-ruby (~> 1.1.0)
nokogiri (1.6.7.1)
mini_portile2 (~> 2.0.0.rc2)
parallel (1.6.1)
rake (10.4.2)
rb-fsevent (0.9.3)
rb-inotify (0.9.2)
rb-fsevent (0.9.7)
rb-inotify (0.9.5)
ffi (>= 0.5.0)
rb-kqueue (0.2.0)
ffi (>= 0.5.0)
redcarpet (2.3.0)
ref (1.0.5)
safe_yaml (0.9.7)
syntax (1.0.0)
therubyracer (0.12.1)
ref (2.0.0)
rouge (1.10.1)
safe_yaml (1.0.4)
sass (3.4.20)
therubyracer (0.12.2)
libv8 (~> 3.16.14.0)
ref
typhoeus (0.7.1)
ethon (>= 0.7.1)
yajl-ruby (1.1.0)
typhoeus (0.8.0)
ethon (>= 0.8.0)
yell (2.0.5)
PLATFORMS
@ -86,10 +73,10 @@ PLATFORMS
DEPENDENCIES
RedCloth
ffi-icu
html-proofer
jekyll (~> 1.3.0)
html-proofer (= 2.1.0)
jekyll (~> 3.0)
jshintrb (~> 0.3.0)
json
kramdown (~> 1.6.0)
less
kramdown
less (= 2.4.0)
therubyracer