Skip to content

Commit f5dc800

Browse files
committed
Bump Site
1 parent bc8c640 commit f5dc800

2,038 files changed

Lines changed: 30117 additions & 2180293 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

‎404.html‎

Lines changed: 97 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -94,9 +94,8 @@
9494

9595

9696
<!-- Search. -->
97-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"/>
9897

99-
<link rel="stylesheet" href="/css/search.css">
98+
<link rel="stylesheet" href="/css/search.css?v=716124f7">
10099

101100

102101
<meta name="generator" content="Hexo 7.2.0"></head>
@@ -142,23 +141,103 @@ <h1 id="404-not-found"><a href="#404-not-found" class="headerlink" title="404 No
142141

143142

144143

145-
<!-- Algolia search. -->
146-
<script src="https://cdn.jsdelivr.net/npm/algoliasearch/dist/algoliasearch.umd.min.js"></script>
147-
<script type="text/javascript" src="/js/docsearch.min.js"></script>
144+
<!-- Pagefind search. -->
148145
<script type="text/javascript">
149-
var searchConfig = {
150-
appId: 'N5FBG9I0SH',
151-
apiKey: '2166b9095d153b15b047283347535ff0',
152-
indexName: 'aframe',
153-
algoliaOptions: {
154-
facetFilters: ['version:1.7.0'],
155-
hitsPerPage: 10
156-
},
157-
debug: false
158-
};
159-
160-
docsearch(Object.assign(searchConfig, {inputSelector: '.docs-search-sidebar .search-field'}));
161-
docsearch(Object.assign(searchConfig, {inputSelector: '.docs-search-sidebar-mobile .search-field'}));
146+
(async function() {
147+
var pagefind = await import('/pagefind/pagefind.js');
148+
149+
function escapeHtml(str) {
150+
var div = document.createElement('div');
151+
div.appendChild(document.createTextNode(str));
152+
return div.innerHTML;
153+
}
154+
155+
document.querySelectorAll('.docs-search-wrapper').forEach(function(wrapper) {
156+
var input = wrapper.querySelector('.search-field');
157+
var dropdown = wrapper.querySelector('.search-results-dropdown');
158+
var version = wrapper.dataset.searchVersion;
159+
var isDocs = document.body.dataset.pageLayout === 'docs';
160+
161+
input.addEventListener('input', async function() {
162+
var query = input.value.trim();
163+
if (!query) {
164+
dropdown.innerHTML = '';
165+
dropdown.style.display = 'none';
166+
return;
167+
}
168+
169+
var searchOptions = {};
170+
if (isDocs && version) {
171+
searchOptions.filters = { version: version };
172+
}
173+
174+
var search = await pagefind.debouncedSearch(query, searchOptions);
175+
if (!search) return;
176+
177+
var results = await Promise.all(
178+
search.results.slice(0, 15).map(function(r) { return r.data(); })
179+
);
180+
181+
if (results.length === 0) {
182+
dropdown.style.display = 'block';
183+
dropdown.innerHTML = '<div class="search-no-results">No results found</div>';
184+
return;
185+
}
186+
187+
// Flatten sub_results to show heading-level matches with breadcrumbs.
188+
var items = [];
189+
results.forEach(function(r) {
190+
var pageTitle = r.meta.title || r.url;
191+
if (r.sub_results && r.sub_results.length > 0) {
192+
r.sub_results.forEach(function(sub) {
193+
var breadcrumb = escapeHtml(pageTitle);
194+
if (sub.anchor && sub.anchor.text) {
195+
breadcrumb += ' › ' + escapeHtml(sub.anchor.text);
196+
}
197+
items.push({
198+
url: sub.url,
199+
breadcrumb: breadcrumb,
200+
excerpt: sub.excerpt
201+
});
202+
});
203+
} else {
204+
items.push({
205+
url: r.url,
206+
breadcrumb: escapeHtml(pageTitle),
207+
excerpt: r.excerpt
208+
});
209+
}
210+
});
211+
212+
// Limit total displayed items.
213+
items = items.slice(0, 15);
214+
215+
dropdown.scrollTop = 0;
216+
dropdown.style.display = 'block';
217+
dropdown.innerHTML = items.map(function(item) {
218+
return '<a class="search-result-item" href="' + item.url + '">' +
219+
'<span class="search-result-breadcrumb">' + item.breadcrumb + '</span>' +
220+
'<span class="search-result-excerpt">' + item.excerpt + '</span>' +
221+
'</a>';
222+
}).join('');
223+
});
224+
225+
// Close on Escape.
226+
document.addEventListener('keydown', function(e) {
227+
if (e.key === 'Escape') {
228+
dropdown.style.display = 'none';
229+
input.blur();
230+
}
231+
});
232+
233+
// Close on click outside.
234+
document.addEventListener('click', function(e) {
235+
if (!wrapper.contains(e.target)) {
236+
dropdown.style.display = 'none';
237+
}
238+
});
239+
});
240+
})();
162241
</script>
163242

164243

‎archives/2015/12/index.html‎

Lines changed: 101 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -90,21 +90,20 @@
9090

9191

9292

93-
<script src="/js/compat.js"></script>
93+
<script src="/js/compat.js?v=cd4bab27"></script>
9494

9595

9696

9797

9898

99-
<link rel="stylesheet" href="/css/secondary.css">
99+
<link rel="stylesheet" href="/css/secondary.css?v=0ae6cf0a">
100100

101101

102102

103103

104104
<!-- Search. -->
105-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/docsearch.js/2/docsearch.min.css"/>
106105

107-
<link rel="stylesheet" href="/css/search.css">
106+
<link rel="stylesheet" href="/css/search.css?v=716124f7">
108107

109108

110109
<meta name="generator" content="Hexo 7.2.0"></head>
@@ -502,34 +501,114 @@ <h2 class="page-title">Examples</h2>
502501

503502

504503

505-
<script src="/js/common.js"></script>
504+
<script src="/js/common.js?v=f768970a"></script>
506505

507506

508507

509508

510-
<script src="/js/docs.js"></script>
509+
<script src="/js/docs.js?v=11623a6b"></script>
511510

512511

513512

514513

515514

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. -->
519516
<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+
})();
533612
</script>
534613

535614

0 commit comments

Comments
 (0)