|
90 | 90 |
|
91 | 91 |
|
92 | 92 |
|
93 | | -<script src="/js/compat.js"></script> |
| 93 | +<script src="/js/compat.js?v=cd4bab27"></script> |
94 | 94 |
|
95 | 95 |
|
96 | 96 |
|
97 | 97 |
|
98 | 98 |
|
99 | | -<link rel="stylesheet" href="/css/secondary.css"> |
| 99 | +<link rel="stylesheet" href="/css/secondary.css?v=0ae6cf0a"> |
100 | 100 |
|
101 | 101 |
|
102 | 102 |
|
103 | 103 |
|
104 | 104 | <!-- Search. --> |
105 | | - <link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"/> |
106 | 105 |
|
107 | | -<link rel="stylesheet" href="/css/search.css"> |
| 106 | +<link rel="stylesheet" href="/css/search.css?v=716124f7"> |
108 | 107 |
|
109 | 108 |
|
110 | 109 | <meta name="generator" content="Hexo 7.2.0"></head> |
@@ -502,34 +501,114 @@ <h2 class="page-title">Examples</h2> |
502 | 501 |
|
503 | 502 |
|
504 | 503 |
|
505 | | -<script src="/js/common.js"></script> |
| 504 | +<script src="/js/common.js?v=f768970a"></script> |
506 | 505 |
|
507 | 506 |
|
508 | 507 |
|
509 | 508 |
|
510 | | -<script src="/js/docs.js"></script> |
| 509 | +<script src="/js/docs.js?v=11623a6b"></script> |
511 | 510 |
|
512 | 511 |
|
513 | 512 |
|
514 | 513 |
|
515 | 514 |
|
516 | | - <!-- Algolia search. --> |
517 | | -<script src="https://cdn.jsdelivr.net/npm/algoliasearch/dist/algoliasearch.umd.min.js"></script> |
518 | | -<script type="text/javascript" src="/js/docsearch.min.js"></script> |
| 515 | + <!-- Pagefind search. --> |
519 | 516 | <script type="text/javascript"> |
520 | | - var searchConfig = { |
521 | | - appId: 'N5FBG9I0SH', |
522 | | - apiKey: '2166b9095d153b15b047283347535ff0', |
523 | | - indexName: 'aframe', |
524 | | - algoliaOptions: { |
525 | | - facetFilters: ['version:1.7.0'], |
526 | | - hitsPerPage: 10 |
527 | | - }, |
528 | | - debug: false |
529 | | - }; |
530 | | - |
531 | | - docsearch(Object.assign(searchConfig, {inputSelector: '.docs-search-sidebar .search-field'})); |
532 | | - docsearch(Object.assign(searchConfig, {inputSelector: '.docs-search-sidebar-mobile .search-field'})); |
| 517 | +(async function() { |
| 518 | + var pagefind = await import('/pagefind/pagefind.js'); |
| 519 | + |
| 520 | + function escapeHtml(str) { |
| 521 | + var div = document.createElement('div'); |
| 522 | + div.appendChild(document.createTextNode(str)); |
| 523 | + return div.innerHTML; |
| 524 | + } |
| 525 | + |
| 526 | + document.querySelectorAll('.docs-search-wrapper').forEach(function(wrapper) { |
| 527 | + var input = wrapper.querySelector('.search-field'); |
| 528 | + var dropdown = wrapper.querySelector('.search-results-dropdown'); |
| 529 | + var version = wrapper.dataset.searchVersion; |
| 530 | + var isDocs = document.body.dataset.pageLayout === 'docs'; |
| 531 | + |
| 532 | + input.addEventListener('input', async function() { |
| 533 | + var query = input.value.trim(); |
| 534 | + if (!query) { |
| 535 | + dropdown.innerHTML = ''; |
| 536 | + dropdown.style.display = 'none'; |
| 537 | + return; |
| 538 | + } |
| 539 | + |
| 540 | + var searchOptions = {}; |
| 541 | + if (isDocs && version) { |
| 542 | + searchOptions.filters = { version: version }; |
| 543 | + } |
| 544 | + |
| 545 | + var search = await pagefind.debouncedSearch(query, searchOptions); |
| 546 | + if (!search) return; |
| 547 | + |
| 548 | + var results = await Promise.all( |
| 549 | + search.results.slice(0, 15).map(function(r) { return r.data(); }) |
| 550 | + ); |
| 551 | + |
| 552 | + if (results.length === 0) { |
| 553 | + dropdown.style.display = 'block'; |
| 554 | + dropdown.innerHTML = '<div class="search-no-results">No results found</div>'; |
| 555 | + return; |
| 556 | + } |
| 557 | + |
| 558 | + // Flatten sub_results to show heading-level matches with breadcrumbs. |
| 559 | + var items = []; |
| 560 | + results.forEach(function(r) { |
| 561 | + var pageTitle = r.meta.title || r.url; |
| 562 | + if (r.sub_results && r.sub_results.length > 0) { |
| 563 | + r.sub_results.forEach(function(sub) { |
| 564 | + var breadcrumb = escapeHtml(pageTitle); |
| 565 | + if (sub.anchor && sub.anchor.text) { |
| 566 | + breadcrumb += ' › ' + escapeHtml(sub.anchor.text); |
| 567 | + } |
| 568 | + items.push({ |
| 569 | + url: sub.url, |
| 570 | + breadcrumb: breadcrumb, |
| 571 | + excerpt: sub.excerpt |
| 572 | + }); |
| 573 | + }); |
| 574 | + } else { |
| 575 | + items.push({ |
| 576 | + url: r.url, |
| 577 | + breadcrumb: escapeHtml(pageTitle), |
| 578 | + excerpt: r.excerpt |
| 579 | + }); |
| 580 | + } |
| 581 | + }); |
| 582 | + |
| 583 | + // Limit total displayed items. |
| 584 | + items = items.slice(0, 15); |
| 585 | + |
| 586 | + dropdown.scrollTop = 0; |
| 587 | + dropdown.style.display = 'block'; |
| 588 | + dropdown.innerHTML = items.map(function(item) { |
| 589 | + return '<a class="search-result-item" href="' + item.url + '">' + |
| 590 | + '<span class="search-result-breadcrumb">' + item.breadcrumb + '</span>' + |
| 591 | + '<span class="search-result-excerpt">' + item.excerpt + '</span>' + |
| 592 | + '</a>'; |
| 593 | + }).join(''); |
| 594 | + }); |
| 595 | + |
| 596 | + // Close on Escape. |
| 597 | + document.addEventListener('keydown', function(e) { |
| 598 | + if (e.key === 'Escape') { |
| 599 | + dropdown.style.display = 'none'; |
| 600 | + input.blur(); |
| 601 | + } |
| 602 | + }); |
| 603 | + |
| 604 | + // Close on click outside. |
| 605 | + document.addEventListener('click', function(e) { |
| 606 | + if (!wrapper.contains(e.target)) { |
| 607 | + dropdown.style.display = 'none'; |
| 608 | + } |
| 609 | + }); |
| 610 | + }); |
| 611 | +})(); |
533 | 612 | </script> |
534 | 613 |
|
535 | 614 |
|
|
0 commit comments