mirror of https://github.com/apache/lucene.git
SOLR-3326: Show plugin links as real links
git-svn-id: https://svn.apache.org/repos/asf/lucene/dev/trunk@1310532 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
22c40a71c2
commit
874507d982
|
@ -1,3 +1,4 @@
|
|||
|
||||
#content #plugins #navigation
|
||||
{
|
||||
width: 20%;
|
||||
|
@ -101,4 +102,16 @@
|
|||
#content #plugins #frame .entry .stats dd
|
||||
{
|
||||
width: 72%;
|
||||
}
|
||||
}
|
||||
|
||||
#content #plugins #frame .entry.expanded a.linker {
|
||||
background-image: none;
|
||||
background-position: 0 0;
|
||||
display: inline;
|
||||
font-weight: normal;
|
||||
padding:0px;
|
||||
}
|
||||
|
||||
#content #plugins #frame .entry.expanded a.linker:hover {
|
||||
background-color:#F0F3FF;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,48 @@
|
|||
//by Michalis Tzikas & Vasilis Lolos
|
||||
//07-03-2012
|
||||
//v1.0
|
||||
/*
|
||||
Copyright (C) 2011 by Michalis Tzikas & Vasilis Lolos
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
*/
|
||||
(function( $ ){
|
||||
$.fn.linker = function(options) {
|
||||
var defaults = {
|
||||
target : '', //blank,self,parent,top
|
||||
className : '',
|
||||
rel : ''
|
||||
};
|
||||
var options = $.extend(defaults, options);
|
||||
|
||||
target_string = (options.target != '') ? 'target="_'+options.target+'"' : '';
|
||||
class_string = (options.className != '') ? 'class="'+options.className+'"' : '';
|
||||
rel_string = (options.rel != '') ? 'rel="'+options.rel+'"' : '';
|
||||
|
||||
$(this).each(function(){
|
||||
t = $(this).text();
|
||||
|
||||
t = t.replace(/(https\:\/\/|http:\/\/)([www\.]?)([^\s|<]+)/gi,'<a href="$1$2$3" '+target_string+' '+class_string+' '+rel_string+'>$1$2$3</a>');
|
||||
t = t.replace(/([^https\:\/\/]|[^http:\/\/]|^)(www)\.([^\s|<]+)/gi,'$1<a href="http://$2.$3" '+target_string+' '+class_string+' '+rel_string+'>$2.$3</a>');
|
||||
t = t.replace(/<([^a]|^\/a])([^<>]+)>/g, "<$1$2>").replace(/<\/a>/g, "</a>").replace(/<(.)>/g, "<$1>").replace(/\n/g, '<br />');
|
||||
|
||||
$(this).html(t);
|
||||
});
|
||||
};
|
||||
})( jQuery );
|
|
@ -27,6 +27,7 @@ require
|
|||
'lib/order!lib/jquery.sparkline',
|
||||
'lib/order!lib/jquery.timeago',
|
||||
'lib/order!lib/highlight',
|
||||
'lib/order!lib/linker',
|
||||
'lib/order!lib/ZeroClipboard',
|
||||
'lib/order!lib/d3',
|
||||
'lib/order!lib/chosen',
|
||||
|
|
|
@ -185,16 +185,25 @@ sammy.get
|
|||
|
||||
if( 'description' === detail_key )
|
||||
{
|
||||
detail_value = detail_value.replace( /,/g, ',​' );
|
||||
}
|
||||
else if( 'src' === detail_key )
|
||||
{
|
||||
detail_value = detail_value.replace( /\//g, '/​' );
|
||||
// For list of components
|
||||
if(detail_value.match(/^Search using components: /)) {
|
||||
detail_value = detail_value
|
||||
.replace( /: /, ':<ul><li>' )
|
||||
.replace( /,/g, '</li><li>' ) +
|
||||
"</li></ul>";
|
||||
}
|
||||
}
|
||||
|
||||
content += '<li><dl class="clearfix">' + "\n";
|
||||
content += '<dt>' + detail_key + ':</dt>' + "\n";
|
||||
content += '<dd>' + detail_value + '</dd>' + "\n";
|
||||
if($.isArray(detail_value)) {
|
||||
$.each(detail_value, function(index, value) {
|
||||
content += '<dd>' + value + '</dd>' + "\n";
|
||||
});
|
||||
}
|
||||
else {
|
||||
content += '<dd>' + detail_value + '</dd>' + "\n";
|
||||
}
|
||||
content += '</dl></li>' + "\n";
|
||||
}
|
||||
else if( 'stats' === detail_key && details[detail_key] )
|
||||
|
@ -232,6 +241,24 @@ sammy.get
|
|||
|
||||
$( 'a[href="' + decodeURIComponent( context.path ) + '"]', frame_element )
|
||||
.parent().addClass( 'expanded' );
|
||||
|
||||
// Try to make links for anythign with http (but leave the rest alone)
|
||||
$( '.detail dd' ).each(function(index) {
|
||||
var txt = $(this).html();
|
||||
if(txt.indexOf("http") >= 0) {
|
||||
$(this).linker({
|
||||
target: '', //blank,self,parent,top
|
||||
className : 'linker',
|
||||
rel : ''
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
// Add invisible whitespace after each slash
|
||||
$( '.detail a.linker' ).each(function(index) {
|
||||
$(this).html( $(this).html().replace( /\//g, '/​' ) );
|
||||
});
|
||||
|
||||
|
||||
$( '.entry', frame_element )
|
||||
.each
|
||||
|
|
Loading…
Reference in New Issue