1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

Merge pull request #31882 from okkez/fix-encoding-error-generating-html

Fix invalid byte sequence error without `en_US.UTF-8` environment while rake guides:generate:html
This commit is contained in:
Rafael França 2020-03-30 15:31:20 -04:00 committed by GitHub
commit ba20b7a4fd
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -4,28 +4,15 @@ namespace :guides do
desc 'Generate guides (for authors), use ONLY=foo to process just "foo.md"' desc 'Generate guides (for authors), use ONLY=foo to process just "foo.md"'
task generate: "generate:html" task generate: "generate:html"
# Guides are written in UTF-8, but the environment may be configured for some
# other locale, these tasks are responsible for ensuring the default external
# encoding is UTF-8.
#
# Real use cases: Generation was reported to fail on a machine configured with
# GBK (Chinese). The docs server once got misconfigured somehow and had "C",
# which broke generation too.
task :encoding do
%w(LANG LANGUAGE LC_ALL).each do |env_var|
ENV[env_var] = "en_US.UTF-8"
end
end
namespace :generate do namespace :generate do
desc "Generate HTML guides" desc "Generate HTML guides"
task html: :encoding do task :html do
ENV["WARNINGS"] = "1" # authors can't disable this ENV["WARNINGS"] = "1" # authors can't disable this
ruby "rails_guides.rb" ruby "-Eutf-8:utf-8", "rails_guides.rb"
end end
desc "Generate .mobi file. The kindlegen executable must be in your PATH. You can get it for free from http://www.amazon.com/gp/feature.html?docId=1000765211" desc "Generate .mobi file. The kindlegen executable must be in your PATH. You can get it for free from http://www.amazon.com/gp/feature.html?docId=1000765211"
task kindle: :encoding do task :kindle do
require "kindlerb" require "kindlerb"
unless Kindlerb.kindlegen_available? unless Kindlerb.kindlegen_available?
abort "Please run `setupkindlerb` to install kindlegen" abort "Please run `setupkindlerb` to install kindlegen"