update searching a bit

This commit is contained in:
Lorin Werthen 2018-07-05 11:36:11 +02:00
parent d9c56a54fc
commit 06072fd883
No known key found for this signature in database
GPG key ID: F11FFC921E0E08E0
11 changed files with 1045 additions and 595 deletions

View file

@ -9,6 +9,7 @@ gem 'uglifier', '>= 4.0.0'
gem 'coffee-script'
gem 'icalendar' # ical files
gem 'kramdown'
gem 'rainpress'
gem 'sass'
gem 'typogruby'

View file

@ -78,6 +78,7 @@ GEM
method_source (~> 0.9.0)
public_suffix (3.0.2)
rack (2.0.5)
rainpress (1.0.1)
rb-fsevent (0.10.3)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
@ -122,6 +123,7 @@ DEPENDENCIES
kramdown
nanoc
pandoc-ruby
rainpress
sass
terminal-notifier
terminal-notifier-guard

6
Rules
View file

@ -182,6 +182,12 @@ compile '/assets/stylesheets/**/*.scss' do
write ext: 'css'
end
compile '/assets/stylesheets/**/*.css' do
filter :rainpress
filter :autoprefixer if production?
write ext: 'css'
end
#
#
# ROUTES

View file

@ -27,7 +27,7 @@ narrow_page: true
<h2>The board</h2>
<p id="board">
The board is the oil in the machine and is the driving force behind the organization of events and projects.
The Zeus WPI board for the <%= pretty_year @config[:academic_year] %> academic year is:
The Zeus WPI board in <%= pretty_year @config[:academic_year] %> is:
</p>
<blockquote>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,84 @@
/*
Tipue Search 7.0
Copyright (c) 2018 Tipue
Tipue Search is released under the MIT License
http://www.tipue.com/search
*/
/*
Stop words
Stop words list from http://www.ranks.nl/stopwords
*/
var tipuesearch_stop_words = ["a", "above", "after", "again", "against", "all", "am", "an", "and", "any", "are", "aren't", "as", "at", "be", "because", "been", "before", "being", "below", "between", "both", "but", "by", "can't", "cannot", "could", "couldn't", "did", "didn't", "do", "does", "doesn't", "doing", "don't", "down", "during", "each", "few", "for", "from", "further", "had", "hadn't", "has", "hasn't", "have", "haven't", "having", "he", "he'd", "he'll", "he's", "her", "here", "here's", "hers", "herself", "him", "himself", "his", "how", "how's", "i", "i'd", "i'll", "i'm", "i've", "if", "in", "into", "is", "isn't", "it", "it's", "its", "itself", "let's", "me", "more", "most", "mustn't", "my", "myself", "no", "nor", "not", "of", "off", "on", "once", "only", "or", "other", "ought", "our", "ours", "ourselves", "out", "over", "own", "same", "shan't", "she", "she'd", "she'll", "she's", "should", "shouldn't", "so", "some", "such", "than", "that", "that's", "the", "their", "theirs", "them", "themselves", "then", "there", "there's", "these", "they", "they'd", "they'll", "they're", "they've", "this", "those", "through", "to", "too", "under", "until", "up", "very", "was", "wasn't", "we", "we'd", "we'll", "we're", "we've", "were", "weren't", "what", "what's", "when", "when's", "where", "where's", "which", "while", "who", "who's", "whom", "why", "why's", "with", "won't", "would", "wouldn't", "you", "you'd", "you'll", "you're", "you've", "your", "yours", "yourself", "yourselves"];
// Word replace
var tipuesearch_replace = {'words': [
{'word': 'tip', 'replace_with': 'tipue'},
{'word': 'javscript', 'replace_with': 'javascript'},
{'word': 'jqeury', 'replace_with': 'jquery'}
]};
// Weighting
var tipuesearch_weight = {'weight': [
{'url': 'http://www.tipue.com', 'score': 60},
{'url': 'http://www.tipue.com/search', 'score': 60},
{'url': 'http://www.tipue.com/tipr', 'score': 30},
{'url': 'http://www.tipue.com/support', 'score': 20}
]};
// Illogical stemming
var tipuesearch_stem = {'words': [
{'word': 'e-mail', 'stem': 'email'},
{'word': 'javascript', 'stem': 'jquery'},
{'word': 'javascript', 'stem': 'js'}
]};
// Related
var tipuesearch_related = {'Related': [
{'search': 'tipue', 'related': 'Search', 'include': 1},
{'search': 'tipue', 'related': 'jQuery'},
{'search': 'tipue', 'related': 'Features'},
{'search': 'tipue', 'related': 'Support'},
{'search': 'tipue search', 'related': 'Help', 'include': 1},
{'search': 'tipue search', 'related': 'Support'}
]};
// Internal strings
var tipuesearch_string_1 = 'No title';
var tipuesearch_string_2 = 'Showing results for';
var tipuesearch_string_3 = 'Search instead for';
var tipuesearch_string_4 = '1 result';
var tipuesearch_string_5 = 'results';
var tipuesearch_string_6 = '<';
var tipuesearch_string_7 = '>';
var tipuesearch_string_8 = 'Nothing found.';
var tipuesearch_string_9 = 'Common words are largely ignored.';
var tipuesearch_string_10 = 'Related';
var tipuesearch_string_11 = 'Search too short. Should be one character or more.';
var tipuesearch_string_12 = 'Search too short. Should be';
var tipuesearch_string_13 = 'characters or more.';
var tipuesearch_string_14 = 'seconds';
var tipuesearch_string_15 = 'Open Image';
var tipuesearch_string_16 = 'Goto Page';
// Internals
// Timer for showTime
var startTimer = new Date().getTime();

View file

@ -4,6 +4,10 @@
font: inherit;
color: inherit;
// For border
border: 1px solid #e2e2e2;
border-color: transparent;
width: 40px;
border-color: rgba(0, 0, 0, 0);

View file

@ -0,0 +1,337 @@
/*
Tipue Search 7.0
Copyright (c) 2018 Tipue
Tipue Search is released under the MIT License
http://www.tipue.com/search
*/
/* basics */
.tipue_search_group:after
{
content: "";
display: table;
clear: both;
}
/* fonts, colors */
.tipue_search_icon
{
font: 300 24px/1 sans-serif;
color: #777;
}
#tipue_search_results_count, .tipue_search_related, .tipue_search_note
{
font: 12px/1.3 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
{
font: 300 16px/1.6 sans-serif;
color: #666;
}
#tipue_search_replace a
{
color: #339e41;
text-decoration: none;
}
#tipue_search_replace a:hover
{
color: #666;
}
.tipue_search_related_btn
{
font: 11px/1 monospace;
color: #666;
text-transform: uppercase;
letter-spacing: 1px;
background-color: #f7f7f7;
}
.tipue_search_content_title
{
font: 300 30px/1.2 sans-serif;
color: #333;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.tipue_search_content_title a
{
color: #333;
text-decoration: none;
}
.tipue_search_content_url, .tipue_search_content_debug
{
font: 300 15px/1.7 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_image_close
{
font: 22px/1 monospace;
color: #ccc;
}
#tipue_search_zoom_text
{
font: 11px/1.7 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 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_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
{
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_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_image_zoom
{
cursor: pointer;
}
#tipue_search_image_modal
{
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_image_close
{
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;
}
#tipue_search_foot_boxes
{
padding: 0;
margin: 0;
cursor: pointer;
}
#tipue_search_foot_boxes li
{
display: inline;
list-style: none;
margin: 0;
padding: 0;
}
#tipue_search_foot_boxes li a
{
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
{
padding: 10px 17px 11px 17px;
border-radius: 3px;
margin-right: 7px;
text-align: center;
}

View file

@ -17,19 +17,26 @@ title: Search
</div>
</div>
<% content_for :head do %>
<!-- CSS -->
<!-- TiptueSearch CSS -->
<link rel="stylesheet" href="/assets/stylesheets/tipuesearch/tipuesearch.css" >
<% end %>
<% content_for :scripts do %>
<script src="https://cdnjs.cloudflare.com/ajax/libs/Tipue-Search/5.0.0/tipuesearch_set.js"></script>
<script src="https://code.jquery.com/jquery-3.0.0.min.js" charset="utf-8"></script>
<%= asset :js, :tipuesearch_set %>
<%= asset :js, :tipuesearch %>
<script>
$(document).ready(function() {
$('#tipue_search_input_field').tipuesearch({
'mode': 'json',
'wholeWords': false,
'showTitleCount': false,
'tipue_search_content': '#blog_results',
'contentLocation': '../blog_search.json'
});
$('#tipue_search_input_field').tipuesearch({
'mode': 'json',
'wholeWords': false,
'showTitleCount': false,
'tipue_search_content': '#event_results',
'contentLocation': '../event_search.json'

View file

@ -26,10 +26,6 @@
ga('send', 'pageview');
</script>
<!-- CSS -->
<!-- TiptueSearch CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/Tipue-Search/5.0.0/tipuesearch.css" >
<!-- Custom CSS -->
<%= asset :css, :main %>

View file

@ -14,7 +14,7 @@ module SearchHelper
{
title: e[:title],
url: url_for(e),
text: excerptize(e.reps[:text].compiled_content, length: 200).tr("\n", ' '),
text: "#{e[:title]} #{e.reps[:text].compiled_content}",
tags: ''
}
end