Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
李少辉-开发者
gitlab-foss
提交
af24645d
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,体验更适合开发者的 AI 搜索 >>
提交
af24645d
编写于
3月 07, 2016
作者:
F
Florent Baldino
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add shortcut to toggle markdown preview
上级
be1ae2d6
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
59 addition
and
7 deletion
+59
-7
CHANGELOG
CHANGELOG
+1
-0
app/assets/javascripts/markdown_preview.js.coffee
app/assets/javascripts/markdown_preview.js.coffee
+39
-7
app/assets/javascripts/shortcuts.js.coffee
app/assets/javascripts/shortcuts.js.coffee
+15
-0
app/views/help/_shortcuts.html.haml
app/views/help/_shortcuts.html.haml
+4
-0
未找到文件。
CHANGELOG
浏览文件 @
af24645d
...
...
@@ -12,6 +12,7 @@ v 8.6.0 (unreleased)
- Allow search for logged out users
- Don't show Issues/MRs from archived projects in Groups view
- Increase the notes polling timeout over time (Roberto Dip)
- Add shortcut to toggle markdown preview (Florent Baldino)
v 8.5.4
- Do not cache requests for badges (including builds badge)
...
...
app/assets/javascripts/markdown_preview.js.coffee
浏览文件 @
af24645d
...
...
@@ -6,6 +6,7 @@
class
@
MarkdownPreview
# Minimum number of users referenced before triggering a warning
referenceThreshold
:
10
ajaxCache
:
{}
showPreview
:
(
form
)
->
preview
=
form
.
find
(
'.js-md-preview'
)
...
...
@@ -24,12 +25,16 @@ class @MarkdownPreview
renderMarkdown
:
(
text
,
success
)
->
return
unless
window
.
markdown_preview_path
return
success
(
@
ajaxCache
[
text
])
if
@
ajaxCache
[
text
]
$
.
ajax
type
:
'POST'
url
:
window
.
markdown_preview_path
data
:
{
text
:
text
}
dataType
:
'json'
success
:
success
success
:
(
response
)
=>
@
ajaxCache
[
text
]
=
response
success
(
response
)
hideReferencedUsers
:
(
form
)
->
referencedUsers
=
form
.
find
(
'.referenced-users'
)
...
...
@@ -49,6 +54,7 @@ markdownPreview = new MarkdownPreview()
previewButtonSelector
=
'.js-md-preview-button'
writeButtonSelector
=
'.js-md-write-button'
lastTextareaPreviewed
=
null
$
.
fn
.
setupMarkdownPreview
=
->
$form
=
$
(
this
)
...
...
@@ -58,10 +64,10 @@ $.fn.setupMarkdownPreview = ->
form_textarea
.
on
'input'
,
->
markdownPreview
.
hideReferencedUsers
(
$form
)
form_textarea
.
on
'blur'
,
->
markdownPreview
.
showPreview
(
$form
)
$
(
document
).
on
'
click'
,
previewButtonSelector
,
(
e
)
->
e
.
preventDefault
()
$
(
document
).
on
'
markdown-preview:show'
,
(
e
,
$form
)
->
return
unless
$form
$form
=
$
(
this
).
closest
(
'form
'
)
lastTextareaPreviewed
=
$form
.
find
(
'textarea.markdown-area
'
)
# toggle tabs
$form
.
find
(
writeButtonSelector
).
parent
().
removeClass
(
'active'
)
...
...
@@ -73,10 +79,10 @@ $(document).on 'click', previewButtonSelector, (e) ->
markdownPreview
.
showPreview
(
$form
)
$
(
document
).
on
'
click'
,
writeButtonSelector
,
(
e
)
->
e
.
preventDefault
()
$
(
document
).
on
'
markdown-preview:hide'
,
(
e
,
$form
)
->
return
unless
$form
$form
=
$
(
this
).
closest
(
'form'
)
lastTextareaPreviewed
=
null
# toggle tabs
$form
.
find
(
writeButtonSelector
).
parent
().
addClass
(
'active'
)
...
...
@@ -84,4 +90,30 @@ $(document).on 'click', writeButtonSelector, (e) ->
# toggle content
$form
.
find
(
'.md-write-holder'
).
show
()
$form
.
find
(
'textarea.markdown-area'
).
focus
()
$form
.
find
(
'.md-preview-holder'
).
hide
()
$
(
document
).
on
'markdown-preview:toggle'
,
(
e
,
keyboardEvent
)
->
$target
=
$
(
keyboardEvent
.
target
)
if
$target
.
is
(
'textarea.markdown-area'
)
$
(
document
).
triggerHandler
(
'markdown-preview:show'
,
[
$target
.
closest
(
'form'
)])
keyboardEvent
.
preventDefault
()
else
if
lastTextareaPreviewed
$target
=
lastTextareaPreviewed
$
(
document
).
triggerHandler
(
'markdown-preview:hide'
,
[
$target
.
closest
(
'form'
)])
keyboardEvent
.
preventDefault
()
$
(
document
).
on
'click'
,
previewButtonSelector
,
(
e
)
->
e
.
preventDefault
()
$form
=
$
(
this
).
closest
(
'form'
)
$
(
document
).
triggerHandler
(
'markdown-preview:show'
,
[
$form
])
$
(
document
).
on
'click'
,
writeButtonSelector
,
(
e
)
->
e
.
preventDefault
()
$form
=
$
(
this
).
closest
(
'form'
)
$
(
document
).
triggerHandler
(
'markdown-preview:hide'
,
[
$form
])
app/assets/javascripts/shortcuts.js.coffee
浏览文件 @
af24645d
...
...
@@ -4,11 +4,15 @@ class @Shortcuts
Mousetrap
.
reset
()
Mousetrap
.
bind
(
'?'
,
@
selectiveHelp
)
Mousetrap
.
bind
(
's'
,
Shortcuts
.
focusSearch
)
Mousetrap
.
bind
([
'ctrl+shift+p'
,
'command+shift+p'
],
@
toggleMarkdownPreview
)
Mousetrap
.
bind
(
't'
,
->
Turbolinks
.
visit
(
findFileURL
))
if
findFileURL
?
selectiveHelp
:
(
e
)
=>
Shortcuts
.
showHelp
(
e
,
@
enabledHelp
)
toggleMarkdownPreview
:
(
e
)
=>
$
(
document
).
triggerHandler
(
'markdown-preview:toggle'
,
[
e
])
@
showHelp
:
(
e
,
location
)
->
if
$
(
'#modal-shortcuts'
).
length
>
0
$
(
'#modal-shortcuts'
).
modal
(
'show'
)
...
...
@@ -35,3 +39,14 @@ $(document).on 'click.more_help', '.js-more-help-button', (e) ->
$
(
@
).
remove
()
$
(
'.hidden-shortcut'
).
show
()
e
.
preventDefault
()
Mousetrap
.
stopCallback
=
(
->
defaultStopCallback
=
Mousetrap
.
stopCallback
return
(
e
,
element
,
combo
)
->
# allowed shortcuts if textarea, input, contenteditable are focused
if
[
'ctrl+shift+p'
,
'command+shift+p'
].
indexOf
(
combo
)
!=
-
1
return
false
else
return
defaultStopCallback
.
apply
(
@
,
arguments
)
)()
app/views/help/_shortcuts.html.haml
浏览文件 @
af24645d
...
...
@@ -22,6 +22,10 @@
%td
.shortcut
.key
?
%td
Show this dialog
%tr
%td
.shortcut
.key
ctrl shift p
%td
Toggle Markdown preview
%tbody
%tr
%th
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录