https://github.com/tyecode/jotting
A modern, minimalist blog built with Astro, featuring a beautiful dark theme and clean typography.
https://github.com/tyecode/jotting
astro blog tailwindcss typescript website
Last synced: 2 months ago
JSON representation
A modern, minimalist blog built with Astro, featuring a beautiful dark theme and clean typography.
- Host: GitHub
- URL: https://github.com/tyecode/jotting
- Owner: tyecode
- Created: 2024-06-30T07:07:03.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-08-09T10:27:48.000Z (11 months ago)
- Last Synced: 2026-03-10T14:30:52.012Z (4 months ago)
- Topics: astro, blog, tailwindcss, typescript, website
- Language: Astro
- Homepage: https://jotting-ten.vercel.app
- Size: 1.92 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Jotting
A modern, minimalist blog built with Astro, featuring a beautiful dark theme and clean typography.
> ✍️ **Jotting** - Where thoughts become words, and words become stories.
## ✨ Features
- 🌙 **Dark Theme** - Elegant dark design with custom color palette
- 🎨 **Custom Typography** - Dual font system (Noto Sans Lao + Inter) for enhanced readability
- ⚡ **Tailwind CSS** - Utility-first styling with custom configuration
- 📝 **Markdown & MDX** - Full support for rich content creation
- 🚀 **Performance Optimized** - 100/100 Lighthouse performance score
- 🔍 **SEO Ready** - Canonical URLs, OpenGraph data, and sitemap
- 📡 **RSS Feed** - Automatic RSS feed generation
- 🛠️ **Developer Experience** - Prettier integration and type safety
- 📱 **Responsive Design** - Mobile-first approach with custom breakpoints
## 🚀 Project Structure
Inside of your Astro project, you'll see the following folders and files:
```text
├── public/
├── src/
│ ├── components/
│ ├── content/
│ ├── layouts/
│ └── pages/
├── astro.config.mjs
├── README.md
├── package.json
└── tsconfig.json
```
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name.
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components.
The `src/content/` directory contains "collections" of related Markdown and MDX documents. Use `getCollection()` to retrieve posts from `src/content/blog/`, and type-check your frontmatter using an optional schema. See [Astro's Content Collections docs](https://docs.astro.build/en/guides/content-collections/) to learn more.
Any static assets, like images, can be placed in the `public/` directory.
## 🧞 Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :------------------------ | :----------------------------------------------- |
| `npm install` | Installs dependencies |
| `npm run dev` | Starts local dev server at `localhost:8000` |
| `npm run start` | Alternative dev server command |
| `npm run build` | Build your production site to `./dist/` |
| `npm run preview` | Preview your build locally at `localhost:8080` |
| `npm run fix` | Format code with Prettier |
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `npm run astro -- --help` | Get help using the Astro CLI |
## 🎨 Customization
### Color Scheme
Jotting uses a custom dark theme with CSS variables that can be easily customized in `src/styles/global.css`:
```css
:root {
--foreground-color: #a3a3a3;
--accent-color: #737373;
--white-color: #ffffff;
--background-color: #171717;
--black-color: #262626;
}
```
### Typography
The project uses a dual-font system:
- **Noto Sans Lao** - Primary font for body text
- **Inter** - Secondary font for specific UI elements
Font files are located in `public/fonts/` and configured in Tailwind CSS.
## 🚀 Getting Started
1. **Clone the repository**
```sh
git clone
cd jotting
```
2. **Install dependencies**
```sh
npm install
```
3. **Start the development server**
```sh
npm run dev
```
4. **Open your browser** and visit `http://localhost:8000`
## 📝 Adding Content
Create new blog posts in `src/content/blog/` using Markdown or MDX. Each post should include frontmatter:
```yaml
---
title: "Your Post Title"
description: "Brief description"
pubDate: "Jan 01 2024"
heroImage: "/your-image.jpg"
tags: ["tag1", "tag2"]
---
```
## 👀 Want to learn more?
- [Astro Documentation](https://docs.astro.build)
- [Astro Discord](https://astro.build/chat)
- [Tailwind CSS](https://tailwindcss.com)
## 📄 License
© 2024 [Tyecode](https://github.com/tyecode/). All rights reserved.
---
_Built with ❤️ using Astro_