📝 My old blogpage
- MDX 72.2%
- Svelte 19.9%
- TypeScript 5%
- TeX 1.5%
- CSS 1%
- Other 0.4%
| .idea | ||
| .vscode | ||
| .zed | ||
| content/articles | ||
| docs/assets | ||
| src | ||
| static | ||
| .gitignore | ||
| .npmrc | ||
| .prettierignore | ||
| .prettierrc | ||
| .vercelignore | ||
| bun.lock | ||
| eslint.config.js | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| svelte.config.js | ||
| tsconfig.json | ||
| uno.config.ts | ||
| vite.config.ts | ||
/dev/tokiory
Personal blog and portfolio website built with SvelteKit and MDX
🚀 Features
- ⚙️ Modern Tech Stack: Built with SvelteKit, TypeScript, and UnoCSS
- 📝 MDX Support: Write articles in Markdown with embedded Svelte components
- 🎨 Syntax Highlighting: Code blocks with Shiki highlighter and custom transformers
- 🔍 SEO Optimized: Automatic sitemap generation and meta tags
- 📱 Responsive Design: Mobile-first design with UnoCSS
- ⚡ Fast Performance: Optimized builds and Vercel deployment
- 🛡️ Type Safety: Full TypeScript support throughout the codebase
🛠️ Tech Stack
- Framework: SvelteKit
- Styling: UnoCSS with custom presets
- Content: MDsveX for MDX support
- Syntax Highlighting: Shiki
- Icons: Iconify
- Fonts: Variable fonts from Fontsource
- Deployment: Vercel
- Package Manager: Bun
📁 Project Structure
_dev_tokiory/
├── content/
│ └── articles/ # Blog articles in MDX format
│ ├── drafts/ # Draft articles
│ └── *.mdx # Published articles
├── src/
│ ├── lib/
│ │ ├── components/ # Reusable Svelte components
│ │ └── modules/ # Feature modules
│ ├── routes/
│ │ ├── (standard)/ # Main site routes
│ │ ├── (cv)/ # CV/Resume routes
│ │ └── api/ # API endpoints
│ └── styles/ # Global styles
├── static/ # Static assets
└── docs/ # Documentation and assets
🚦 Getting Started
Prerequisites
- Bun (recommended) or Node.js 18+
- Git
Installation
- Clone the repository:
git clone https://github.com/tokiory/dev-tokiory.git
cd dev-tokiory
- Install dependencies:
bun install
- Start the development server:
bun run dev
- Open your browser and navigate to
http://localhost:5173
Available Scripts
bun run dev- Start development serverbun run build- Build for productionbun run preview- Preview production build locallybun run check- Run type checking and linting
📝 Writing Articles
Articles are written in MDX format and stored in the content/articles/ directory. Each article should include frontmatter with metadata:
---
title: Your Article Title
description: Brief description of the article
date: 2024-01-15
tags:
- tag1
- tag2
---
Your article content here with support for:
- Markdown syntax
- Embedded Svelte components
- Code blocks with syntax highlighting
Code Highlighting
The project uses Shiki for syntax highlighting with custom transformers:
- Focus notation:
// [!code focus] - Diff notation:
// [!code ++]and// [!code --] - Highlight notation:
// [!code highlight]
🎨 Styling
The project uses UnoCSS with:
- Custom presets for icons and styling
- CSS variables for theming
- Responsive design utilities
- Variable fonts (Manrope, Martian Mono, Podkova, Iosevka)
🔧 Configuration
Key configuration files:
svelte.config.js- SvelteKit and MDsveX configurationuno.config.ts- UnoCSS configurationvite.config.ts- Vite build configurationtsconfig.json- TypeScript configuration
📦 Deployment
The site is automatically deployed to Vercel on push to the main branch. The deployment configuration is handled by the Vercel adapter in svelte.config.js.
Manual Deployment
To deploy manually:
- Build the project:
bun run build
- Deploy to Vercel:
vercel --prod
🤝 Contributing
While this is a personal blog, suggestions and bug reports are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
📄 License
This project is open source and available under the MIT License.
🔗 Links
- Website: https://tokiory.vercel.app
- GitHub: https://github.com/tokiory
Built with ❤️ by tokiory