From 20d184049892a784dd1c68aa522b5aaae876a2cd Mon Sep 17 00:00:00 2001 From: Les Aker Date: Fri, 23 Oct 2015 14:31:21 -0400 Subject: [PATCH 1/3] Fix encoding error for gist_tag --- lib/jekyll-gist/gist_tag.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/jekyll-gist/gist_tag.rb b/lib/jekyll-gist/gist_tag.rb index b6ee18f..6c21e26 100644 --- a/lib/jekyll-gist/gist_tag.rb +++ b/lib/jekyll-gist/gist_tag.rb @@ -9,6 +9,7 @@ module Gist class GistTag < Liquid::Tag def render(context) + @encoding = context.registers[:site].config['encoding'] if tag_contents = determine_arguments(@markup.strip) gist_id, filename = tag_contents[0], tag_contents[1] if context.has_key?(gist_id) @@ -69,7 +70,7 @@ def fetch_raw_code(gist_id, filename = nil) read_timeout: 3, open_timeout: 3) do |http| request = Net::HTTP::Get.new uri.to_s response = http.request(request) - response.body + response.body.force_encoding(@encoding) end rescue SocketError, Net::HTTPError, Net::OpenTimeout, Net::ReadTimeout, TimeoutError nil From c8085764dc17128d659333a7565a79735c470250 Mon Sep 17 00:00:00 2001 From: Les Aker Date: Fri, 23 Oct 2015 15:04:26 -0400 Subject: [PATCH 2/3] set default encoding to utf-8 --- lib/jekyll-gist/gist_tag.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/jekyll-gist/gist_tag.rb b/lib/jekyll-gist/gist_tag.rb index 6c21e26..047c234 100644 --- a/lib/jekyll-gist/gist_tag.rb +++ b/lib/jekyll-gist/gist_tag.rb @@ -9,7 +9,7 @@ module Gist class GistTag < Liquid::Tag def render(context) - @encoding = context.registers[:site].config['encoding'] + @encoding = context.registers[:site].config['encoding'] || 'utf-8' if tag_contents = determine_arguments(@markup.strip) gist_id, filename = tag_contents[0], tag_contents[1] if context.has_key?(gist_id) From 093a47bf30205469ebc53c23b561dd580de155c8 Mon Sep 17 00:00:00 2001 From: Les Aker Date: Fri, 23 Oct 2015 15:12:43 -0400 Subject: [PATCH 3/3] handle encoding after nil check --- lib/jekyll-gist/gist_tag.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/jekyll-gist/gist_tag.rb b/lib/jekyll-gist/gist_tag.rb index 047c234..3e9b844 100644 --- a/lib/jekyll-gist/gist_tag.rb +++ b/lib/jekyll-gist/gist_tag.rb @@ -52,6 +52,7 @@ def gist_script_tag(gist_id, filename = nil) def gist_noscript_tag(gist_id, filename = nil) code = fetch_raw_code(gist_id, filename) if !code.nil? + code = code.force_encoding(@encoding) "" else Jekyll.logger.warn "Warning:", "The