每个入门程序员或多都想拥有一个自己博客站点,苦于高额的服务器费用和较为麻烦的操作步骤,你完全可以通过 GitHub Pages来实现一个免费,可定制的书写,记录生活,技术分享的平台。

为什么使用 GitHub Pages

  • 首先它是完全免费,可以省下一笔服务费
  • 无须自己购买云服务进行搭建,只需按步骤一步步操作即可,即使你不懂他的技术细节;
  • 支持的功能多,玩法丰富,你可以绑定你的域名、使用免费的 HTTPS、自己 DIY 网站的主题、使用他人开发好的插件等等
  • 当完成搭建后,你只需要专注于文章创作就可以了,其他诸如环境搭建、系统维护、文件存储的事情一概不用操心,都由 GitHub 处理

Github中创建一个仓库

选择创建一个新的 Repository 在 Repository name 的位置填写域名,格式是 username.GitHub.io

安装 Pelican

pip install pelican ghp-import Markdown
将这个刚创建空 Git 仓库克隆到本地:
git clone <https://GitHub.com/username/username.github.io> blog
cd blog

使用Pelican 生成静态页面

在 GitHub 上发布 Web 内容有一个不太引入注意的技巧,对于托管在名为 username.github.io 的仓库的用户页面,其内容由 master 分支提供服务。

我强烈建议所有的 Pelican 配置文件和原始的 Markdown 文件都不要保留在 master 中,master 中只保留 Web 内容。因此,我将 Pelican 配置和原始内容保留在一个我喜欢称为 content 的单独分支中。(你可以随意创建一个分支,但以下内容沿用 content。)我喜欢这种结构,因为我可以放弃掉 master 中的所有文件,然后用 content 分支重新填充它。
git checkout -b content

配置Pelican

安装完Pelican 提供初始化工具 pelican-quickstart 来创建博客的初始配置

$ pelican-quickstart
Welcome to pelican-quickstart v3.7.1.This script will help you create a new Pelican-based website.Please answer the following questions so this script can generate the files
needed by Pelican.> Where do you want to create your new web site? [.]
> What will be the title of this web site? Super blog
> Who will be the author of this web site? username
> What will be the default language of this web site? [en]
> Do you want to specify a URL prefix? e.g., http://example.com   (Y/n) n
> Do you want to enable article pagination? (Y/n)
> How many articles per page do you want? [10]
> What is your time zone? [Europe/Paris] UTC
> Do you want to generate a Fabfile/Makefile to automate generation and publishing? (Y/n) y
> Do you want an auto-reload & simpleHTTP script to assist with theme and site development? (Y/n) y
> Do you want to upload your website using FTP? (y/N) n
> Do you want to upload your website using SSH? (y/N) n
> Do you want to upload your website using Dropbox? (y/N) n
> Do you want to upload your website using S3? (y/N) n
> Do you want to upload your website using Rackspace Cloud Files? (y/N) n
> Do you want to upload your website using GitHub Pages? (y/N) y
> Is this your personal page (username.github.io)? (y/N) y
Done. Your new project is available at /Users/username/blog

Pelican 会为你创建以下目录

Makefile      content/     develop_server.sh*
fabfile.py    output/      pelicanconf.py
publishconf.py

提交content 分支

将所有 Pelican 生成的文件添加到本地 Git 仓库的 content 分支,提交更改,然后将本地更改推送到 Github 上托管的远程仓库:

$ git add .
$ git commit -m 'initial pelican commit to content'
$ git push origin content

提交一篇文章测试一下

cd content content 目录存放markdown格式的文章
让我新建first-post.md

title: 使用 Python 在 GitHub 上运行你的博客
date: 2020-07-12
author: charles
Tags: pelican
Slug: pelican_course使用 Pelican 创建博客,这是一个基于 Python 的平台,与 GitHub 配合的不错。

date:发布时间 ,pelicanconf.py文件可以设置 DEFAULT_DATE_FORMAT = '%Y-%m-%d' 时间格式化
author : 作者
Tags:标签
Slug: 用于文章生成url的。不添加这个字段话,默认是拼音的url。但是有时侯拼音是错误的,而且对于搜索引擎很不友好

发布

  • 运行 Pelican 以在 output 中生成静态 HTML 文件:
    $ pelican content -o output -s publishconf.py
  • 使用 ghp-import 将 output 目录的内容添加到 master 分支中:
    $ ghp-import -m "Generate Pelican site" --no-jekyll -b master output
  • 将本地 master 分支推送到远程仓库:
    $ git push origin master
  • 提交新内容并将其推送到 content 分支
    $ git add content $ git commit -m 'added a first post, a photo and an about page' $ git push origin content

完成

打开浏览器输入https://username.github.io 就可以看到博客内容。

定制blog

进一步定制博客配置

  1. 独立域名
    购买域名映射到https://username.github.io之后在output目录下,创建CNAME文件。内容就是你购买的域名。因为github pages只允许CNAME中的域名映射。
  2. 定制主题
    找到自己喜欢的pelican主题,主题地址点我
  3. 关于我
    这个就像相当于一个自我介绍的页面,所以就需要在content目录下创建一个pages目录,然后把你要展示的内容放到pages目录下就可以了。

免费的Github博客搭建(python+pelican)相关推荐

  1. hexo+GitHub博客搭建实战

    我的个人博客链接:wangwlj.com 想要搭建类似的博客吗? 如果是,那就赶快点进来吧-- 手把手教学,现在开始!! PS: 将会在个人博客持续更新,本文链接:hexo+GitHub博客搭建实战. ...

  2. 使用Jekyll搭建免费个人Github博客详细教程

    文章目录 1. 总体方案 1.1 本地开发环境 1.2 基础组件 1.3 可选功能 1.3.1 评论功能 1.3.2 访问量统计 1.3.3 自定义域名 2. 搭建本地开发环境 2.1 安装 2.1. ...

  3. 个人网站搭建 03——Hexo + Github 博客搭建

    使用 Github Pages 服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话根 ...

  4. github page hexo博客gitee_hexo + github 博客搭建

    原文链接 使用hexo搭建博客,托管于github 配置环境: node + git hexo 安装hexo npm install hexo -g 初始化hexo hexo init 或 hexo ...

  5. Hexo+Github博客搭建之Matery主题个性化修改篇(一)

    首先声明一下,一定要分清什么是站点配置文件,什么是主题文件,比如我在F盘新建我的博客文件夹,名称为blog,那么站点配置文件的路径为F:/blog/_config.yml,而你的主题配置文件路径为F: ...

  6. hexo与github博客搭建+自动部署+反向代理资源找不到问题+各种踩坑

    目录 前言: 需要准备: Hexo的搭建 初始化 主题的选择 上传github 部署自动action 反向代理 成功! 前言: Hexo搭建确实是一个便捷灵活的博客框架,但是里面不免存在很多坑. 在这 ...

  7. github的博客搭建以及标签的自动化

    github博客搭建以及标签的自动化 引子 没有github的程序员,不是好程序员! BUT 如果有一个*.github.io的blog,会不会更酷? 基于以上原因,本拐也折腾了一下自己的github ...

  8. Hexo+Github: 博客网站搭建完全教程(看这篇就够了)

    本篇教程首次发布在个人博客:sunhwee.com,想要获得最佳阅读体验,欢迎前往,建议用电脑查看教程文档. 文章目录 阅读须知 博客开源 前言 第一部分 搭建 Hexo搭建步骤 1. 安装Git 2 ...

  9. 教程:纯小白如何搭建自己的Github博客并写第一篇博文

    文章目录 1 搭建Github博客 1.1 确认github上创建的repository名称 1.2 用系统命令行安装hexo并初始化本地博客文件夹 1.3 下载并安装hexo NexT主题 1.4 ...

最新文章

  1. Kubernetes 中 设置pod不部署在同一台节点上
  2. CSS里总算是有了一种简单的垂直居中布局的方法了
  3. python SMTP发送邮件常出现问题
  4. 1 张图,拆解阿里 P8高级架构师必会技术栈!
  5. 【区块链基础知识系列】 第6课 区块链之分片技术(sharding)-区块链扩容问题的良方
  6. VTK:可视化之LineWidth
  7. pdfLaTeX和XeLaTeX
  8. 怎么更改sql的实例版本_学会复杂一点的SQL语句:Oracle DDL和DML
  9. 数据结构队列代码_代码简介:队列数据结构如何工作
  10. linux 容器_Linux容器如何演变
  11. Linux指定jre运行jar包,Linux如何运行和停止jar包
  12. paip.python错误解决4
  13. Flutter 本地数据库sqflite实战操作
  14. 气体流量与质量流率换算
  15. BiERU: Bidirectional Emotional Recurrent Unitfor Conversational Sentiment Analysis(20.12.10)
  16. mongodb添加多条数据_mongodb一次能插入多少数据
  17. 游戏图片文件和声音文件的隐藏
  18. 普渡大学利用深度学习自动检测核反应堆裂缝
  19. 15k运维面试题带答案分享
  20. 开放式基金全景点评:净值全面攀升 关注老基金(ZZ)

热门文章

  1. MySQL操作成功之后Redis操作失败的回滚问题
  2. C++ 斐波那契数列递归求解 进阶版
  3. 「黑马程序员」微信小程序最新接口
  4. VR对房地产行业的影响
  5. YZOI 队员论文精选
  6. mysql 删除字段的注释_MySQL表和列的注释总结
  7. mysql怎么统计用户活跃数_如何查看用户使用情况(最近登入,活跃度。。。)...
  8. 广西首家!云计算企业梯度科技通过可信云认证
  9. IconWorkshop图文教程(转)
  10. java spring 是什么_Spring详解(一)------概述