stat page and cache working

This commit is contained in:
2025-06-25 18:03:44 +02:00
parent 0878b7dcec
commit 2d373da4c5
6 changed files with 248 additions and 5 deletions

View File

@@ -3,6 +3,7 @@ import fs from 'fs';
import path from 'path';
import matter from 'gray-matter';
import { getPostsDirectory } from '@/lib/postsDirectory';
import { spawnSync } from 'child_process';
const postsDirectory = getPostsDirectory();
@@ -48,6 +49,27 @@ export async function POST(request: Request) {
}
export async function GET(request: Request) {
const { searchParams } = new URL(request.url);
const info = searchParams.get('rsparseinfo');
if (info === '1') {
// Call the Rust backend for parser stats
const rustResult = spawnSync(
process.cwd() + '/markdown_backend/target/release/markdown_backend',
['rsparseinfo'],
{ encoding: 'utf-8' }
);
if (rustResult.status === 0 && rustResult.stdout) {
return new Response(rustResult.stdout, {
status: 200,
headers: { 'Content-Type': 'application/json' },
});
} else {
return new Response(JSON.stringify({ error: rustResult.stderr || rustResult.error }), {
status: 500,
headers: { 'Content-Type': 'application/json' },
});
}
}
// Return the current pinned.json object
try {
const pinnedPath = path.join(process.cwd(), 'posts', 'pinned.json');