如何在github上免费发布个人静态博客

640

基于mkdocs-material搭建个人纯静态博客,没有php,没有mysql 如果你只是想安安静静的放一些技术文章,发布到个人站点或github-pages,mkdocs-material很适合你

小慢哥的原创文章,欢迎转载

  • 本文仅是缩略,笔者已将详细内容发布到github上

  • 可点击本文最后的"阅读更多"进行访问,或者在github上搜"cyent markdown"也可以看到

目录

  • 本文概述

  • mkdocs-material介绍

  • 安装

  • 初始化项目

  • 修改主题

  • 运行

  • 发布到GitHub pages

  • 发布到个人HTTP Server

  • mkdocs.yml注意事项

  • 添加页面

  • 添加扩展

  • markdown语法

  • 其他功能

  • 最佳实践


本文概述

mkdocs-material入门,包括安装、运行、发布至github-pages及个人站点

mkdocs-material介绍

符合google material ui规范的静态文档网站生成器,使用markdown进行文档书写

mkdocs

  • python编写的markdown解释器、编译器,带有本地cli工具

  • 自带基于Tornado的小型http服务,用于本地调试

  • 内置一键式发布至GitHub Pages

  • 内置mkdocs风格、readthedocs风格的主题,并支持自定义主题

  • 支持调用python模块实现语法及渲染的扩展

mkdocs-material

  • python模块,符合google material ui规范的mkdocs自定义主题

  • 针对特定语法、功能做了渲染优化

  • 根据客户端浏览器页面尺寸自动缩放,对PC、移动设备都友好

  • 丰富的页面配色,多达19种主体配色和16种悬停链接文字配色

  • 支持中文搜索

  • 支持统计功能,如百度统计,谷歌统计

安装

 
 
  1.  pip install mkdocs mkdocs-material

若下载慢,可更换安装源为豆瓣

 
 
  1.  pip install --trusted-host pypi.douban.com -i

  2.  http://pypi.douban.com/simple/ mkdocs mkdocs-material

初始化项目

 
 
  1.  mkdocs new my-project

会生成my-project目录,进入该目录里,可以看到默认放置了一些文件,包括mkdocs.yml,这是主配置文件

修改主题

mkdocs.yml里添加:

 
 
  1.  theme:

  2.    name: material

运行

 
 
  1.  # 在my-project目录里执行

  2.  mkdocs serve

通过浏览器访问本地ip的8000端口(比如http://127.0.0.1:8000/) 查看效果,如图所示

640

发布到GitHub pages

通过 mkdocs gh-deploy自动编译出html并发布至GitHub pages,步骤如下

初始化repo

1.在github上创建一个repo,名字叫my-project(可以是其他名,这里先假设叫my-project),创建repo时候选择初始化带有README.md 2.使用git clone将repo同步到本地

导入项目

1.将mkdocs根目录(即my-project目录)下的所有东西移到刚刚git clone下来的git目录下 2.然后可以将最早创建的mkdocs根目录(即my-project目录)删除了

发布

在本地git目录下执行

 
 
  1.  mkdocs gh-deploy

发布到个人HTTP Server

通过 mkdocs build编译出html并手动同步至http server的根目录

生成站点文件

在git目录下执行命令

 
 
  1.  mkdocs build

命令执行完毕后可以看到site目录

发布至http server

将site目录里的所有东西拷贝到http server的根目录下

mkdocs.yml注意事项

由于是yaml格式,因此首先要符合yaml的语法要求

docs下需要一个index.md,作为站点首页

文档层次结构虽然可以很多层,但最佳实践是控制在2层内,最多不要超过3层,否则展示会不够友好

添加页面

在my-project/docs/里放置.md文件,可以自行组织目录结构

然后在mkdocs.yml里添加,比如这样:

 
 
  1.  nav:

  2.    - 介绍: index.md

  3.    - 安装:

  4.        - 本地环境搭建: install/local.md

  5.        - 发布至GitHub Pages: install/github-pages.md

  6.        - 发布至自己的HTTP Server: install/http-server.md

  7.    - 语法:

  8.        - 语法总览: syntax/main.md

  9.        - 标题: syntax/headline.md

  10.        - 段落: syntax/paragraph.md

  • 上面的index.md就是放置在my-project/docs/index.md

  • 上面的local.md就是放置在my-project/docs/install/local.md

添加扩展

只有添加了扩展,才能完美使用mkdocs-material官方支持的所有markdown语法

mkdocs.yml里添加:

 
 
  1.  markdown_extensions:

  2.    - admonition

  3.    - codehilite:

  4.        guess_lang: false

  5.        linenums: false

  6.    - toc:

  7.        permalink: true

  8.    - footnotes

  9.    - meta

  10.    - def_list

  11.    - pymdownx.arithmatex

  12.    - pymdownx.betterem:

  13.        smart_enable: all

  14.    - pymdownx.caret

  15.    - pymdownx.critic

  16.    - pymdownx.details

  17.    - pymdownx.emoji:

  18.        emoji_generator: !!python/name:pymdownx.emoji.to_png

  19.    - pymdownx.inlinehilite

  20.    - pymdownx.magiclink

  21.    - pymdownx.mark

  22.    - pymdownx.smartsymbols

  23.    - pymdownx.superfences

  24.    - pymdownx.tasklist

  25.    - pymdownx.tilde

markdown语法

mkdocs-material支持几十种markdown语法,有许多很酷炫的功能与效果,由于篇幅有限,无法在这一一展示,因此这里仅列举下所支持的主要语法

1.标题 2.段落 3.引用 4.表格 5.代码

  • 行内

  • 区块

  • 高亮

6.字体样式

  • 斜体,粗体,粗斜体

  • 上标,下标

  • 下划线

  • 横线

  • 下划线+横线

7.列表

  • 无序列表

  • 有序列表

  • 任务列表

8.分割线 9.链接

  • 普通链接

  • 自动链接

  • 锚点提示

10.图片

  • 行内式

  • 参考式

11.转义 12.高亮

  • 代码高亮

  • 背景高亮

13.注解

  • 介绍

  • 完整格式

  • 空标题

  • 无标题

  • 无类型

  • 折叠

  • 11种颜色样式

  • 嵌套

14.脚注 15.元信息 16.数学公式

  • 介绍

  • 导入js

  • 用法

17.emoji

  • 介绍

  • 工作原理

  • 最佳实践

18.特殊符号 19.嵌套

  • 介绍

  • 注解-注解

  • 列表-列表

  • 引用-引用

  • 注解-代码块

  • 列表-代码块

  • 引用-代码块

  • 黄色区块-代码

  • 绿色区块-代码

  • 红色区块-代码

  • 绿接红区块-代码

  • 注解-列表-引用

  • 列表-列表-引用

  • 引用-引用-代码

其他功能

mkdocs-material本身还支持如下功能:

  • 添加js,可用于站点统计(如百度统计,谷歌统计)

  • 页面以及跳转文字的配色

  • 中文搜索

最佳实践

如果希望自己所写的markdown可以兼容各个markdown编辑器,那么只需了解markdown的传统语法即可

如果想让自己所写的markdown发布到web服务器,例如GitHub Pages、自己搭建的HTTP Server,那么可以考虑使用本文所介绍的语法,以实现丰富多样的渲染效果。

笔者建议:尽量使用传统语法,只在必要时候才使用本文介绍的语法。因为排版简洁、条理清晰才能带来最舒服的阅读感受。


640.gif?


加入知数堂

挑战40万+年薪!



640?640?640?640?


知数堂

叶金荣与吴炳锡联合打造

领跑IT精英培训

行业资深专家强强联合,倾心定制

MySQL实战/MySQL优化/MongoDB / Python/ SQL优化

数门精品课程

“阅读原文”可获更多正课试听视频

密码:hg3h

紧随技术发展趋势,定期优化培训教案

融入大量生产案例,贴合企业一线需求

社群陪伴学习,一次报名,可学1年

DBA、开发工程师必修课

上千位学员已华丽转身,薪资翻番,职位提升

改变已悄然发生,你还在等什么?

640.png?



640?wx_fmt=gif


640?wx_fmt=gif


加入QQ技术交流群

扫码加入知数堂4群-王者峡谷

(QQ群号:650149401)

      

640?wx_fmt=png

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值