🌈 style: added styles for markdown
This commit is contained in:
256
app/markdown.css
Normal file
256
app/markdown.css
Normal file
@@ -0,0 +1,256 @@
|
||||
.markdown {
|
||||
all: unset;
|
||||
display: block;
|
||||
box-sizing: border-box;
|
||||
|
||||
color: #333;
|
||||
line-height: 1.6;
|
||||
font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
|
||||
}
|
||||
|
||||
.markdown ul,
|
||||
.markdown ol {
|
||||
list-style: none;
|
||||
}
|
||||
.markdown li {
|
||||
display: list-item; /* Возвращаем поведение списка */
|
||||
}
|
||||
|
||||
|
||||
.markdown > *:first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.markdown > *:last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
.markdown h1,
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
font-weight: 600;
|
||||
line-height: 1.25;
|
||||
margin-top: 1.5em;
|
||||
margin-bottom: 0.5em;
|
||||
color: #111;
|
||||
}
|
||||
|
||||
.markdown h1 {
|
||||
font-size: 2em;
|
||||
border-bottom: 2px solid #eaecef;
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.markdown h2 {
|
||||
font-size: 1.5em;
|
||||
border-bottom: 1px solid #eaecef;
|
||||
padding-bottom: 0.3em;
|
||||
}
|
||||
|
||||
.markdown h3 { font-size: 1.25em; }
|
||||
.markdown h4 { font-size: 1em; }
|
||||
.markdown h5 { font-size: 0.875em; }
|
||||
.markdown h6 { font-size: 0.85em; color: #666; }
|
||||
|
||||
.markdown p {
|
||||
margin-top: 0;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.markdown strong {
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.markdown em {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
.markdown del {
|
||||
text-decoration: line-through;
|
||||
color: #666;
|
||||
}
|
||||
|
||||
.markdown hr {
|
||||
height: 1px;
|
||||
border: none;
|
||||
background-color: #eaecef;
|
||||
margin: 2em 0;
|
||||
}
|
||||
|
||||
.markdown a {
|
||||
color: #0366d6;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.markdown a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
.markdown a:visited {
|
||||
color: #5a32a3;
|
||||
}
|
||||
|
||||
.markdown ul,
|
||||
.markdown ol {
|
||||
padding-left: 2em;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.markdown li {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.markdown li > ul,
|
||||
.markdown li > ol {
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.markdown ul {
|
||||
list-style-type: disc;
|
||||
}
|
||||
|
||||
.markdown ul ul {
|
||||
list-style-type: circle;
|
||||
}
|
||||
|
||||
.markdown ul ul ul {
|
||||
list-style-type: square;
|
||||
}
|
||||
|
||||
.markdown ol {
|
||||
list-style-type: decimal;
|
||||
}
|
||||
|
||||
.markdown li > p {
|
||||
margin-top: 0.5em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.markdown code {
|
||||
background-color: #f6f8fa;
|
||||
padding: 0.2em 0.4em;
|
||||
border-radius: 3px;
|
||||
font-family: 'SFMono-Regular', Consolas, 'Liberation Mono', monospace;
|
||||
font-size: 0.9em;
|
||||
color: #e74c3c;
|
||||
}
|
||||
|
||||
.markdown pre {
|
||||
background-color: #f6f8fa;
|
||||
padding: 1em;
|
||||
border-radius: 6px;
|
||||
overflow: auto;
|
||||
margin-bottom: 1em;
|
||||
border: 1px solid #e1e4e8;
|
||||
}
|
||||
|
||||
.markdown pre code {
|
||||
background-color: transparent;
|
||||
padding: 0;
|
||||
color: inherit;
|
||||
font-size: 0.9em;
|
||||
line-height: 1.5;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
margin: 0;
|
||||
padding: 0 1em;
|
||||
color: #666;
|
||||
border-left: 4px solid #dfe2e5;
|
||||
}
|
||||
|
||||
.markdown blockquote > :first-child {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.markdown blockquote > :last-child {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.markdown table {
|
||||
border-collapse: collapse;
|
||||
width: 100%;
|
||||
margin-bottom: 1em;
|
||||
}
|
||||
|
||||
.markdown table th,
|
||||
.markdown table td {
|
||||
border: 1px solid #dfe2e5;
|
||||
padding: 0.5em 1em;
|
||||
}
|
||||
|
||||
.markdown table th {
|
||||
background-color: #f6f8fa;
|
||||
font-weight: 600;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.markdown table tr:nth-child(even) {
|
||||
background-color: #fafbfc;
|
||||
}
|
||||
|
||||
.markdown img {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.markdown img + em {
|
||||
display: block;
|
||||
text-align: center;
|
||||
color: #666;
|
||||
font-size: 0.9em;
|
||||
margin-top: 0.5em;
|
||||
}
|
||||
|
||||
.markdown input[type="checkbox"] {
|
||||
margin-right: 0.5em;
|
||||
margin-left: -1.5em;
|
||||
}
|
||||
|
||||
@media (prefers-color-scheme: dark) {
|
||||
.markdown {
|
||||
color: #e0e0e0;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.markdown h1,
|
||||
.markdown h2,
|
||||
.markdown h3,
|
||||
.markdown h4,
|
||||
.markdown h5,
|
||||
.markdown h6 {
|
||||
color: #fff;
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
.markdown code,
|
||||
.markdown pre {
|
||||
background-color: #2d2d2d;
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
.markdown a {
|
||||
color: #58a6ff;
|
||||
}
|
||||
|
||||
.markdown blockquote {
|
||||
color: #aaa;
|
||||
border-color: #555;
|
||||
}
|
||||
|
||||
.markdown table th,
|
||||
.markdown table td {
|
||||
border-color: #444;
|
||||
}
|
||||
|
||||
.markdown table th {
|
||||
background-color: #2d2d2d;
|
||||
}
|
||||
|
||||
.markdown table tr:nth-child(even) {
|
||||
background-color: #2a2a2a;
|
||||
}
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import { getPostData, getAllPostSlugs } from '@/lib/posts';
|
||||
import { notFound } from 'next/navigation';
|
||||
import Link from 'next/link';
|
||||
import "@/app/markdown.css"
|
||||
|
||||
interface PostPageProps {
|
||||
params: Promise<{ slug: string }>;
|
||||
@@ -88,7 +89,7 @@ export default async function PostPage({ params }: PostPageProps) {
|
||||
</section>
|
||||
<section className="mx-auto px-4 pb-[4em] w-full px-[3em]">
|
||||
<article
|
||||
className="prose prose-lg dark:prose-invert prose-headings:font-bold prose-a:text-blue-500 hover:prose-a:text-blue-700 prose-code:bg-gray-100 dark:prose-code:bg-gray-800 prose-pre:bg-gray-900 dark:prose-pre:bg-gray-900 prose-img:rounded-xl prose-blockquote:border-l-4 prose-blockquote:border-blue-500 prose-blockquote:bg-gray-50 dark:prose-blockquote:bg-gray-800 prose-blockquote:italic prose-blockquote:pl-4 max-w-none"
|
||||
className="markdown"
|
||||
dangerouslySetInnerHTML={{ __html: post.contentHtml }}
|
||||
/>
|
||||
</section>
|
||||
|
||||
Reference in New Issue
Block a user