mirror of
https://github.com/waynesutton/markdown-site.git
synced 2026-01-12 04:09:14 +00:00
docs: update blog post and TASK.md with v1.9.0 scroll-to-top and v1.10.0 fork configuration
Updated:
- content/blog/raw-markdown-and-copy-improvements.md
- Changed title from 'v1.7 and v1.8' to 'v1.7 to v1.10'
- Added Fork configuration section (v1.10.0) with 9-file table
- Added Scroll-to-top section (v1.9.0) with configuration options
- Updated summary to include all features from v1.7 to v1.10
- Fixed image path to /images/v17.png
- Updated sync command guidance for dev vs prod
- TASK.md
- Added new To Do items for future features
- Removed duplicate Future Enhancements section
- content/pages/docs.md
- Added Mobile menu section
- Added Copy Page dropdown table with all options
- Added Markdown tables section
- content/pages/about.md
- Updated Features list with new v1.8.0 features
- content/blog/setup-guide.md
- Added image field to pages schema
- Updated Project structure with new directories
- Added /raw/{slug}.md to API endpoints
- Added Mobile Navigation and Copy Page Dropdown sections
- Added featured image documentation with ordering details
Documentation now covers all features from v1.7.0 through v1.10.0.
This commit is contained in:
@@ -7,7 +7,7 @@ const http = httpRouter();
|
||||
|
||||
// Site configuration
|
||||
const SITE_URL = process.env.SITE_URL || "https://markdowncms.netlify.app";
|
||||
const SITE_NAME = "Markdown Site";
|
||||
const SITE_NAME = "markdown sync site";
|
||||
|
||||
// RSS feed endpoint (descriptions only)
|
||||
http.route({
|
||||
@@ -72,7 +72,7 @@ http.route({
|
||||
const response = {
|
||||
site: SITE_NAME,
|
||||
url: SITE_URL,
|
||||
description: "Developer and writer. Building with Convex and AI.",
|
||||
description: "An open-source markdown sync site you publish from the terminal with npm run sync. Write locally, sync instantly, skip the build, powered by Convex and Netlify.",
|
||||
posts: posts.map((post) => ({
|
||||
title: post.title,
|
||||
slug: post.slug,
|
||||
@@ -194,7 +194,7 @@ http.route({
|
||||
const response = {
|
||||
site: SITE_NAME,
|
||||
url: SITE_URL,
|
||||
description: "Open source markdown blog with real-time sync.",
|
||||
description: "An open-source markdown sync site you publish from the terminal with npm run sync. Write locally, sync instantly, skip the build, powered by Convex and Netlify.",
|
||||
exportedAt: new Date().toISOString(),
|
||||
totalPosts: fullPosts.length,
|
||||
posts: fullPosts,
|
||||
@@ -228,8 +228,8 @@ function generatePostMetaHtml(post: {
|
||||
date: string;
|
||||
readTime?: string;
|
||||
}): string {
|
||||
const siteUrl = process.env.SITE_URL || "https://your-blog.netlify.app";
|
||||
const siteName = "Wayne Sutton";
|
||||
const siteUrl = process.env.SITE_URL || "https://markdowncms.netlify.app";
|
||||
const siteName = "markdown sync site";
|
||||
const defaultImage = `${siteUrl}/og-image.png`;
|
||||
const canonicalUrl = `${siteUrl}/${post.slug}`;
|
||||
|
||||
|
||||
@@ -12,6 +12,7 @@ export const getAllPages = query({
|
||||
published: v.boolean(),
|
||||
order: v.optional(v.number()),
|
||||
excerpt: v.optional(v.string()),
|
||||
image: v.optional(v.string()),
|
||||
featured: v.optional(v.boolean()),
|
||||
featuredOrder: v.optional(v.number()),
|
||||
}),
|
||||
@@ -37,6 +38,7 @@ export const getAllPages = query({
|
||||
published: page.published,
|
||||
order: page.order,
|
||||
excerpt: page.excerpt,
|
||||
image: page.image,
|
||||
featured: page.featured,
|
||||
featuredOrder: page.featuredOrder,
|
||||
}));
|
||||
@@ -52,6 +54,7 @@ export const getFeaturedPages = query({
|
||||
slug: v.string(),
|
||||
title: v.string(),
|
||||
excerpt: v.optional(v.string()),
|
||||
image: v.optional(v.string()),
|
||||
featuredOrder: v.optional(v.number()),
|
||||
}),
|
||||
),
|
||||
@@ -75,6 +78,7 @@ export const getFeaturedPages = query({
|
||||
slug: page.slug,
|
||||
title: page.title,
|
||||
excerpt: page.excerpt,
|
||||
image: page.image,
|
||||
featuredOrder: page.featuredOrder,
|
||||
}));
|
||||
},
|
||||
@@ -94,6 +98,7 @@ export const getPageBySlug = query({
|
||||
published: v.boolean(),
|
||||
order: v.optional(v.number()),
|
||||
excerpt: v.optional(v.string()),
|
||||
image: v.optional(v.string()),
|
||||
featured: v.optional(v.boolean()),
|
||||
featuredOrder: v.optional(v.number()),
|
||||
}),
|
||||
@@ -117,6 +122,7 @@ export const getPageBySlug = query({
|
||||
published: page.published,
|
||||
order: page.order,
|
||||
excerpt: page.excerpt,
|
||||
image: page.image,
|
||||
featured: page.featured,
|
||||
featuredOrder: page.featuredOrder,
|
||||
};
|
||||
@@ -134,6 +140,7 @@ export const syncPagesPublic = mutation({
|
||||
published: v.boolean(),
|
||||
order: v.optional(v.number()),
|
||||
excerpt: v.optional(v.string()),
|
||||
image: v.optional(v.string()),
|
||||
featured: v.optional(v.boolean()),
|
||||
featuredOrder: v.optional(v.number()),
|
||||
}),
|
||||
@@ -168,6 +175,7 @@ export const syncPagesPublic = mutation({
|
||||
published: page.published,
|
||||
order: page.order,
|
||||
excerpt: page.excerpt,
|
||||
image: page.image,
|
||||
featured: page.featured,
|
||||
featuredOrder: page.featuredOrder,
|
||||
lastSyncedAt: now,
|
||||
|
||||
@@ -61,6 +61,7 @@ export const getFeaturedPosts = query({
|
||||
title: v.string(),
|
||||
excerpt: v.optional(v.string()),
|
||||
description: v.string(),
|
||||
image: v.optional(v.string()),
|
||||
featuredOrder: v.optional(v.number()),
|
||||
}),
|
||||
),
|
||||
@@ -85,6 +86,7 @@ export const getFeaturedPosts = query({
|
||||
title: post.title,
|
||||
excerpt: post.excerpt,
|
||||
description: post.description,
|
||||
image: post.image,
|
||||
featuredOrder: post.featuredOrder,
|
||||
}));
|
||||
},
|
||||
|
||||
@@ -3,9 +3,9 @@ import { api } from "./_generated/api";
|
||||
|
||||
// Site configuration for RSS feed
|
||||
const SITE_URL = process.env.SITE_URL || "https://markdowncms.netlify.app";
|
||||
const SITE_TITLE = "Markdown Site";
|
||||
const SITE_TITLE = "markdown sync site";
|
||||
const SITE_DESCRIPTION =
|
||||
"An open source markdown site powered by Convex and Netlify.";
|
||||
"An open-source markdown sync site you publish from the terminal with npm run sync. Write locally, sync instantly, skip the build, powered by Convex and Netlify.";
|
||||
|
||||
// Escape XML special characters
|
||||
function escapeXml(text: string): string {
|
||||
|
||||
@@ -39,6 +39,7 @@ export default defineSchema({
|
||||
published: v.boolean(),
|
||||
order: v.optional(v.number()), // Display order in nav
|
||||
excerpt: v.optional(v.string()), // Short excerpt for card view
|
||||
image: v.optional(v.string()), // Thumbnail/OG image URL for featured cards
|
||||
featured: v.optional(v.boolean()), // Show in featured section
|
||||
featuredOrder: v.optional(v.number()), // Order in featured section (lower = first)
|
||||
lastSyncedAt: v.number(),
|
||||
|
||||
Reference in New Issue
Block a user