docs/index.html
Rama main · réplica de lectura del repositorio original.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>RSPlayer</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<link rel="icon" type="image/png" href="_assets/favicon.png">
<link rel="stylesheet" href="_assets/vendor/docsify-vue.css" />
<style>
:root {
--theme-color: #090240;
}
/* Footer added to every page by the plugin in window.$docsify */
.site-footer {
margin-top: 4em;
padding-top: 1.2em;
border-top: 1px solid #eee;
font-size: 0.85em;
color: #7f8c8d;
}
.markdown-section .site-footer a { color: inherit; font-weight: normal; }
/* Dark theme: RSPlayer brand colors (navy, cream, VU-meter red), as on rsplayer.de.
Every text color is at least 5:1 against the background it sits on. */
@media (prefers-color-scheme: dark) {
:root {
--theme-color: #ff8f84;
--bg: #10102b;
--bg-alt: #17173a;
--bg-code: #0b0b22;
--border: #2a2a58;
--text: #d8d2c2;
--text-strong: #f2e8cf;
--text-muted: #a29fbf;
--accent: #e4574c;
color-scheme: dark;
}
.app-name-link img {
content: url('_assets/banner-dark.svg');
}
html, body, section.cover, .sidebar, .content, .app-nav, .sidebar-toggle {
background-color: var(--bg);
color: var(--text);
}
.sidebar, .sidebar-toggle { background-color: #0d0d24; }
.sidebar, .sidebar-toggle { border-color: var(--border); }
.sidebar ul li a, .sidebar-nav > ul > li > a { color: var(--text); }
.sidebar ul li.active > a { color: var(--theme-color); border-right-color: var(--accent); }
.sidebar ul li a:hover { color: var(--text-strong); }
.sidebar-nav > ul > li > ul a { color: var(--text-muted); }
.sidebar-nav > ul > li > strong, .sidebar-nav > ul > li > p { color: var(--text-strong); }
.sidebar::-webkit-scrollbar-thumb { background: var(--border); }
.sidebar-toggle span { background-color: var(--text); }
.markdown-section { color: var(--text); }
/* vue.css colors the heading anchor spans, not the headings */
.markdown-section h1, .markdown-section h2, .markdown-section h3,
.markdown-section h4, .markdown-section h5, .markdown-section h6,
.markdown-section h1 a, .markdown-section h2 a, .markdown-section h3 a,
.markdown-section h4 a, .markdown-section h5 a, .markdown-section h6 a,
.markdown-section .anchor span,
.markdown-section strong { color: var(--text-strong); }
.markdown-section h2 { border-bottom-color: var(--border); }
.markdown-section a { color: var(--theme-color); text-decoration-color: #ff8f8466; }
.markdown-section a:hover { text-decoration-color: currentColor; }
.markdown-section blockquote {
background-color: var(--bg-alt);
color: var(--text-muted);
border-left-color: var(--accent);
}
.markdown-section p.tip {
background-color: var(--bg-alt);
color: var(--text);
border-left-color: var(--accent);
}
.markdown-section p.tip:before { background-color: var(--accent); color: #fff; }
.markdown-section p.warn { background-color: var(--bg-alt); color: var(--text); }
.markdown-section code {
background-color: var(--bg-code);
color: #f3c98b;
}
.markdown-section pre, .markdown-section pre > code {
background-color: var(--bg-code);
color: var(--text);
}
.markdown-section pre { border: 1px solid var(--border); }
.markdown-section pre:after { color: var(--text-muted); }
.markdown-section table { border-collapse: collapse; }
.markdown-section th, .markdown-section td {
border: 1px solid var(--border);
color: var(--text);
}
.markdown-section th { background-color: var(--bg-alt); color: var(--text-strong); }
.markdown-section tr { background-color: var(--bg); border-top: 1px solid var(--border); }
.markdown-section tr:nth-child(2n) { background-color: #131333; }
.markdown-section hr { border-bottom-color: var(--border); }
.markdown-section img { background: transparent; }
.search input { background-color: var(--bg-alt); color: var(--text); border-color: var(--border); }
.search input::placeholder { color: var(--text-muted); }
.search, .search .results-panel, .search .matching-post { border-color: var(--border); }
.search a { color: var(--text); }
.search .matching-post h2 { color: var(--text-strong); }
.search .search-keyword { color: var(--theme-color); }
.github-corner svg { fill: var(--accent); color: var(--bg); }
.progress { background-color: var(--accent); }
.token.comment, .token.prolog, .token.doctype, .token.cdata { color: #8a87a8; }
.token.punctuation { color: var(--text); }
.token.string, .token.attr-value { color: #9be48f; }
.token.function, .token.selector, .token.keyword, .token.builtin { color: #9ab8ff; }
.token.number, .token.boolean, .token.property, .token.parameter { color: #f3c98b; }
.markdown-section .site-footer { border-top-color: var(--border); color: var(--text-muted); }
.markdown-section .site-footer a { color: var(--text); }
}
.app-name-link img {
max-width: 180px;
max-height: 60px;
}
.markdown-section img {
max-width: 300px;
width: 100%;
}
/* Store badges (Snap Store) keep their natural aspect ratio */
.markdown-section img.store-badge {
width: auto;
height: 56px;
}
</style>
</head>
<body>
<div id="app"></div>
<script>
window.$docsify = {
// Render :emoji: as unicode instead of images from github.githubassets.com.
nativeEmoji: true,
name: 'RSPlayer',
// The logo leads to the main site (also linked in the footer); "Home" opens the docs start page.
nameLink: 'https://rsplayer.de/',
logo: '_assets/banner-light.svg',
repo: 'ljufa/rsplayer',
coverpage: false,
loadSidebar: true,
alias: {
'/.*/_sidebar.md': '/_sidebar.md'
},
maxLevel: 4,
subMaxLevel: 3,
search: {
maxAge: 86400000,
paths: 'auto',
placeholder: 'Type to search',
noData: 'No Results!',
depth: 3,
hideOtherSidebarContent: true,
},
plugins: [
// Privacy policy and legal notice links on every page (they live on rsplayer.de).
function (hook) {
hook.afterEach(function (html) {
return html +
'<footer class="site-footer"><a href="https://rsplayer.de/">rsplayer.de</a> · ' +
'Open source, <a href="https://github.com/ljufa/rsplayer/blob/main/LICENSE">MIT license</a> · ' +
'<a href="https://rsplayer.de/privacy.html">Privacy</a> · ' +
'<a href="https://rsplayer.de/impressum.html">Legal notice</a></footer>';
});
},
// Page views go to the self-hosted GoatCounter at stats.rsplayer.de (no cookies).
// docsify routes by URL hash, so count each route change as /docs/<page>.
function (hook, vm) {
hook.doneEach(function () {
var path = '/docs' + vm.route.path, title = document.title, tries = 0;
(function send() {
// count.js loads async and may not be ready on the first page
var g = window.goatcounter;
if (g && g.count) {
// count.js always sends the screen width and has no option to turn it
// off, so drop it before sending (see the privacy policy).
if (!g.noScreenSize) {
var getData = g.get_data;
g.get_data = function (vars) { var d = getData(vars); delete d.s; return d; };
g.noScreenSize = true;
}
g.count({ path: path, title: title });
} else if (++tries < 20) {
setTimeout(send, 250);
}
})();
});
}
]
}
</script>
<script data-goatcounter="https://stats.rsplayer.de/count" data-goatcounter-settings='{"no_onload": true}' async src="https://stats.rsplayer.de/count.js"></script>
<script src="_assets/vendor/docsify-docsify.min.js"></script>
<script src="_assets/vendor/docsify-search.min.js"></script>
<script src="_assets/vendor/docsify-zoom-image.min.js"></script>
<script src="_assets/vendor/prism-bash.min.js"></script>
<script src="_assets/vendor/prism-json.min.js"></script>
</body>
</html>