目录

  • 历史迷茫
  • 博客有啥用?
  • Docusaurus 简介
  • 安装运行环境
    • 安装 docusaurus
    • 运行 docusaurus
    • 项目结构
    • 配置为博客模式
    • 发表第一篇博客

B 站视频 - 点击传送

历史迷茫

我以前总也找不到一个满意的博客系统,wordpress 这个程序又大,然后配置也不方便。占用的服务器的资源也多。我就想有没有一个又简单又快速的博客平台,后来发现了一些静态的网站生成器,像 hexo 这种,但是发现上面的主题又不好看,又懒得自己去写。后来就有一阵子我就直接把博客就发布在了其他的第三方的博客平台上。现在发现了这个 docusaurus, 它的主题跟我之前看到的一个大佬 Dan Abramov,它的 overreacted.io 博客,风格是一模一样的,因为他是 react 的作者之一,估计这个他们这个样式都是互相借鉴,它这个主题可以切换暗黑和白天模式,比较好看。安装和部署也特别简单,我的博客也是用它这个搭建的。

博客有啥用?

首先先弄清一个问题,为什么要有一个自己的博客?,博客的好处就是对于咱们程序员来说:

它可以当成是咱们的副业。如果咱们在写代码的时候遇到了问题,或者是在学习一个新的技术的时候,咱们可以把这些学到的东西都给整理成博客,然后发表出来,这样的话呢,既可以能巩固咱们的知识,检测咱们这个技术有没有学懂,然后呢还能让其他想学这些东西的人也能看见,等这些分享的人多了之后,你就会慢慢攒一些粉丝,那这样你的博客就可以成为你的一个品牌,有了这个品牌之后,你再去面试或者是干嘛的,你就可以把它拿出来,然后大家可以看到你的作品,这样的话对于你以后的职业发展还是很有发财升官都有帮助。现在你也了解这个博客的好处了吧,那咱们开始用这个 Docusaurus 搭建一个博客

Docusaurus 简介

它是一个静态网站生成器,之前我在我的前端路线图的视频里面提到过这个概念,他是用 React 写的源代码,然后编译成的是静态的 HTML css。他这个写文章支持 Markdown 语法,并且呢,它这个 marketdown 是用的 mdx 也就是支持 jsx 语法的 markdown,无缝结合 React, 里边可以引入自定义的组件,然后呢他也支持插件,还有主题,咱们也可以写自定义的组件,把它默认的主题的某一个组件给覆盖掉,特别方便。

安装运行环境

因为他是个 node 的项目,所以得安装一下 node js 的环境,还有包管理器, 比如说 yarn,或者不安装用自带的 npm 也可以,我习惯用 yarn。具体怎么安装 Node.js 还有怎么安装 yarn 可以看我之前发的那些视频:

Node.js

Yarn

安装 Node.js 视频教程

安装 Yarn 视频教程

安装 docusaurus

先创建 Docusarus 这个项目,它有一个脚手架,原本是一个 node 的全局库,但是利用 npx 可以直接用它给咱们创建一下项目就可以了,不用安装到全局库里。运行下边的命令创建项目:

npx @docusaurus/init@next init [name] [template]

这个 name 就是项目名,然后 template 是模板,模板一开始就用它官方的 classic,经典的,就行。我这里创建一个 fh-blog 项目:

npx @docusaurus/init@next init fh-blog classic

Docusaurus V2 官网

运行 docusaurus

创建完了之后,就进入到这个 fh-blog 的文件夹里面,运行

yarn start

或者用 npm 运行:

npm start

运行成功了之后呢,它会自动打开一个浏览器,然后访问的是http://localhost:3000,可以看到他这个界面,跟咱们之前看到的官网的文档是一样的。上面有文档、博客、还有 github 链接,切换暗黑和白天模式。

项目结构

这个项目,大体的结构是:

my-website
├── blog
│   ├── 2019-05-28-hola.md
│   ├── 2019-05-29-hello-world.md
│   └── 2020-05-30-welcome.md
├── docs
│   ├── doc1.md
│   ├── doc2.md
│   ├── doc3.md
│   └── mdx.md
├── package.json
├── src
│   ├── css
│   │   └── custom.css
│   └── pages
│       ├── styles.module.css
│       └── index.js
├── static
│   └── img
├── docusaurus.config.js
├── package.json
├── README.md
├── sidebars.js
└── yarn.lock
  • /blog/ - 里面就是写博客文章的,都是 markdown 文件。
  • /docs/ - 里面就是写文档的,也都是 markdown 文件。
  • /src/ - 源代码文件夹,里面有一个 css 文件夹,然后它里边有个 custom.css 里面是写自定义的 css 代码的。
    • /src/pages - 里边放一些自定义的页面,使用 react 语法来写。
  • /static/ - 放静态资源文件,这些文件会出现在最后打包出来的静态网站里面,在它的根目录下边,它下边的 img 文件夹是放静态图片的。
  • /docusaurus.config.js - 这个是配置这个站点的。
  • /package.json - node.js 的工程配置文件。
  • /sidebar.js - 配置文档页面侧边栏,只有文档页面才有,用它来定义文档的目录结构。

另外呢,也可以自己创建一个 theme 文件夹,里边可以定义一些组件用来替换默认主题里面的一些组件。

配置为博客模式

docusaurus 默认是文档风格的主页,要是把它改成一个博客形式的,需要做一点点的配置。打开它的配置文件,docusaurus.config.js 。把 presets 这个配置改成如下所示:

presets: [["@docusaurus/preset-classic",{// docs: {//   sidebarPath: require.resolve('./sidebars.js'),//   editUrl://     'https://github.com/facebook/docusaurus/edit/master/website/',// },blog: {path: "./blog",routeBasePath: "/"}// 省略其它代码}]
];

如果不用文档的话,就把 docs 这个删除或者注释了,然后加上 blog ,里边添加:

  • path 属性,它的值为”./blog”,也就是指向 blog 的文件夹。
  • routeBasePath 属性,这个是访问这个博客的路径,设置成/斜杠就是默认网站的首页。

然后把 src/pages 下边 index.js 的改成别的名字或者是给删除,这样的话他就不会同时匹配这两个文件了。

顶部导航的 docs 如果要去掉的话,可以找到 navBar 这个配置项,把 links 中的有关 docs 的这段删掉:

{ to: "docs/doc1", label: "Docs", position: "left" }

发表第一篇博客

写博客就是在 blog 里边创建一个 markdown 文件。标题开始部分是一个日期格式。Docusaurus 会自动把这个日期解析成咱们这个博客的发表日期,后边跟着这个文件的名字,可以起个有意义的,比如说是博客的标题的英文,例如项目里的 Welcome 博客:

2019-05-30-welcome.md

文件,里面第一段就是配置这个博客的一些基本信息:

---
id: welcome
title: Welcome
author: Yangshun Tay
author_title: Front End Engineer @ Facebook
author_url: https://github.com/yangshun
author_image_url: https://avatars0.githubusercontent.com/u/1315101?s=400&v=4
tags: [facebook, hello, docusaurus]
---
  • id - 访问这个博客的 URL。
  • title - 标题。
  • author - 作者。
  • author_title - 就是作者简短的自我介绍,职位之类的。
  • author_image_url - 头像。
  • tags - 博客标签, 是个数组形式。

如果文章太长想只展示一部分的话,可以加上:

<!--truncate-->

这个注释就可以了,它会把它后边的内容隐藏,然后显示一个链接。

这样第一个博客就完成了,现在是跑在本地上,后边再讲怎么把它部署到服务器上。

超简单!使用 Docusaurus 搭建个人博客(一)相关推荐

  1. 简单优雅的搭建个人博客

    文章目录 前言 最终效果 环境准备 配置秘钥 安装hexo 主题选择 保存源码 SEO 番外 前言 啊啊啊~~~ ,经过差不多两天的持续摸索优化,个人博客算是初步完成了,现在自己看的效果还是非常不错的 ...

  2. Docusaurus 搭建个人博客(支持离线搜索)

    官方文档 本文档不详细的地方在官网查看 中文文档 https://www.docusaurus.cn/ 英文文档 https://docusaurus.io/ 安装环境 node 8以上 安装步骤 1 ...

  3. Windows下使用GitHub Pages搭建hexo博客详细教程以及Next主题超全配置

    根据下面的教程搭建的博客见这里 前言 马上要进入研究生了,不能再过浑浑噩噩的日子了,搭建一个小网站,用于记录自己所学的东西.其实,之前在腾讯云1元乞丐版上也搭建过博客,但是呢,只用来扯淡了.这次使用 ...

  4. 使用Hexo从0到1搭建个人博客详细教程(超详细,超简单)

    看完这篇,轻轻松松搭建个人博客,校花,班花,额,额 看了就会的博客搭建教程 一,搭建前的软件准备(git,node) 二, 安装hexo,完成简单本地页面展示 三,将Hexo部署到Github 1.G ...

  5. Github + Hexo 搭建个人博客超详细教程

    Github + Hexo 搭建个人博客超详细教程 本文目录 generated with DocToc 网站搭建 本文目录 1.安装node.js 2.添加国内镜像 3.安装Git 4.注册Gith ...

  6. GitHub+hexo搭建个人博客(2019新版超详细教程)

    GitHub+hexo搭建个人博客详细教程 原文链接 : GitHub+hexo搭建个人博客详细教程 前言 随着互联网浪潮的翻腾,国内外涌现出越来越多优秀的社交信息分享者,随之优秀的信息分享平台也越来 ...

  7. 基于hexo和aws云搭建个人博客,0基础0费用,有点豪横(2W字超详细图文教程)

    这是篇概述文章,详细参考Hexo建站专栏 最近几个月一直在整理之前的技术笔记,目前虽在体系上还尚有欠缺,但内容方面整理的七七八八了,这些内容一部分记录在了云笔记中另一部分记录在了博客上.于是决定搭建一 ...

  8. CentOS 7下简单搭建个人博客——wordpress

    CentOS 7下简单搭建个人博客--wordpress 前言: CentOS 7及以上版本不能安装Mysql数据库,我们用的MariaDB数据库代替.mariadb的简单安装与配置可参考:https ...

  9. github+hexo搭建个人博客(1.简单搭建)

    github+hexo搭建个人博客(1.简单搭建) 需要使用的软件,我已经放到自己的百度云盘里,网络不好的同学可以自己下载[百度云链接] 安装git 安装node 安装hexo 本地测试 申请gith ...

最新文章

  1. 冒泡排序汇总(整数,实数,字符,字符串)
  2. IDEA设置自定义代码模板
  3. 精典教程-推荐-2018-12-08(笔记)
  4. 几个容器网络相关问题的分析和解决总结(续1)
  5. JavaWeb请求的重定向与转发:getRequestDispatcher()的forward方法,sendRedirect方法,以及重定向与转发的区别
  6. 什么是UL2809认证?
  7. R语言入门——一文讲明白attach与detach
  8. win7如何修改html图标,Win7如何修改桌面图标
  9. android实现打电话
  10. 初学者好 |如何从头开始创建一个图像识别的AI应用[ctrl:c+v,你就完成了]
  11. 进入和使用WinRE恢复环境
  12. IDEA安装教程及插件推荐
  13. DNA 4. SCI 文章中基因组的突变信号(maftools)
  14. 云南财经大学龙泉校区 计算机学院,云南财经大学有几个校区
  15. 笔记:云相关基础知识
  16. 数学物理简史-仰望那些闪耀在人类科技史上的明星(欧几里得、牛顿、欧拉、傅里叶、高斯、麦克斯韦、爱因斯坦)
  17. 每日一个小技巧:图片去雾怎么去除?这3个软件推荐给你
  18. 安川ga700变频器故障码集_安川GA700/GH700系列变频器报警故障接地 缺项维修中心...
  19. ModuleNotFoundError: No module named ‘locust.events‘,httprunner执行locust压测报错解决办法~
  20. Django前后端分离1——jwt

热门文章

  1. 基于ssm智能停车场车位管理系统
  2. 30个简单技巧提升你的Python编程(下)
  3. 微信小程序学习7:路由跳转 - wx.navigateTo() wx.redirectTo()...
  4. 2.3 Python图像的空域增强处理-直方图修正
  5. 海店湾:这个夏天度假会很爽,茶马古道上惊显现代养生度假地!
  6. 使用Google云平台实战基于PyTorch的yolo-v3模型
  7. 华为路由器BGP基础配置实验
  8. LinkedIn领英开发客户方法大全(篇一)
  9. PADS Layout元器件独立规则设置
  10. windows照片查看器没了_HoneyView - 快速的图片查看器