浏览代码

Gets search working again and adds a few customizations

Caleb Fangmeier 6 年之前
父节点
当前提交
a6253e37ce

二进制
static/tipuesearch/img/loader.gif


二进制
static/tipuesearch/img/search.png


+ 312 - 83
static/tipuesearch/tipuesearch.css

@@ -1,134 +1,363 @@
+@import url('https://fonts.googleapis.com/css?family=Open+Sans:300,400|Source+Code+Pro');
+
+
 /*
-Tipue Search 3.1
-Copyright (c) 2013 Tipue
+Tipue Search 7.0
+Copyright (c) 2018 Tipue
 Tipue Search is released under the MIT License
 http://www.tipue.com/search
 */
-#tipue_search_content
+
+
+/* basics */
+
+
+.tipue_search_group:after
 {
-    clear: left;
-    margin: 0;
-    max-width: 650px;
-    padding: 25px 0 13px 0;
+     content: "";
+     display: table;
+     clear: both;
 }
-#tipue_search_loading
+
+
+/* fonts, colors */
+
+
+#tipue_search_input
 {
-    background: #fff url('img/loader.gif') no-repeat left;
-    padding-top: 60px;
+     font: 15px/1 'Open Sans', sans-serif;
+     color: #333;     
+     -webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
 }
-#tipue_search_warning
+.tipue_search_icon
+{
+     font: 300 24px/1 'Open Sans', sans-serif;
+     color: #777;   
+}
+#tipue_search_results_count, .tipue_search_related, .tipue_search_note
+{
+     font: 12px/1.3 'Source Code Pro', monospace;
+	text-transform: uppercase;
+	color: #999;
+     -webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
+}
+#tipue_search_replace, #tipue_search_error, .tipue_search_content_text
 {
-    color: #333;
-    font: 12px/1.6 'Helvetica Neue', Helvetica, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif;
-    margin: 7px 0;
+     font: 300 16px/1.6 'Open Sans', sans-serif;
+	color: #666; 
 }
-#tipue_search_warning a
+#tipue_search_replace a
 {
-    color: #3f72d8;
-    text-decoration: none;
+     color: #339e41;
+     text-decoration: none;
 }
-#tipue_search_warning a:hover
+#tipue_search_replace a:hover
 {
-    border-bottom: 1px solid #ccc;
-    padding-bottom: 1px;
+     color: #666;  
 }
-#tipue_search_results_count, #tipue_search_warning_head
+.tipue_search_related_btn
 {
-    border-bottom: 1px solid rgb(143, 134, 134);
-    color: darkred;
-    font-family: Baskerville, Garamond, Georgia, "DejaVu Serif", "Times New Roman", Times, Serif;
-    font-size: 3em;
-    font-weight: normal;
-    margin: 20px 0 20px 0;
-    padding: 5px 5px 15px 5px;
+     font: 11px/1 'Source Code Pro', monospace;
+	color: #666;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+	background-color: #f7f7f7;
 }
 .tipue_search_content_title
 {
-    font: 300 23px/1.6 'Helvetica Neue', Helvetica, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif;
-    margin-top: 20px;
+     font: 300 30px/1.2 'Open Sans', sans-serif;
+     color: #333;
+     -webkit-font-smoothing: antialiased;
+	-moz-osx-font-smoothing: grayscale;
 }
 .tipue_search_content_title a
 {
-    color: #3f72d8;
-    text-decoration: none;
+     color: #333;
+     text-decoration: none;
+}
+.tipue_search_content_url, .tipue_search_content_debug
+{
+     font: 300 15px/1.7 'Open Sans', sans-serif;
+     color: #333;
+}
+.tipue_search_content_url a
+{
+     color: #339e41;
+     text-decoration: none;
+}
+.tipue_search_content_url a:hover
+{
+     color: #666;
+}
+.tipue_search_content_bold
+{
+     font-weight: 400;
+     color: #333;
+}
+.tipue_search_note a
+{
+     color: #999;
+     text-decoration: none;
 }
-.tipue_search_content_title a:hover
+.tipue_search_image_close
 {
-    border-bottom: 1px solid #ccc;
-    padding-bottom: 1px;
+     font: 22px/1 'Source Code Pro', monospace;
+	color: #ccc;     
+}
+#tipue_search_zoom_text
+{
+     font: 11px/1.7 'Source Code Pro', monospace;
+	color: #ccc;
+	text-transform: uppercase;
+	letter-spacing: 1px;
+}
+#tipue_search_zoom_text a
+{
+     color: #ccc;
+     text-decoration: none;
+     border-bottom: 2px solid #f7f7f7;
+}
+#tipue_search_zoom_text a:hover
+{
+     border: 0;
+}
+#tipue_search_foot_boxes
+{
+     font: 13px/1 'Source Code Pro', sans-serif;
+	text-transform: uppercase;
+	color: #333;     
+}
+#tipue_search_foot_boxes li a
+{
+     background-color: #f7f7f7;
+	color: #666;
+}
+#tipue_search_foot_boxes li.current
+{
+     background: #252525;
+	color: #ccc;
+}
+#tipue_search_foot_boxes li a:hover, .tipue_search_related_btn:hover
+{
+     background: #252525;
+     color: #ccc;
+}
+
+
+/* search box */
+
+
+#tipue_search_input
+{
+     float: left;
+     width: 200px;
+     background-color: #f3f3f3;
+     border: none;
+     padding: 9px 6px 10px 15px;
+     height: 56px;
+     border-radius: 3px;
+	-moz-appearance: none;
+	-webkit-appearance: none;
+	box-sizing: border-box;
+     box-shadow: none;
+	outline: 0;
+	margin: 0;
+}
+.tipue_search_button
+{
+     position: relative;
+     float: left;
+     width: 47px;
+     height: 56px;
+     margin-left: -3px;
+     background-color: #f3f3f3;
+     border: none;
+     border-radius: 3px;
+     box-sizing: border-box;
+     cursor: pointer;
+	outline: 0;
+}
+.tipue_search_icon
+{
+     float: left;
+     transform: rotate(-45deg);
+	-moz-appearance: none;
+	-webkit-appearance: none;
+	box-sizing: border-box;
+     box-shadow: none;
+	outline: 0;	
+	margin: -1px 0 0 8px;
+}
+
+
+/* search results */
+
+
+#tipue_search_content
+{
+     max-width: 100%;
+	margin: 0;
+}
+.tipue_search_result
+{
+     padding-top: 21px;
+}
+#tipue_search_results_count
+{
+     padding-top: 9px;
+}
+.tipue_search_related
+{
+     padding-top: 13px;
+}
+.tipue_search_related_block
+{
+     padding-bottom: 6px;
+}
+#tipue_search_warning
+{
+	padding-top: 10px;
+}
+.tipue_search_related_btn
+{
+     display: inline-block;
+     padding: 9px 10px;
+     text-decoration: none;
+     text-align: center;
+     border-radius: 3px;
+     margin: 9px 9px 0 0;
+     outline: 0;
+     transition: 0.2s; 
+     cursor: pointer;
+}
+#tipue_search_replace
+{
+     padding-top: 13px;
+}
+#tipue_search_error
+{
+     padding-top: 13px;
+}
+.tipue_search_content_url
+{
+     padding-top: 3px;
+     word-wrap: break-word;
+     hyphens: auto;
 }
 .tipue_search_content_text
 {
-    color: #333;
-    font-family: Scala, Georgia, "DejaVu Serif", "Times New Roman", Times, Serif;
-    font-size: 1em;
-    font-variant: normal;
-    line-height: 1.6em;
-    padding: 13px 0;
-    text-transform: none;
+     word-wrap: break-word;
+     hyphens: auto;
+     margin-top: 1px;
+}
+.tipue_search_note
+{
+     padding-top: 5px;
 }
+.tipue_search_content_debug
+{
+     margin: 5px 0;
+}
+
+
+/* images */
 
-.tipue_search_content_text b {
-    color: #EF1D1D;
-    font-family: Garamond;
-    font-size: 1.3em;
+
+.tipue_search_image
+{
+     padding: 9px 0 6px 0;
+}
+.tipue_search_img
+{
+     width: 200px;
+     max-width: 100%;
+     height: auto;
+     transition: 0.5s;
+     border-radius: 1px;
+}
+.tipue_search_img:hover
+{
+     opacity: 0.7;
 }
-.tipue_search_content_loc
+.tipue_search_image_zoom
 {
-    font: 300 13px/1.7 'Helvetica Neue', Helvetica, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif;
-    overflow: auto;
+     cursor: pointer;     
 }
-.tipue_search_content_loc a
+#tipue_search_image_modal
 {
-    color: #555;
-    text-decoration: none;
+     display: none;
+     position: fixed;
+     z-index: 1000;
+     left: 0;
+     top: 0;
+     width: 100%;
+     height: 100%;
+     overflow: auto;
+     background-color: rgba(0, 0, 0, 0.9);
 }
-.tipue_search_content_loc a:hover
+.tipue_search_image_close
 {
-    border-bottom: 1px solid #ccc;
-    padding-bottom: 1px;
+     position: absolute;
+     top: 0;
+     right: 0;
+     padding: 25px 30px;
+     cursor: pointer;
 }
+.tipue_search_image_block
+{
+     margin: 0 auto;
+     max-width: 900px;
+     padding: 73px 30px 30px 30px;
+     box-sizing: border-box;
+     color: #fff;
+}
+#tipue_search_zoom_img
+{
+     max-width: 100%;
+     height: auto;
+}
+#tipue_search_zoom_text, .tipue_search_zoom_options
+{
+     padding-top: 9px;
+}
+
+
+/* footer */
+
+
 #tipue_search_foot
 {
-    margin: 51px 0 21px 0;
+     margin: 51px 0 21px 0;
 }
 #tipue_search_foot_boxes
 {
-    font: 12px/1 'Helvetica Neue', Helvetica, 'Gill Sans', 'Gill Sans MT', Calibri, Arial, Sans-Serif;
-    margin: 0;
-    padding: 0;
+	padding: 0;
+	margin: 0;
+	cursor: pointer;
 }
 #tipue_search_foot_boxes li
 {
-    display: inline;
-    list-style: none;
-    margin: 0;
-    padding: 0;
+     display: inline;
+	list-style: none;
+	margin: 0;
+	padding: 0;
 }
 #tipue_search_foot_boxes li a
 {
-    background-color: #f1f1f1;
-    border-radius: 1px;
-    border: 1px solid #dcdcdc;
-    color: #333;
-    margin-right: 7px;
-    padding: 7px 13px 8px 13px;
-    text-align: center;
-    text-decoration: none;
+	padding: 10px 17px 11px 17px;
+     border-radius: 3px;
+	margin-right: 7px;
+	text-decoration: none;
+	text-align: center;
+	transition: 0.2s;
 }
 #tipue_search_foot_boxes li.current
 {
-    background: #fff;
-    border-radius: 1px;
-    border: 1px solid #dcdcdc;
-    color: #333;
-    margin-right: 7px;
-    padding: 7px 13px 8px 13px;
-    text-align: center;
-}
-#tipue_search_foot_boxes li a:hover
-{
-    background-color: #f3f3f3;
-    border: 1px solid #ccc;
+	padding: 10px 17px 11px 17px;
+     border-radius: 3px;
+	margin-right: 7px;
+	text-align: center;
 }
 

+ 418 - 193
static/tipuesearch/tipuesearch.js

@@ -1,10 +1,10 @@
 
 /*
-Tipue Search 3.1
-Copyright (c) 2013 Tipue
+Tipue Search 7.0
+Copyright (c) 2018 Tipue
 Tipue Search is released under the MIT License
 http://www.tipue.com/search
-*/ 
+*/
 
 
 (function($) {
@@ -13,77 +13,28 @@ http://www.tipue.com/search
 
           var set = $.extend( {
           
-               'show'                   : 7,
-               'newWindow'              : false,
-               'showURL'                : true,
-               'minimumLength'          : 3,
-               'descriptiveWords'       : 25,
-               'highlightTerms'         : true,
-               'highlightEveryTerm'     : false,
-               'mode'                   : 'static',
-               'liveDescription'        : '*',
-               'liveContent'            : '*',
-               'contentLocation'        : 'tipuesearch/tipuesearch_content.json'
-          
+          'contextBuffer'          : 60,
+          'contextLength'          : 60,
+          'contextStart'           : 90,
+          'debug'                  : false,
+          'descriptiveWords'       : 25,
+          'footerPages'            : 3,
+          'highlightTerms'         : true,
+          'imageZoom'              : true,
+          'minimumLength'          : 3,
+          'newWindow'              : false,
+          'show'                   : 10,
+          'showContext'            : true,
+          'showRelated'            : true,
+          'showTime'               : true,
+          'showTitleCount'         : true,
+          'showURL'                : true,
+          'wholeWords'             : true
           }, options);
           
           return this.each(function() {
-
-               var tipuesearch_in = {
-                    pages: []
-               };
-               $.ajaxSetup({
-                    async: false
-               });
-
-               if (set.mode == 'live')
-               {
-                    for (var i = 0; i < tipuesearch_pages.length; i++)
-                    {
-                         $.get(tipuesearch_pages[i], '',
-                              function (html)
-                              {
-                                   var cont = $(set.liveContent, html).text();
-                                   cont = cont.replace(/\s+/g, ' ');
-                                   var desc = $(set.liveDescription, html).text();
-                                   desc = desc.replace(/\s+/g, ' ');
-                                                                      
-                                   var t_1 = html.toLowerCase().indexOf('<title>');
-                                   var t_2 = html.toLowerCase().indexOf('</title>', t_1 + 7);
-                                   if (t_1 != -1 && t_2 != -1)
-                                   {
-                                        var tit = html.slice(t_1 + 7, t_2);
-                                   }
-                                   else
-                                   {
-                                        var tit = 'No title';
-                                   }
-
-                                   tipuesearch_in.pages.push({
-                                        "title": tit,
-                                        "text": desc,
-                                        "tags": cont,
-                                        "loc": tipuesearch_pages[i] 
-                                   });    
-                              }
-                         );
-                    }
-               }
                
-               if (set.mode == 'json')
-               {
-                    $.getJSON(set.contentLocation,
-                         function(json)
-                         {
-                              tipuesearch_in = $.extend({}, json);
-                         }
-                    );
-               }
-
-               if (set.mode == 'static')
-               {
-                    tipuesearch_in = $.extend({}, tipuesearch);
-               }                              
+               var tipuesearch_t_c = 0;                         
                
                var tipue_search_w = '';
                if (set.newWindow)
@@ -93,18 +44,26 @@ http://www.tipue.com/search
 
                function getURLP(name)
                {
-                    return decodeURIComponent((new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20')) || null;
+                    var locSearch = location.search;
+                    var splitted = (new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(locSearch)||[,""]);
+                    var searchString = splitted[1].replace(/\+/g, '%20');
+                    try
+                    {
+                         searchString = decodeURIComponent(searchString);
+                    }
+                    catch(e)
+                    {
+                         searchString = unescape(searchString);
+                    }
+                    return searchString || null;
                }
+               
                if (getURLP('q'))
                {
                     $('#tipue_search_input').val(getURLP('q'));
                     getTipueSearch(0, true);
                }               
-                             
-               $('#tipue_search_button').click(function()
-               {
-                    getTipueSearch(0, true);
-               });
+               
                $(this).keyup(function(event)
                {
                     if(event.keyCode == '13')
@@ -112,256 +71,526 @@ http://www.tipue.com/search
                          getTipueSearch(0, true);
                     }
                });
+               
 
                function getTipueSearch(start, replace)
                {
-                    $('#tipue_search_content').hide();
+                    window.scrollTo(0, 0);
+                    
                     var out = '';
-                    var results = '';
                     var show_replace = false;
                     var show_stop = false;
+                    var standard = true;
+                    var c = 0;
+                    var found = [];
+                    
+                    var d_o = $('#tipue_search_input').val();
+                    d_o = d_o.replace(/\+/g, ' ').replace(/\s\s+/g, ' ');
+ 
+                    d_o = $.trim(d_o);
+                    var d = d_o.toLowerCase();
+                    
+                    if ((d.match("^\"") && d.match("\"$")) || (d.match("^'") && d.match("'$")))
+                    {
+                         standard = false;
+                    }
                     
-                    var d = $('#tipue_search_input').val().toLowerCase();
-                    d = $.trim(d);
                     var d_w = d.split(' ');
-                    d = '';
-                    for (var i = 0; i < d_w.length; i++)
+                    
+                    if (standard)
                     {
-                         var a_w = true;
-                         for (var f = 0; f < tipuesearch_stop_words.length; f++)
+                         d = '';
+                         for (var i = 0; i < d_w.length; i++)
                          {
-                              if (d_w[i] == tipuesearch_stop_words[f])
+                              var a_w = true;
+                              for (var f = 0; f < tipuesearch_stop_words.length; f++)
                               {
-                                   a_w = false;
-                                   show_stop = true;          
+                                   if (d_w[i] == tipuesearch_stop_words[f])
+                                   {
+                                        a_w = false;
+                                        show_stop = true;          
+                                   }
+                              }
+                              if (a_w)
+                              {
+                                   d = d + ' ' + d_w[i];
                               }
                          }
-                         if (a_w)
-                         {
-                              d = d + ' ' + d_w[i];
-                         }
+                         d = $.trim(d);
+                         d_w = d.split(' ');
                     }
-                    d = $.trim(d);
-                    d_w = d.split(' ');
-                    
+                    else
+                    {
+                         d = d.substring(1, d.length - 1);
+                    }
+               
                     if (d.length >= set.minimumLength)
                     {
-                         if (replace)
+                         if (standard)
                          {
-                              var d_r = d;
+                              if (replace)
+                              {
+                                   var d_r = d;
+                                   for (var i = 0; i < d_w.length; i++)
+                                   {
+                                        for (var f = 0; f < tipuesearch_replace.words.length; f++)
+                                        {
+                                             if (d_w[i] == tipuesearch_replace.words[f].word)
+                                             {
+                                                  d = d.replace(d_w[i], tipuesearch_replace.words[f].replace_with);
+                                                  show_replace = true;
+                                             }
+                                        }
+                                   }
+                                   d_w = d.split(' ');
+                              }                   
+                    
+                              var d_t = d;
                               for (var i = 0; i < d_w.length; i++)
                               {
-                                   for (var f = 0; f < tipuesearch_replace.words.length; f++)
+                                   for (var f = 0; f < tipuesearch_stem.words.length; f++)
                                    {
-                                        if (d_w[i] == tipuesearch_replace.words[f].word)
+                                        if (d_w[i] == tipuesearch_stem.words[f].word)
                                         {
-                                             d = d.replace(d_w[i], tipuesearch_replace.words[f].replace_with);
-                                             show_replace = true;
+                                             d_t = d_t + ' ' + tipuesearch_stem.words[f].stem;
                                         }
                                    }
                               }
-                              d_w = d.split(' ');
-                         }                   
-                         
-                         var d_t = d;
-                         for (var i = 0; i < d_w.length; i++)
-                         {
-                              for (var f = 0; f < tipuesearch_stem.words.length; f++)
+                              d_w = d_t.split(' ');
+
+                              for (var i = 0; i < tipuesearch.pages.length; i++)
                               {
-                                   if (d_w[i] == tipuesearch_stem.words[f].word)
+                                   var score = 0;
+                                   var s_t = tipuesearch.pages[i].text;
+                                   for (var f = 0; f < d_w.length; f++)
+                                   {
+                                        if (set.wholeWords)
+                                        {
+                                             var pat = new RegExp('\\b' + d_w[f] + '\\b', 'gi');
+                                        }
+                                        else
+                                        {
+                                             var pat = new RegExp(d_w[f], 'gi');
+                                        }
+                                        if (tipuesearch.pages[i].title.search(pat) != -1)
+                                        {
+                                             var m_c = tipuesearch.pages[i].title.match(pat).length;
+                                             score += (20 * m_c);
+                                        }
+                                        if (tipuesearch.pages[i].text.search(pat) != -1)
+                                        {
+                                             var m_c = tipuesearch.pages[i].text.match(pat).length;
+                                             score += (20 * m_c);
+                                        }
+                                        if (tipuesearch.pages[i].tags)
+                                        {
+                                             if (tipuesearch.pages[i].tags.search(pat) != -1)
+                                             {
+                                                  var m_c = tipuesearch.pages[i].tags.match(pat).length;
+                                                  score += (10 * m_c);
+                                             }
+                                        }
+                                        if (tipuesearch.pages[i].url.search(pat) != -1)
+                                        {
+                                             score += 20;
+                                        }
+                                        
+                                        if (score != 0)
+                                        {
+                                             for (var e = 0; e < tipuesearch_weight.weight.length; e++)
+                                             {
+                                                  if (tipuesearch.pages[i].url == tipuesearch_weight.weight[e].url)
+                                                  {
+                                                       score += tipuesearch_weight.weight[e].score;
+                                                  }
+                                             }
+                                        }
+                                        
+                                        if (d_w[f].match('^-'))
+                                        {
+                                             pat = new RegExp(d_w[f].substring(1), 'i');
+                                             if (tipuesearch.pages[i].title.search(pat) != -1 || tipuesearch.pages[i].text.search(pat) != -1 || tipuesearch.pages[i].tags.search(pat) != -1)
+                                             {
+                                                  score = 0;     
+                                             }    
+                                        }
+                                   }
+                                   
+                                   if (score != 0)
                                    {
-                                        d_t = d_t + ' ' + tipuesearch_stem.words[f].stem;
+                                        found.push(
+                                        {
+                                             "score": score,
+                                             "title": tipuesearch.pages[i].title,
+                                             "desc": s_t,
+                                             "img": tipuesearch.pages[i].img, 
+                                             "url": tipuesearch.pages[i].url,
+                                             "note": tipuesearch.pages[i].note
+                                        });
+                                        c++;                                                                   
                                    }
                               }
                          }
-                         d_w = d_t.split(' ');
-
-                         var c = 0;
-                         found = new Array();
-                         for (var i = 0; i < tipuesearch_in.pages.length; i++)
+                         else
                          {
-                              var score = 1000000000;
-                              var s_t = tipuesearch_in.pages[i].text;
-                              for (var f = 0; f < d_w.length; f++)
+                              for (var i = 0; i < tipuesearch.pages.length; i++)
                               {
-                                   var pat = new RegExp(d_w[f], 'i');
-                                   if (tipuesearch_in.pages[i].title.search(pat) != -1)
+                                   var score = 0;
+                                   var s_t = tipuesearch.pages[i].text;
+                                   var pat = new RegExp(d, 'gi');
+                                   if (tipuesearch.pages[i].title.search(pat) != -1)
                                    {
-                                        score -= (200000 - i);
+                                        var m_c = tipuesearch.pages[i].title.match(pat).length;
+                                        score += (20 * m_c);
                                    }
-                                   if (tipuesearch_in.pages[i].text.search(pat) != -1)
+                                   if (tipuesearch.pages[i].text.search(pat) != -1)
                                    {
-                                        score -= (150000 - i);
+                                        var m_c = tipuesearch.pages[i].text.match(pat).length;
+                                        score += (20 * m_c);
                                    }
-                                   
-                                   if (set.highlightTerms)
+                                   if (tipuesearch.pages[i].tags)
                                    {
-                                        if (set.highlightEveryTerm) 
+                                        if (tipuesearch.pages[i].tags.search(pat) != -1)
                                         {
-                                             var patr = new RegExp('(' + d_w[f] + ')', 'gi');
+                                             var m_c = tipuesearch.pages[i].tags.match(pat).length;
+                                             score += (10 * m_c);
                                         }
-                                        else
+                                   }
+                                   if (tipuesearch.pages[i].url.search(pat) != -1)
+                                   {
+                                        score += 20;
+                                   }
+                                   
+                                   if (score != 0)
+                                   {
+                                        for (var e = 0; e < tipuesearch_weight.weight.length; e++)
                                         {
-                                             var patr = new RegExp('(' + d_w[f] + ')', 'i');
+                                             if (tipuesearch.pages[i].url == tipuesearch_weight.weight[e].url)
+                                             {
+                                                  score += tipuesearch_weight.weight[e].score;
+                                             }
                                         }
-                                        s_t = s_t.replace(patr, "<b>$1</b>");
                                    }
-                                   if (tipuesearch_in.pages[i].tags.search(pat) != -1)
+                              
+                                   if (score != 0)
                                    {
-                                        score -= (100000 - i);
-                                   }
-                    
-                              }
-                              if (score < 1000000000)
-                              {
-                                   found[c++] = score + '^' + tipuesearch_in.pages[i].title + '^' + s_t + '^' + tipuesearch_in.pages[i].loc;                                                                   
+                                        found.push(
+                                        {
+                                             "score": score,
+                                             "title": tipuesearch.pages[i].title,
+                                             "desc": s_t,
+                                             "img": tipuesearch.pages[i].img,
+                                             "url": tipuesearch.pages[i].url,
+                                             "note": tipuesearch.pages[i].note
+                                        });
+                                        c++;                                                                  
+                                   }                              
                               }
                          }                         
                          
                          if (c != 0)
                          {
-                              if (show_replace == 1)
+                              if (set.showTitleCount && tipuesearch_t_c == 0)
                               {
-                                   out += '<div id="tipue_search_warning_head">Showing results for ' + d + '</div>';
-                                   out += '<div id="tipue_search_warning">Search for <a href="javascript:void(0)" id="tipue_search_replaced">' + d_r + '</a></div>'; 
-                              }
+                                   var title = document.title;
+                                   document.title = '(' + c + ') ' + title;
+                                   tipuesearch_t_c++;
+                              }                         
+
                               if (c == 1)
                               {
-                                   out += '<div id="tipue_search_results_count">1 result</div>';
+                                   out += '<div id="tipue_search_results_count">' + tipuesearch_string_4;
                               }
                               else
                               {
-                                   c_c = c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
-                                   out += '<div id="tipue_search_results_count">' + c_c + ' results</div>';
+                                   var c_c = c.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
+                                   out += '<div id="tipue_search_results_count">' + c_c + ' ' + tipuesearch_string_5;
+                              }
+                              if (set.showTime)
+                              {
+                                   var endTimer = new Date().getTime();
+                                   var time = (endTimer - startTimer) / 1000;
+                                   out += ' (' + time.toFixed(2) + ' ' + tipuesearch_string_14 + ')';
+                                   set.showTime = false;
+                              }
+                              out += '</div>';
+                                   
+                              if (set.showRelated && standard)
+                              {
+                                   f = 0;
+                                   for (var i = 0; i < tipuesearch_related.Related.length; i++)
+                                   {
+                                        if (d == tipuesearch_related.Related[i].search)
+                                        {
+                                             if (!f)
+                                             {
+                                                  out += '<div class="tipue_search_related">' + tipuesearch_string_10 + '</div><div class="tipue_search_related_block">';
+                                             }
+                                             if (show_replace)
+                                             {
+                                                  d_o = d;
+                                             }
+                                             
+                                             if (tipuesearch_related.Related[i].include)
+                                             {
+                                                  var r_d = d_o + ' ' + tipuesearch_related.Related[i].related;
+                                             }
+                                             else
+                                             {
+                                                  var r_d = tipuesearch_related.Related[i].related;
+                                             }                                             
+                                             
+                                             out += '<a class="tipue_search_related_btn" id="' + r_d + '">' + tipuesearch_related.Related[i].related + '</a>';
+                                             f++;         
+                                        }
+                                   }
+                                   if (f)
+                                   {
+                                        out += '</div>';
+                                   }   
+                              }
+
+                              if (show_replace)
+                              {
+                                   out += '<div id="tipue_search_replace">' + tipuesearch_string_2 + ' ' + d + '. ' + tipuesearch_string_3 + ' <a id="tipue_search_replaced">' + d_r + '</a></div>';
                               }
                               
-                              found.sort();
+                              found.sort(function(a, b) { return b.score - a.score } );
+                              
                               var l_o = 0;
+                              
+                              if (set.imageZoom)
+                              {
+                                   out += '<div id="tipue_search_image_modal"><div class="tipue_search_image_close">&#10005;</div><div class="tipue_search_image_block"><a id="tipue_search_zoom_url"><img id="tipue_search_zoom_img"></a><div id="tipue_search_zoom_text"></div></div></div>';    
+                              }
+                              
                               for (var i = 0; i < found.length; i++)
                               {
-                                   var fo = found[i].split('^');
                                    if (l_o >= start && l_o < set.show + start)
                                    {
-                                        out += '<div class="tipue_search_content_title"><a href="' + fo[3] + '"' + tipue_search_w + '>' +  fo[1] + '</a></div>';
-                                                                                
-                                        var t = fo[2];
-                                        var t_d = '';
-                                        var t_w = t.split(' ');
-                                        if (t_w.length < set.descriptiveWords)
-                                        {
-                                             t_d = t;
+                                        out += '<div class="tipue_search_result">';
+                                                                           
+                                        out += '<div class="tipue_search_content_title"><a href="' + found[i].url + '"' + tipue_search_w + '>' +  found[i].title + '</a></div>';
+ 
+                                        if (set.debug)
+                                        {                                             
+                                             out += '<div class="tipue_search_content_debug">Score: ' + found[i].score + '</div>';
                                         }
-                                        else
+                                        
+                                        if (set.showURL)
                                         {
-                                             for (var f = 0; f < set.descriptiveWords; f++)
+                                             var s_u = found[i].url.toLowerCase();
+                                             if (s_u.indexOf('http://') == 0)
                                              {
-                                                  t_d += t_w[f] + ' '; 	
-                                             }
+                                                  s_u = s_u.slice(7);
+                                             }                                             
+                                             out += '<div class="tipue_search_content_url"><a href="' + found[i].url + '"' + tipue_search_w + '>' + s_u + '</a></div>';
                                         }
-                                        t_d = $.trim(t_d);
-                                        if (t_d.charAt(t_d.length - 1) != '.')
+                                        
+                                        if (found[i].img)
                                         {
-                                             t_d += ' ...';
+                                             if (set.imageZoom)
+                                             {
+                                                  out += '<div class="tipue_search_image"><img class="tipue_search_img tipue_search_image_zoom" src="' + found[i].img + '" alt="' + found[i].title + '" data-url="' + found[i].url + '"></div>';     
+                                             }
+                                             else
+                                             {
+                                                  out += '<div class="tipue_search_image"><a href="' + found[i].url + '"' + tipue_search_w + '><img class="tipue_search_img" src="' + found[i].img + '" alt="' + found[i].title + '"></a></div>';
+                                             }
                                         }
-                                        out += '<div class="tipue_search_content_text">' + t_d + '</div>';
                                         
-                                        if (set.showURL)
-                                        {  
-                                             out += '<div class="tipue_search_content_loc"><a href="' + fo[3] + '"' + tipue_search_w + '>' + fo[3] + '</a></div>';
+                                        if (found[i].desc)
+                                        {                                        
+                                             var t = found[i].desc;
+
+                                             if (set.showContext)
+                                             {
+                                                  d_w = d.split(' ');
+                                                  var s_1 = found[i].desc.toLowerCase().indexOf(d_w[0]);
+                                                  if (s_1 > set.contextStart)
+                                                  {
+                                                       var t_1 = t.substr(s_1 - set.contextBuffer);
+                                                       var s_2 = t_1.indexOf(' ');
+                                                       t_1 = t.substr(s_1 - set.contextBuffer + s_2);
+                                                       t_1 = $.trim(t_1);
+                                                       
+                                                       if (t_1.length > set.contextLength)
+                                                       {                                                      
+                                                            t = '... ' + t_1;
+                                                       }
+                                                  }   
+                                             }
+                                             
+                                             if (standard)
+                                             {
+                                                  d_w = d.split(' ');
+                                                  for (var f = 0; f < d_w.length; f++)
+                                                  {
+                                                       if (set.highlightTerms)
+                                                       {
+                                                            var patr = new RegExp('(' + d_w[f] + ')', 'gi');
+                                                            t = t.replace(patr, "<h0011>$1<h0012>");
+                                                       }
+                                                  }
+                                             }
+                                             else if (set.highlightTerms)
+                                             {
+                                                  var patr = new RegExp('(' + d + ')', 'gi');
+                                                  t = t.replace(patr, "<span class=\"tipue_search_content_bold\">$1</span>");
+                                             }
+                                                                                  
+                                             var t_d = '';
+                                             var t_w = t.split(' ');
+                                             if (t_w.length < set.descriptiveWords)
+                                             {
+                                                  t_d = t;
+                                             }
+                                             else
+                                             {
+                                                  for (var f = 0; f < set.descriptiveWords; f++)
+                                                  {
+                                                       t_d += t_w[f] + ' '; 	
+                                                  }
+                                             }
+                                             t_d = $.trim(t_d);
+                                             if (t_d.charAt(t_d.length - 1) != '.')
+                                             {
+                                                  t_d += ' ...';
+                                             }
+                                             
+                                             t_d = t_d.replace(/h0011/g, 'span class=\"tipue_search_content_bold\"');
+                                             t_d = t_d.replace(/h0012/g, '/span');
+                                             
+                                             out += '<div class="tipue_search_content_text">' + t_d + '</div>';
                                         }
+                                        
+                                        if (found[i].note)
+                                        {
+                                             out += '<div class="tipue_search_note">' + found[i].note + '</div>';    
+                                        }                                       
+                                        
+                                        out += '</div>';
                                    }
                                    l_o++;     
-                              }
-                              
+                              }                              
+
                               if (c > set.show)
                               {
                                    var pages = Math.ceil(c / set.show);
                                    var page = (start / set.show);
+                                   if (set.footerPages < 3)
+                                   {
+                                        set.footerPages = 3;
+                                   }
+                                   
                                    out += '<div id="tipue_search_foot"><ul id="tipue_search_foot_boxes">';
                                    
                                    if (start > 0)
                                    {
-                                       out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (start - set.show) + '_' + replace + '">&#171; Prev</a></li>'; 
+                                       out += '<li role="navigation"><a class="tipue_search_foot_box" accesskey="b" id="' + (start - set.show) + '_' + replace + '">' + tipuesearch_string_6 + '</a></li>'; 
                                    }
                                                        
                                    if (page <= 2)
                                    {
                                         var p_b = pages;
-                                        if (pages > 3)
+                                        if (pages > set.footerPages)
                                         {
-                                             p_b = 3;
+                                             p_b = set.footerPages;
                                         }                    
                                         for (var f = 0; f < p_b; f++)
                                         {
                                              if (f == page)
                                              {
-                                                  out += '<li class="current">' + (f + 1) + '</li>';
+                                                  out += '<li class="current" role="navigation">' + (f + 1) + '</li>';
                                              }
                                              else
                                              {
-                                                  out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';
+                                                  out += '<li role="navigation"><a class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';
                                              }
                                         }
                                    }
                                    else
                                    {
-                                        var p_b = pages + 2;
+                                        var p_b = page + set.footerPages - 1;
                                         if (p_b > pages)
                                         {
                                              p_b = pages; 
                                         }
-                                        for (var f = page; f < p_b; f++)
+                                        for (var f = page - 1; f < p_b; f++)
                                         {
                                              if (f == page)
                                              {
-                                                  out += '<li class="current">' + (f + 1) + '</li>';
+                                                  out += '<li class="current" role="navigation">' + (f + 1) + '</li>';
                                              }
                                              else
                                              {
-                                                  out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';
+                                                  out += '<li role="navigation"><a class="tipue_search_foot_box" id="' + (f * set.show) + '_' + replace + '">' + (f + 1) + '</a></li>';
                                              }
-                                        }                         
-                                   }
+                                        }
+                                   }                         
                                                       
                                    if (page + 1 != pages)
                                    {
-                                       out += '<li><a href="javascript:void(0)" class="tipue_search_foot_box" id="' + (start + set.show) + '_' + replace + '">Next &#187;</a></li>'; 
+                                       out += '<li role="navigation"><a class="tipue_search_foot_box" accesskey="m" id="' + (start + set.show) + '_' + replace + '">' + tipuesearch_string_7 + '</a></li>'; 
                                    }                    
                                    
                                    out += '</ul></div>';
-                              }                        
+                              }
+
                          }
                          else
                          {
-                              out += '<div id="tipue_search_warning_head">Nothing found</div>'; 
+                              out += '<div id="tipue_search_error">' + tipuesearch_string_8 + '</div>'; 
                          }
                     }
                     else
                     {
                          if (show_stop)
                          {
-                              out += '<div id="tipue_search_warning_head">Nothing found</div><div id="tipue_search_warning">Common words are largely ignored</div>';     
+                              out += '<div id="tipue_search_error">' + tipuesearch_string_8 + ' ' + tipuesearch_string_9 + '</div>';     
                          }
                          else
                          {
-                              out += '<div id="tipue_search_warning_head">Search too short</div>';
                               if (set.minimumLength == 1)
                               {
-                                   out += '<div id="tipue_search_warning">Should be one character or more</div>';
+                                   out += '<div id="tipue_search_error">' + tipuesearch_string_11 + '</div>';
                               }
                               else
                               {
-                                   out += '<div id="tipue_search_warning">Should be ' + set.minimumLength + ' characters or more</div>';
+                                   out += '<div id="tipue_search_error">' + tipuesearch_string_12 + ' ' + set.minimumLength + ' ' + tipuesearch_string_13 + '</div>';
                               }
                          }
-                    }
-               
-                    $('#tipue_search_content').html(out);
-                    $('#tipue_search_content').slideDown(200);
+                    }                
+                    
+                    $('#tipue_search_content').hide().html(out).slideDown(200);
                     
                     $('#tipue_search_replaced').click(function()
                     {
                          getTipueSearch(0, false);
+                    });
+                    
+                    $('.tipue_search_related_btn').click(function()
+                    {
+                         $('#tipue_search_input').val($(this).attr('id'));
+                         getTipueSearch(0, true);
+                    });
+                    
+                    $('.tipue_search_image_zoom').click(function()
+                    {
+                         $('#tipue_search_image_modal').fadeIn(300);
+                         $('#tipue_search_zoom_img').attr('src', this.src);
+                         
+                         var z_u = $(this).attr('data-url');
+                         $('#tipue_search_zoom_url').attr('href', z_u);
+                         
+                         var z_o = this.alt + '<div class="tipue_search_zoom_options"><a href="' + this.src + '" target="_blank">' + tipuesearch_string_15 + '</a>&nbsp; <a href="' + z_u + '">' + tipuesearch_string_16 + '</a></div>';
+                         
+                         $('#tipue_search_zoom_text').html(z_o);
+                    });
+                    
+                    $('.tipue_search_image_close').click(function()
+                    {
+                         $('#tipue_search_image_modal').fadeOut(300);
                     });                
                
                     $('.tipue_search_foot_box').click(function()
@@ -377,7 +606,3 @@ http://www.tipue.com/search
      };
    
 })(jQuery);
-
-
-
-

文件差异内容过多而无法显示
+ 181 - 12
static/tipuesearch/tipuesearch.min.js


+ 18 - 0
static/tipuesearch/tipuesearch_content.js

@@ -0,0 +1,18 @@
+
+var tipuesearch = {"pages": [
+     {"title": "Tipue", "text": "Tipue is a small web development studio based in North London.", "url": "http://www.tipue.com"}, 
+     {"title": "Tipue Search, a jQuery Site Search Plugin", "text": "Tipue Search is a site search jQuery plugin. It's free, open source, responsive and fast. Tipue Search only needs a browser that supports jQuery. It doesn't need MySQL or similar. It doesn't even need a web server.", "img": "http://www.tipue.com/img/surface.jpg", "tags": "JavaScript", "url": "http://www.tipue.com/search"},
+     {"title": "Tipue Search Help", "text": "Tipue Search help. Tipue Search is a site search jQuery plugin. It's free, open source, responsive and fast. What is Tipue Search? Getting Started. Using Tipue Search. Options.", "img": "http://www.tipue.com/img/elvis.jpg", "url": "http://www.tipue.com/search/help"},
+     {"title": "Tipue Search demo", "text": "Tipue Search demo. Try searching for Tipue.", "url": "http://www.tipue.com/search/demo"},
+     {"title": "About Tipue", "text": "Tipue is a small web development studio based in North London, founded in 2001. We design innovative and original jQuery plugins and add-in code. We talk to MySQL and similar with heavy-duty Perl. Our work breathes.", "url": "http://www.tipue.com/is"},     
+     {"title": "Tipr, a Small and Simple jQuery Tooltip Plugin", "text": "Small, simple, flat, cool. Tipr is a jQuery tooltip plugin. It works on almost any element, and it's free and open source. Tipr displays nice tooltips, and it's around 3KB, CSS included. The tooltips can appear on almost any HTML element. Tipr reacts to the size of the viewport.", "img": "http://www.tipue.com/img/glow.jpg", "tags": "JavaScript", "url": "http://www.tipue.com/tipr"},
+     {"title": "Tipue Support", "text": "We offer a range of flexible support plans for our jQuery plugins, including free. We hope to continue offering excellent free support. Get it by talking to us on Twitter.", "url": "http://www.tipue.com/support"},     
+     {"title": "Getting Started with Tipue Search", "text": "Download Tipue Search and copy the tipuesearch folder to your site. You should look at the demo included with Tipue Search. You should first create a search page. The site content is stored in the tipuesearch_content.js file. It contains the search data as a JavaScript object.", "note": "<a href='http://www.tipue.com/search/help/'>From Help</a>", "url": "http://www.tipue.com/search/help/?d=1"},
+     {"title": "Content for Tipue Search", "text": "The search data for Tipue Search is contained in the tipuesearch JavaScript object. Usually this is stored in the tipuesearch_content.js file, but it doesn't have to be. You can create a JavaScript object for your website with Beaty.", "note": "<a href='http://www.tipue.com/search/help/'>From Help</a>", "url": "http://www.tipue.com/search/help/?d=2"},
+     {"title": "Beaty", "text": "Beaty is a web scraper that grabs content from your website and returns the data as a JavaScript object, JSON or CSV. Beaty is for small to medium websites, and there's a limit of 70 pages. English is the only language supported.", "tags": "Tipue", "url": "http://www.tipue.com/beaty"},
+     {"title": "The Complete Guide to Centering a Div", "text": "Every developer inevitably finds that centering a div isn't as obvious as you'd expect. Centering what's inside a div horizontally is easy but then things tend to get a bit sticky. When you get to centering a div vertically, you can end up in a world of CSS hurt.", "tags": "Tipue Features", "url": "http://www.tipue.com/blog/center-a-div"},
+     {"title": "Using Vw and Vh", "text": "Viewport width (vw) and viewport height (vh) are viewport-percentage values introduced in CSS3. Given how powerful they are, and with almost complete browser support, they should be everywhere.", "tags": "Tipue Features", "url": "http://www.tipue.com/blog/css3-vw-vh"},     
+     {"title": "Using CSS Feature Queries", "text": "CSS feature queries are now supported everywhere. They allow you to use cutting edge CSS with subtle and precise feature detection.", "tags": "Tipue Features", "url": "http://www.tipue.com/blog/feature-queries"},     
+     {"title": "A Very Simple CSS Background Zoom", "text": "A really easy method of creating a CSS background image zoom. Not only is this simple, it comes with wide browser support.", "tags": "Tipue Features", "url": "http://www.tipue.com/blog/css-background-zoom"},
+     {"title": "Using Z-index", "text": "The CSS z-index property often trips up both new and experienced developers. The aim of this article is to boil down a somewhat-complex specification to three major points, which should ease most z-index pain.", "tags": "Tipue Features", "url": "http://www.tipue.com/blog/z-index"}
+]};

文件差异内容过多而无法显示
+ 72 - 40
static/tipuesearch/tipuesearch_set.js


+ 11 - 7
templates/base.html

@@ -33,15 +33,18 @@
         {% endblock meta_tags_in_head %}
         <title>{% block title %}{{ SITENAME|striptags|e }}{% endblock title %}</title>
         {% block head_links %}
-        <link href="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
-        <link href="//netdna.bootstrapcdn.com/font-awesome/4.0.1/css/font-awesome.css" rel="stylesheet">
+        <link href="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/css/bootstrap-combined.min.css" rel="stylesheet">
+        <link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.1/css/font-awesome.css" rel="stylesheet">
         {% if 'assets' in PLUGINS %}
         {% include '_includes/minify_css.html' with context %}
         {% else %}
         <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/pygments.css" media="screen">
+        <link href="https://cdnjs.cloudflare.com/ajax/libs/normalize/8.0.0/normalize.min.css">
+        <script src="{{ SITEURL }}/theme/tipuesearch/tipuesearch_content.js"></script>
         <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/tipuesearch/tipuesearch.css" media="screen">
         <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/elegant.css" media="screen">
         <link rel="stylesheet" type="text/css" href="{{ SITEURL }}/theme/css/custom.css" media="screen">
+
         {% endif %}
         {% endblock head_links %}
         {% include '_includes/favicon_links.html' %}
@@ -69,9 +72,10 @@
                             <li {% if p == page %} class="active"{% endif %}><a href="{{ SITEURL }}/{{ p.url }}">{{ p.title }}</a></li>
                             {% endfor %}
                             {% endif %}
-                            <li {% if page_name == 'categories' %} class="active"{% endif %}><a href="{{ SITEURL }}/categories.html">Categories</a></li>
-                            <li {% if page_name == 'tags' %} class="active"{% endif %}><a href="{{ SITEURL }}/tags.html">Tags</a></li>
-                            <li {% if page_name == 'archives' %} class="active"{% endif %}><a href="{{ SITEURL }}/archives.html">Archives</a></li>
+                            <!-- <li {% if page_name == 'categories' %} class="active"{% endif %}><a href="{{ SITEURL }}/categories.html">Categories</a></li> -->
+                            <!-- <li {% if page_name == 'tags' %} class="active"{% endif %}><a href="{{ SITEURL }}/tags.html">Tags</a></li> -->
+                            <!-- <li {% if page_name == 'archives' %} class="active"{% endif %}><a href="{{ SITEURL }}/archives.html">Archives</a></li> -->
+                            <li><a href="{{ SITEURL }}/thesis.pdf">Get PDF</a></li>
                             <li><form class="navbar-search" action="{{ SITEURL }}/search.html" onsubmit="return validateForm(this.elements['q'].value);"> <input type="text" class="search-query" placeholder="Search" name="q" id="tipue_search_input"></form></li>
                         </ul>
                     </div>
@@ -92,8 +96,8 @@
     </div>
         {% include '_includes/footer.html' %}
         {% block script %}
-        <script src="http://code.jquery.com/jquery.min.js"></script>
-        <script src="//netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
+        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
+        <script src="https://netdna.bootstrapcdn.com/twitter-bootstrap/2.3.2/js/bootstrap.min.js"></script>
         <script>
             function validateForm(query)
             {

+ 4 - 14
templates/search.html

@@ -25,29 +25,19 @@ Search results for {{ SITENAME|striptags|e }} blog.
 {% endblock meta_tags_in_head %}
 
 {% block script %}
-<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js"></script>
+    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
     {% if 'assets' in PLUGINS %}
     {% include '_includes/minify_tipuesearch.html' with context %}
     {% else %}
 <script type="text/javascript" src="{{ SITEURL }}/theme/tipuesearch/tipuesearch_set.js"></script>
 <script type="text/javascript" src="{{ SITEURL }}/theme/tipuesearch/tipuesearch.min.js"></script>
+<script type="text/javascript" src="{{ SITEURL }}/tipuesearch_content.js"></script>
     {% endif %}
 <script>
 $(document).ready(function() {
      $('#tipue_search_input').tipuesearch({
-         {% if 'tipue_search' in PLUGINS %}
-             'mode' : 'json',
-         {% else %}
-             'mode': 'live',
-         {% endif %}
-         'show': 10,
-         'newWindow': false,
-         {# I cannot place following statements in the conditionals above because then Tipue Search fails to work. Possibly a bug in Tipue Search. #}
-         {% if 'tipue_search' in PLUGINS %}
-             'contentLocation': 'tipuesearch_content.json'
-         {% else %}
-             'liveDescription': '.article-content'
-         {% endif %}
+             'show': 10,
+             'newWindow': false,
      });
 });
 </script>