Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
server
team-presentation
Commits
e3a3d3aa
Commit
e3a3d3aa
authored
May 21, 2017
by
linux-man
Browse files
Better Search
Open/close with Control+Shift+f Find words inside SPAN Don't duplicate findings
parent
360bc940
Changes
2
Show whitespace changes
Inline
Side-by-side
demo.html
View file @
e3a3d3aa
...
...
@@ -399,6 +399,7 @@ Reveal.addEventListener( 'customevent', function() {
{
src
:
'
plugin/markdown/marked.js
'
,
condition
:
function
()
{
return
!!
document
.
querySelector
(
'
[data-markdown]
'
);
}
},
{
src
:
'
plugin/markdown/markdown.js
'
,
condition
:
function
()
{
return
!!
document
.
querySelector
(
'
[data-markdown]
'
);
}
},
{
src
:
'
plugin/highlight/highlight.js
'
,
async
:
true
,
callback
:
function
()
{
hljs
.
initHighlightingOnLoad
();
}
},
{
src
:
'
plugin/search/search.js
'
,
async
:
true
},
{
src
:
'
plugin/zoom-js/zoom.js
'
,
async
:
true
},
{
src
:
'
plugin/notes/notes.js
'
,
async
:
true
}
]
...
...
plugin/search/search.js
View file @
e3a3d3aa
...
...
@@ -21,7 +21,7 @@ function Hilitor(id, tag)
var
targetNode
=
document
.
getElementById
(
id
)
||
document
.
body
;
var
hiliteTag
=
tag
||
"
EM
"
;
var
skipTags
=
new
RegExp
(
"
^(?:
"
+
hiliteTag
+
"
|SCRIPT|FORM
|SPAN
)$
"
);
var
skipTags
=
new
RegExp
(
"
^(?:
"
+
hiliteTag
+
"
|SCRIPT|FORM)$
"
);
var
colors
=
[
"
#ff6
"
,
"
#a0ffff
"
,
"
#9f9
"
,
"
#f99
"
,
"
#f6f
"
];
var
wordColor
=
[];
var
colorIdx
=
0
;
...
...
@@ -53,8 +53,8 @@ function Hilitor(id, tag)
if
(
node
.
nodeType
==
3
)
{
// NODE_TEXT
if
((
nv
=
node
.
nodeValue
)
&&
(
regs
=
matchRegex
.
exec
(
nv
)))
{
//find the slide's section element and save it in our list of matching slides
var
secnode
=
node
.
parentNode
;
while
(
secnode
.
nodeName
!=
'
SECTION
'
)
{
var
secnode
=
node
;
while
(
secnode
!=
null
&&
secnode
.
nodeName
!=
'
SECTION
'
)
{
secnode
=
secnode
.
parentNode
;
}
...
...
@@ -110,20 +110,26 @@ function Hilitor(id, tag)
function
openSearch
()
{
//ensure the search term input dialog is visible and has focus:
var
inputboxdiv
=
document
.
getElementById
(
"
searchinputdiv
"
);
var
inputbox
=
document
.
getElementById
(
"
searchinput
"
);
inputbox
.
style
.
display
=
"
inline
"
;
inputbox
div
.
style
.
display
=
"
inline
"
;
inputbox
.
focus
();
inputbox
.
select
();
}
function
closeSearch
()
{
var
inputboxdiv
=
document
.
getElementById
(
"
searchinputdiv
"
);
inputboxdiv
.
style
.
display
=
"
none
"
;
if
(
myHilitor
)
myHilitor
.
remove
();
}
function
toggleSearch
()
{
var
inputbox
=
document
.
getElementById
(
"
searchinput
"
);
if
(
inputbox
.
style
.
display
!==
"
inline
"
)
{
var
inputbox
div
=
document
.
getElementById
(
"
searchinput
div
"
);
if
(
inputbox
div
.
style
.
display
!==
"
inline
"
)
{
openSearch
();
}
else
{
inputbox
.
style
.
display
=
"
none
"
;
myHilitor
.
remove
();
closeSearch
();
}
}
...
...
@@ -157,7 +163,8 @@ function Hilitor(id, tag)
searchElement
.
classList
.
add
(
'
searchdiv
'
);
searchElement
.
style
.
position
=
'
absolute
'
;
searchElement
.
style
.
top
=
'
10px
'
;
searchElement
.
style
.
left
=
'
10px
'
;
searchElement
.
style
.
right
=
'
10px
'
;
searchElement
.
style
.
zIndex
=
10
;
//embedded base64 search icon Designed by Sketchdock - http://www.sketchdock.com/:
searchElement
.
innerHTML
=
'
<span><input type="search" id="searchinput" class="searchinput" style="vertical-align: top;"/><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJiSURBVHjatFZNaxNBGH5md+Mmu92NVdKDRipSAyqCghgQD4L4cRe86UUtAQ+eFCxoa4/25EXBFi8eBE+eRPoDhB6KgiiixdAPCEkx2pjvTXadd9yNsflwuyUDD/O+u8PzzDPvzOwyx3EwyCZhwG3gAkp7MnpjgbopjsltcD4gjuXZZKeAR348MYLYTm3LzOs/y3j3JTfZxgXWXmTuwPHIc4VmoOmv5IrI53+AO2DdHLjkDWQ3GoEEVFXtXQOvkSnPWcyUceviLhwbDYv8/XIVj97kse7TodLvZXxYxrPUHkQ1ufXs3FEdybEIxucySOesoNvUgWU1cP3MkCBfTFdw9fGaAMVmRELq7LBw2Q3/FaAxxWIRpw+ZIr/7IouPqzUBiqmdHAv7EuhRAwf1er2Vy4x1jW3b2d5Jfvu5IPp7l2LYbcgCFFNb+FoJ7oBqEAqFMPNqFcmEgVMJDfMT+1tvN0pNjERlMS6QA5pFOKxiKVPFhakPeL3It+WGJUDxt2wFR+JhzI7v5ctkd8DXOZAkCYYxhO+lKm4+Xfqz/rIixBuNBl7eOYzkQQNzqX249mRl6zUgEcYkaJrGhUwBinVdh6IouPzwE6/DL5w4oLkH8y981aDf+uq6hlKpJESiUdNfDZi7/ehG9K6KfiA3pml0PLcsq+cSMTj2NL9ukc4UOmz7AZ3+crkC4mHujFvXNaMFB3bEr8xPS6p5O+jXxq4VZtaen7/PwzrntjcLUE0iHPS1Ud1cdiEJl/8WivZk0wXd7zWOMkeF8s0CcAmkNrC2nvXZDbbbN73ccYnZoH9bfgswAFzAe9/h3dbKAAAAAElFTkSuQmCC" id="searchbutton" class="searchicon" style="vertical-align: top; margin-top: -1px;"/></span>
'
;
dom
.
wrapper
.
appendChild
(
searchElement
);
...
...
@@ -179,18 +186,12 @@ function Hilitor(id, tag)
}
},
false
);
// Open the search when the 's' key is hit (yes, this conflicts with the notes plugin, disabling for now)
/*
document
.
addEventListener
(
'
keydown
'
,
function
(
event
)
{
// Disregard the event if the target is editable or a
// modifier is present
if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return;
if( event.keyCode === 83 ) {
if
(
event
.
key
==
"
F
"
&&
(
event
.
ctrlKey
||
event
.
metaKey
)
)
{
//Control+Shift+f
event
.
preventDefault
();
open
Search();
toggle
Search
();
}
},
false
);
*/
closeSearch
();
return
{
open
:
openSearch
};
})();
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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