mirror of
https://github.com/wahyd4/gitlabhq.git
synced 2026-08-11 05:36:07 +10:00
I have mainly created the rugments fork for the purpose of improving
gitlab's highlighting. Nowadays IMO it works way better than the old
highlight.js solution. But the development is stuck on my side because
of a couple of personal reasons:
* I have finished my studies; last months I was writing my master
thesis. So there was a huge time problem. I am sorry for that.
* I had to move to Munich due to getting a (paid) job. Searching a
flat here is horrible... :)
* Last but not least, maintaining the same code base in two seperate
projects is a mess.
I have decided to switch back to rouge due to several reasons:
* In the beginning I was quite motivated, but since I start
working on my new job next week, the best solution IMO is
switching back to upstream rouge.
* Rouge is continously improving:
https://github.com/jneen/rouge/blob/master/CHANGELOG.md
http://rouge.jneen.net/
* There should be absolutely no regressions with this change. Most
likely this pull request will almost fix some minor bugs.
* One less gem in gitlab is a good thing. since Gitlab is quite a
huge bundle of gems. Reducing complexity should be a major
milestone.
Thanks a lot to @stanhu and @jneen for the review!
58 lines
1.5 KiB
Ruby
58 lines
1.5 KiB
Ruby
module EmailsHelper
|
|
|
|
# Google Actions
|
|
# https://developers.google.com/gmail/markup/reference/go-to-action
|
|
def email_action(url)
|
|
name = action_title(url)
|
|
if name
|
|
data = {
|
|
"@context" => "http://schema.org",
|
|
"@type" => "EmailMessage",
|
|
"action" => {
|
|
"@type" => "ViewAction",
|
|
"name" => name,
|
|
"url" => url,
|
|
}
|
|
}
|
|
|
|
content_tag :script, type: 'application/ld+json' do
|
|
data.to_json.html_safe
|
|
end
|
|
end
|
|
end
|
|
|
|
def action_title(url)
|
|
return unless url
|
|
["merge_requests", "issues", "commit"].each do |action|
|
|
if url.split("/").include?(action)
|
|
return "View #{action.humanize.singularize}"
|
|
end
|
|
end
|
|
end
|
|
|
|
def color_email_diff(diffcontent)
|
|
formatter = Rouge::Formatters::HTML.new(css_class: 'highlight', inline_theme: 'github')
|
|
lexer = Rouge::Lexers::Diff
|
|
raw formatter.format(lexer.lex(diffcontent))
|
|
end
|
|
|
|
def password_reset_token_valid_time
|
|
valid_hours = Devise.reset_password_within / 60 / 60
|
|
if valid_hours >= 24
|
|
unit = 'day'
|
|
valid_length = (valid_hours / 24).floor
|
|
else
|
|
unit = 'hour'
|
|
valid_length = valid_hours.floor
|
|
end
|
|
|
|
pluralize(valid_length, unit)
|
|
end
|
|
|
|
def reset_token_expire_message
|
|
link_tag = link_to('request a new one', new_user_password_url(user_email: @user.email))
|
|
msg = "This link is valid for #{password_reset_token_valid_time}. "
|
|
msg << "After it expires, you can #{link_tag}."
|
|
end
|
|
end
|