Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
949bcb1f
G
gitlab-foss
项目概览
李少辉-开发者
/
gitlab-foss
通知
15
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
gitlab-foss
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
949bcb1f
编写于
4月 03, 2019
作者:
B
Brett Walker
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fenced blockquotes to not change source line pos
Replaces blockquote fences with \n, keeping the line numbering intact.
上级
3ccb4d95
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
49 addition
and
3 deletion
+49
-3
changelogs/unreleased/58717-checkbox-cannot-be-checked-if-a-blockquote-is-above.yml
...7-checkbox-cannot-be-checked-if-a-blockquote-is-above.yml
+5
-0
lib/banzai/filter/blockquote_fence_filter.rb
lib/banzai/filter/blockquote_fence_filter.rb
+3
-1
spec/fixtures/blockquote_fence_after.md
spec/fixtures/blockquote_fence_after.md
+16
-0
spec/lib/banzai/filter/blockquote_fence_filter_spec.rb
spec/lib/banzai/filter/blockquote_fence_filter_spec.rb
+1
-1
spec/services/issues/build_service_spec.rb
spec/services/issues/build_service_spec.rb
+3
-1
spec/services/task_list_toggle_service_spec.rb
spec/services/task_list_toggle_service_spec.rb
+21
-0
未找到文件。
changelogs/unreleased/58717-checkbox-cannot-be-checked-if-a-blockquote-is-above.yml
0 → 100644
浏览文件 @
949bcb1f
---
title
:
Allow task lists that follow a blockquote to work correctly
merge_request
:
26937
author
:
type
:
fixed
lib/banzai/filter/blockquote_fence_filter.rb
浏览文件 @
949bcb1f
...
...
@@ -42,7 +42,9 @@ module Banzai
def
call
@text
.
gsub
(
REGEX
)
do
if
$~
[
:quote
]
$~
[
:quote
].
gsub
(
/^/
,
"> "
).
gsub
(
/^> $/
,
">"
)
# keep the same number of source lines/positions by replacing the
# fence lines with newlines
"
\n
"
+
$~
[
:quote
].
gsub
(
/^/
,
"> "
).
gsub
(
/^> $/
,
">"
)
+
"
\n
"
else
$~
[
0
]
end
...
...
spec/fixtures/blockquote_fence_after.md
浏览文件 @
949bcb1f
...
...
@@ -18,10 +18,13 @@ Double `>>>` inside code block:
Blockquote outside code block:
> Quote
Code block inside blockquote:
> Quote
>
> ```
...
...
@@ -30,8 +33,10 @@ Code block inside blockquote:
>
> Quote
Single
`>>>`
inside code block inside blockquote:
> Quote
>
> ```
...
...
@@ -42,8 +47,10 @@ Single `>>>` inside code block inside blockquote:
>
> Quote
Double
`>>>`
inside code block inside blockquote:
> Quote
>
> ```
...
...
@@ -56,6 +63,7 @@ Double `>>>` inside code block inside blockquote:
>
> Quote
Single
`>>>`
inside HTML:
<pre>
...
...
@@ -76,10 +84,13 @@ Double `>>>` inside HTML:
Blockquote outside HTML:
> Quote
HTML inside blockquote:
> Quote
>
> <pre>
...
...
@@ -88,8 +99,10 @@ HTML inside blockquote:
>
> Quote
Single
`>>>`
inside HTML inside blockquote:
> Quote
>
> <pre>
...
...
@@ -100,8 +113,10 @@ Single `>>>` inside HTML inside blockquote:
>
> Quote
Double
`>>>`
inside HTML inside blockquote:
> Quote
>
> <pre>
...
...
@@ -113,3 +128,4 @@ Double `>>>` inside HTML inside blockquote:
> </pre>
>
> Quote
spec/lib/banzai/filter/blockquote_fence_filter_spec.rb
浏览文件 @
949bcb1f
...
...
@@ -13,6 +13,6 @@ describe Banzai::Filter::BlockquoteFenceFilter do
end
it
'allows trailing whitespace on blockquote fence lines'
do
expect
(
filter
(
">>>
\n
test
\n
>>> "
)).
to
eq
(
"
> test
"
)
expect
(
filter
(
">>>
\n
test
\n
>>> "
)).
to
eq
(
"
\n
> test
\n
"
)
end
end
spec/services/issues/build_service_spec.rb
浏览文件 @
949bcb1f
...
...
@@ -58,8 +58,10 @@ describe Issues::BuildService do
"> That has a quote
\n
"
\
">>>
\n
"
note_result
=
" > This is a string
\n
"
\
" >
\n
"
\
" > > with a blockquote
\n
"
\
" > > > That has a quote
\n
"
" > > > That has a quote
\n
"
\
" >
\n
"
discussion
=
create
(
:diff_note_on_merge_request
,
note:
note_text
).
to_discussion
expect
(
service
.
item_for_discussion
(
discussion
)).
to
include
(
note_result
)
end
...
...
spec/services/task_list_toggle_service_spec.rb
浏览文件 @
949bcb1f
...
...
@@ -113,4 +113,25 @@ describe TaskListToggleService do
expect
(
toggler
.
execute
).
to
be_falsey
end
it
'properly handles a GitLab blockquote'
do
markdown
=
<<-
EOT
.
strip_heredoc
>>>
gitlab blockquote
>>>
* [ ] Task 1
* [x] Task 2
EOT
markdown_html
=
Banzai
::
Pipeline
::
FullPipeline
.
call
(
markdown
,
project:
nil
)[
:output
].
to_html
toggler
=
described_class
.
new
(
markdown
,
markdown_html
,
toggle_as_checked:
true
,
line_source:
'* [ ] Task 1'
,
line_number:
5
)
expect
(
toggler
.
execute
).
to
be_truthy
expect
(
toggler
.
updated_markdown
.
lines
[
4
]).
to
eq
"* [x] Task 1
\n
"
expect
(
toggler
.
updated_markdown_html
).
to
include
(
'disabled checked> Task 1'
)
end
end
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录