mirror of
https://github.com/AlexxIT/go2rtc.git
synced 2026-04-22 15:47:06 +08:00
189 lines
7.8 KiB
JavaScript
189 lines
7.8 KiB
JavaScript
import {defineConfig} from 'vitepress';
|
|
|
|
function replace_link(md) {
|
|
md.core.ruler.after('inline', 'replace-link', function (state) {
|
|
for (const block of state.tokens) {
|
|
if (block.type === 'inline' && block.children) {
|
|
for (const token of block.children) {
|
|
const href = token.attrGet('href');
|
|
if (href && href.indexOf('README.md') >= 0) {
|
|
// token.attrJoin('style', 'color:red;');
|
|
token.attrSet('href', href.replace('README.md', 'index.md'));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
return true;
|
|
});
|
|
}
|
|
|
|
export default defineConfig({
|
|
title: 'go2rtc',
|
|
description: 'Ultimate camera streaming application',
|
|
head: [
|
|
// first line (green bold) of Telegram card, autodetect from hostname
|
|
['meta', { property: 'og:site_name', content: 'go2rtc.org' }],
|
|
// second line of Telegram card (black bold), autodetect from site description
|
|
['meta', { property: 'og:title', content: 'go2rtc - Ultimate camera streaming application' }],
|
|
// third line of Telegram card, autodetect from site description
|
|
['meta', { property: 'og:description', content: 'Support alsa, doorbird, dvrip, eseecloud, ffmpeg, gopro, hass, hls, homekit, mjpeg, mp4, mpegts, nest, onvif, ring, roborock, rtmp, rtsp, tapo, vigi, tuya, v4l2, webrtc, wyze, xiaomi.' }],
|
|
['meta', { property: 'og:url', content: 'https://go2rtc.org/' }],
|
|
['meta', { property: 'og:image', content: 'https://go2rtc.org/images/logo.png' }],
|
|
// important for Telegram - the image will be at the bottom and large
|
|
['meta', { property: 'twitter:card', content: 'summary_large_image' }],
|
|
],
|
|
sitemap: {hostname: 'https://go2rtc.org'},
|
|
|
|
themeConfig: {
|
|
nav: [
|
|
{text: 'Home', link: '/'},
|
|
],
|
|
sidebar: [
|
|
{
|
|
items: [
|
|
{text: 'Installation', link: '/#installation'},
|
|
{text: 'Configuration', link: '/#configuration'},
|
|
{text: 'Security', link: '/#security'},
|
|
],
|
|
},
|
|
{
|
|
text: 'Features',
|
|
items: [
|
|
{text: 'Streaming input', link: '/#streaming-input'},
|
|
{text: 'Streaming output', link: '/#streaming-output'},
|
|
{text: 'Streaming ingest', link: '/#streaming-ingest'},
|
|
{text: 'Two-way audio', link: '/#two-way-audio'},
|
|
{text: 'Stream to camera', link: '/#stream-to-camera'},
|
|
{text: 'Publish stream', link: '/#publish-stream'},
|
|
{text: 'Preload stream', link: '/#preload-stream'},
|
|
{text: 'Streaming stats', link: '/#streaming-stats'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
{
|
|
text: 'Codecs',
|
|
items: [
|
|
{text: 'Codecs filters', link: '/#codecs-filters'},
|
|
{text: 'Codecs madness', link: '/#codecs-madness'},
|
|
{text: 'Built-in transcoding', link: '/#built-in-transcoding'},
|
|
{text: 'Codecs negotiation', link: '/#codecs-negotiation'},
|
|
],
|
|
collapsed: true,
|
|
},
|
|
{
|
|
text: 'Other',
|
|
items: [
|
|
{text: 'Projects using go2rtc', link: '/#projects-using-go2rtc'},
|
|
{text: 'Camera experience', link: '/#camera-experience'},
|
|
{text: 'Tips', link: '/#tips'},
|
|
],
|
|
collapsed: true,
|
|
},
|
|
{
|
|
text: 'Core modules',
|
|
items: [
|
|
{text: 'app', link: '/internal/app/'},
|
|
{text: 'api', link: '/internal/api/'},
|
|
{text: 'streams', link: '/internal/streams/'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
{
|
|
text: 'Main modules',
|
|
items: [
|
|
{text: 'http', link: '/internal/http/'},
|
|
{text: 'mjpeg', link: '/internal/mjpeg/'},
|
|
{text: 'mp4', link: '/internal/mp4/'},
|
|
{text: 'rtsp', link: '/internal/rtsp/'},
|
|
{text: 'webrtc', link: '/internal/webrtc/'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
{
|
|
text: 'Other modules',
|
|
items: [
|
|
{text: 'hls', link: '/internal/hls/'},
|
|
{text: 'homekit', link: '/internal/homekit/'},
|
|
{text: 'onvif', link: '/internal/onvif/'},
|
|
{text: 'rtmp', link: '/internal/rtmp/'},
|
|
{text: 'webtorrent', link: '/internal/webtorrent/'},
|
|
{text: 'wyoming', link: '/internal/wyoming/'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
{
|
|
text: 'Script sources',
|
|
items: [
|
|
{text: 'echo', link: '/internal/echo/'},
|
|
{text: 'exec', link: '/internal/exec/'},
|
|
{text: 'expr', link: '/internal/expr/'},
|
|
{text: 'ffmpeg', link: '/internal/ffmpeg/'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
{
|
|
text: 'Other sources',
|
|
items: [
|
|
{text: 'alsa', link: '/internal/alsa/'},
|
|
{text: 'bubble', link: '/internal/bubble/'},
|
|
{text: 'doorbird', link: '/internal/doorbird/'},
|
|
{text: 'dvrip', link: '/internal/dvrip/'},
|
|
{text: 'eseecloud', link: '/internal/eseecloud/'},
|
|
{text: 'flussonic', link: '/internal/flussonic/'},
|
|
{text: 'gopro', link: '/internal/gopro/'},
|
|
{text: 'hass', link: '/internal/hass/'},
|
|
{text: 'isapi', link: '/internal/isapi/'},
|
|
{text: 'ivideon', link: '/internal/ivideon/'},
|
|
{text: 'kasa', link: '/internal/kasa/'},
|
|
{text: 'mpeg', link: '/internal/mpeg/'},
|
|
{text: 'multitrans', link: '/internal/multitrans/'},
|
|
{text: 'nest', link: '/internal/nest/'},
|
|
{text: 'ring', link: '/internal/ring/'},
|
|
{text: 'roborock', link: '/internal/roborock/'},
|
|
{text: 'tapo', link: '/internal/tapo/'},
|
|
{text: 'tuya', link: '/internal/tuya/'},
|
|
{text: 'v4l2', link: '/internal/v4l2/'},
|
|
{text: 'wyze', link: '/internal/wyze/'},
|
|
{text: 'xiaomi', link: '/internal/xiaomi/'},
|
|
{text: 'yandex', link: '/internal/yandex/'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
{
|
|
text: 'Helper modules',
|
|
items: [
|
|
{text: 'debug', link: '/internal/debug/'},
|
|
{text: 'ngrok', link: '/internal/ngrok/'},
|
|
{text: 'pinggy', link: '/internal/pinggy/'},
|
|
{text: 'srtp', link: '/internal/srtp/'},
|
|
],
|
|
collapsed: false,
|
|
},
|
|
|
|
],
|
|
socialLinks: [
|
|
{icon: 'github', link: 'https://github.com/AlexxIT/go2rtc'}
|
|
],
|
|
outline: [2, 3],
|
|
search: {provider: 'local'},
|
|
},
|
|
|
|
rewrites(id) {
|
|
// change file names
|
|
return id.replace('README.md', 'index.md');
|
|
},
|
|
|
|
markdown: {
|
|
config: (md) => {
|
|
// change markdown links
|
|
md.use(replace_link);
|
|
}
|
|
},
|
|
|
|
srcDir: '..',
|
|
srcExclude: ['examples/', 'pkg/'],
|
|
|
|
// cleanUrls: true,
|
|
ignoreDeadLinks: true,
|
|
});
|