mirror of
https://github.com/seigler/dash-docs
synced 2025-07-26 17:26:12 +00:00
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:
parent
02f72f778c
commit
7d98f798ab
62 changed files with 194 additions and 247 deletions
22
Makefile
22
Makefile
|
@ -12,33 +12,34 @@ JEKYLL_LOG=._jekyll.log
|
|||
#######################
|
||||
|
||||
## `make` (no arguments): just build
|
||||
default: build
|
||||
default: clean build
|
||||
|
||||
## `make preview`: start the built-in Jekyll preview
|
||||
preview:
|
||||
preview: clean
|
||||
$S bundle exec jekyll serve
|
||||
|
||||
## `make test`: don't build, but do run all tests
|
||||
test: pre-build-tests post-build-tests
|
||||
|
||||
## `make valid`: build and run fast tests
|
||||
valid: pre-build-tests-fast build post-build-tests-fast
|
||||
valid: clean pre-build-tests-fast build post-build-tests-fast
|
||||
|
||||
## `make all`: build and run all tests
|
||||
all: pre-build-tests build post-build-tests
|
||||
all: clean pre-build-tests build post-build-tests
|
||||
|
||||
## `make deployment`: for use on build server
|
||||
deployment: install-deps-deployment \
|
||||
deployment: clean install-deps-deployment \
|
||||
valid
|
||||
|
||||
## `make travis`: for use with Travis CI
|
||||
travis: travis-background-keepalive \
|
||||
travis: clean travis-background-keepalive \
|
||||
install-deps-development \
|
||||
all
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## Install dependencies (development version)
|
||||
install-deps-development:
|
||||
bundle install
|
||||
|
@ -95,6 +96,9 @@ manual-checks: manual-check-diff-sha256sums
|
|||
#################
|
||||
ERROR_ON_OUTPUT="sed '1s/^/ERROR:\n/' | if grep . ; then sed 1iERROR ; false ; else true ; fi"
|
||||
|
||||
clean:
|
||||
$S bundle exec jekyll clean
|
||||
|
||||
## Always build using the default locale so log messages can be grepped.
|
||||
## This should not affect webpage output.
|
||||
build:
|
||||
|
@ -107,13 +111,9 @@ build:
|
|||
|
||||
## Jekyll annoyingly returns success even when it emits errors and
|
||||
## exceptions, so we'll grep its output for error strings
|
||||
#
|
||||
## FIXME: temporarily ignoring errors from WEBrick because
|
||||
## _plugin/remove-html-extension does something hackish until we upgrade
|
||||
## to Jekyll 3.0.0
|
||||
check-for-build-errors:
|
||||
$S egrep -i '(error|warn|exception)' $(JEKYLL_LOG) \
|
||||
| grep -vi webrick.*filehandler \
|
||||
| grep -vi 'rouge/lexers/shell.rb' \
|
||||
| eval $(ERROR_ON_OUTPUT)
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue