Compare commits

..

No commits in common. "5df72c7ac21229056894d306e7c29502c8f2bca7" and "f762a88d95e6eec162579f02f4fae2ea30c0928f" have entirely different histories.

15 changed files with 17 additions and 14 deletions

View file

@ -1,5 +1,6 @@
import { metadata } from '@/app/metadata' import { metadata } from '@/app/metadata'
import { getAllCategories, getCategoryBySlug, getPostsByCategory } from '@/lib/categories' import { getAllCategories, getCategoryBySlug, getPostsByCategory } from '@/lib/categories'
import { Folder } from 'lucide-react'
import type { Metadata } from 'next' import type { Metadata } from 'next'
import Link from 'next/link' import Link from 'next/link'
@ -42,7 +43,9 @@ export default async function CategoryPage({ params }: CategoryPageProps) {
return ( return (
<main> <main>
<h1>Category not found</h1> <h1>Category not found</h1>
<Link href="/categories">Back to categories</Link> <Link href="/categories">
Back to categories <Folder />
</Link>
</main> </main>
) )
} }

View file

@ -1,4 +1,4 @@
import { RecentlyUpdatedPosts } from '@/components/post/RecentlyUpdatedPosts' import { RecentlyUpdatedPosts } from '@/components/common/RecentlyUpdatedPosts'
export default function WithRecentLayout({ children }: { children: React.ReactNode }) { export default function WithRecentLayout({ children }: { children: React.ReactNode }) {
return ( return (

View file

@ -1,5 +1,5 @@
import { getAllPostsMeta } from '@/lib/posts' import { getAllPostsMeta } from '@/lib/posts'
import { Post } from '@/components/post/Post' import { Post } from '@/components/common/Post'
export default function BlogIndex() { export default function BlogIndex() {
const posts = getAllPostsMeta() const posts = getAllPostsMeta()

View file

@ -1,7 +1,7 @@
import { metadata } from '@/app/metadata' import { metadata } from '@/app/metadata'
import { ImageWrapper } from '@/components/content/ImageWrapper' import { ImageWrapper } from '@/components/common/ImageWrapper'
import { ShareLinks } from '@/components/post/ShareLinks' import { ShareLinks } from '@/components/common/ShareLinks'
import { TableOfContents } from '@/components/post/TableOfContents' import { TableOfContents } from '@/components/common/TableOfContents'
import { getAllPostSlugs, getNextAndPreviousPosts, getPostBySlug } from '@/lib/posts' import { getAllPostSlugs, getNextAndPreviousPosts, getPostBySlug } from '@/lib/posts'
import { slugify } from '@/utils/slug' import { slugify } from '@/utils/slug'
import type { Metadata } from 'next' import type { Metadata } from 'next'

View file

@ -1,6 +1,6 @@
'use client' 'use client'
import { CopyButton } from '../ui/CopyButton' import { CopyButton } from './CopyButton'
import { getTextContent } from '@/lib/react-node-text' import { getTextContent } from '@/lib/react-node-text'
type CodeWrapperProps = { type CodeWrapperProps = {

View file

@ -1,4 +1,4 @@
import { ImageWrapper } from '@/components/content/ImageWrapper' import { ImageWrapper } from '@/components/common/ImageWrapper'
import { cn } from '@/utils/cn' import { cn } from '@/utils/cn'
import { PostMeta } from '@/types/Post.type' import { PostMeta } from '@/types/Post.type'
import Link from 'next/link' import Link from 'next/link'

View file

@ -1,5 +1,5 @@
import { siBluesky, siX, siFacebook, siReddit } from 'simple-icons' import { siBluesky, siX, siFacebook, siReddit } from 'simple-icons'
import { ExternalLink } from '@/components/ui/ExternalLink' import { ExternalLink } from '@/components/common/ExternalLink'
type ShareLinksProps = { type ShareLinksProps = {
url: string url: string

View file

@ -3,7 +3,7 @@
import { cn } from '@/utils/cn' import { cn } from '@/utils/cn'
import Link from 'next/link' import Link from 'next/link'
import { usePathname } from 'next/navigation' import { usePathname } from 'next/navigation'
import { ExternalLink } from '../ui/ExternalLink' import { ExternalLink } from '../common/ExternalLink'
import { navItems } from './navItems' import { navItems } from './navItems'
export function NavLinks() { export function NavLinks() {

View file

@ -12,14 +12,14 @@ import rehypeReact from 'rehype-react'
import { cloneElement, isValidElement, type ReactElement, Fragment, type ReactNode } from 'react' import { cloneElement, isValidElement, type ReactElement, Fragment, type ReactNode } from 'react'
import { jsx, jsxs } from 'react/jsx-runtime' import { jsx, jsxs } from 'react/jsx-runtime'
import { rehypeCodeMeta } from './rehype-code-meta' import { rehypeCodeMeta } from './rehype-code-meta'
import { CodeWrapper } from '@/components/content/CodeWrapper' import { CodeWrapper } from '@/components/common/CodeWrapper'
import { ImageWrapper } from '@/components/content/ImageWrapper' import { ImageWrapper } from '@/components/common/ImageWrapper'
import { ExternalLink } from '@/components/ui/ExternalLink' import { ExternalLink } from '@/components/common/ExternalLink'
import readingTime from 'reading-time' import readingTime from 'reading-time'
import { rehypeUnwrapImages } from './rehype-unwrap-images' import { rehypeUnwrapImages } from './rehype-unwrap-images'
import { rehypeMermaidSsg } from './rehype-mermaid-ssg' import { rehypeMermaidSsg } from './rehype-mermaid-ssg'
import { getTextContent, stripLeadingMatch } from './react-node-text' import { getTextContent, stripLeadingMatch } from './react-node-text'
import { BlockquoteWrapper } from '@/components/content/BlockquoteWrapper' import { BlockquoteWrapper } from '@/components/common/BlockquoteWrapper'
import type { NoteType } from '@/types/Note.type' import type { NoteType } from '@/types/Note.type'
import { rehypeMark } from './rehype-mark' import { rehypeMark } from './rehype-mark'
import { rehypeDefinition } from './rehype-definition' import { rehypeDefinition } from './rehype-definition'