diff --git a/Gemfile b/Gemfile index dcf88b1b..895028e9 100644 --- a/Gemfile +++ b/Gemfile @@ -10,5 +10,6 @@ group :development do gem 'kramdown' gem 'RedCloth' gem 'therubyracer' # required by less + gem 'html-proofer' end diff --git a/Gemfile.lock b/Gemfile.lock index e2b4aa31..09a97f6e 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,17 +2,29 @@ GEM remote: https://rubygems.org/ specs: RedCloth (4.2.9) + addressable (2.3.7) classifier (1.3.3) fast-stemmer (>= 1.0.0) colorator (0.1) + colored (1.2) commander (4.1.5) highline (~> 1.6.11) commonjs (0.2.7) + ethon (0.7.3) + ffi (>= 1.3.0) fast-stemmer (1.0.2) ffi (1.9.3) ffi-icu (0.1.2) ffi (~> 1.0, >= 1.0.9) highline (1.6.20) + html-proofer (2.1.0) + addressable (~> 2.3) + colored (~> 1.2) + mercenary (~> 0.3.2) + nokogiri (~> 1.5) + parallel (~> 1.3) + typhoeus (~> 0.7) + yell (~> 2.0) jekyll (1.3.0) classifier (~> 1.3) colorator (~> 0.1) @@ -35,6 +47,11 @@ GEM rb-kqueue (>= 0.2) maruku (0.6.1) syntax (>= 1.0.0) + mercenary (0.3.5) + mini_portile (0.6.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) @@ -51,7 +68,10 @@ GEM therubyracer (0.12.1) libv8 (~> 3.16.14.0) ref + typhoeus (0.7.1) + ethon (>= 0.7.1) yajl-ruby (1.1.0) + yell (2.0.5) PLATFORMS ruby @@ -59,6 +79,7 @@ PLATFORMS DEPENDENCIES RedCloth ffi-icu + html-proofer jekyll json kramdown diff --git a/Makefile b/Makefile index 6feb09e6..a1db577f 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ test: pre-build-tests post-build-tests valid: 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: travis-background-keepalive pre-build-tests build post-build-tests @@ -49,9 +49,8 @@ pre-build-tests: pre-build-tests-fast ## All post-build tests, including those which might take multiple minutes post-build-tests: post-build-tests-fast \ - check-for-broken-bitcoin-core-download-links - @ true ## SOMEDAY: use linkchecker to find broken links - @ ## after this bug is fixed: https://github.com/wummel/linkchecker/issues/513 + check-for-broken-bitcoin-core-download-links \ + check-html-proofer ## All manual updates to content that should be run by a human. This ## will create or update files which should then be diffed and commited. @@ -209,3 +208,9 @@ check-for-broken-bitcoin-core-download-links: curl -sI "$$url" ; \ fi | grep -q '200 OK' || echo "Error: Could not retrieve $$url" ; \ done | eval $(ERROR_ON_OUTPUT) + +check-html-proofer: + $S bundle exec ruby _contrib/bco-htmlproof + +travis-background-keepalive: + $S { while ps aux | grep -q '[m]ake' ; do echo "Ignore me: Travis CI keep alive" ; sleep 1m ; done ; } & diff --git a/_alerts/2013-03-15-upgrade-deadline.html b/_alerts/2013-03-15-upgrade-deadline.html index b738fa7f..48133851 100644 --- a/_alerts/2013-03-15-upgrade-deadline.html +++ b/_alerts/2013-03-15-upgrade-deadline.html @@ -60,7 +60,7 @@ or building on blocks incompatible with the rest of the network.
-A bug caused a temporary block chain fork on 11 March, 2013. +A bug caused a temporary block chain fork on 11 March, 2013. After investigating that bug, we determined that the bug can happen even if the entire network was still running old versions of Bitcoin-Qt/bitcoind. Therefore, the only option is to diff --git a/_build/update_site.sh b/_build/update_site.sh index b5e12843..bc4ac246 100755 --- a/_build/update_site.sh +++ b/_build/update_site.sh @@ -49,7 +49,7 @@ lasttime=`stat -c %Y "$SITEDIR/_buildlock" | cut -d ' ' -f1` # Build website in a child process ( cd $WORKDIR -JEKYLL_COMMAND='jekyll' make all +make all touch "$WORKDIR/_builddone" )& diff --git a/_build/update_txpreview.sh b/_build/update_txpreview.sh index fd649e15..115e65ae 100755 --- a/_build/update_txpreview.sh +++ b/_build/update_txpreview.sh @@ -91,7 +91,7 @@ done # Build website in a child process ( cd $WORKDIR -ENABLED_PLUGINS='alerts redirects releases' JEKYLL_COMMAND='jekyll' make all +ENABLED_PLUGINS='alerts redirects releases' JEKYLL_COMMAND='jekyll' make touch "$WORKDIR/_builddone" )& diff --git a/_contrib/bco-htmlproof b/_contrib/bco-htmlproof new file mode 100755 index 00000000..b799f8e3 --- /dev/null +++ b/_contrib/bco-htmlproof @@ -0,0 +1,52 @@ +#!/usr/bin/env ruby + +require 'html/proofer' + +## Will throw an exception (exiting false) if any internal links don't +## work. The Makefile will terminate on the failure +HTML::Proofer.new( + ## To test, uncomment the array below and comment out ./_site and :disable_external + #[ "/foo/bar#baz", "/foo/bar", "#", "#wallet", "/foo.css", "/bar.png", "/zh_TW/bitcoin-for-businesses" ], + "./_site", + + { + ## Disable external link checking by default to avoid spurious + ## Travis CI failures. TODO: take an argument to optionally + ## enable external link checking as part of the Makefile + ## manual checks + :disable_external => true, + + ## Links to ignore + :href_ignore => [ + '#', ## hrefs pointing to the current page (htmlproofer fails them) + /^\/bin/, ## /bin dir is not part of repository; holds Bitcoin Core binaries + /^\/stats/ ## /stats dir is not part of repository; generated by separate stats script + ], + + ## Mangle links. If we enable external link checking, this will + ## require updating + :href_swap => { + ## (Hack) Append '$' to the ends of filenames we don't want to append .html to + /(css|png|rss|pdf|jpg|asc)$/ => '\1$', + + ## Append .html to end of most URLs so proofer can find the local files + /^( + [^#]+ ## Don't match URL containing a hash, we'll deal with them separately + [^\/$] ## Don't match URLs ending in a slash or $ + )$/x => '\1.html', + + ## Insert .html between page and anchor, but only if there's a + ## page name + /^(.+)(#.+)/ => '\1.html\2', + + ## (Un-hack) Remove previously-appended '$' from URLs + /\$$/ => '', + }, + + ## It'd be nice if we had a _local_config.yaml file or something + ## for settings specific to particular systems, but for now I + ## think 2 is a good setting for Travis CI ("1.5 processors") + ## and me (usually 2 processors) + :parallel => { :in_processes => 2 } + } +).run diff --git a/_layouts/base.html b/_layouts/base.html index afeb9079..5e236f03 100644 --- a/_layouts/base.html +++ b/_layouts/base.html @@ -92,7 +92,12 @@ {% else %} {% translate menu-privacy layout %} {% endcase %} + {% case page.lang %} + {% when 'sv' %} + Press + {% else %} {% translate menu-press layout %} + {% endcase %} {% translate menu-about-us layout %}
Saïvann CarignanWebsite maintenance
-Garland William Binns IIITranslation maintenance
+Garland William Binns IIITranslation maintenance
David HardingDocumentation maintenance
Garland William Binns IIIMaintenance
-@arviccoRussian
-Simon Alexander HinterreiterGerman
-Jacob BurenstamSwedish
-Péter KemenczésHungarian
-Matija MaziSlovenian
-Mihai OnosieRomanian
-Boštjan PirnarSlovenian
-Luigigiuseppe ProsperiItalian
-Thomas PrydsDanish
+Garland William Binns IIIMaintenance
+@arviccoRussian
+Simon Alexander HinterreiterGerman
+Jacob BurenstamSwedish
+Péter KemenczésHungarian
+Matija MaziSlovenian
+Mihai OnosieRomanian
+Boštjan PirnarSlovenian
+Luigigiuseppe ProsperiItalian
+Thomas PrydsDanish
Bitcoin Association Switzerland
diff --git a/_templates/getting-started.html b/_templates/getting-started.html index 5ccaeb7d..732fc194 100644 --- a/_templates/getting-started.html +++ b/_templates/getting-started.html @@ -9,7 +9,7 @@ id: getting-started{% translate pagedesc %}
- +{% translate trusttext %}
{% translate resiliencytext %}
{% translate automationtext %}