feat: improve README markdown styling to match npm.com quality

**Enhanced Markdown Rendering:**
- Use prose-slate for better default typography
- Add proper heading hierarchy with bottom borders on h1/h2
- Improve code block styling with better backgrounds and shadows
- Style inline code with pink/red accent colors like npm
- Better table styling with proper borders and rounded corners
- Improve link colors (blue) with hover effects
- Add better spacing throughout (margins, padding, line-height)
- Enhance blockquote styling with background colors
- Better list spacing with space-y-2
- Add proper light/dark mode support with zinc color palette

**Component Updates:**
- Custom pre component with better background and border
- Custom table wrapper with overflow handling
- Improved link component with external link detection
- Better inline code styling

The README now renders beautifully like npm.com instead of looking plain.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Ajax Davis 2025-11-29 23:08:00 +10:00
parent d5e8d50082
commit bba538336a
2 changed files with 90 additions and 26 deletions

View file

@ -0,0 +1,35 @@
import { PrismaClient } from '@prisma/client';
import { fetchLatestPackageWithMetadata } from '@tpmjs/npm-client';
const prisma = new PrismaClient();
async function main() {
const packageName = '@tpmjs/text-transformer';
console.log(`Fetching metadata for ${packageName}...`);
const pkg = await fetchLatestPackageWithMetadata(packageName);
if (!pkg) {
console.error('Package not found!');
return;
}
console.log(`Found ${packageName} v${pkg.version}`);
console.log(`README length: ${pkg.readme ? pkg.readme.length : 0} chars`);
console.log(`Keywords: ${(pkg.topLevelKeywords || pkg.keywords || []).join(', ')}`);
// Update the tool in the database
await prisma.tool.update({
where: { npmPackageName: packageName },
data: {
npmReadme: pkg.readme || null,
npmKeywords: pkg.topLevelKeywords || pkg.keywords || [],
npmAuthor: pkg.author || null,
npmMaintainers: pkg.maintainers || null,
}
});
console.log('\n✅ Tool updated successfully!');
}
main().finally(() => prisma.$disconnect());