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 'coffee-script'
gem 'icalendar' # ical files gem 'icalendar' # ical files
gem 'kramdown' gem 'kramdown'
gem 'rainpress'
gem 'sass' gem 'sass'
gem 'typogruby' gem 'typogruby'

View file

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

6
Rules
View file

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

View file

@ -27,7 +27,7 @@ narrow_page: true
<h2>The board</h2> <h2>The board</h2>
<p id="board"> <p id="board">
The board is the oil in the machine and is the driving force behind the organization of events and projects. 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> </p>
<blockquote> <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; font: inherit;
color: inherit; color: inherit;
// For border
border: 1px solid #e2e2e2;
border-color: transparent;
width: 40px; width: 40px;
border-color: rgba(0, 0, 0, 0); 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>
</div> </div>
<% content_for :head do %>
<!-- CSS -->
<!-- TiptueSearch CSS -->
<link rel="stylesheet" href="/assets/stylesheets/tipuesearch/tipuesearch.css" >
<% end %>
<% content_for :scripts do %> <% 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 %> <%= asset :js, :tipuesearch %>
<script> <script>
$(document).ready(function() { $(document).ready(function() {
$('#tipue_search_input_field').tipuesearch({ $('#tipue_search_input_field').tipuesearch({
'mode': 'json', 'wholeWords': false,
'showTitleCount': false, 'showTitleCount': false,
'tipue_search_content': '#blog_results', 'tipue_search_content': '#blog_results',
'contentLocation': '../blog_search.json' 'contentLocation': '../blog_search.json'
}); });
$('#tipue_search_input_field').tipuesearch({ $('#tipue_search_input_field').tipuesearch({
'mode': 'json', 'wholeWords': false,
'showTitleCount': false, 'showTitleCount': false,
'tipue_search_content': '#event_results', 'tipue_search_content': '#event_results',
'contentLocation': '../event_search.json' 'contentLocation': '../event_search.json'

View file

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

View file

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