Update README.md with enhanced features section, installation instructions, and favicon details; add favicon links in layout.tsx
This commit is contained in:
114
README.md
114
README.md
@@ -1,48 +1,60 @@
|
||||
# Markdown Blog
|
||||
|
||||
A modern blog system built with Next.js, Markdown, and Electron for cross-platform support.
|
||||
[](https://nextjs.org/)
|
||||
[](https://tailwindcss.com/)
|
||||
[](https://www.typescriptlang.org/)
|
||||
[](https://www.electronjs.org/)
|
||||
[](LICENSE)
|
||||
|
||||
## Features
|
||||
A modern, cross-platform blog system built with **Next.js**, **Markdown**, and **Electron**. Write posts in Markdown, manage content visually, and deploy to web or desktop.
|
||||
|
||||
- Write blog posts in Markdown
|
||||
- Responsive web design
|
||||
- Desktop application support via Electron
|
||||
- Mobile-friendly interface
|
||||
- Tag-based organization
|
||||
- Clean and modern UI
|
||||
---
|
||||
|
||||
## Getting Started
|
||||
## ✨ Features
|
||||
|
||||
- ✍️ **Markdown-based posts** — Write and organize content in Markdown files
|
||||
- ⚡ **Hot reloading** — See changes instantly as you edit posts
|
||||
- 🗂️ **Folder & tag organization** — Structure your content with folders and tags
|
||||
- 🖥️ **Electron desktop app** — Run your blog as a native desktop app
|
||||
- 📱 **Responsive UI** — Mobile-friendly and clean design
|
||||
- 🛠️ **Admin dashboard** — Manage posts and folders visually
|
||||
|
||||
---
|
||||
|
||||
## 🚀 Getting Started
|
||||
|
||||
### Prerequisites
|
||||
|
||||
- Node.js 18+ and npm
|
||||
- [Node.js 18+](https://nodejs.org/)
|
||||
- [npm](https://www.npmjs.com/)
|
||||
|
||||
### Installation
|
||||
|
||||
1. Clone the repository:
|
||||
```bash
|
||||
git clone <repository-url>
|
||||
git clone
|
||||
cd markdownblog
|
||||
```
|
||||
|
||||
2. Install dependencies:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
3. Start the development server:
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
### Development
|
||||
|
||||
4. For desktop development:
|
||||
```bash
|
||||
npm run electron-dev
|
||||
```
|
||||
- **Web:**
|
||||
`npm run dev`
|
||||
- **Desktop (Electron):**
|
||||
`npm run electron-dev`
|
||||
|
||||
### Writing Posts
|
||||
### Production
|
||||
|
||||
Create new blog posts by adding Markdown files to the `posts/` directory. Each post should include frontmatter with the following fields:
|
||||
- **Web build:**
|
||||
`npm run build`
|
||||
- **Desktop build:**
|
||||
`npm run electron-build`
|
||||
|
||||
---
|
||||
|
||||
## 📝 Writing Posts
|
||||
|
||||
Add Markdown files to the `posts/` directory. Each post should have frontmatter:
|
||||
|
||||
```markdown
|
||||
---
|
||||
@@ -55,19 +67,9 @@ summary: "A brief summary of your post"
|
||||
Your post content here...
|
||||
```
|
||||
|
||||
### Building for Production
|
||||
---
|
||||
|
||||
1. Build the web version:
|
||||
```bash
|
||||
npm run build
|
||||
```
|
||||
|
||||
2. Build the desktop version:
|
||||
```bash
|
||||
npm run electron-build
|
||||
```
|
||||
|
||||
## Project Structure
|
||||
## 🗂️ Project Structure
|
||||
|
||||
```
|
||||
markdownblog/
|
||||
@@ -76,18 +78,36 @@ markdownblog/
|
||||
│ ├── app/ # Next.js app directory
|
||||
│ └── lib/ # Utility functions
|
||||
├── electron/ # Desktop app code
|
||||
└── public/ # Static assets
|
||||
├── public/ # Static assets (favicons, etc.)
|
||||
└── ...
|
||||
```
|
||||
|
||||
## Technologies Used
|
||||
---
|
||||
|
||||
- Next.js 14
|
||||
- TypeScript
|
||||
- Tailwind CSS
|
||||
- Electron
|
||||
- Markdown (remark)
|
||||
- date-fns
|
||||
## 🌐 Favicon
|
||||
|
||||
## License
|
||||
Place your favicon files (e.g., `favicon.ico`, `favicon-32x32.png`, `favicon-16x16.png`) in the `public` directory at the project root.
|
||||
Next.js will automatically serve these at the root URL (e.g., `/favicon.ico`).
|
||||
|
||||
---
|
||||
|
||||
## 🛠️ Technologies Used
|
||||
|
||||
- [Next.js 14](https://nextjs.org/)
|
||||
- [TypeScript](https://www.typescriptlang.org/)
|
||||
- [Tailwind CSS](https://tailwindcss.com/)
|
||||
- [Electron](https://www.electronjs.org/)
|
||||
- [Remark](https://remark.js.org/) (Markdown)
|
||||
- [date-fns](https://date-fns.org/)
|
||||
|
||||
---
|
||||
|
||||
## 🐳 Docker
|
||||
|
||||
A sample `Dockerfile` and `manage_container.sh` are included for containerized deployment.
|
||||
|
||||
---
|
||||
|
||||
## 📄 License
|
||||
|
||||
MIT
|
||||
BIN
public/android-chrome-192x192.png
Normal file
BIN
public/android-chrome-192x192.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 42 KiB |
BIN
public/android-chrome-512x512.png
Normal file
BIN
public/android-chrome-512x512.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 159 KiB |
BIN
public/apple-touch-icon.png
Normal file
BIN
public/apple-touch-icon.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 39 KiB |
BIN
public/favicon-16x16.png
Normal file
BIN
public/favicon-16x16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 768 B |
BIN
public/favicon-32x32.png
Normal file
BIN
public/favicon-32x32.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 2.3 KiB |
BIN
public/favicon.ico
Normal file
BIN
public/favicon.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 15 KiB |
1
public/site.webmanifest
Normal file
1
public/site.webmanifest
Normal file
@@ -0,0 +1 @@
|
||||
{"name":"","short_name":"","icons":[{"src":"/android-chrome-192x192.png","sizes":"192x192","type":"image/png"},{"src":"/android-chrome-512x512.png","sizes":"512x512","type":"image/png"}],"theme_color":"#ffffff","background_color":"#ffffff","display":"standalone"}
|
||||
@@ -2,6 +2,7 @@ import type { Metadata } from 'next';
|
||||
import { Inter } from 'next/font/google';
|
||||
import './globals.css';
|
||||
import Link from 'next/link';
|
||||
import Head from 'next/head';
|
||||
|
||||
const inter = Inter({ subsets: ['latin'] });
|
||||
|
||||
@@ -17,6 +18,13 @@ export default function RootLayout({
|
||||
}) {
|
||||
return (
|
||||
<html lang="de">
|
||||
<Head>
|
||||
<link rel="icon" href="/favicon.ico" />
|
||||
<link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png" />
|
||||
<link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png" />
|
||||
<link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png" />
|
||||
<link rel="manifest" href="/site.webmanifest" />
|
||||
</Head>
|
||||
<body className={inter.className}>
|
||||
<header className="bg-gray-100 p-4">
|
||||
<div className="container mx-auto flex justify-between items-center">
|
||||
|
||||
Reference in New Issue
Block a user