Public
Like
min-md-blog
Val Town is a collaborative website to build and scale JavaScript apps.
Deploy APIs, crons, & store data โ all from the browser, and deployed in miliseconds.
A clean, modern blog built with React, DaisyUI, and Val Town. Features enhanced markdown rendering, theme switching, and responsive design.
- Modern UI: DaisyUI components with 18 curated themes
- Enhanced Markdown: Improved rendering with icons, proper indentation, and styling
- Clickable Post Cards: Entire cards are clickable for better UX
- Theme Persistence: Automatic theme saving via localStorage
- HTML in Markdown: Full HTML support within markdown files
- Responsive Design: Mobile-friendly layout
- DaisyUI Styling: Consistent design system with Tailwind CSS classes
- Removed Math/KaTeX Support: Cleaned up unnecessary dependencies
- Fixed Table Rendering: Proper table structure with headers, body, and responsive wrapper
- Added Heading Icons: Each heading level has a unique icon (๐, ๐, ๐, ๐ธ, โช๏ธ, โข)
- Fixed List Indentation: Proper
ml-6
indentation for nested lists - DaisyUI Task Lists: Task list items now show proper DaisyUI checkboxes instead of plain text
- Enhanced Code Blocks:
w-fit
sizing for better layout- Copy button (๐) with hover effects
- Proper positioning and styling
- H1: ๐ (Book icon)
- H2: ๐ (Memo icon)
- H3: ๐ (Pushpin icon)
- H4: ๐ธ (Diamond icon)
- H5: โช๏ธ (Small square icon)
- H6: โข (Bullet icon)
- Unordered/Ordered Lists: Proper
ml-6
indentation for nested items - Task Lists: DaisyUI checkbox components with
checkbox checkbox-sm
classes - Support for
[ ]
,[x]
, and[X]
syntax
- Inline Code: Styled with
bg-base-300 px-2 py-1 rounded
- Code Blocks:
w-fit max-w-full
sizing- Relative positioning for copy button
- Copy button with clipboard emoji (๐)
- Hover effects and proper accessibility
- Responsive Wrapper:
overflow-x-auto
container - DaisyUI Styling:
table table-zebra w-full
- Proper Structure:
thead
,tbody
,tr
,th
,td
elements - Enhanced Headers:
bg-base-300
background for distinction
โโโ main.tsx # HTTP entry point
โโโ routes.ts # Request routing and page rendering
โโโ config.ts # Shared configuration and types
โโโ utils.ts # Utility functions
โโโ components.tsx # Reusable UI components
โโโ App.tsx # Homepage component
โโโ Post.tsx # Enhanced post component with improved markdown
โโโ Layout.tsx # HTML layout (KaTeX removed)
โโโ posts/ # Markdown blog posts
โ โโโ test.md # Comprehensive test file
โ โโโ showcase.md # Clean showcase of features
โโโ README.md
- KISS: Simple, focused components with single responsibilities
- DRY: Shared configuration, utilities, and reusable components
- SoC: Clear separation between routing, UI, and utilities
- YAGNI: Removed unused features (KaTeX) and excessive complexity
- SRP: Each component has a single, clear purpose
Post.tsx - Enhanced markdown rendering
- Custom markdown components with DaisyUI styling
- Icon-enhanced headings for better visual hierarchy
- Proper list indentation and task list checkboxes
- Code blocks with copy functionality
- Responsive table rendering
- Support for remark-gfm (GitHub Flavored Markdown)
Layout.tsx - Cleaned up HTML generation
- Removed KaTeX dependencies
- Streamlined CSS and JavaScript loading
- Maintained theme management functionality
- Enhanced Markdown: Better visual hierarchy and functionality
- Removed Dependencies: KaTeX scripts eliminated
- Better UX: Copy buttons, proper checkboxes, responsive tables
- Consistent Styling: All elements use DaisyUI classes
- โ Math rendering dependencies (KaTeX)
- โ Broken table rendering
- โ Plain text task lists
- โ Poor list indentation
- โ Basic code blocks without copy functionality
- โ Heading icons for visual hierarchy
- โ Proper DaisyUI task list checkboxes
- โ Copy buttons on code blocks
- โ Responsive table containers
- โ Enhanced list indentation
- โ GitHub Flavored Markdown support
- Add
.md
files toposts/
directory - Use standard markdown syntax with GitHub extensions
- Task lists with
- [ ]
and- [x]
syntax - Tables with proper header/body structure
- Code blocks with automatic copy functionality
- Click post cards to view full content
- Use theme selector to change appearance
- TypeScript: Full type safety with interfaces
- React 18: Modern JSX with proper imports
- DaisyUI: Utility-first CSS framework
- Enhanced Markdown: react-markdown with remark-gfm
- Theme System: Persistent theme switching with 18 curated options
- Responsive Design: Mobile-first approach with Tailwind CSS
- Accessibility: Proper ARIA labels and semantic HTML
The blog now provides a superior markdown experience with better visual design, enhanced functionality, and cleaner code architecture.