create-next-mdx-blog-app 2.1.8 β 2.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +7 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -61,7 +61,7 @@ npx create-next-mdx-blog-app .
|
|
|
61
61
|
### Package Information
|
|
62
62
|
|
|
63
63
|
- **Package Name**: `create-next-mdx-blog-app`
|
|
64
|
-
- **Version**: `2.1.
|
|
64
|
+
- **Version**: `2.1.10`
|
|
65
65
|
- **License**: MIT
|
|
66
66
|
- **Homepage**: [https://www.npmjs.com/package/create-next-mdx-blog-app](https://www.npmjs.com/package/create-next-mdx-blog-app/)
|
|
67
67
|
|
|
@@ -172,6 +172,9 @@ A thin green bar (`src/components/ReadingProgressBar.tsx`) is fixed to the top o
|
|
|
172
172
|
### Back to Top Button
|
|
173
173
|
A floating circular button (`src/components/BackToTopButton.tsx`) appears in the bottom-right corner of the screen once the reader has scrolled more than 400px down the page. Clicking it smoothly scrolls back to the top. The button is hidden when not needed and matches the green colour scheme of the rest of the UI.
|
|
174
174
|
|
|
175
|
+
### Light / Dark Mode Toggle
|
|
176
|
+
A theme toggle button (`src/components/ThemeToggle.tsx`) is rendered in the site header, allowing readers to switch between **dark** (default) and **light** modes. Theme state is managed by `next-themes` via the `ThemeProvider` wrapper (`src/components/ThemeProvider.tsx`) mounted in the root layout. The active theme is persisted to `localStorage` automatically. Toast notifications use `ThemedToaster` (`src/components/ThemedToaster.tsx`), a thin wrapper around `sonner` that picks the correct Sonner theme to match the active colour scheme.
|
|
177
|
+
|
|
175
178
|
### View Counter
|
|
176
179
|
Each article page displays a live view count stored in a dedicated `view_counts` Supabase table, incremented atomically via the `increment_view_count` RPC function. Dynamic pages increment server-side at render time; static pages use a `ViewCounter` client component that calls the `/api/views/[slug]` Route Handler after hydration.
|
|
177
180
|
|
|
@@ -386,6 +389,9 @@ export const viewport: Viewport = {
|
|
|
386
389
|
## π Analytics
|
|
387
390
|
Integrated in this setup project is Vercel Analytics (`@vercel/analytics`) to track user interactions and performance metrics of the blog.
|
|
388
391
|
|
|
392
|
+
## πΊοΈ Sitemap & Robots
|
|
393
|
+
A `sitemap.xml` is auto-generated at build time via `src/app/sitemap.ts`, covering all static routes and every dynamic article slug fetched from Supabase. A companion `robots.txt` is served from `src/app/robots.ts`, permitting all crawlers and pointing them to the generated sitemap for full search engine discoverability.
|
|
394
|
+
|
|
389
395
|
## βοΈ Next.js Configuration
|
|
390
396
|
The `next.config.ts` file is set up for working with AWS S3 and includes MDX extensions for enhanced functionality. Feel free to modify and add your own custom links to access storage and setting up other configurations.
|
|
391
397
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "create-next-mdx-blog-app",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.10",
|
|
4
4
|
"description": "A production-ready technical blog starter kit built with Next.js, MDX, Supabase, and TypeScript.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "Abdullah Muhammad",
|
|
@@ -71,6 +71,7 @@
|
|
|
71
71
|
"lucide-react": "^1.7.0",
|
|
72
72
|
"next": "^16.2.1",
|
|
73
73
|
"next-mdx-remote": "^6.0.0",
|
|
74
|
+
"next-themes": "^0.4.6",
|
|
74
75
|
"react": "^19.2.4",
|
|
75
76
|
"react-dom": "^19.2.4",
|
|
76
77
|
"react-syntax-highlighter": "^16.1.1",
|