Adds support for rendering views via HTML::Pipeline in Rails. GitHub Flavored Markdown in your Rails app!
Add this line to your Gemfile:
gem 'html_pipeline_rails'
and then run:
$ bundle
All views ending in .md
will then be rendered as HTML, with support for ERB.
app/views/layouts/application.html.erb
:
<footer>
<%= render 'shared/footer' %>
</footer>
app/views/shared/footer.md
:
## Copyright <%= Time.now.year %> **BigCorp**
All rights reserved.
Cool, eh?
By default, .md
views will run through ERB, and then the MarkdownFilter
pipeline. Note that this means anything output from your ERB tags in a .md
view will be parsed as Markdown. You can customize the render pipeline like so:
# config/initializers/html_pipeline.rb
HtmlPipelineRails.config do |c|
c.pipeline = HTML::Pipeline.new([
HTML::Pipeline::MarkdownFilter,
HTML::Pipeline::MentionFilter
])
end
In this case, @mention
s will now be converted to links. See the HTML::Pipeline documentation to learn about the different options.
For the HTML::Pipeline::EmojiFilter
, follow the Rake task instructions in the gemoji gem, and set the :asset_root
in your config like so:
HtmlPipelineRails.config do |c|
context = {
asset_root: '/images',
# ...
}
c.pipeline = HTML::Pipeline.new([
HTML::Pipeline::EmojiFilter
# ...
], context)
end
Run tests with:
bundle
# then
bundle exec rspec
# or
bundle exec guard