@ -0,0 +1 @@ |
|||
keyv.js.org |
@ -0,0 +1,562 @@ |
|||
@import url("https://rsms.me/inter/inter-ui.css"); |
|||
|
|||
:root { |
|||
/* colors */ |
|||
--base: #f5f4f4; |
|||
--black: rgba(18, 16, 12, 0.70196); |
|||
--gray0: #f9f9f9; |
|||
--gray1: #ededee; |
|||
--gray2: #e0e1e1; |
|||
--gray3: #d2d3d4; |
|||
--gray4: #c3c4c5; |
|||
--gray5: #b2b3b5; |
|||
--gray6: #9fa0a2; |
|||
--gray7: #88898c; |
|||
--gray8: #6b6c70; |
|||
--gray9: #3d3f44; |
|||
--gray10: #000; |
|||
|
|||
/* theme */ |
|||
|
|||
--primary-color: var(--gray9); |
|||
--secondary-color: var(--gray10); |
|||
--accent-color: #fc6568; |
|||
|
|||
--text-color: #121102; |
|||
--text-bold-color: var(--gray10); |
|||
|
|||
--sidebar-color: var(--primary-color); |
|||
--sidebar-active-color: var(--secondary-color); |
|||
--sidebar-border-color: #5f6368; |
|||
--bg-color: var(--base); |
|||
|
|||
--serif-font: "IBM Plex Sans", sans-serif; |
|||
--sans-serif-font: "IBM Plex Sans", sans-serif; |
|||
--code-font: Nitti, "Microsoft YaHei", "Roboto Mono", 微软雅黑, monospace; |
|||
|
|||
--codebox-border-color: var(--text-color); |
|||
--codebox-color: var(--text-color); |
|||
--codebox-token-var-color: var(--text-color); |
|||
--codebox-bg: var(--bg-color); |
|||
} |
|||
|
|||
::selection { |
|||
background: #f9e4ac; |
|||
} |
|||
|
|||
::-moz-selection { |
|||
background: #f9e4ac; |
|||
} |
|||
|
|||
* { |
|||
-webkit-font-smoothing: antialiased; |
|||
-webkit-overflow-scrolling: touch; |
|||
-webkit-tap-highlight-color: rgba(0, 0, 0, 0); |
|||
-webkit-text-size-adjust: none; |
|||
-webkit-touch-callout: none; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.progress { |
|||
background-color: var(--primary-color); |
|||
height: 2px; |
|||
left: 0; |
|||
position: fixed; |
|||
right: 0; |
|||
top: 0; |
|||
transition: width 0.2s, opacity 0.4s; |
|||
width: 0; |
|||
z-index: 5; |
|||
} |
|||
|
|||
body, |
|||
html { |
|||
height: 100%; |
|||
} |
|||
|
|||
body { |
|||
-moz-osx-font-smoothing: grayscale; |
|||
-webkit-font-smoothing: antialiased; |
|||
color: var(--text-color); |
|||
font-family: var(--sans-serif-font); |
|||
font-size: 16px; |
|||
letter-spacing: 0; |
|||
margin: 0; |
|||
overflow-x: hidden; |
|||
} |
|||
|
|||
img { |
|||
max-width: 100%; |
|||
} |
|||
|
|||
.github-corner { |
|||
border-bottom: 0; |
|||
position: fixed; |
|||
right: 0; |
|||
text-decoration: none; |
|||
top: 0; |
|||
z-index: 1; |
|||
} |
|||
|
|||
.github-corner svg { |
|||
color: #fff; |
|||
fill: var(--accent-color); |
|||
height: 80px; |
|||
width: 80px; |
|||
} |
|||
|
|||
.github-corner:hover .octo-arm { |
|||
animation: a 0.56s ease-in-out; |
|||
} |
|||
|
|||
main { |
|||
display: block; |
|||
position: relative; |
|||
width: 100vw; |
|||
height: 100%; |
|||
z-index: 0; |
|||
} |
|||
|
|||
.anchor { |
|||
display: inline-block; |
|||
text-decoration: none; |
|||
transition: all 0.3s; |
|||
} |
|||
|
|||
.anchor span { |
|||
color: var(--secondary-color); |
|||
} |
|||
|
|||
.anchor:hover { |
|||
text-decoration: underline; |
|||
} |
|||
|
|||
.sidebar { |
|||
font-family: var(--serif-font); |
|||
overflow-y: auto; |
|||
padding: 40px 0 0; |
|||
top: 0; |
|||
bottom: 0; |
|||
left: 0; |
|||
position: absolute; |
|||
transition: transform 0.25s ease-out; |
|||
width: 300px; |
|||
z-index: 3; |
|||
} |
|||
|
|||
.sidebar .sidebar-nav { |
|||
line-height: 2em; |
|||
padding-bottom: 40px; |
|||
} |
|||
|
|||
.sidebar ul { |
|||
margin: 0; |
|||
padding: 0; |
|||
} |
|||
|
|||
.sidebar ul, |
|||
.sidebar ul li { |
|||
list-style: none; |
|||
} |
|||
|
|||
.sidebar ul li a { |
|||
border-bottom: none; |
|||
display: block; |
|||
} |
|||
|
|||
.sidebar::-webkit-scrollbar { |
|||
width: 4px; |
|||
} |
|||
|
|||
.sidebar::-webkit-scrollbar-thumb { |
|||
background: transparent; |
|||
border-radius: 4px; |
|||
} |
|||
|
|||
.sidebar:hover::-webkit-scrollbar-thumb { |
|||
background: hsla(0, 0%, 53%, 0.4); |
|||
} |
|||
|
|||
.sidebar:hover::-webkit-scrollbar-track { |
|||
background: hsla(0, 0%, 53%, 0.1); |
|||
} |
|||
|
|||
.sidebar-toggle { |
|||
background-color: transparent; |
|||
background-color: var(--bg-color); |
|||
border: 0; |
|||
outline: none; |
|||
padding: 10px; |
|||
bottom: 0; |
|||
left: 0; |
|||
position: absolute; |
|||
text-align: center; |
|||
transition: opacity 0.3s; |
|||
width: 30px; |
|||
width: 284px; |
|||
z-index: 4; |
|||
} |
|||
|
|||
.sidebar-toggle .sidebar-toggle-button:hover { |
|||
opacity: 0.4; |
|||
} |
|||
|
|||
.sidebar-toggle span { |
|||
background-color: var(--primary-color); |
|||
display: block; |
|||
margin-bottom: 4px; |
|||
width: 16px; |
|||
height: 2px; |
|||
} |
|||
|
|||
body.sticky .sidebar, |
|||
body.sticky .sidebar-toggle { |
|||
position: fixed; |
|||
} |
|||
|
|||
.content { |
|||
padding-top: 60px; |
|||
top: 0; |
|||
right: 0; |
|||
bottom: 0; |
|||
left: 300px; |
|||
position: absolute; |
|||
transition: left 0.25s ease; |
|||
} |
|||
|
|||
.markdown-section { |
|||
margin: 0 auto; |
|||
max-width: 800px; |
|||
padding: 30px 15px 40px; |
|||
position: relative; |
|||
} |
|||
|
|||
.markdown-section>* { |
|||
box-sizing: border-box; |
|||
font-size: inherit; |
|||
} |
|||
|
|||
.markdown-section> :first-child { |
|||
margin-top: 0 !important; |
|||
} |
|||
|
|||
.markdown-section p.tip { |
|||
background-color: #f8f8f8; |
|||
border-bottom-right-radius: 2px; |
|||
border-left: 4px solid var(--accent-color); |
|||
border-top-right-radius: 2px; |
|||
margin: 2em 0; |
|||
padding: 12px 24px 12px 30px; |
|||
position: relative; |
|||
} |
|||
|
|||
.markdown-section p.tip:before { |
|||
background-color: var(--accent-color); |
|||
border-radius: 100%; |
|||
color: #fff; |
|||
content: "!"; |
|||
font-family: Dosis, Source Sans Pro, Helvetica Neue, Arial, sans-serif; |
|||
font-size: 14px; |
|||
font-weight: 700; |
|||
left: -12px; |
|||
line-height: 20px; |
|||
position: absolute; |
|||
width: 20px; |
|||
height: 20px; |
|||
text-align: center; |
|||
top: 14px; |
|||
} |
|||
|
|||
@media print { |
|||
|
|||
.github-corner, |
|||
.sidebar, |
|||
.sidebar-toggle { |
|||
display: none; |
|||
} |
|||
} |
|||
|
|||
@media screen and (max-width: 768px) { |
|||
|
|||
.github-corner, |
|||
.sidebar, |
|||
.sidebar-toggle { |
|||
position: fixed; |
|||
} |
|||
|
|||
main { |
|||
height: auto; |
|||
overflow-x: hidden; |
|||
} |
|||
|
|||
.sidebar { |
|||
left: -300px; |
|||
transition: transform 0.25s ease-out; |
|||
} |
|||
|
|||
.content { |
|||
left: 0; |
|||
max-width: 100vw; |
|||
position: static; |
|||
padding-top: 20px; |
|||
transition: transform 0.25s ease; |
|||
} |
|||
|
|||
.github-corner { |
|||
transition: transform 0.25s ease-out; |
|||
} |
|||
|
|||
.sidebar-toggle { |
|||
background-color: transparent; |
|||
width: auto; |
|||
} |
|||
|
|||
.github-corner .octo-arm { |
|||
animation: a 0.56s ease-in-out; |
|||
} |
|||
|
|||
.github-corner:hover .octo-arm { |
|||
animation: none; |
|||
} |
|||
} |
|||
|
|||
@keyframes a { |
|||
|
|||
0%, |
|||
to { |
|||
transform: rotate(0); |
|||
} |
|||
|
|||
20%, |
|||
60% { |
|||
transform: rotate(-25deg); |
|||
} |
|||
|
|||
40%, |
|||
80% { |
|||
transform: rotate(10deg); |
|||
} |
|||
} |
|||
|
|||
.sidebar, |
|||
body { |
|||
background-color: var(--bg-color); |
|||
color: var(--primary-color); |
|||
} |
|||
|
|||
.sidebar { |
|||
color: #364149; |
|||
} |
|||
|
|||
.sidebar li { |
|||
margin: 6px 0 6px 15px; |
|||
} |
|||
|
|||
.sidebar ul li a { |
|||
color: var(--sidebar-color); |
|||
font-size: 14px; |
|||
font-weight: 400; |
|||
overflow: hidden; |
|||
text-decoration: none; |
|||
text-overflow: ellipsis; |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
.sidebar ul li a:hover { |
|||
text-decoration: underline; |
|||
} |
|||
|
|||
.sidebar ul li.active>a { |
|||
border-right: 2px solid; |
|||
color: var(--sidebar-active-color); |
|||
font-weight: 700; |
|||
} |
|||
|
|||
.markdown-section h1, |
|||
.markdown-section h2, |
|||
.markdown-section h3, |
|||
.markdown-section h4, |
|||
.markdown-section h5 { |
|||
font-family: var(--serif-font); |
|||
} |
|||
|
|||
.markdown-section strong { |
|||
font-family: var(--sans-serif-font); |
|||
color: var(--text-bold-color); |
|||
} |
|||
|
|||
.markdown-section a { |
|||
color: var(--primary-color); |
|||
text-decoration: none; |
|||
font-weight: 600; |
|||
} |
|||
|
|||
.markdown-section li a, |
|||
.markdown-section p a { |
|||
color: var(--accent-color); |
|||
text-decoration: underline; |
|||
text-underline-offset: 1px; |
|||
} |
|||
|
|||
.markdown-section li a:hover, |
|||
.markdown-section p a:hover { |
|||
opacity: 0.8; |
|||
} |
|||
|
|||
.markdown-section h1 { |
|||
font-size: 2rem; |
|||
margin: 4rem 0 1rem; |
|||
} |
|||
|
|||
.markdown-section h2 { |
|||
font-size: 1.75rem; |
|||
margin: 3.5rem 0 1rem; |
|||
} |
|||
|
|||
.markdown-section h3 { |
|||
font-size: 1.5rem; |
|||
margin: 3rem 0 1rem; |
|||
} |
|||
|
|||
.markdown-section h4 { |
|||
font-size: 1.25rem; |
|||
margin: 2.5rem 0 1rem; |
|||
} |
|||
|
|||
.markdown-section h5 { |
|||
font-size: 1rem; |
|||
} |
|||
|
|||
.markdown-section p { |
|||
margin: 1.2em 0; |
|||
} |
|||
|
|||
.markdown-section p, |
|||
.markdown-section ul { |
|||
line-height: 1.8rem; |
|||
word-spacing: 0.05rem; |
|||
} |
|||
|
|||
.markdown-section ul li { |
|||
margin-bottom: 10px; |
|||
} |
|||
|
|||
.markdown-section ul { |
|||
padding-left: 2rem; |
|||
} |
|||
|
|||
.markdown-section blockquote { |
|||
border-left: 4px solid var(--primary-color); |
|||
margin: 2em 0; |
|||
padding-left: 20px; |
|||
} |
|||
|
|||
.markdown-section blockquote p { |
|||
font-weight: 400; |
|||
margin-left: 0; |
|||
padding: 12px 0; |
|||
} |
|||
|
|||
.markdown-section li code, |
|||
.markdown-section p code { |
|||
color: var(--codebox-token-var-color); |
|||
border: 1px solid var(--codebox-border-color); |
|||
background: var(--codebox-bg); |
|||
font-size: 0.75rem; |
|||
padding: 3px 10px; |
|||
border-radius: 3px; |
|||
white-space: nowrap; |
|||
} |
|||
|
|||
.markdown-section code { |
|||
border-radius: 2px; |
|||
color: var(--codebox-token-var-color); |
|||
font-size: 0.8rem; |
|||
margin: 0 2px; |
|||
padding: 3px 5px; |
|||
white-space: pre-wrap; |
|||
} |
|||
|
|||
.markdown-section pre { |
|||
border-radius: 5px; |
|||
background-color: var(--codebox-bg); |
|||
border: 1px solid var(--codebox-border-color); |
|||
} |
|||
|
|||
.markdown-section code, |
|||
.markdown-section pre { |
|||
font-family: var(--code-font); |
|||
} |
|||
|
|||
.markdown-section pre { |
|||
line-height: 1.5rem; |
|||
margin: 1.2em 0; |
|||
overflow: auto; |
|||
padding: 0 0.7rem; |
|||
position: relative; |
|||
word-wrap: normal; |
|||
} |
|||
|
|||
.markdown-section pre, |
|||
.markdown-section pre>code { |
|||
-moz-osx-font-smoothing: initial; |
|||
-webkit-font-smoothing: initial; |
|||
} |
|||
|
|||
.markdown-section pre>code { |
|||
background-color: var(--codebox-bg); |
|||
border-radius: 2px; |
|||
color: var(--codebox-token-var-color); |
|||
display: block; |
|||
font-family: var(--code-font); |
|||
font-size: 0.8rem; |
|||
line-height: inherit; |
|||
margin: 0 2px; |
|||
max-width: inherit; |
|||
overflow: inherit; |
|||
padding: 1.25em 5px; |
|||
white-space: inherit; |
|||
} |
|||
|
|||
.markdown-section code:after, |
|||
.markdown-section code:before { |
|||
letter-spacing: 0.8px; |
|||
letter-spacing: 0.05rem; |
|||
} |
|||
|
|||
.token.class-name, |
|||
.token.function, |
|||
.token.number { |
|||
color: #d46e00; |
|||
} |
|||
|
|||
.token.string { |
|||
color: #d40066; |
|||
} |
|||
|
|||
.token.constant, |
|||
.token.keyword { |
|||
color: #e00400; |
|||
} |
|||
|
|||
.token.comment { |
|||
color: var(--gray7); |
|||
} |
|||
|
|||
pre:after { |
|||
color: #ccc; |
|||
content: attr(data-lang); |
|||
font-size: 0.6rem; |
|||
font-weight: 600; |
|||
height: 15px; |
|||
line-height: 15px; |
|||
padding: 5px 10px 0; |
|||
position: absolute; |
|||
right: 0; |
|||
text-align: right; |
|||
top: 0; |
|||
} |
|||
|
|||
.sidebar ul ul { |
|||
margin-left: 15px; |
|||
} |
@ -0,0 +1,16 @@ |
|||
/* global codecopy */ |
|||
|
|||
window.$docsify = { |
|||
repo: 'microlinkhq/keyv', |
|||
maxLevel: 3, |
|||
executeScript: true, |
|||
auto2top: true, |
|||
noEmoji: true, |
|||
plugins: [ |
|||
function (hook, vm) { |
|||
hook.ready(function () { |
|||
codecopy('pre') |
|||
}) |
|||
} |
|||
] |
|||
} |
@ -0,0 +1,48 @@ |
|||
'use strict' |
|||
|
|||
const strip = require('gulp-strip-css-comments') |
|||
const prefix = require('gulp-autoprefixer') |
|||
const cssnano = require('gulp-cssnano') |
|||
const uglify = require('gulp-uglify') |
|||
const concat = require('gulp-concat') |
|||
const gulp = require('gulp') |
|||
|
|||
const src = { |
|||
css: ['docs/css/style.css'], |
|||
js: ['docs/js/main.js'] |
|||
} |
|||
|
|||
const dist = { |
|||
path: 'static', |
|||
name: { |
|||
css: 'style', |
|||
js: 'main' |
|||
} |
|||
} |
|||
|
|||
const styles = () => |
|||
gulp |
|||
.src(src.css) |
|||
.pipe(concat(`${dist.name.css}.min.css`)) |
|||
.pipe(prefix()) |
|||
.pipe(strip({ all: true })) |
|||
.pipe(cssnano()) |
|||
.pipe(gulp.dest(dist.path)) |
|||
|
|||
const scripts = () => |
|||
gulp |
|||
.src(src.js) |
|||
.pipe(concat(`${dist.name.js}.min.js`)) |
|||
.pipe(uglify()) |
|||
.pipe(gulp.dest(dist.path)) |
|||
|
|||
const build = gulp.parallel(styles, scripts) |
|||
|
|||
function watch () { |
|||
gulp.watch(src.css, styles) |
|||
gulp.watch(src.js, scripts) |
|||
} |
|||
|
|||
module.exports.default = gulp.series(build, watch) |
|||
module.exports.build = build |
|||
module.exports.watch = watch |
@ -0,0 +1,55 @@ |
|||
<!DOCTYPE html> |
|||
<html lang="en"> |
|||
|
|||
<head> |
|||
<!-- Basic --> |
|||
<meta charset="utf-8"> |
|||
<meta http-equiv="x-ua-compatible" content="ie=edge"> |
|||
|
|||
<!-- Search Engine --> |
|||
<meta name="description" content="Keyv is a simple key-value storage with support for multiple backend adapters (MySQL, PostgreSQL, SQLite, Redis, Mongo, DynamoDB, Firestore, Memcached, and more)."> |
|||
<meta name="image" content="https://keyv.js.org/static/banner.png"> |
|||
<link rel="canonical" href="https://keyv.js.org" /> |
|||
<title>Keyv is a simple key-value storage with support for multiple backend adapters (MySQL, PostgreSQL, SQLite, Redis, Mongo, DynamoDB, Firestore, Memcached, and more).</title> |
|||
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
|||
|
|||
<!-- Schema.org for Google --> |
|||
<meta itemprop="name" content="Keyv is a simple key-value storage with support for multiple backend adapters (MySQL, PostgreSQL, SQLite, Redis, Mongo, DynamoDB, Firestore, Memcached, and more)."> |
|||
<meta itemprop="description" content="Keyv is a simple key-value storage with support for multiple backend adapters (MySQL, PostgreSQL, SQLite, Redis, Mongo, DynamoDB, Firestore, Memcached, and more)."> |
|||
<meta itemprop="image" content="https://keyv.js.org/static/banner.png"> |
|||
|
|||
<!-- Twitter --> |
|||
<meta name="twitter:card" content="summary_large_image"> |
|||
<meta name="twitter:title" content="keyv"> |
|||
<meta name="twitter:description" content="Keyv is a simple key-value storage with support for multiple backend adapters (MySQL, PostgreSQL, SQLite, Redis, Mongo, DynamoDB, Firestore, Memcached, and more)."> |
|||
<meta name="twitter:image" content="https://keyv.js.org/static/banner.png"> |
|||
<meta name="twitter:label1" value="Installation" /> |
|||
<meta name="twitter:data1" value="npm install @keyvhq/keyv --save" /> |
|||
<!-- Open Graph general (Facebook, Pinterest & Google+) --> |
|||
<meta property="og:title" content="keyv"> |
|||
<meta property="og:logo" content="https://keyv.js.org/static/logo.jpg"> |
|||
<meta property="og:description" content="Keyv is a simple key-value storage with support for multiple backend adapters (MySQL, PostgreSQL, SQLite, Redis, Mongo, DynamoDB, Firestore, Memcached, and more)."> |
|||
<meta property="og:image" content="https://keyv.js.org/static/banner.png"> |
|||
<meta property="og:url" content="https://keyv.js.org"> |
|||
<meta property="og:site_name" content="keyv.js.org"> |
|||
<meta property="og:type" content="website"> |
|||
|
|||
<!-- Favicon --> |
|||
<link rel="icon" type="image/png" href="https://keyv.js.org/static/favicon-32x32.png" sizes="32x32" /> |
|||
<link rel="icon" type="image/png" href="https://keyv.js.org/static/favicon-16x16.png" sizes="16x16" /> |
|||
|
|||
<!-- Stylesheet --> |
|||
<link href="https://fonts.googleapis.com/css?family=IBM+Plex+Sans" rel="stylesheet"> |
|||
<link rel="stylesheet" href="/static/style.min.css"> |
|||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/codecopy/umd/codecopy.min.css"> |
|||
</head> |
|||
|
|||
<body> |
|||
<div id="app"></div> |
|||
</body> |
|||
<script src="/static/main.min.js"></script> |
|||
<script src="//unpkg.com/docsify/lib/docsify.min.js"></script> |
|||
<script src="//unpkg.com/docsify/lib/plugins/external-script.min.js"></script> |
|||
<script src="//cdn.jsdelivr.net/npm/codecopy/umd/codecopy.min.js"></script> |
|||
|
|||
</html> |
After Width: | Height: | Size: 3.4 KiB |
After Width: | Height: | Size: 33 KiB |
After Width: | Height: | Size: 53 KiB |
After Width: | Height: | Size: 506 B |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 5.3 KiB |
After Width: | Height: | Size: 37 KiB |
After Width: | Height: | Size: 4.2 KiB |
@ -0,0 +1 @@ |
|||
window.$docsify={repo:"microlinkhq/keyv",maxLevel:3,executeScript:!0,auto2top:!0,noEmoji:!0,plugins:[function(o,e){o.ready(function(){codecopy("pre")})}]}; |