Migrace na VitePress

This commit is contained in:
Filip Znachor 2023-07-04 17:30:58 +02:00
parent 4fa986df02
commit bed77adc25
16 changed files with 797 additions and 1582 deletions

5
.gitignore vendored
View file

@ -1,5 +1,4 @@
.vercel
node_modules
.vuepress/.cache
.vuepress/.temp
.vuepress/dist
.vitepress/cache
.vitepress/dist

86
.vitepress/config.ts Normal file
View file

@ -0,0 +1,86 @@
import { defineConfig } from 'vitepress'
// https://vitepress.dev/reference/site-config
export default defineConfig({
title: "Space",
titleTemplate: ":title - Space",
description: "Má část Internetu",
head: [
["link", {rel: "icon", href: "/assets/favicon.png"}],
["meta", {name: "theme-color", content: "#d0204a"}],
["meta", {property: "og:site_name", content: "Space"}],
["meta", {property: "twitter:site_name", content: "Space"}],
["meta", {property: "og:image", content: "/assets/logo-space-bg.png?"}],
["meta", {property: "twitter:image", content: "/assets/logo-space-bg.png?"}]
],
themeConfig: {
logo: "/assets/favicon.png",
// https://vitepress.dev/reference/default-theme-config
nav: [
{text: "Úvod", link: "/"},
{text: "Software", link: "/software/index"},
{text: "Linux", link: "/linux/index"},
{text: "API", link: "/api/index"},
],
sidebar: {
"/api": [
{
text: "API",
link: "/api/",
items: [
{text: "Email", link: "/api/email"},
{text: "QR", link: "/api/qr"},
]
}
],
"/software": [
{
text: "Software",
link: "/software/",
items: [
{text: "Desktopový software", link: "/software/desktop"},
{text: "Operační systémy", link: "/software/os"}
]
},
{
text: "Výběr",
items: [
{text: "Firefox", link: "/software/firefox"}
]
}
],
"/linux": [
{
text: "Linux",
link: "/linux/",
items: [
{text: "Grafická prostředí", link: "/linux/prostredi"},
{text: "Kompatibilita", link: "/linux/kompatibilita"},
{text: "Hry", link: "/linux/hry"}
]
}
]
},
docFooter: {
prev: "Předchozí",
next: "Následující"
},
outlineTitle: "Na této stránce",
returnToTopLabel: "Vrátit se nahoru",
externalLinkIcon: true,
editLink: {
pattern: 'https://git.znachor.cz/Znachor/Space/_edit/master/:path',
text: 'Upravujte na Gitu'
},
lastUpdated: {
text: 'Upraveno',
formatOptions: {
dateStyle: 'medium',
timeStyle: 'short'
}
},
search: {
provider: 'local'
}
}
})

16
.vitepress/theme/index.ts Normal file
View file

@ -0,0 +1,16 @@
// https://vitepress.dev/guide/custom-theme
import { h } from 'vue'
import Theme from 'vitepress/theme'
import './style.css'
export default {
extends: Theme,
Layout: () => {
return h(Theme.Layout, null, {
// https://vitepress.dev/guide/extending-default-theme#layout-slots
})
},
enhanceApp({ app, router, siteData }) {
// ...
}
}

128
.vitepress/theme/style.css Normal file
View file

@ -0,0 +1,128 @@
/**
* Customize default theme styling by overriding CSS variables:
* https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
*/
/**
* Colors
* -------------------------------------------------------------------------- */
:root {
--vp-c-brand: #d0204a;
--vp-c-brand-light: #ca3f60;
--vp-c-brand-lighter: #d14e6d;
--vp-c-brand-lightest: #e76281;
--vp-c-brand-dark: #c01e44;
--vp-c-brand-darker: #a01837;
--vp-c-brand-dimm: rgba(255, 100, 126, 0.08);
}
.dark {
--vp-c-brand: #db2b54;
}
/**
* Component: Button
* -------------------------------------------------------------------------- */
:root {
--vp-button-brand-border: var(--vp-c-brand-light);
--vp-button-brand-text: var(--vp-c-white);
--vp-button-brand-bg: var(--vp-c-brand);
--vp-button-brand-hover-border: var(--vp-c-brand-light);
--vp-button-brand-hover-text: var(--vp-c-white);
--vp-button-brand-hover-bg: var(--vp-c-brand-light);
--vp-button-brand-active-border: var(--vp-c-brand-light);
--vp-button-brand-active-text: var(--vp-c-white);
--vp-button-brand-active-bg: var(--vp-button-brand-bg);
}
/**
* Component: Home
* -------------------------------------------------------------------------- */
:root {
--vp-home-hero-name-color: transparent;
--vp-home-hero-name-background: -webkit-linear-gradient(
120deg,
#D9234A 30%,
#c44460
);
--vp-home-hero-image-background-image: linear-gradient(
-45deg,
#D9234A 50%,
#c44460 50%
);
--vp-home-hero-image-filter: blur(40px);
}
@media (min-width: 640px) {
:root {
--vp-home-hero-image-filter: blur(56px);
}
}
@media (min-width: 960px) {
:root {
--vp-home-hero-image-filter: blur(72px);
}
}
/**
* Component: Custom Block
* -------------------------------------------------------------------------- */
:root {
--vp-custom-block-tip-border: var(--vp-c-brand);
--vp-custom-block-tip-text: var(--vp-c-brand-darker);
--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);
}
.dark {
--vp-custom-block-tip-border: var(--vp-c-brand);
--vp-custom-block-tip-text: var(--vp-c-brand-lightest);
--vp-custom-block-tip-bg: var(--vp-c-brand-dimm);
}
/**
* Component: Algolia
* -------------------------------------------------------------------------- */
.DocSearch {
--docsearch-primary-color: var(--vp-c-brand) !important;
}
/* Custom start */
:root {
--c-bg-card: rgba(0,0,0,.04);
--c-border-card: rgba(0,0,0,.1);
}
html.dark {
--c-bg-card: rgba(0,0,0,.3);
--c-border-card: rgba(0,0,0,.3);
}
/* Special card component */
:is(blockquote, .card) :is(p, ol, ul) {
margin: 7px 0;
line-height: 1.5;
}
.card {
background-color: var(--c-bg-card);
border: 1px solid var(--c-border-card);
border-radius: 6px;
margin: 5px 0;
}
.card > .inner {
margin: 12px 16px;
}

View file

@ -1,63 +0,0 @@
import { defaultTheme, defineUserConfig } from "vuepress";
export default defineUserConfig({
lang: "cs-CZ",
title: "Space",
description: "",
head: [
["link", {rel: "icon", href: "/assets/favicon.png"}],
["meta", {name: "theme-color", content: "#d0204a"}],
["meta", {property: "og:site_name", content: "Space"}],
["meta", {property: "twitter:site_name", content: "Space"}],
["meta", {property: "og:image", content: "/assets/logo-space-bg.png?"}],
["meta", {property: "twitter:image", content: "/assets/logo-space-bg.png?"}]
],
theme: defaultTheme({
logo: "/assets/favicon.png",
navbar: [
{text: "Úvod", link: "/"},
{text: "Software", link: "/software"},
{text: "Linux", link: "/linux"},
{text: "API", link: "/api"},
],
sidebar: {
"/api": [
{
text: "API",
link: "/api",
children: [
{text: "Email", link: "/api/email"},
{text: "QR", link: "/api/qr"},
]
}
],
"/software": [
{
text: "Software",
link: "/software",
children: [
"/software/desktop",
"/software/os"
]
},
{
text: "Výběr",
children: [
"/software/firefox"
]
}
],
"/linux": [
{
text: "Linux",
link: "/linux",
children: [
"/linux/prostredi",
"/linux/kompatibilita",
"/linux/hry"
]
}
]
}
})
});

View file

@ -1,109 +0,0 @@
:root {
--c-brand: #d0204a;
--c-brand-light: #ca3f60;
--c-bg-card: rgba(0,0,0,.04);
--c-border-card: rgba(0,0,0,.1);
}
html.dark {
--c-brand: #cf3559;
--c-brand-light: #ca3f60;
--c-bg: #1C1B22;
--c-bg-light: #2B2A33;
--c-border: #2B2A33;
--c-bg-card: rgba(0,0,0,.3);
--c-border-card: rgba(0,0,0,.3);
}
/* Page top padding */
.page .theme-default-content {
padding-top: 2.5rem;
}
/* Special card component */
:is(blockquote, .card) :is(p, ol, ul) {
margin: 7px 0;
line-height: 1.5;
}
.card {
background-color: var(--c-bg-card);
border: 1px solid var(--c-border-card);
border-radius: 6px;
margin: 5px 0;
}
.card > .inner {
margin: 12px 16px;
}
/* Navbar items */
.navbar .navbar-items .navbar-item {
& > a {
position: relative;
font-weight: 700;
&:after {
content: "";
position: absolute;
bottom: -2px;
background-color: var(--c-brand);
border-radius: 2px;
height: 2px;
left: 50%;
width: 0%;
transition: all .2s;
}
}
& > :is(a:hover, a.router-link-active) {
border: none;
&:after {
left: 20%;
width: 60%;
}
}
}
/* Sidebar items */
a.sidebar-heading {
color: var(--c-text) !important;
&:hover {
text-decoration: underline;
}
}
ul.sidebar-items a {
border-color: transparent !important;
}
ul.sidebar-items > * > * > * > .sidebar-item:not(p.sidebar-heading) {
position: relative;
&:after {
content: "";
position: absolute;
background-color: var(--c-brand);
border-radius: 2px;
top: 50%;
left: 20px;
width: 4px;
height: 4px;
margin-top: -2px;
opacity: 0;
transform: scale(0);
transition: all .2s;
}
&.active:after {
opacity: 1;
transform: scale(1);
}
}

30
index.md Normal file
View file

@ -0,0 +1,30 @@
---
# https://vitepress.dev/reference/default-theme-home-page
layout: home
title: Má část Internetu
description: Zatím je tu celkem nepořádek a celý tento projekt je hodně WIP, takže neočekávejte, že bude všechno perfektní
hero:
name: "Space"
tagline: Má část Internetu
actions:
- theme: brand
text: O projektu
link: /markdown-examples
- theme: alt
text: Co zde najdu?
link: /api-examples
features:
- icon: 📝
title: Něco jako blog
details: Docela mě baví psát a sdílet své myšlenky a toto je právě místo, kde je můžete najít.
- icon: 🛠️
title: Dokumentace k projektům
details: Mé menší projekty nemají vlastní stránku s dokumentací, takže ji najdete zde.
- icon: 👋
title: Více o mně
details: Spoustu věcí o mně nechci mít na hlavním webu, takže je dávám sem.
---

View file

@ -1,10 +1,11 @@
{
"scripts": {
"dev": "vuepress dev"
},
"devDependencies": {
"@vuepress/client": "2.0.0-beta.60",
"vue": "^3.2.47",
"vuepress": "2.0.0-beta.60"
}
}
"scripts": {
"docs:dev": "vitepress dev",
"docs:build": "vitepress build",
"docs:preview": "vitepress preview"
},
"devDependencies": {
"vitepress": "1.0.0-beta.5",
"vue": "^3.3.4"
}
}

File diff suppressed because it is too large Load diff

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -128,5 +128,7 @@ Z neznámých důvodů načítal Firefox na Waylandu stránky na mém 144 Hz mon
Spoustu užitečných rad nejen ohledně Firefoxu na Linuxu najdete také na [Arch Linux Wiki](https://wiki.archlinux.org/title/Firefox).
<script setup>
import Card from '../../../components/Card.vue'
import Card from '../components/Card.vue';
</script>