These settings are customised for Madrid's fork. On CONSUL any user can include new links using site customisation content blocks from admin panel.
60 lines
1.7 KiB
Ruby
60 lines
1.7 KiB
Ruby
module ApplicationHelper
|
|
|
|
def home_page?
|
|
return false if user_signed_in?
|
|
# Using path because fullpath yields false negatives since it contains
|
|
# parameters too
|
|
request.path == '/'
|
|
end
|
|
|
|
# if current path is /debates current_path_with_query_params(foo: 'bar') returns /debates?foo=bar
|
|
# notice: if query_params have a param which also exist in current path, it "overrides" (query_params is merged last)
|
|
def current_path_with_query_params(query_parameters)
|
|
url_for(request.query_parameters.merge(query_parameters))
|
|
end
|
|
|
|
def markdown(text)
|
|
return text if text.blank?
|
|
|
|
# See https://github.com/vmg/redcarpet for options
|
|
render_options = {
|
|
filter_html: false,
|
|
hard_wrap: true,
|
|
link_attributes: { target: "_blank" }
|
|
}
|
|
renderer = Redcarpet::Render::HTML.new(render_options)
|
|
extensions = {
|
|
autolink: true,
|
|
fenced_code_blocks: true,
|
|
lax_spacing: true,
|
|
no_intra_emphasis: true,
|
|
strikethrough: true,
|
|
superscript: true
|
|
}
|
|
Redcarpet::Markdown.new(renderer, extensions).render(text).html_safe
|
|
end
|
|
|
|
def author_of?(authorable, user)
|
|
return false if authorable.blank? || user.blank?
|
|
authorable.author_id == user.id
|
|
end
|
|
|
|
def back_link_to(destination = :back, text = t("shared.back"))
|
|
link_to destination, class: "back" do
|
|
content_tag(:span, nil, class: "icon-angle-left") + text
|
|
end
|
|
end
|
|
|
|
def image_path_for(filename)
|
|
SiteCustomization::Image.image_path_for(filename) || filename
|
|
end
|
|
|
|
def content_block(name, locale)
|
|
SiteCustomization::ContentBlock.block_for(name, locale)
|
|
end
|
|
|
|
def kaminari_path(url)
|
|
"#{root_url.chomp("\/")}#{url}"
|
|
end
|
|
end
|