CodeRay 风格搞砸了——如何修复
CodeRay style messed up - how to fix
我正在尝试在我的项目中使用 CodeRay,它似乎可以正常工作,但样式和格式似乎乱七八糟:
请注意,我将 CodeRay 与 Markdown (Redcarpet) 结合使用。我在我的 gemfile 和 app/helpers/application_helper.rb
中添加了两个 gem 我添加了以下内容:
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:line_numbers => :inline)
end
end
def markdown(text)
coderayified = CodeRayify.new(:filter_html => true, :hard_wrap => true)
language ||= :plaintext
options = {
:fenced_code_blocks => true,
:no_intra_emphasis => false,
:autolink => true,
:strikethrough => true,
:lax_html_blocks => true,
:superscript => true
}
markdown_to_html = Redcarpet::Markdown.new(coderayified, options)
markdown_to_html.render(text).html_safe
end
如所附屏幕截图所示,它确实有效。问题是格式。有什么想法吗?
您是否尝试过将 table 用于 line_numbers 而不是内联?
module ApplicationHelper
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:line_numbers => :table)
end
end
def markdown(text)
coderayified = CodeRayify.new(:filter_html => true,
:hard_wrap => true)
options = {
:fenced_code_blocks => true,
:no_intra_emphasis => true,
:autolink => true,
:strikethrough => true,
:lax_html_blocks => true,
:superscript => true
}
markdown_to_html = Redcarpet::Markdown.new(coderayified, options)
markdown_to_html.render(text).html_safe
end
end
我还注意到当前 CSS 随 CodeRay 存储库一起提供,在 mobile/tablet 设计上响应不佳。
要修复,请按照以下步骤操作:
1.将此添加到您的 CSS:
/* 显示滚动条 */
::-webkit-scrollbar {
-webkit-appearance: none;
margin-top: 10px;
width: 7px;
height: 8px;
background-color: #eee;
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
border-radius: 4px;
height: 10px;
background-color: rgba(0,0,0,.5);
-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
2。在您的 CodeRay 选项的应用程序帮助文件中,确保 block_code 选项 :line_numbers 设置为 :inline,如下所示:
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:line_numbers => :inline)
end
end
我正在尝试在我的项目中使用 CodeRay,它似乎可以正常工作,但样式和格式似乎乱七八糟:
请注意,我将 CodeRay 与 Markdown (Redcarpet) 结合使用。我在我的 gemfile 和 app/helpers/application_helper.rb
中添加了两个 gem 我添加了以下内容:
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:line_numbers => :inline)
end
end
def markdown(text)
coderayified = CodeRayify.new(:filter_html => true, :hard_wrap => true)
language ||= :plaintext
options = {
:fenced_code_blocks => true,
:no_intra_emphasis => false,
:autolink => true,
:strikethrough => true,
:lax_html_blocks => true,
:superscript => true
}
markdown_to_html = Redcarpet::Markdown.new(coderayified, options)
markdown_to_html.render(text).html_safe
end
如所附屏幕截图所示,它确实有效。问题是格式。有什么想法吗?
您是否尝试过将 table 用于 line_numbers 而不是内联?
module ApplicationHelper
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:line_numbers => :table)
end
end
def markdown(text)
coderayified = CodeRayify.new(:filter_html => true,
:hard_wrap => true)
options = {
:fenced_code_blocks => true,
:no_intra_emphasis => true,
:autolink => true,
:strikethrough => true,
:lax_html_blocks => true,
:superscript => true
}
markdown_to_html = Redcarpet::Markdown.new(coderayified, options)
markdown_to_html.render(text).html_safe
end
end
我还注意到当前 CSS 随 CodeRay 存储库一起提供,在 mobile/tablet 设计上响应不佳。
要修复,请按照以下步骤操作:
1.将此添加到您的 CSS:
/* 显示滚动条 */
::-webkit-scrollbar {
-webkit-appearance: none;
margin-top: 10px;
width: 7px;
height: 8px;
background-color: #eee;
border-radius: 4px;
}
::-webkit-scrollbar-thumb {
border-radius: 4px;
height: 10px;
background-color: rgba(0,0,0,.5);
-webkit-box-shadow: 0 0 1px rgba(255,255,255,.5);
}
2。在您的 CodeRay 选项的应用程序帮助文件中,确保 block_code 选项 :line_numbers 设置为 :inline,如下所示:
class CodeRayify < Redcarpet::Render::HTML
def block_code(code, language)
CodeRay.scan(code, language).div(:line_numbers => :inline)
end
end