Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
7
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Open sidebar
projects.thm.de
GitLab
Commits
cd52cef1
Commit
cd52cef1
authored
May 14, 2015
by
Douwe Maan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fix reference links in dashboard activity and ATOM feeds.
parent
910794ba
Changes
11
Hide whitespace changes
Inline
Side-by-side
Showing
11 changed files
with
30 additions
and
22 deletions
+30
-22
CHANGELOG
CHANGELOG
+1
-0
app/helpers/events_helper.rb
app/helpers/events_helper.rb
+2
-2
app/helpers/gitlab_markdown_helper.rb
app/helpers/gitlab_markdown_helper.rb
+8
-6
app/views/events/_event_issue.atom.haml
app/views/events/_event_issue.atom.haml
+1
-1
app/views/events/_event_merge_request.atom.haml
app/views/events/_event_merge_request.atom.haml
+1
-1
app/views/events/_event_note.atom.haml
app/views/events/_event_note.atom.haml
+1
-1
app/views/events/_event_push.atom.haml
app/views/events/_event_push.atom.haml
+1
-1
app/views/events/event/_note.html.haml
app/views/events/event/_note.html.haml
+1
-1
lib/gitlab/markdown.rb
lib/gitlab/markdown.rb
+9
-7
lib/redcarpet/render/gitlab_html.rb
lib/redcarpet/render/gitlab_html.rb
+4
-1
spec/helpers/gitlab_markdown_helper_spec.rb
spec/helpers/gitlab_markdown_helper_spec.rb
+1
-1
No files found.
CHANGELOG
View file @
cd52cef1
...
...
@@ -58,6 +58,7 @@ v 7.11.0 (unreleased)
- Fix automatic blocking of auto-created users from Active Directory.
- Call merge request web hook for each new commits (Arthur Gautier)
- Use SIGKILL by default in Sidekiq::MemoryKiller
- Fix reference links in dashboard activity and ATOM feeds.
v 7.10.2
- Fix CI links on MR page
...
...
app/helpers/events_helper.rb
View file @
cd52cef1
...
...
@@ -168,8 +168,8 @@ def event_note_title_html(event)
end
end
def
event_note
(
text
)
text
=
first_line_in_markdown
(
text
,
150
)
def
event_note
(
text
,
options
=
{}
)
text
=
first_line_in_markdown
(
text
,
150
,
options
)
sanitize
(
text
,
tags:
%w(a img b pre code p span)
)
end
...
...
app/helpers/gitlab_markdown_helper.rb
View file @
cd52cef1
...
...
@@ -19,7 +19,7 @@ def link_to_gfm(body, url, html_options = {})
escape_once
(
body
)
end
gfm_body
=
gfm
(
escaped_body
,
@project
,
html_options
)
gfm_body
=
gfm
(
escaped_body
,
{}
,
html_options
)
gfm_body
.
gsub!
(
%r{<a.*?>.*?</a>}m
)
do
|
match
|
"</a>
#{
match
}#{
link_to
(
""
,
url
,
html_options
)[
0
..-
5
]
}
"
# "</a>".length +1
...
...
@@ -32,11 +32,13 @@ def markdown(text, options={})
unless
@markdown
&&
options
==
@options
@options
=
options
# see https://github.com/vmg/redcarpet#darling-i-packed-you-a-couple-renderers-for-lunch
rend
=
Redcarpet
::
Render
::
GitlabHTML
.
new
(
self
,
user_color_scheme_class
,
{
options
.
merge!
(
# Handled further down the line by Gitlab::Markdown::SanitizationFilter
escape_html:
false
}.
merge
(
options
))
)
# see https://github.com/vmg/redcarpet#darling-i-packed-you-a-couple-renderers-for-lunch
rend
=
Redcarpet
::
Render
::
GitlabHTML
.
new
(
self
,
user_color_scheme_class
,
options
)
# see https://github.com/vmg/redcarpet#and-its-like-really-simple-to-use
@markdown
=
Redcarpet
::
Markdown
.
new
(
rend
,
...
...
@@ -58,8 +60,8 @@ def markdown(text, options={})
# as Markdown. HTML tags in the parsed output are not counted toward the
# +max_chars+ limit. If the length limit falls within a tag's contents, then
# the tag contents are truncated without removing the closing tag.
def
first_line_in_markdown
(
text
,
max_chars
=
nil
)
md
=
markdown
(
text
).
strip
def
first_line_in_markdown
(
text
,
max_chars
=
nil
,
options
=
{}
)
md
=
markdown
(
text
,
options
).
strip
truncate_visible
(
md
,
max_chars
||
md
.
length
)
if
md
.
present?
end
...
...
app/views/events/_event_issue.atom.haml
View file @
cd52cef1
%div
{
xmlns:
"http://www.w3.org/1999/xhtml"
}
-
if
issue
.
description
.
present?
=
markdown
(
issue
.
description
,
xhtml:
true
)
=
markdown
(
issue
.
description
,
xhtml:
true
,
reference_only_path:
false
,
project:
issue
.
project
)
app/views/events/_event_merge_request.atom.haml
View file @
cd52cef1
%div
{
xmlns:
"http://www.w3.org/1999/xhtml"
}
-
if
merge_request
.
description
.
present?
=
markdown
(
merge_request
.
description
,
xhtml:
true
)
=
markdown
(
merge_request
.
description
,
xhtml:
true
,
reference_only_path:
false
,
project:
merge_request
.
project
)
app/views/events/_event_note.atom.haml
View file @
cd52cef1
%div
{
xmlns:
"http://www.w3.org/1999/xhtml"
}
=
markdown
(
note
.
note
,
xhtml:
true
)
=
markdown
(
note
.
note
,
xhtml:
true
,
reference_only_path:
false
,
project:
note
.
project
)
app/views/events/_event_push.atom.haml
View file @
cd52cef1
...
...
@@ -6,7 +6,7 @@
%i
at
=
commit
[
:timestamp
].
to_time
.
to_s
(
:short
)
%blockquote
=
markdown
(
escape_once
(
commit
[
:message
]),
xhtml:
true
)
%blockquote
=
markdown
(
escape_once
(
commit
[
:message
]),
xhtml:
true
,
reference_only_path:
false
,
project:
note
.
project
)
-
if
event
.
commits_count
>
15
%p
%i
...
...
app/views/events/event/_note.html.haml
View file @
cd52cef1
...
...
@@ -14,7 +14,7 @@
.event-note
.md
%i
.fa.fa-comment-o.event-note-icon
=
event_note
(
event
.
target
.
note
)
=
event_note
(
event
.
target
.
note
,
project:
event
.
project
)
-
note
=
event
.
target
-
if
note
.
attachment
.
url
-
if
note
.
attachment
.
image?
...
...
lib/gitlab/markdown.rb
View file @
cd52cef1
...
...
@@ -24,10 +24,10 @@ module Markdown
# Public: Parse the provided text with GitLab-Flavored Markdown
#
# text - the source text
#
project
-
the project
#
options
-
options
# html_options - extra options for the reference links as given to link_to
def
gfm
(
text
,
project
=
@project
,
html_options
=
{})
gfm_with_options
(
text
,
{},
project
,
html_options
)
def
gfm
(
text
,
options
=
{}
,
html_options
=
{})
gfm_with_options
(
text
,
options
,
html_options
)
end
# Public: Parse the provided text with GitLab-Flavored Markdown
...
...
@@ -38,7 +38,7 @@ def gfm(text, project = @project, html_options = {})
# :reference_only_path - Use relative path for reference links
# project - the project
# html_options - extra options for the reference links as given to link_to
def
gfm_with_options
(
text
,
options
=
{},
project
=
@project
,
html_options
=
{})
def
gfm_with_options
(
text
,
options
=
{},
html_options
=
{})
return
text
if
text
.
nil?
# Duplicate the string so we don't alter the original, then call to_str
...
...
@@ -48,7 +48,9 @@ def gfm_with_options(text, options = {}, project = @project, html_options = {})
options
.
reverse_merge!
(
xhtml:
false
,
reference_only_path:
true
reference_only_path:
true
,
project:
@project
,
current_user:
current_user
)
pipeline
=
HTML
::
Pipeline
.
new
(
filters
)
...
...
@@ -62,9 +64,9 @@ def gfm_with_options(text, options = {}, project = @project, html_options = {})
no_header_anchors:
options
[
:no_header_anchors
],
# ReferenceFilter
current_user:
current_user
,
current_user:
options
[
:
current_user
]
,
only_path:
options
[
:reference_only_path
],
project:
project
,
project:
options
[
:
project
]
,
reference_class:
html_options
[
:class
],
# RelativeLinkFilter
...
...
lib/redcarpet/render/gitlab_html.rb
View file @
cd52cef1
...
...
@@ -7,9 +7,12 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
def
initialize
(
template
,
color_scheme
,
options
=
{})
@template
=
template
@color_scheme
=
color_scheme
@project
=
@template
.
instance_variable_get
(
"@project"
)
@options
=
options
.
dup
@options
.
reverse_merge!
(
project:
@template
.
instance_variable_get
(
"@project"
)
)
super
(
options
)
end
...
...
spec/helpers/gitlab_markdown_helper_spec.rb
View file @
cd52cef1
...
...
@@ -21,7 +21,7 @@
describe
"#gfm"
do
it
"should forward HTML options to links"
do
expect
(
gfm
(
"Fixed in
#{
commit
.
id
}
"
,
@project
,
class:
'foo'
)).
expect
(
gfm
(
"Fixed in
#{
commit
.
id
}
"
,
{
project:
@project
}
,
class:
'foo'
)).
to
have_selector
(
'a.gfm.foo'
)
end
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment