Compare commits
8 commits
3c94aeb3fd
...
638e78d89e
Author | SHA1 | Date | |
---|---|---|---|
638e78d89e | |||
c65b3d61c7 | |||
ba9c217156 | |||
c652fd1575 | |||
aa999243e7 | |||
b0c57f4cd8 | |||
a35a91b710 | |||
51916e10c8 |
15 changed files with 125 additions and 62 deletions
9
src/blog/base.md
Normal file
9
src/blog/base.md
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
---
|
||||||
|
title: Base post
|
||||||
|
date: [2023, 03, 11]
|
||||||
|
hidden: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Example Headline
|
||||||
|
|
||||||
|
Text Body
|
|
@ -1,6 +1,7 @@
|
||||||
---
|
---
|
||||||
title: Mouse losing focus in Overwatch 2 on Linux
|
title: "Mouse losing focus in Overwatch 2 on Linux"
|
||||||
date: [2023, 03, 11]
|
date: [2023, 03, 11]
|
||||||
|
hidden: true
|
||||||
---
|
---
|
||||||
|
|
||||||
# Mouse losing focus in Overwatch 2 on Linux
|
# Mouse losing focus in Overwatch 2 on Linux
|
||||||
|
|
14
src/blog/social-media.md
Normal file
14
src/blog/social-media.md
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
---
|
||||||
|
title: "[Rant] Social Media is tiring"
|
||||||
|
date: [2023, 05, 27]
|
||||||
|
# hidden: true
|
||||||
|
---
|
||||||
|
|
||||||
|
# Social Media is tiring
|
||||||
|
|
||||||
|
In today's digital age, social media has become a huge part of our lives. Especially with their constant updates, notifications, and "important" Features. It's hard to keep up with all of them.
|
||||||
|
I myself have a lot of accounts on [different Sites and Apps](/api/profiles), and a few others not listed there.
|
||||||
|
|
||||||
|
The ones I'm currently active on are [Bluesky](https://staging.bsky.app/profile/did:plc:wherpiavw4rekzkmc6egfy4y), [Twitter](https://twitter.com/@himbolion), and [Mastodon](https://pounced-on.me/@lio), in that order. But I rarely post on any of them because I'm usually too tired to post something "funny" or relatable.
|
||||||
|
|
||||||
|
It's worsend by the fact that there's some new Drama within the Furry Community every other week, and I'm just tired of it. It's usually about really stupid puratanical stuff, or some other stupid thing that doesn't really matter either. It's really tiring to keep seeing stuff like this and the general infighting over stupid bullshit that outsiders/"normies" would think was weird regardless of what it was about.
|
|
@ -12,6 +12,7 @@ const constants = {
|
||||||
github: "https://github.com/himbolion",
|
github: "https://github.com/himbolion",
|
||||||
libera: "https://liberapay.com/himbolion/",
|
libera: "https://liberapay.com/himbolion/",
|
||||||
email: "mailto:twilight@lio.zone",
|
email: "mailto:twilight@lio.zone",
|
||||||
|
bluesky: "https://staging.bsky.app/profile/did:plc:wherpiavw4rekzkmc6egfy4y"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
export default constants
|
export default constants
|
|
@ -2,10 +2,11 @@ import constants from "@/lib/constants"
|
||||||
|
|
||||||
const getProfiles = () => {
|
const getProfiles = () => {
|
||||||
return [
|
return [
|
||||||
{ site: "fediverse", link: constants.socials.fedi },
|
{ site: "bluesky", link: constants.socials.bluesky },
|
||||||
{ site: "twitter", link: constants.socials.twitter },
|
{ site: "twitter", link: constants.socials.twitter },
|
||||||
|
{ site: "fediverse", link: constants.socials.fedi },
|
||||||
{ site: "liberapay", link: constants.socials.libera },
|
{ site: "liberapay", link: constants.socials.libera },
|
||||||
{ site: "cohost", link: constants.socials.cohost },
|
// { site: "cohost", link: constants.socials.cohost },
|
||||||
{ site: "forgejo", link: constants.socials.git },
|
{ site: "forgejo", link: constants.socials.git },
|
||||||
{ site: "github", link: constants.socials.github },
|
{ site: "github", link: constants.socials.github },
|
||||||
{ site: "email", link: constants.socials.email },
|
{ site: "email", link: constants.socials.email },
|
||||||
|
|
|
@ -1,13 +0,0 @@
|
||||||
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
|
||||||
import type { NextApiRequest, NextApiResponse } from 'next'
|
|
||||||
|
|
||||||
type Data = {
|
|
||||||
name: string
|
|
||||||
}
|
|
||||||
|
|
||||||
export default function handler(
|
|
||||||
req: NextApiRequest,
|
|
||||||
res: NextApiResponse<Data>
|
|
||||||
) {
|
|
||||||
res.status(200).json({ name: 'John Doe' })
|
|
||||||
}
|
|
7
src/pages/api/profiles.ts
Normal file
7
src/pages/api/profiles.ts
Normal file
|
@ -0,0 +1,7 @@
|
||||||
|
import type { NextApiRequest, NextApiResponse } from 'next'
|
||||||
|
import constants from "@/lib/constants"
|
||||||
|
|
||||||
|
|
||||||
|
export default function handler(req: NextApiRequest, res: NextApiResponse<Data>) {
|
||||||
|
res.status(200).json({...constants.socials})
|
||||||
|
}
|
|
@ -13,10 +13,13 @@ import Head from "next/head";
|
||||||
import matter from "gray-matter";
|
import matter from "gray-matter";
|
||||||
const Post = (props: { post: string, slug: string, matter: any }) => {
|
const Post = (props: { post: string, slug: string, matter: any }) => {
|
||||||
|
|
||||||
let Index = (
|
// console.log(props.matter)
|
||||||
|
|
||||||
|
return (
|
||||||
|
<RenderWithoutJS>
|
||||||
<main id={index.layout}>
|
<main id={index.layout}>
|
||||||
<Head>
|
<Head>
|
||||||
<title>{props.matter.title}</title>
|
<title>{props.matter.title} | lio's blog</title>
|
||||||
</Head>
|
</Head>
|
||||||
<Sidebar />
|
<Sidebar />
|
||||||
<section id={index.main}>
|
<section id={index.main}>
|
||||||
|
@ -36,8 +39,9 @@ const Post = (props: { post: string, slug: string, matter: any }) => {
|
||||||
</section>
|
</section>
|
||||||
<Lanyard />
|
<Lanyard />
|
||||||
</main>
|
</main>
|
||||||
|
</RenderWithoutJS>
|
||||||
);
|
);
|
||||||
return <RenderWithoutJS children={Index} />
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default Post
|
export default Post
|
||||||
|
@ -48,7 +52,7 @@ export async function getStaticProps(context: any) {
|
||||||
.process(await read(`${listFiles('./src/blog').find(file => file.includes(context.params.slug))}`))
|
.process(await read(`${listFiles('./src/blog').find(file => file.includes(context.params.slug))}`))
|
||||||
return {
|
return {
|
||||||
props: {
|
props: {
|
||||||
post: (post.value as string).replace(/(---)\n*([a-zA-Z0-9\/\[\]_:,\-\s*]*)*/mi, ""),
|
post: (post.value as string).replace(/^(---)\n*([a-zA-Z0-9\/\#[\]\"_:,\-\s*]*)(---)$/mi, ""),
|
||||||
matter: matter(post.value).data,
|
matter: matter(post.value).data,
|
||||||
slug: context.params.slug
|
slug: context.params.slug
|
||||||
}
|
}
|
||||||
|
@ -59,6 +63,7 @@ export async function getStaticProps(context: any) {
|
||||||
export async function getStaticPaths() {
|
export async function getStaticPaths() {
|
||||||
let path = './src/blog'
|
let path = './src/blog'
|
||||||
let paths = listFiles(path).map(file => file.replace(path, "/blog").replace(/.mdx?/gmi, ''))
|
let paths = listFiles(path).map(file => file.replace(path, "/blog").replace(/.mdx?/gmi, ''))
|
||||||
|
// console.log(paths)
|
||||||
return {
|
return {
|
||||||
paths,
|
paths,
|
||||||
fallback: true
|
fallback: true
|
||||||
|
|
|
@ -9,10 +9,10 @@ import PostList from "@/components/PostList";
|
||||||
import Head from "next/head"
|
import Head from "next/head"
|
||||||
|
|
||||||
const IndexPage = (props: { posts: [{ title: string, date: string, link: string }] }) => {
|
const IndexPage = (props: { posts: [{ title: string, date: string, link: string }] }) => {
|
||||||
let Index = (
|
return (<RenderWithoutJS>
|
||||||
<main id={index.layout}>
|
<main id={index.layout}>
|
||||||
<Head>
|
<Head>
|
||||||
<title>blog</title>
|
<title>lio's blog</title>
|
||||||
</Head>
|
</Head>
|
||||||
<Sidebar />
|
<Sidebar />
|
||||||
<section id={index.blogMain}>
|
<section id={index.blogMain}>
|
||||||
|
@ -22,8 +22,7 @@ const IndexPage = (props: { posts: [{ title: string, date: string, link: string
|
||||||
<Lanyard />
|
<Lanyard />
|
||||||
{/* <Copyright /> */}
|
{/* <Copyright /> */}
|
||||||
</main>
|
</main>
|
||||||
);
|
</RenderWithoutJS>)
|
||||||
return <RenderWithoutJS children={Index} />
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default IndexPage
|
export default IndexPage
|
||||||
|
|
|
@ -6,17 +6,28 @@ import Lanyard from "@/components/Lanyard"
|
||||||
import Head from "next/head"
|
import Head from "next/head"
|
||||||
import Link from "@/components/Link";
|
import Link from "@/components/Link";
|
||||||
|
|
||||||
|
const Hello = ["Ahoy!", "Ahoy there!", "Hey there!", "Howdy howdy!", "Howdy, friend!", "Howdy!", "Hey!", "Hey there!", "Hi!", "Hello!", "Hello there!", "Hi there!"];
|
||||||
|
function randomHello() {
|
||||||
|
return Hello[Math.floor(Math.random() * Hello.length)];
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
const IndexPage = () => {
|
const IndexPage = () => {
|
||||||
let Index = (
|
return (
|
||||||
|
<RenderWithoutJS>
|
||||||
|
|
||||||
<main id={index.layout}>
|
<main id={index.layout}>
|
||||||
<Head>
|
<Head>
|
||||||
<title>lio</title>
|
<title>lio</title>
|
||||||
</Head>
|
</Head>
|
||||||
<Sidebar />
|
<Sidebar />
|
||||||
<section id={index.main}>
|
<section id={index.main}>
|
||||||
<h1>hi there!</h1>
|
<h1>
|
||||||
|
<noscript>Hey there!</noscript>
|
||||||
|
{randomHello()}
|
||||||
|
</h1>
|
||||||
<p>
|
<p>
|
||||||
my name's lio. i'm a 21y/o software engineer and student from germany.
|
my name's lio. i'm a 21y/o software dev student and ui designer from germany.
|
||||||
</p>
|
</p>
|
||||||
{/* <p>
|
{/* <p>
|
||||||
you might know me from Projects like <Link />
|
you might know me from Projects like <Link />
|
||||||
|
@ -25,8 +36,9 @@ const IndexPage = () => {
|
||||||
<Lanyard />
|
<Lanyard />
|
||||||
{/* <Copyright /> */}
|
{/* <Copyright /> */}
|
||||||
</main>
|
</main>
|
||||||
|
</RenderWithoutJS>
|
||||||
);
|
);
|
||||||
return <RenderWithoutJS children={Index} />
|
|
||||||
};
|
};
|
||||||
|
|
||||||
export default IndexPage
|
export default IndexPage
|
BIN
src/styles/fonts/tnb/TimesNewBastard-BoldItalicWeb.ttf
Normal file
BIN
src/styles/fonts/tnb/TimesNewBastard-BoldItalicWeb.ttf
Normal file
Binary file not shown.
BIN
src/styles/fonts/tnb/TimesNewBastard-BoldWeb.ttf
Normal file
BIN
src/styles/fonts/tnb/TimesNewBastard-BoldWeb.ttf
Normal file
Binary file not shown.
BIN
src/styles/fonts/tnb/TimesNewBastard-ItalicWeb.ttf
Normal file
BIN
src/styles/fonts/tnb/TimesNewBastard-ItalicWeb.ttf
Normal file
Binary file not shown.
BIN
src/styles/fonts/tnb/TimesNewBastard-RegularWeb.ttf
Normal file
BIN
src/styles/fonts/tnb/TimesNewBastard-RegularWeb.ttf
Normal file
Binary file not shown.
|
@ -5,6 +5,8 @@
|
||||||
margin: 0
|
margin: 0
|
||||||
text-decoration: none
|
text-decoration: none
|
||||||
word-wrap: break-word
|
word-wrap: break-word
|
||||||
|
font-feature-settings: "kern" on, "liga" on
|
||||||
|
text-rendering: optimizeLegibility
|
||||||
|
|
||||||
html
|
html
|
||||||
font-family: "Flachbau"
|
font-family: "Flachbau"
|
||||||
|
@ -19,6 +21,31 @@ html
|
||||||
src: local("fonts/Flachbau.ttf") format("truetype")
|
src: local("fonts/Flachbau.ttf") format("truetype")
|
||||||
src: url("fonts/Flachbau.ttf") format("truetype")
|
src: url("fonts/Flachbau.ttf") format("truetype")
|
||||||
|
|
||||||
|
@font-face
|
||||||
|
font-family: "Times New Bastard"
|
||||||
|
src: local("fonts/tnb/TimesNewBastard-BoldItalicWeb.ttf") format("truetype")
|
||||||
|
src: url("fonts/tnb/TimesNewBastard-BoldItalicWeb.ttf") format("truetype")
|
||||||
|
font-weight: bold
|
||||||
|
font-style: italic
|
||||||
|
@font-face
|
||||||
|
font-family: "Times New Bastard"
|
||||||
|
src: local("fonts/tnb/TimesNewBastard-BoldWeb.ttf") format("truetype")
|
||||||
|
src: url("fonts/tnb/TimesNewBastard-BoldWeb.ttf") format("truetype")
|
||||||
|
font-weight: bold
|
||||||
|
font-style: normal
|
||||||
|
@font-face
|
||||||
|
font-family: "Times New Bastard"
|
||||||
|
src: local("fonts/tnb/TimesNewBastard-ItalicWeb.ttf") format("truetype")
|
||||||
|
src: url("fonts/tnb/TimesNewBastard-ItalicWeb.ttf") format("truetype")
|
||||||
|
font-weight: normal
|
||||||
|
font-style: italic
|
||||||
|
@font-face
|
||||||
|
font-family: "Times New Bastard"
|
||||||
|
src: local("fonts/tnb/TimesNewBastard-RegularWeb.ttf") format("truetype")
|
||||||
|
src: url("fonts/tnb/TimesNewBastard-RegularWeb.ttf") format("truetype")
|
||||||
|
font-weight: normal
|
||||||
|
font-style: normal
|
||||||
|
|
||||||
h1
|
h1
|
||||||
font-size: $h1-size
|
font-size: $h1-size
|
||||||
p
|
p
|
||||||
|
|
Loading…
Add table
Reference in a new issue