This is a personal website project built using Vue 3. It features a blog section where content is written in Markdown, a project page, and an about page.
- Markdown Blog: Blog posts are written in Markdown and stored in the
src/assets/blogfolder. (See Blog Posts section below for template) - Project Section: Information stored in JSON. (See Folder Structure section for format)
- About Page: Configuration stored in JSON. (See Folder Structure section for details)
-
Clone the repository:
git clone https://github.com/wzy403/mywebsite.git cd mywebsite -
Install dependencies:
npm install
-
Run the development server:
npm run serve
-
Build for production:
npm run build
Blog posts are written in Markdown and should be placed in the src/assets/blog folder. Each post must begin with the following metadata template:
---
id: 114514
title: example title
date: yyyy-MM-dd
tags:
- sample tags1
- sample tags2 (Optional)
---id: A unique identifier for the post.title: The title of the blog post.date: The publication date of the post inyyyy-MM-ddformat.tags: The tags for each post record inblogTags.jsonfile (split by a-).
mywebsite/
├── public/ # Static assets
├── src/
│ ├── assets/
│ │ ├── blog/ # Markdown blog posts
│ │ │ └── blogImg/ # Images used in blog posts
│ │ ├── img/ # General website images
│ │ ├── aboutCommand.json # Terminal commands for About page
│ │ ├── projectesList.json # Project portfolio data
│ │ ├── blogTags.json # Blog tag list
│ │ └── colors.json # Language color mappings
│ ├── components/ # Reusable Vue components
│ ├── composables/ # Vue 3 composition functions
│ ├── router/ # Vue Router configuration
│ ├── styles/ # Global SCSS styles
│ ├── views/ # Page-level Vue components
│ ├── App.vue
│ └── main.js
├── package.json
└── vue.config.js
As this is a personal project, contributions are not currently being accepted. However, feel free to fork the repository and experiment on your own.
This project is licensed under the GPL License.
For any inquiries or feedback, please reach out to me through email: zhengyu.wang@wzy403.com.