Add search for js-enabled browsers
This commit is contained in:
@ -24,5 +24,6 @@
|
||||
{{ macros::list_posts(section="posts", count=config.extra.latest_posts_count) }}
|
||||
{% endblock %}
|
||||
</main>
|
||||
{% block script %}{% endblock %}
|
||||
</body>
|
||||
</html>
|
||||
|
@ -12,7 +12,7 @@
|
||||
|
||||
{% macro print_article(page) %}
|
||||
<article>
|
||||
<h1><a href="{{ page.permalink }}">{{ page.title }}</a></h1>
|
||||
<h2><a href="{{ page.permalink }}">{{ page.title }}</a></h2>
|
||||
<p>{{ page.summary | safe }}</p>
|
||||
{{ self::page_info(page=page) }}
|
||||
</article>
|
||||
|
@ -6,5 +6,32 @@
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ section.title }}</h1>
|
||||
<input id="search" class="search" type="text" placeholder="Search titles" oninput="filter_name(this.value)">
|
||||
{{ macros::list_posts() }}
|
||||
{% endblock content %}
|
||||
|
||||
{% block script %}
|
||||
<script>
|
||||
function filter_name(str)
|
||||
{
|
||||
str = str.toLowerCase();
|
||||
if (str.length == 0) {
|
||||
for (let i = 0; i < articles.length; i++) {
|
||||
articles[i].style.display = "block";
|
||||
}
|
||||
} else {
|
||||
for (let i = 0; i < articles.length; i++) {
|
||||
let name = articles[i].getElementsByTagName("h2")[0].innerHTML.toLowerCase();
|
||||
if (!name.includes(str)) {
|
||||
articles[i].style.display = "none";
|
||||
} else {
|
||||
articles[i].style.display = "block";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
let articles = document.getElementsByTagName("article");
|
||||
let search = document.getElementById("search");
|
||||
search.style.display = "inline-block";
|
||||
</script>
|
||||
{% endblock %}
|
||||
|
Reference in New Issue
Block a user