把hexo博客的源码和生成的页面实时同步到github和gitcafe。
用搜索引擎搜索”github 博客”等关键字会出现大量很好的文章教小白一步步搭建。我这里列出一些关键点,希望可以让你少走弯路。这篇博客的markdown源代码在:https://gitcafe.com/cwjcsu/cwjcsu/blob/master/source/_posts/hexo-github-gitcafe.md
其他涉及的源码在同一个仓库可以找到。
1, 不一定要购买域名
很多文章都有介绍购买域名,并在根目录下配置CName文件,其实不一定要购买的。Github会给每个用户一个二级域名:cwjcsu.github.io。这个二级域名下,你可以定制样式、404页面等等,记住最重要的一点:你创建的github的仓库名称必须是cwjcsu.github.io,这样你只要在master分支上 仓库根目录push一个index.html,这个页面就可以通过 http://cwjcsu.github.io 访问到。cwjcsu是我的github用户名,实际操作中替换成你的即可。
2,使用gh_pages分支创建的页面
在github上,你可以为你的任何仓库添加一个网站,你只需要:
- 把网站的页面push到这个仓库的gh_pages分支;(github有向导可以指引你自动创建这个分支)
- 通过http://username.github.io/reponame 进行访问(即
http://博客地址/仓库名称/
)。我的github博客地址是:http://cwjcsu.github.io/
,而joutable是我一个开源项目的仓库名称,它的页面可以通过http://cwjcsu.github.io/joutable 访问到
3,举例说明
我在github上面的首页是:https://github.com/cwjcsu
我在github上的博客源码仓库是:https://github.com/cwjcsu/cwjcsu.github.io
我在github上博客首页:http://cwjcsu.github.io
我的一个开源项目joutable仓库是:https://github.com/cwjcsu/joutable ,有两个分支,一个是master放置开源项目源码,一个是gh_pages放置项目介绍页面可以通过http://cwjcsu.github.io/joutable/ 访问
4,hexo搭建
hexo主页:https://hexo.io/
经过试用,hexo用来写博客真是不二选择(配合sublime Text3 +Markdown Editing,),具有下面的优势:
- 使用markdown,完美支持github-flavored-markdown
- 实时本地预览,(#hexo s 创建一个本地http-server在本地实时预览你的博客网站)
- 大量丰富的主题模版(https://hexo.io/themes/)
- 支持Tex语法(通过mathjax:https://www.mathjax.org )
- 一键部署到多个站点(这个是我自己写的git脚本,下面有介绍)
使用hexo需要安装nodejs,npm,以及其他的依赖工具,网上教程不少,本文不赘述(遇到问题可以给我留言),不过特别提醒以下几点:
- .yml 配置文件采用缩进进行分开,key和value之间至少要有一个空格;
- 如果hexo生成的html里面有乱码,那是对应的源文件没有用UTF-8保存,你可以使用nodepadd++或者记事本把他们保存为UTF-8,然后重新生成即可;
- 使用
<!--more-->
用来分割摘要和正文,上面部分是摘要,会出现在主页。同wordpress。 - description:xxx 会生成网页的description描述:
<meta property="og:description" content="xxx">
这是SEO需要注意的地方。
推荐几篇好文章:
hexo搭建博客:http://www.cnblogs.com/zhcncn/p/4097881.html
hexo的Jacman主题:https://github.com/wuchong/jacman
hexo配置介绍:https://hexo.io/docs/configuration.html
markdown大全:http://cwjcsu.gitcafe.io/2015/09/26/markdown-learning/
5,hexo部署
在hexo配置文件_config.yml 有个deploy的配置项目用来配置git仓库,注意type需设置为git,是hexo3中的类型,需要安装:hexo-deployer-git:
npm install hexo-deployer-git --save
|
网上的教程大多是hexo2的,很多文章没有指出这个区别。
#hexo deploy 可以一键部署到github仓库,但是我需要部署到不同仓库,所以没有采用hexo的自动部署,二是写了一个脚本:
在hexo生成的博客根目录cwjcsu.github.io下有个脚本:up.sh
#!/bin/bash git commit -am "$1" git push github master:master git push gitcafe master:gitcafe-pages |
于是,可以通过下面命令一键把生成的博客内容更新到github和gitcafe了。
#./up.sh "commit comment"
|
下面是我的git配置文件:cwjcsu.github.io/.git/config
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDotFiles = dotGitOnly [remote "gitcafe"] url = git@gitcafe.com:cwjcsu/cwjcsu.git fetch = +refs/heads/*:refs/remotes/gitcafe/* [remote "github"] url = git@github.com:cwjcsu/cwjcsu.github.io.git fetch = +refs/heads/*:refs/remotes/github/* [branch "master"] remote = github merge = refs/heads/master |
可以看到有两个remote:github和gitcafe,分别配置github和gitcafe上面我的博客所在的仓库地址。up.sh脚本中gitcafe的分支是gitcafe-pages而不是master,仓库名称也不是域名而是直接用户名。这是因为gitcafe博客与github博客略有不同,下面会介绍。
为了避免每次push都提示你输入用户名和密码,你需要在github和gitcafe中添加你的公钥,具体操作本文不赘述。[user]部分我没有贴出来。
6,gitcafe博客
与github不同的是,创建gitcafe的博客,你只需要创建一个和你的用户名一样的仓库,然后把页面push到这个仓库的gitcafe-pages分支即可,然后把源码push到这个分支的master。
比如:
博客所在仓库是:https://gitcafe.com/cwjcsu/cwjcsu
博客源码的分支是master:https://gitcafe.com/cwjcsu/cwjcsu/tree/master
博客页面分支是gitcafe-pages:https://gitcafe.com/cwjcsu/cwjcsu/tree/gitcafe-pages
这两个分支与github上两个仓库代码是同一份,我又写了个脚本,用来实时push博客源码到两个仓库:blog/up.sh: (blog是博客源码所在目录)
#!/bin/bash git commit -am "$1" git push github master:master git push gitcafe master:master |
blog/.git/config:
[core] repositoryformatversion = 0 filemode = false bare = false logallrefupdates = true symlinks = false ignorecase = true hideDotFiles = dotGitOnly [remote "gitcafe"] url = git@gitcafe.com:cwjcsu/cwjcsu.git fetch = +refs/heads/*:refs/remotes/gitcafe/* [remote "github"] url = git@github.com:cwjcsu/blog.git fetch = +refs/heads/*:refs/remotes/github/* [branch "master"] remote = github merge = refs/heads/master |
[user]部分我没有贴出来。
7,配置评论系统和百度统计
我使用了国内很火的一个评论系统:多说,注册、添加站点后,只需要把ID设置到hexo主题的_config.yml文件里面即可(注意不是hexo的配置文件而是themes/jacman/_config.yml,jacman是我使用的一个主题)。添加百度统计网上教程很多不赘述。
相关推荐
标题中的“Hexo+github”指的是使用Hexo框架与GitHub Pages服务来搭建个人博客的知识点。Hexo是一个快速、简洁且高效的博客框架,基于Node.js,可以帮助用户轻松地创建和管理个人博客。GitHub Pages是GitHub提供的一...
博客系列:Hexo+Github博客搭建教程
总结来说,"hexo+github"搭建个人博客的过程包括:安装和配置Hexo,创建并设置GitHub仓库,编写和发布文章,以及定制主题和插件。这种方法不仅简单易用,而且免费,还能让你的博客与全世界的开发者社区紧密相连。...
Hexo是一款基于Node.js的静态博客框架,它使用Markdown或者其他标记语言来解析文章内容,并通过各种主题模板来生成静态页面。Github Page是GitHub提供的一项服务,允许用户将静态网页部署在GitHub上,从而可以直接...
hexo-Github搭建个人博客.md
"Hexo + GitHub Page 实现搭建博客"的主题旨在介绍如何利用Hexo静态站点生成器和GitHub提供的免费托管服务GitHub Page来创建一个自己的在线博客。下面将详细阐述这一过程中的关键步骤和涉及的技术知识点。 首先,...
下面将详细阐述Hexo和GitHub搭建个人博客的过程及关键知识点。 1. **Hexo基本概念** - **站点结构**:Hexo站点通常包含`source`、`themes`、`public`、`config.yml`等目录,每个都有特定功能,如`source`存放内容...
微信小博客:无博客后端,博客数据来源与 hexo 与github 搭建的博客系统 基于uni-app、colorUi、uView,支持小程序、H5、Android和IOS 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发...
title: hexo同时部署到Gitcafe和Github上推荐一个可以同时部署到Gitcafe和Github上的hexo插件——hexo-deployer-
- 为了将Hexo博客部署到GitHub,需要创建一个新的GitHub仓库,命名为`<your-github-username>.github.io`。 - 配置`_config.yml`文件中的deploy部分,指定GitHub仓库的URL和分支(通常是`gh-pages`)。 - 运行`...
hexo-github-calendar教程:链接: : 一键部署: npm i hexo-githubcalendar --save网站根目录_config配置项(不是主题的):例如butterfly配置为# Ice Kano Plus_in# Hexo Github Canlendar# Author: Ice Kano# ...
hetaozdh.github.io:我的hexo和github页面博客
注意,本篇博客并不是从零手把手教你去搭博客,那样会很花费时间去写一篇文档,况且从零搭建的博客一搜也是一大把,太多重复的内容就没必要继续写了。因此,对于不知道怎么搭建的伙伴,我会提供我搭建时用到的学习...
综上所述,"hexo github page本地仓库代码"涉及了使用Hexo创建个人博客,并将其部署到GitHub Pages的过程。通过这个本地仓库,你可以看到整个博客的结构、配置以及所有文章的源文件。通过持续更新和优化,你可以创建...
【标题】:“hexo + Github页面博客” 在IT领域,创建个人博客是分享技术知识、记录成长历程的一个常见方式。Hexo是一个快速、简洁且高效的静态站点生成器,它可以帮助我们轻松地搭建个人博客。而将Hexo与GitHub ...
### GitHub + Hexo 搭建个人博客详细指南 ...通过以上步骤,您可以成功地使用 GitHub 和 Hexo 搭建起属于自己的个人博客,并能够实现基本的功能操作,包括文章的发布、分类管理、标签管理以及 RSS 订阅等功能。
1.gitHub是一个面向开源及私有软件项目的托管平台,因为只支持git 作为唯一的版本库格式进行托管,故名gitHub 2.一个博客网站建立好之后,想让所有人
没有任何理解成本,一步一步教程,搭建过程中发生的错误很详细的介绍,搭建属于你自己的博客
本博客使用hexo + github构建 下面是建造的过程 准备工作 申请一个github账号 安装了node.js,npm,并了解相关基础知识 Windows的安装了git(或者其他git客户端) 创建Github仓库 新建一个叫做你的用户名.github.io...
基于HEXO的github博客的源码,支持评论(引用多说评论),支持视频音频(基于H5的音频标签,直接引用程序内部的视频音频文件),本地安装nodejs环境之后,就可以根据tengj.top里面的教程一步一步的跑起来了,主要是...