https://github.com/yangfei4913438/mdx-blog
一个基于mdx二次开发的笔记博客系统,完全开源和免费
https://github.com/yangfei4913438/mdx-blog
Last synced: 6 months ago
JSON representation
一个基于mdx二次开发的笔记博客系统,完全开源和免费
- Host: GitHub
- URL: https://github.com/yangfei4913438/mdx-blog
- Owner: yangfei4913438
- License: mit
- Created: 2023-12-31T09:17:57.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-20T20:48:32.000Z (about 1 year ago)
- Last Synced: 2024-05-08T00:27:01.883Z (about 1 year ago)
- Language: MDX
- Homepage: https://www.yangfei.wiki/
- Size: 692 KB
- Stars: 3
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## 项目说明
- 项目进展
第一阶段开发基本完成,陆陆续续开始添加文章了。
- 项目部署流程
大概说一下吧,就是当主分支的特定目录下的文件发生变化,github actions 会调用我写的部署脚本,将当前源码推送到我的阿里云服务器上。
推送完成之后,会执行一个我预留在云服务器上的,一个用于 docker 构建的 shell 脚本.
这个 shell 脚本,会先构建一个新的镜像,然后停掉 next 服务的容器,然后删掉容器,再删掉之前镜像。
最后用新的镜像,跑一个 next 服务的容器。
服务器上还有一个 nginx 容器, 它是服务器上的 web 反向代理服务。 和项目有关的,也就是和 next 的 docker 网络一致,可以代理 next 服务。
当然,你也可以直接安装一个 nginx 在服务器上,提供反向代理服务,原理都是一样的。
流程大致就是这样,还是很清晰的。如果有问题,可以找我交流。
#### 运行项目
```bash
npm i
npm run dev
```#### 如何写博客?
- 首先在 `src/core/config.js` 文件里面配置一级目录和二级目录。目前一二级目录是必须有的,暂时没有配置三级目录。
- 对应的,在 `src/markdown/post` 目录下,创建刚才指定的两级目录。
- 在二级目录下,创建你的 mdx 或者 md 文件。
- 文件名称的格式: 0000-文件名称.md(x), 文件名称只和 url 相关,和展示内容无关。0000 表示文件序号,便于文件管理。
- 其他,按我已经有的博客文件格式写博客即可。> 头部声明字段说明
```
--- 开头固定标记
index: 文章在当前二级目录下的排序,值越小,排序越靠前
title: 文章标题
description: 文章描述,会在文章列表里面显示
author: 作者名称
tags: [一级目录名称, 二级目录名称, 以逗号分隔的其他标签数组]
date: 文章编写/更新时间 (看文章的人,只会关心文章的实时性,没人会关心文章的历史性,所以用一个日期字段就行了)
--- 结尾固定标记
```
> 注意:
>
> - 这段声明是 yaml 格式的数据,如果你的 value 值里面有`:`符号, 你需要用单引号或者双引号来修饰一下value,否则会引起yaml解析异常。
> - 以逗号分隔的其他标签数组里面,不要写其他一级或二级目录的名称,否则会导致文章数量的统计异常。因为我是基于标签数量的统计方式,来实现的文章计数。- 最后,提交博客到代码仓库,触发自动部署流程。
#### 网站介绍
这个比较长,我写在[网站的关于页面](https://www.yangfei.wiki/about)了, 点击左侧链接,可以直接跳转到我的个人网站查看。