This PR adds a simple filter/search functionality to the bibliography. It can be used in two ways: 1. Simply enter a search term in the input box. 2. Send a search term via the `location.hash`, e.g., https://alshedivat.github.io/al-folio/publications/#mechanics **Notes:** - The search box is optional. It can be simply removed if anyone does not like it. - Searching via `hash` works without the search box. My idea is to use this functionality to index all BibTeX entries via the `ctrl-k` search and link them via their BibTeX key. - Searching via `hash` could also be used to set static links on the current page, e.g., to filter specific co-authors, venues, etc. - I don't know much about the design of the input field. I simply reused the newsletter box style. - Entering a search term in the box does exact matching. No fuzzy search, no AND/OR logic. I kept it very simple. Maybe anyone else wants to improve it in the future. - The search looks in all data in the BibTeX entry that is parsed via `bib.liquid`. E.g., it is possible to search for BibTeX keys, titles, authors, years, venues, abstracts, or whatever `bib.liquid` prints. - I used a 300ms delay before starting to search on the input box. - Entering search terms in the box does not update the location hash (things could get complex otherwise due to automatically updating each other...) - If the filter does not find any match in a specific year, the year is also made invisible. **Screenshot** <img width="935" alt="screenshot" src="https://github.com/alshedivat/al-folio/assets/1998723/447003e2-c623-4de9-b2c5-2357117a7743"> Looking for feedback.
49 lines
1.8 KiB
Plaintext
49 lines
1.8 KiB
Plaintext
{% if site.enable_tooltips %}
|
|
<!-- Enable Tooltips -->
|
|
<script type="text/javascript">
|
|
$(function () {
|
|
$('[data-toggle="tooltip"]').tooltip();
|
|
});
|
|
</script>
|
|
{% endif %}
|
|
{% if site.enable_medium_zoom %}
|
|
<!-- Medium Zoom JS -->
|
|
<script
|
|
defer
|
|
src="{{ site.third_party_libraries.medium_zoom.url.js }}"
|
|
integrity="{{ site.third_party_libraries.medium_zoom.integrity.js }}"
|
|
crossorigin="anonymous"
|
|
></script>
|
|
<script defer src="{{ '/assets/js/zoom.js' | relative_url | bust_file_cache }}"></script>
|
|
{% endif %}
|
|
{% if page.toc and page.toc.sidebar %}
|
|
<!-- Sidebar Table of Contents -->
|
|
<script defer src="{{ '/assets/js/bootstrap-toc.min.js' | relative_url | bust_file_cache }}"></script>
|
|
{% endif %}
|
|
|
|
<!-- Bootstrap Table -->
|
|
{% if page.pretty_table %}
|
|
<!-- Bootstrap Table doesn't go well with diff2html -->
|
|
<script
|
|
defer
|
|
src="{{ site.third_party_libraries.bootstrap-table.url.js }}"
|
|
integrity="{{ site.third_party_libraries.bootstrap-table.integrity.js }}"
|
|
crossorigin="anonymous"
|
|
></script>
|
|
{% endif %}
|
|
|
|
<!-- Load Common JS -->
|
|
<script src="{{ '/assets/js/no_defer.js' | relative_url | bust_file_cache }}"></script>
|
|
<script defer src="{{ '/assets/js/common.js' | relative_url | bust_file_cache }}"></script>
|
|
<script defer src="{{ '/assets/js/copy_code.js' | relative_url | bust_file_cache }}" type="text/javascript"></script>
|
|
|
|
<!-- Bibsearch Feature -->
|
|
{% if site.search_enabled %}
|
|
<script src="{{ '/assets/js/bibsearch.js' | relative_url | bust_file_cache }}" type="module"></script>
|
|
{% endif %}
|
|
|
|
<!-- Jupyter Open External Links New Tab -->
|
|
<script defer src="{{ '/assets/js/jupyter_new_tab.js' | relative_url | bust_file_cache }}"></script>
|
|
|
|
{% assign site.test-library.url = site.test-library.url | append: 'teste' %}
|