Remove broken inline code style

This commit is contained in:
Timothy Pidashev
2024-06-10 18:29:40 -07:00
parent 502b1a93e1
commit aaf29f45a0
8 changed files with 8 additions and 302 deletions

View File

@@ -1,6 +1,4 @@
// [slug]/page.jsx
import { getBlogBySlug, getAllBlogSlugs } from "@/lib/mdx"; import { getBlogBySlug, getAllBlogSlugs } from "@/lib/mdx";
import MdxProvider from "@/components/prism/mdx-provider";
export async function generateStaticParams() { export async function generateStaticParams() {
const slugs = await getAllBlogSlugs(); const slugs = await getAllBlogSlugs();
@@ -11,18 +9,12 @@ export async function generateStaticParams() {
export default async function BlogPage({ params }) { export default async function BlogPage({ params }) {
const blog = await getBlogBySlug(params.slug); const blog = await getBlogBySlug(params.slug);
return ( return (
<section className="py-16 prose mx-auto"> <article className="py-16 prose">
<article> <h1 className="text-light-foreground dark:text-dark-foreground">{blog.frontmatter.title}</h1>
<h1 className="text-light-foreground dark:text-dark-foreground">{blog.frontmatter.title}</h1> <p className="text-light-yellow-1 dark:text-dark-yellow-1">{blog.frontmatter.author}</p>
<p className="text-light-yellow-1 dark:text-dark-yellow-1">{blog.frontmatter.author}</p> <p className="text-light-blue-1 dark:text-dark-blue-1">{blog.frontmatter.date}</p>
<p className="text-light-blue-1 dark:text-dark-blue-1">{blog.frontmatter.date}</p> <div>{blog.content}</div>
<MdxProvider> </article>
<div>{blog.content}</div>
</MdxProvider>
</article>
</section>
); );
} }

View File

@@ -1,11 +1,9 @@
// Imports // Imports
import "@/style/globals.css"; import "@/style/globals.css";
import "@/style/prism-theme.css";
import Theme from "@/app/theme"; import Theme from "@/app/theme";
import Header from "@/components/header"; import Header from "@/components/header";
import Footer from "@/components/footer"; import Footer from "@/components/footer";
import Container from "@/components/ui/container"; import Container from "@/components/ui/container";
import Head from 'next/head';
// Metadata // Metadata
export const metadata = { export const metadata = {
@@ -17,9 +15,6 @@ export const metadata = {
export default function Layout({children}) { export default function Layout({children}) {
return ( return (
<html lang="en" suppressHydrationWarning> <html lang="en" suppressHydrationWarning>
<Head>
<script src="prism.js"></script>
</Head>
<body className=" <body className="
bg-light-background text-light-foreground bg-light-background text-light-foreground
dark:bg-dark-background dark:text-dark-foreground dark:bg-dark-background dark:text-dark-foreground

View File

@@ -39,6 +39,7 @@ function Content() {
px-6 py-1.5 px-6 py-1.5
font-bold text-2xl font-bold text-2xl
justify-center justify-center
bg-light-background dark:bg-dark-background
"> ">
<div className="flex space-x-10"> <div className="flex space-x-10">
{Items.map((item) => ( {Items.map((item) => (

View File

@@ -22,6 +22,7 @@ function DefaultHeader() {
lg:px-6 md:px-5 sm:px-4 lg:py-1.5 md:py-1.5 lg:px-6 md:px-5 sm:px-4 lg:py-1.5 md:py-1.5
lg:text-4xl md:text-3xl lg:text-4xl md:text-3xl
font-bold justify-center font-bold justify-center
bg-light-background dark:bg-dark-background
"> ">
<div className="flex lg:space-x-20 md:space-x-10"> <div className="flex lg:space-x-20 md:space-x-10">
{Links.map((link) => ( {Links.map((link) => (

View File

@@ -1,32 +0,0 @@
"use client"
// mdx-provider.js
import { MDXProvider } from '@mdx-js/react';
import Prism from './prism-setup';
import { useEffect } from 'react';
const CodeBlock = ({ children, className }) => {
const language = className?.replace(/language-/, '') || '';
useEffect(() => {
Prism.highlightAll();
}, []);
return (
<pre className={className}>
<code className={className}>{children}</code>
</pre>
);
};
const components = {
pre: CodeBlock,
code: CodeBlock,
};
const MdxProvider = ({ children }) => {
return <MDXProvider components={components}>{children}</MDXProvider>;
};
export default MdxProvider;

View File

@@ -1,10 +0,0 @@
// prism-setup.js
import Prism from 'prismjs';
import 'prismjs/components/prism-python'; // Add more languages as needed
// Add more languages as needed, e.g.:
// import 'prismjs/components/prism-python';
// import 'prismjs/components/prism-java';
export default Prism;

View File

@@ -1,98 +0,0 @@
// theme.js
// Define the light theme colors
const lightColors = {
text: '#000000',
background: '#ffffff',
foreground: '#ebdbb2',
red: {
1: '#cc241d',
2: '#fb4934',
},
orange: {
1: '#d65d0e',
2: '#fe8019',
},
green: {
1: '#98971a',
2: '#b8bb26',
},
yellow: {
1: '#d79921',
2: '#fabd2f',
},
blue: {
1: '#458588',
2: '#83a598',
},
purple: {
1: '#b16286',
2: '#d3869b',
},
aqua: {
1: '#689d6a',
2: '#8ec07c',
},
};
// Define the dark theme colors
const darkColors = {
text: '#ebdbb2',
background: '#000000',
foreground: '#ebdbb2',
red: {
1: '#cc241d',
2: '#fb4934',
},
orange: {
1: '#d65d0e',
2: '#fe8019',
},
green: {
1: '#98971a',
2: '#b8bb26',
},
yellow: {
1: '#d79921',
2: '#fabd2f',
},
blue: {
1: '#458588',
2: '#83a598',
},
purple: {
1: '#b16286',
2: '#d3869b',
},
aqua: {
1: '#689d6a',
2: '#8ec07c',
},
};
// Define the common styles for both light and dark themes
const commonStyles = {
fonts: {
body: "ComicCode",
heading: "ComicCode",
},
fontWeights: {
heading: 700,
},
// Add other common styles as needed
};
// Combine the light and dark themes
const theme = {
light: {
colors: lightColors,
...commonStyles,
},
dark: {
colors: darkColors,
...commonStyles,
},
};
export default theme;

View File

@@ -1,143 +0,0 @@
/**
* Gruvbox dark theme
*
* Adapted from a theme based on:
* Vim Gruvbox dark Theme (https://github.com/morhetz/gruvbox)
*
* @author Azat S. <to@azat.io>
* @version 1.0
*/
code[class*="language-"],
pre[class*="language-"] {
color: #ebdbb2; /* fg1 / fg */
font-family: Consolas, Monaco, "Andale Mono", monospace;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
pre[class*="language-"]::-moz-selection,
pre[class*="language-"] ::-moz-selection,
code[class*="language-"]::-moz-selection,
code[class*="language-"] ::-moz-selection {
color: #fbf1c7; /* fg0 */
background: #7c6f64; /* bg4 */
}
pre[class*="language-"]::selection,
pre[class*="language-"] ::selection,
code[class*="language-"]::selection,
code[class*="language-"] ::selection {
color: #fbf1c7; /* fg0 */
background: #7c6f64; /* bg4 */
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: 0.5em 0;
overflow: auto;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #1d2021; /* bg0_h */
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: 0.1em;
border-radius: 0.3em;
}
.token.comment,
.token.prolog,
.token.cdata {
color: #a89984; /* fg4 / gray1 */
}
.token.delimiter,
.token.boolean,
.token.keyword,
.token.selector,
.token.important,
.token.atrule {
color: #fb4934; /* red2 */
}
.token.operator,
.token.punctuation,
.token.attr-name {
color: #a89984; /* fg4 / gray1 */
}
.token.tag,
.token.tag .punctuation,
.token.doctype,
.token.builtin {
color: #fabd2f; /* yellow2 */
}
.token.entity,
.token.number,
.token.symbol {
color: #d3869b; /* purple2 */
}
.token.property,
.token.constant,
.token.variable {
color: #fb4934; /* red2 */
}
.token.string,
.token.char {
color: #b8bb26; /* green2 */
}
.token.attr-value,
.token.attr-value .punctuation {
color: #a89984; /* fg4 / gray1 */
}
.token.url {
color: #b8bb26; /* green2 */
text-decoration: underline;
}
.token.function {
color: #fabd2f; /* yellow2 */
}
.token.regex {
background: #b8bb26; /* green2 */
}
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.inserted {
background: #a89984; /* fg4 / gray1 */
}
.token.deleted {
background: #fb4934; /* red2 */
}