Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boxiang Sun
gitlab-ce
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)
...
@@ -58,6 +58,7 @@ v 7.11.0 (unreleased)
- Fix automatic blocking of auto-created users from Active Directory.
- Fix automatic blocking of auto-created users from Active Directory.
- Call merge request web hook for each new commits (Arthur Gautier)
- Call merge request web hook for each new commits (Arthur Gautier)
- Use SIGKILL by default in Sidekiq::MemoryKiller
- Use SIGKILL by default in Sidekiq::MemoryKiller
- Fix reference links in dashboard activity and ATOM feeds.
v 7.10.2
v 7.10.2
- Fix CI links on MR page
- Fix CI links on MR page
...
...
app/helpers/events_helper.rb
View file @
cd52cef1
...
@@ -168,8 +168,8 @@ module EventsHelper
...
@@ -168,8 +168,8 @@ module EventsHelper
end
end
end
end
def
event_note
(
text
)
def
event_note
(
text
,
options
=
{}
)
text
=
first_line_in_markdown
(
text
,
150
)
text
=
first_line_in_markdown
(
text
,
150
,
options
)
sanitize
(
text
,
tags:
%w(a img b pre code p span)
)
sanitize
(
text
,
tags:
%w(a img b pre code p span)
)
end
end
...
...
app/helpers/gitlab_markdown_helper.rb
View file @
cd52cef1
...
@@ -19,7 +19,7 @@ module GitlabMarkdownHelper
...
@@ -19,7 +19,7 @@ module GitlabMarkdownHelper
escape_once
(
body
)
escape_once
(
body
)
end
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
|
gfm_body
.
gsub!
(
%r{<a.*?>.*?</a>}m
)
do
|
match
|
"</a>
#{
match
}#{
link_to
(
""
,
url
,
html_options
)[
0
..-
5
]
}
"
# "</a>".length +1
"</a>
#{
match
}#{
link_to
(
""
,
url
,
html_options
)[
0
..-
5
]
}
"
# "</a>".length +1
...
@@ -32,11 +32,13 @@ module GitlabMarkdownHelper
...
@@ -32,11 +32,13 @@ module GitlabMarkdownHelper
unless
@markdown
&&
options
==
@options
unless
@markdown
&&
options
==
@options
@options
=
options
@options
=
options
# see https://github.com/vmg/redcarpet#darling-i-packed-you-a-couple-renderers-for-lunch
options
.
merge!
(
rend
=
Redcarpet
::
Render
::
GitlabHTML
.
new
(
self
,
user_color_scheme_class
,
{
# Handled further down the line by Gitlab::Markdown::SanitizationFilter
# Handled further down the line by Gitlab::Markdown::SanitizationFilter
escape_html:
false
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
# see https://github.com/vmg/redcarpet#and-its-like-really-simple-to-use
@markdown
=
Redcarpet
::
Markdown
.
new
(
rend
,
@markdown
=
Redcarpet
::
Markdown
.
new
(
rend
,
...
@@ -58,8 +60,8 @@ module GitlabMarkdownHelper
...
@@ -58,8 +60,8 @@ module GitlabMarkdownHelper
# as Markdown. HTML tags in the parsed output are not counted toward the
# 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
# +max_chars+ limit. If the length limit falls within a tag's contents, then
# the tag contents are truncated without removing the closing tag.
# the tag contents are truncated without removing the closing tag.
def
first_line_in_markdown
(
text
,
max_chars
=
nil
)
def
first_line_in_markdown
(
text
,
max_chars
=
nil
,
options
=
{}
)
md
=
markdown
(
text
).
strip
md
=
markdown
(
text
,
options
).
strip
truncate_visible
(
md
,
max_chars
||
md
.
length
)
if
md
.
present?
truncate_visible
(
md
,
max_chars
||
md
.
length
)
if
md
.
present?
end
end
...
...
app/views/events/_event_issue.atom.haml
View file @
cd52cef1
%div
{
xmlns:
"http://www.w3.org/1999/xhtml"
}
%div
{
xmlns:
"http://www.w3.org/1999/xhtml"
}
-
if
issue
.
description
.
present?
-
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"
}
%div
{
xmlns:
"http://www.w3.org/1999/xhtml"
}
-
if
merge_request
.
description
.
present?
-
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"
}
%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 @@
...
@@ -6,7 +6,7 @@
%i
%i
at
at
=
commit
[
:timestamp
].
to_time
.
to_s
(
:short
)
=
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
-
if
event
.
commits_count
>
15
%p
%p
%i
%i
...
...
app/views/events/event/_note.html.haml
View file @
cd52cef1
...
@@ -14,7 +14,7 @@
...
@@ -14,7 +14,7 @@
.event-note
.event-note
.md
.md
%i
.fa.fa-comment-o.event-note-icon
%i
.fa.fa-comment-o.event-note-icon
=
event_note
(
event
.
target
.
note
)
=
event_note
(
event
.
target
.
note
,
project:
event
.
project
)
-
note
=
event
.
target
-
note
=
event
.
target
-
if
note
.
attachment
.
url
-
if
note
.
attachment
.
url
-
if
note
.
attachment
.
image?
-
if
note
.
attachment
.
image?
...
...
lib/gitlab/markdown.rb
View file @
cd52cef1
...
@@ -24,10 +24,10 @@ module Gitlab
...
@@ -24,10 +24,10 @@ module Gitlab
# Public: Parse the provided text with GitLab-Flavored Markdown
# Public: Parse the provided text with GitLab-Flavored Markdown
#
#
# text - the source text
# text - the source text
#
project - the project
#
options - options
# html_options - extra options for the reference links as given to link_to
# html_options - extra options for the reference links as given to link_to
def
gfm
(
text
,
project
=
@project
,
html_options
=
{})
def
gfm
(
text
,
options
=
{}
,
html_options
=
{})
gfm_with_options
(
text
,
{},
project
,
html_options
)
gfm_with_options
(
text
,
options
,
html_options
)
end
end
# Public: Parse the provided text with GitLab-Flavored Markdown
# Public: Parse the provided text with GitLab-Flavored Markdown
...
@@ -38,7 +38,7 @@ module Gitlab
...
@@ -38,7 +38,7 @@ module Gitlab
# :reference_only_path - Use relative path for reference links
# :reference_only_path - Use relative path for reference links
# project - the project
# project - the project
# html_options - extra options for the reference links as given to link_to
# 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?
return
text
if
text
.
nil?
# Duplicate the string so we don't alter the original, then call to_str
# Duplicate the string so we don't alter the original, then call to_str
...
@@ -48,7 +48,9 @@ module Gitlab
...
@@ -48,7 +48,9 @@ module Gitlab
options
.
reverse_merge!
(
options
.
reverse_merge!
(
xhtml:
false
,
xhtml:
false
,
reference_only_path:
true
reference_only_path:
true
,
project:
@project
,
current_user:
current_user
)
)
pipeline
=
HTML
::
Pipeline
.
new
(
filters
)
pipeline
=
HTML
::
Pipeline
.
new
(
filters
)
...
@@ -62,9 +64,9 @@ module Gitlab
...
@@ -62,9 +64,9 @@ module Gitlab
no_header_anchors:
options
[
:no_header_anchors
],
no_header_anchors:
options
[
:no_header_anchors
],
# ReferenceFilter
# ReferenceFilter
current_user:
current_user
,
current_user:
options
[
:current_user
]
,
only_path:
options
[
:reference_only_path
],
only_path:
options
[
:reference_only_path
],
project:
project
,
project:
options
[
:project
]
,
reference_class:
html_options
[
:class
],
reference_class:
html_options
[
:class
],
# RelativeLinkFilter
# RelativeLinkFilter
...
...
lib/redcarpet/render/gitlab_html.rb
View file @
cd52cef1
...
@@ -7,9 +7,12 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
...
@@ -7,9 +7,12 @@ class Redcarpet::Render::GitlabHTML < Redcarpet::Render::HTML
def
initialize
(
template
,
color_scheme
,
options
=
{})
def
initialize
(
template
,
color_scheme
,
options
=
{})
@template
=
template
@template
=
template
@color_scheme
=
color_scheme
@color_scheme
=
color_scheme
@project
=
@template
.
instance_variable_get
(
"@project"
)
@options
=
options
.
dup
@options
=
options
.
dup
@options
.
reverse_merge!
(
project:
@template
.
instance_variable_get
(
"@project"
)
)
super
(
options
)
super
(
options
)
end
end
...
...
spec/helpers/gitlab_markdown_helper_spec.rb
View file @
cd52cef1
...
@@ -21,7 +21,7 @@ describe GitlabMarkdownHelper do
...
@@ -21,7 +21,7 @@ describe GitlabMarkdownHelper do
describe
"#gfm"
do
describe
"#gfm"
do
it
"should forward HTML options to links"
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'
)
to
have_selector
(
'a.gfm.foo'
)
end
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