mirror of
https://github.com/lancedb/lancedb.git
synced 2025-12-22 21:09:58 +00:00
255 lines
13 KiB
HTML
255 lines
13 KiB
HTML
<!--
|
|
Copyright (c) 2016-2023 Martin Donath <martin.donath@squidfunk.com>
|
|
|
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
of this software and associated documentation files (the "Software"), to
|
|
deal in the Software without restriction, including without limitation the
|
|
rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
|
sell copies of the Software, and to permit persons to whom the Software is
|
|
furnished to do so, subject to the following conditions:
|
|
|
|
The above copyright notice and this permission notice shall be included in
|
|
all copies or substantial portions of the Software.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
|
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
|
IN THE SOFTWARE.
|
|
-->
|
|
<div id="deprecation-banner" style="background-color: #f8d7da; color: #721c24; padding: 1em; text-align: center;">
|
|
<p style="margin: 0; font-size: 1.1em;">
|
|
<strong>This documentation site is deprecated.</strong>
|
|
Please visit our new documentation site at <a href="https://lancedb.com/docs" style="color: #721c24; text-decoration: underline;">
|
|
lancedb.com/docs</a> for the latest information.
|
|
</p>
|
|
</div>
|
|
{% set class = "md-header" %}
|
|
{% if "navigation.tabs.sticky" in features %}
|
|
{% set class = class ~ " md-header--shadow md-header--lifted" %}
|
|
{% elif "navigation.tabs" not in features %}
|
|
{% set class = class ~ " md-header--shadow" %}
|
|
{% endif %}
|
|
|
|
<!-- Header -->
|
|
<header class="{{ class }}" data-md-component="header">
|
|
<nav
|
|
class="md-header__inner md-grid"
|
|
aria-label="{{ lang.t('header') }}"
|
|
>
|
|
|
|
<!-- Link to home -->
|
|
<a
|
|
href="{{ config.extra.homepage | d(nav.homepage.url, true) | url }}"
|
|
title="{{ config.site_name | e }}"
|
|
class="md-header__button md-logo"
|
|
aria-label="{{ config.site_name }}"
|
|
data-md-component="logo"
|
|
>
|
|
{% include "partials/logo.html" %}
|
|
</a>
|
|
|
|
<!-- Button to open drawer -->
|
|
<label class="md-header__button md-icon" for="__drawer">
|
|
{% include ".icons/material/menu" ~ ".svg" %}
|
|
</label>
|
|
|
|
<!-- Header title -->
|
|
<div class="md-header__title" style="width: auto !important;" data-md-component="header-title">
|
|
<div class="md-header__ellipsis">
|
|
<div class="md-header__topic">
|
|
<span class="md-ellipsis">
|
|
{{ config.site_name }}
|
|
</span>
|
|
</div>
|
|
<div class="md-header__topic" data-md-component="header-topic">
|
|
<span class="md-ellipsis">
|
|
{% if page.meta and page.meta.title %}
|
|
{{ page.meta.title }}
|
|
{% else %}
|
|
{{ page.title }}
|
|
{% endif %}
|
|
</span>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Color palette -->
|
|
{% if config.theme.palette %}
|
|
{% if not config.theme.palette is mapping %}
|
|
<form class="md-header__option" data-md-component="palette">
|
|
{% for option in config.theme.palette %}
|
|
{% set scheme = option.scheme | d("default", true) %}
|
|
{% set primary = option.primary | d("indigo", true) %}
|
|
{% set accent = option.accent | d("indigo", true) %}
|
|
<input
|
|
class="md-option"
|
|
data-md-color-media="{{ option.media }}"
|
|
data-md-color-scheme="{{ scheme | replace(' ', '-') }}"
|
|
data-md-color-primary="{{ primary | replace(' ', '-') }}"
|
|
data-md-color-accent="{{ accent | replace(' ', '-') }}"
|
|
{% if option.toggle %}
|
|
aria-label="{{ option.toggle.name }}"
|
|
{% else %}
|
|
aria-hidden="true"
|
|
{% endif %}
|
|
type="radio"
|
|
name="__palette"
|
|
id="__palette_{{ loop.index }}"
|
|
/>
|
|
{% if option.toggle %}
|
|
<label
|
|
class="md-header__button md-icon"
|
|
title="{{ option.toggle.name }}"
|
|
for="__palette_{{ loop.index0 or loop.length }}"
|
|
hidden
|
|
>
|
|
{% include ".icons/" ~ option.toggle.icon ~ ".svg" %}
|
|
</label>
|
|
{% endif %}
|
|
{% endfor %}
|
|
</form>
|
|
{% endif %}
|
|
{% endif %}
|
|
|
|
<!-- Site language selector -->
|
|
{% if config.extra.alternate %}
|
|
<div class="md-header__option">
|
|
<div class="md-select">
|
|
{% set icon = config.theme.icon.alternate or "material/translate" %}
|
|
<button
|
|
class="md-header__button md-icon"
|
|
aria-label="{{ lang.t('select.language') }}"
|
|
>
|
|
{% include ".icons/" ~ icon ~ ".svg" %}
|
|
</button>
|
|
<div class="md-select__inner">
|
|
<ul class="md-select__list">
|
|
{% for alt in config.extra.alternate %}
|
|
<li class="md-select__item">
|
|
<a
|
|
href="{{ alt.link | url }}"
|
|
hreflang="{{ alt.lang }}"
|
|
class="md-select__link"
|
|
>
|
|
{{ alt.name }}
|
|
</a>
|
|
</li>
|
|
{% endfor %}
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<!-- Button to open search modal -->
|
|
{% if "material/search" in config.plugins %}
|
|
<label class="md-header__button md-icon" for="__search">
|
|
{% include ".icons/material/magnify.svg" %}
|
|
</label>
|
|
|
|
<!-- Search interface -->
|
|
{% include "partials/search.html" %}
|
|
{% endif %}
|
|
|
|
<div style="margin-left: 10px; margin-right: 5px;">
|
|
<a href="https://discord.com/invite/zMM32dvNtd" target="_blank" rel="noopener noreferrer">
|
|
<svg fill="#FFFFFF" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 50" width="25px" height="25px"><path d="M 41.625 10.769531 C 37.644531 7.566406 31.347656 7.023438 31.078125 7.003906 C 30.660156 6.96875 30.261719 7.203125 30.089844 7.589844 C 30.074219 7.613281 29.9375 7.929688 29.785156 8.421875 C 32.417969 8.867188 35.652344 9.761719 38.578125 11.578125 C 39.046875 11.867188 39.191406 12.484375 38.902344 12.953125 C 38.710938 13.261719 38.386719 13.429688 38.050781 13.429688 C 37.871094 13.429688 37.6875 13.378906 37.523438 13.277344 C 32.492188 10.15625 26.210938 10 25 10 C 23.789063 10 17.503906 10.15625 12.476563 13.277344 C 12.007813 13.570313 11.390625 13.425781 11.101563 12.957031 C 10.808594 12.484375 10.953125 11.871094 11.421875 11.578125 C 14.347656 9.765625 17.582031 8.867188 20.214844 8.425781 C 20.0625 7.929688 19.925781 7.617188 19.914063 7.589844 C 19.738281 7.203125 19.34375 6.960938 18.921875 7.003906 C 18.652344 7.023438 12.355469 7.566406 8.320313 10.8125 C 6.214844 12.761719 2 24.152344 2 34 C 2 34.175781 2.046875 34.34375 2.132813 34.496094 C 5.039063 39.605469 12.972656 40.941406 14.78125 41 C 14.789063 41 14.800781 41 14.8125 41 C 15.132813 41 15.433594 40.847656 15.621094 40.589844 L 17.449219 38.074219 C 12.515625 36.800781 9.996094 34.636719 9.851563 34.507813 C 9.4375 34.144531 9.398438 33.511719 9.765625 33.097656 C 10.128906 32.683594 10.761719 32.644531 11.175781 33.007813 C 11.234375 33.0625 15.875 37 25 37 C 34.140625 37 38.78125 33.046875 38.828125 33.007813 C 39.242188 32.648438 39.871094 32.683594 40.238281 33.101563 C 40.601563 33.515625 40.5625 34.144531 40.148438 34.507813 C 40.003906 34.636719 37.484375 36.800781 32.550781 38.074219 L 34.378906 40.589844 C 34.566406 40.847656 34.867188 41 35.1875 41 C 35.199219 41 35.210938 41 35.21875 41 C 37.027344 40.941406 44.960938 39.605469 47.867188 34.496094 C 47.953125 34.34375 48 34.175781 48 34 C 48 24.152344 43.785156 12.761719 41.625 10.769531 Z M 18.5 30 C 16.566406 30 15 28.210938 15 26 C 15 23.789063 16.566406 22 18.5 22 C 20.433594 22 22 23.789063 22 26 C 22 28.210938 20.433594 30 18.5 30 Z M 31.5 30 C 29.566406 30 28 28.210938 28 26 C 28 23.789063 29.566406 22 31.5 22 C 33.433594 22 35 23.789063 35 26 C 35 28.210938 33.433594 30 31.5 30 Z"/></svg>
|
|
</a>
|
|
</div>
|
|
<div style="margin-left: 5px; margin-right: 5px;">
|
|
<a href="https://twitter.com/lancedb" target="_blank" rel="noopener noreferrer">
|
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0,0,256,256" width="25px" height="25px" fill-rule="nonzero"><g fill-opacity="0" fill="#ffffff" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><path d="M0,256v-256h256v256z" id="bgRectangle"></path></g><g fill="#ffffff" fill-rule="nonzero" stroke="none" stroke-width="1" stroke-linecap="butt" stroke-linejoin="miter" stroke-miterlimit="10" stroke-dasharray="" stroke-dashoffset="0" font-family="none" font-weight="none" font-size="none" text-anchor="none" style="mix-blend-mode: normal"><g transform="scale(4,4)"><path d="M57,17.114c-1.32,1.973 -2.991,3.707 -4.916,5.097c0.018,0.423 0.028,0.847 0.028,1.274c0,13.013 -9.902,28.018 -28.016,28.018c-5.562,0 -12.81,-1.948 -15.095,-4.423c0.772,0.092 1.556,0.138 2.35,0.138c4.615,0 8.861,-1.575 12.23,-4.216c-4.309,-0.079 -7.946,-2.928 -9.199,-6.84c1.96,0.308 4.447,-0.17 4.447,-0.17c0,0 -7.7,-1.322 -7.899,-9.779c2.226,1.291 4.46,1.231 4.46,1.231c0,0 -4.441,-2.734 -4.379,-8.195c0.037,-3.221 1.331,-4.953 1.331,-4.953c8.414,10.361 20.298,10.29 20.298,10.29c0,0 -0.255,-1.471 -0.255,-2.243c0,-5.437 4.408,-9.847 9.847,-9.847c2.832,0 5.391,1.196 7.187,3.111c2.245,-0.443 4.353,-1.263 6.255,-2.391c-0.859,3.44 -4.329,5.448 -4.329,5.448c0,0 2.969,-0.329 5.655,-1.55z"></path></g></g></svg>
|
|
</a>
|
|
</div>
|
|
|
|
<!-- Repository information -->
|
|
{% if config.repo_url %}
|
|
<div class="md-header__source" style="margin-left: -5px !important;">
|
|
{% include "partials/source.html" %}
|
|
</div>
|
|
{% endif %}
|
|
</nav>
|
|
|
|
<!-- Navigation tabs (sticky) -->
|
|
{% if "navigation.tabs.sticky" in features %}
|
|
{% if "navigation.tabs" in features %}
|
|
{% include "partials/tabs.html" %}
|
|
{% endif %}
|
|
{% endif %}
|
|
</header>
|
|
|
|
<script>
|
|
(function() {
|
|
function checkPathAndRedirect() {
|
|
var banner = document.getElementById('deprecation-banner');
|
|
|
|
if (document.querySelector('meta[http-equiv="refresh"]')) {
|
|
return; // The redirects plugin is already handling this page.
|
|
}
|
|
|
|
var currentPath = window.location.pathname;
|
|
|
|
var cleanPath = currentPath.endsWith('/') && currentPath.length > 1
|
|
? currentPath.slice(0, -1)
|
|
: currentPath;
|
|
|
|
// These are the ONLY paths that should remain on the old site
|
|
var apiPaths = [
|
|
'/lancedb/python',
|
|
'/lancedb/javascript',
|
|
'/lancedb/js',
|
|
'/lancedb/api_reference'
|
|
];
|
|
|
|
var isApiPage = apiPaths.some(function(apiPath) {
|
|
return cleanPath.startsWith(apiPath);
|
|
});
|
|
|
|
if (isApiPage) {
|
|
if (banner) {
|
|
banner.style.display = 'none';
|
|
}
|
|
} else {
|
|
if (banner) {
|
|
banner.style.display = 'block';
|
|
}
|
|
|
|
// Add noindex meta tag to prevent indexing of old docs for seo
|
|
var noindexMeta = document.createElement('meta');
|
|
noindexMeta.setAttribute('name', 'robots');
|
|
noindexMeta.setAttribute('content', 'noindex, follow');
|
|
document.head.appendChild(noindexMeta);
|
|
|
|
// Add canonical link to point to the new docs to reward new site for seo
|
|
var canonicalLink = document.createElement('link');
|
|
canonicalLink.setAttribute('rel', 'canonical');
|
|
canonicalLink.setAttribute('href', 'https://lancedb.com/docs');
|
|
document.head.appendChild(canonicalLink);
|
|
|
|
window.location.replace('https://lancedb.com/docs');
|
|
}
|
|
}
|
|
|
|
// Run the check only if doc is ready. This makes sure we catch the initial load
|
|
// and redirect.
|
|
if (document.readyState === 'loading') {
|
|
document.addEventListener('DOMContentLoaded', checkPathAndRedirect);
|
|
} else {
|
|
checkPathAndRedirect();
|
|
}
|
|
|
|
// Use an interval to handle subsequent navigation clicks.
|
|
var lastPath = window.location.pathname;
|
|
setInterval(function() {
|
|
if (window.location.pathname !== lastPath) {
|
|
lastPath = window.location.pathname;
|
|
checkPathAndRedirect();
|
|
}
|
|
}, 2000); // keeping it 2 second to make it easy for user to understand
|
|
// what's happening
|
|
|
|
})();
|
|
</script> |