Giter Site home page Giter Site logo

yangfei4913438 / mdx-blog Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 709 KB

一个基于mdx二次开发的笔记博客系统,完全开源和免费

Home Page: https://www.yangfei.wiki/

License: MIT License

JavaScript 3.90% TypeScript 25.60% MDX 69.02% SCSS 1.48%

mdx-blog's Introduction

项目说明

  • 项目进展

    第一阶段开发基本完成,陆陆续续开始添加文章了。

  • 项目部署流程

    大概说一下吧,就是当主分支的特定目录下的文件发生变化,github actions 会调用我写的部署脚本,将当前源码推送到我的阿里云服务器上。

    推送完成之后,会执行一个我预留在云服务器上的,一个用于 docker 构建的 shell 脚本.

    这个 shell 脚本,会先构建一个新的镜像,然后停掉 next 服务的容器,然后删掉容器,再删掉之前镜像。

    最后用新的镜像,跑一个 next 服务的容器。

    服务器上还有一个 nginx 容器, 它是服务器上的 web 反向代理服务。 和项目有关的,也就是和 next 的 docker 网络一致,可以代理 next 服务。

    当然,你也可以直接安装一个 nginx 在服务器上,提供反向代理服务,原理都是一样的。

    流程大致就是这样,还是很清晰的。如果有问题,可以找我交流。

运行项目

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解析异常。
    • 以逗号分隔的其他标签数组里面,不要写其他一级或二级目录的名称,否则会导致文章数量的统计异常。因为我是基于标签数量的统计方式,来实现的文章计数。
  • 最后,提交博客到代码仓库,触发自动部署流程。

网站介绍

这个比较长,我写在网站的关于页面了, 点击左侧链接,可以直接跳转到我的个人网站查看。

mdx-blog's People

Contributors

yangfei4913438 avatar

Stargazers

Landon avatar  avatar  avatar

Watchers

 avatar

Forkers

cyh1001

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.