Truncate search results only for display

This commit is contained in:
squidfunk 2016-12-28 16:37:50 +01:00
parent 5e97b74471
commit 3222ec5a6e
4 changed files with 18 additions and 19 deletions

View File

@ -36,7 +36,7 @@
{% include "partials/fonts.html" %}
{% endblock %}
{% block styles %}
<link rel="stylesheet" href="{{ base_url }}/assets/stylesheets/application-39bc0c8cde.css">
<link rel="stylesheet" href="{{ base_url }}/assets/stylesheets/application-90d5840206.css">
{% if config.extra.palette %}
<link rel="stylesheet" href="{{ base_url }}/assets/stylesheets/application-535e87ca3f.palette.css">
{% endif %}
@ -110,7 +110,7 @@
<script src="https://cdn.mathjax.org/{{ path }}"></script>
{% endif %}
{% endfor %}
<script src="{{ base_url }}/assets/javascripts/application-4e5ae02a0d.js"></script>
<script src="{{ base_url }}/assets/javascripts/application-7481d5412b.js"></script>
<script>
/* Configuration for application */
var config = {

View File

@ -81,19 +81,6 @@ export default class Application {
: el.fireEvent(`on${event}`, document.createEventObject())
}
/* Truncate a string after the given number of characters - this is not
a reasonable approach, since the summaries kind of suck. It would be
better to create something more intelligent, highlighting the search
occurrences and making a better summary out of it */
const truncate = function(string, n) {
let i = n
if (string.length > i) {
while (string[i] !== " " && --i > 0);
return `${string.substring(0, i)}...`
}
return string
}
/* Component: sidebar container */
if (!Modernizr.csscalc)
new Material.Event.MatchMedia("(min-width: 960px)",
@ -146,7 +133,6 @@ export default class Application {
.then(data => {
return data.docs.map(doc => {
doc.location = this.config_.url.base + doc.location
doc.text = truncate(doc.text, 140)
return doc
})
})

View File

@ -54,6 +54,19 @@ export default class Result {
/* Inject created elements */
this.el_.appendChild(this.meta_)
this.el_.appendChild(this.list_)
/* Truncate a string after the given number of characters - this is not
a reasonable approach, since the summaries kind of suck. It would be
better to create something more intelligent, highlighting the search
occurrences and making a better summary out of it */
this.truncate_ = function(string, n) {
let i = n
if (string.length > i) {
while (string[i] !== " " && --i > 0);
return `${string.substring(0, i)}...`
}
return string
}
}
/**
@ -109,7 +122,7 @@ export default class Result {
{doc.title}
</h1>
<p class="md-search-result__teaser">
{doc.text}
{this.truncate_(doc.text, 140)}
</p>
</article>
</a>