现在大家都喜欢用markdown来写技术博客,这篇文章将阐述搭建支持markdown的简易博客方法。

我的写作需求

通过阅读本文,您将学会搭建满足以下条件的博客:

博客只用书写markdown文件

能支持版本控制

免费,不需要租服务器或主机

编写、部署博客不依赖复杂的环境

技术选型

markdown是一种简单文本格式的书写语法,写好md文件后,要展示在浏览器有三种思路:

通过php、Java、ruby等解析后展示,这种方式需要服务器支持。如gitblog、gollum

解析成静态文件后放在托管空间上,看起来很完美,但本地必须安装环境,个人认为还是不方便。如jekyll、hexo

直接将md文件托管到托管空间,由前端直接解析后展示。如mdwiki

比较下来,我还是选择了最后一种方式,因为它使用起来太简单了,不用搭建任何环境。虽然搭建的博客比较简单,但对于个人博客来说够用了。

mdwiki

mdwiki其实就是用js分析md文件,在前端转换成dom显示在浏览器。使用方法非常简单,直接将mdwiki.html文件下载下来,重命名为index.html放在md文件夹根目录即可,浏览器访问的格式为..../index.html#!xx.md,默认访问index.md。

配置

mdwiki可以用json配置一些属性,直接在根目录配置config.json文件即可,具体的配置可以参靠官网文档:

{

"useSideMenu": true,

"title":"非专业Java程序员博客",

"lineBreaks": "gfm",

"additionalFooterText": "All content and images © by xi.yang | ",

"anchorCharacter": "#"

}

博客目录

mdwiki的目录本身也是用md文件定义的,直接在根目录创建navigation.md就行,只能支持2级目录,具体的语法可以参考博客最后的源码分享。

主题

mdwiki也支持主题更换,可以去bootswatch下载喜欢的主题css文件,放到根目录,并在navigation.md配置对应的主题名称即可:

[gimmick:theme](cerulean)

注意名称要小写,如果是默认的bootswatch样式是不用下载css文件的,直接配置名称即可,高阶玩家可以参考语法自己定义漂亮的样式。

自动生成目录

完成以上步骤简单而漂亮的的博客就搭好了,现在要做的就是写md格式博客,并更新目录配置,就可以在博客上看到更新了。但是文章写多了就会感觉很麻烦,每次都要花时间去维护navigation.md,如果是已经有很多现成的md文档,初始化会更嫌麻烦!

为了简化这个过程,笔者写了个简单的python脚本,根据文件夹和文档直接生成目录配置文件,这样每次无论改动多少内容,直接执行一下python脚本就可以了,具体代码可以直接看源码分享。

码云pages配置

接下来就是发布了,可以发布到github或者码云上,推荐使用码云,毕竟国内速度要快点,随便在码云上创建一个项目,将根目录的所有文件push上去,然后在服务-pages中开启服务即可访问,如:我的博客。

无论用码云还是用github,这时候都是用的他们的二级域名,我们也可以使用自己的域名。首先在根目录创建CNAME文件,写入自己的域名,如果是github,可以配置自己的域名,然而码云是没有这个功能的,但是可以去域名提供商配置Url转发(由于笔者在万维网买的域名说开通这个功能还要单独收费,没有测试,理论上是可行的)。

一键部署

完成上面的所有配置后,我们写博客的步骤就简化为:

在对应文件夹写md文本博客。

执行python脚本。

git命令add、commit、push。

这里git操作很烦,每次我们都要执行好几个命令才能完成部署,细想我们的个人博客其实不需要记录什么提交说明。于是笔者又写了个shell脚本,将执行python脚本和一系列git命令一起执行。

这样每次改完博客后直接执行这个脚本就完了,非常方便!windows用户装了git直接在git bash界面就可以执行脚本。脚本在源码中也有,执念于提交说明的也可以修改脚本,传入提交说明即可。

源码分享

以上博客集成代码的源码地址为:md_blog,将所有的文件都集成好了,大家fork下来就可以直接用,参考项目的readme几分钟就能完成博客搭建。

md 生成目录 码云_搭建简易博客方案相关推荐

  1. md 生成目录 码云_DuangDuangDuang!码云项目的 Readme.md 特殊技能

    原标题:DuangDuangDuang!码云项目的 Readme.md 特殊技能 我们在 码云 上创建新项目的时候,常常会看到默认使用 README 文件初始化该项目(如图1 所示),然后在新建项目的 ...

  2. 码云 + Hexo 搭建个人博客

    文章比较长,需要侧边栏目录的,可以点击我的个人博客地址:http://zwd596257180.gitee.io/blog 如果有什么问题想问的,请在 CSDN 上留言. 准备环境 安装 Node 安 ...

  3. Django搭建简易博客

    Django简易博客,主要实现了以下功能 连接数据库 创建超级用户与后台管理 利用django-admin-bootstrap美化界面 template,view与动态URL 多说评论功能 Markd ...

  4. 如何使用华为云快速搭建个人博客

    使用华为云快速搭建个人博客 注册github个人账号 下载gitbash并与本地相关联 进入jekyll网站寻找自己喜欢的主题模板并转移到自己的github中 配置模板 登录华为云官网购买域名并配置 ...

  5. 使用Hexo+Github+腾讯云+Netlify搭建个人博客

    安装Hexo 要使用Hexo必须先安装Git和Node.js.本文是在Ubuntu20环境下进行操作的.使用其它系统也可以将下面的操作作为参考. 安装Git sudo apt-get install ...

  6. 阿里云+wordpress搭建个人博客网站【小白专用的图文教程】

    [声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...

  7. python公众号留言功能_搭建hexo博客给公众号制作留言功能

    大家都知道,18年3月份后注册的公众号都不给留言功能了,作为主要以技术文章为主的公众号,没有留言功能真是不方便.周末这两天我就一直在折腾这个留言功能,借助博客的留言功能,放在阅读原文里.昨天晚上终于折 ...

  8. 腾讯云 + WordPress 搭建个人博客

    本文原地址 开始前了解自己适合那种方式搭建个人博客的几种高效方案 教程一:手动搭建,过程比较麻烦,但可以学习搭建过程 教程链接:[腾讯云的1001种玩法]如何使用腾讯云做博客 记录下搭建过程遇到的一些 ...

  9. 使用阿里云服务器搭建个人博客

    零. 前言 最近购买了一台阿里云服务器,申请了一个域名,准备自己搭建一个博客出来,大致记录一下流程,是一个学习的过程,也希望能帮助到别人. 有几点需要注意的地方,或者说是遇到问题后排查的点,提前说一下 ...

最新文章

  1. 没有插件的 Chrome 是没有灵魂的
  2. linux获取命令的返回值,怎样获取shell函数的返回值及shell命令的返回值?
  3. 为什么做软件类项目,会出现人多,事少,工作量大的情况?
  4. windows 7 memcached报failed to install service or service already installed的解决方案
  5. Tomcat 6 数据源配置
  6. 远程管理,无需在机房来回穿梭
  7. 不在 sudoers 文件中。此事将被报告_快餐包装中检出致癌物质?麦当劳、汉堡王回应!...
  8. vue项目安装引入css-loader - cmd篇
  9. mysql数据库binlog日志截断报错,导致mysql主从同步失败故障排查
  10. 安全使用计算机习惯,如何安全使用计算机和互联网
  11. 一大早,分享一个好消息
  12. VBA实现多条件查询
  13. 如何开始做股票量化交易?
  14. 计算机表格制作培训教材,电脑制作表格教案设计
  15. 怎样把mysql的多张表汇总成一张表_sql如何将多个表合并成一个表
  16. PPT文件转换成PDF格式
  17. From Nand to Tetris Week2 2021 超详细笔记
  18. rabbitmq创建账号
  19. sql语句插入一条记录同时获取刚插入的id
  20. 探岳android auto,“本是同根生”它俩谁最优 柯迪亚克 VS 探岳

热门文章

  1. WordPress网站搬家教程(根目录程序+ MySQL数据库)
  2. 不同网段通过静态路由实现互通,华为S5700交换机开启telnet远程指定IP登陆配置(强烈推荐)
  3. 获取页面所有属性并生成html6,JavaScript基础练习题(三)
  4. linux系统启动自动启动,linux系统下的自动启动
  5. 画圆怎么编程python_简单实现python画圆功能
  6. java使用的页面静态化技术_java秒杀系列(2)- 页面静态化技术
  7. 网易邮箱广告标签怎么关 163邮箱去广告标签的教程
  8. 火狐怎么放大页面?火狐浏览器页面放大技巧
  9. Redis五种数据结构应用场景
  10. IoT -- (八)MQTT优缺点