在Github上搭建你的博客
title: blog on github
date: 2014-03-24 20:29:47
tags: [blog,github,hexo]
--- **用Github写博文**
参考http://ibruce.info/2013/11/22/hexo-your-blog/
非常详细哟!你可以先看看他的文章 ##主要步骤
首先你得拥有github账号 然后创建一个仓库 仓库里面才能发页面文件什么的
然后往这个仓库中添加html文件 这个html文件就是你的博客 你可以尽情的使用你喜欢的样式 不受限制
基本上是这么个意思 听起来很简单啊 那我们要hexo做什么 有了这个Git客户端有什么用?
毕竟你想想嘛 我要是有很多博文 每个html都要写目录啊 其他博文的链接啊 真麻烦
所以我需要一个系统 他能帮你做目录啊 统计博文数量啊 设置主题啊 生成HTML等等 Hexo就是来做这个的
Git呢? 有了Git客户端 可以更方便的同步本地和线上仓库 ##为什么选择Github?
首先 拥有一个个人独立博客首要就是租一个空间 买一个域名什么的
哎呀 木有钱啊 免费的服务好像都不可靠 付费的真心超过预算… 突然发现github上可以
我想github的初衷是用来展示作品的 因此它为每个用户分配了一个可以设定域名的空间 当然就可以写博客啦!
当然了 你也可以选择BAE 更稳定不是嘛(有时间再来研究下) ##创建仓库Repository
如何设置你的域名?得到域名首先要创建repository
创建新仓库记住要勾选Initialize this repository with a README 否则空仓库不会有填入域名的框
要是已经生成了一个空仓库呢?(使用那个绿色 Set up in a desktop 表示使用Git客户端来操作)
使用Git客户端对你新建的仓库init一下并上传一个文件后 就又可以在页面上看到填入域名的地方啦
域名格式(二级域名) http://??????????.github.com ##Git客户端
对于win 我一开始是按照ibruce的教程来的 使用的是msysgit 它是github
对于mac 就用的Github上官方的那个 http://mac.github.com/
新手的话还是使用官方的这个客户端好了 傻瓜操作… ##Git命令
和SVN一个逻辑 本地得有一个仓库 测试好了后再通过Git客户端传到线上
你可以随便选一个文件夹作为仓库
对于win 进入到仓库文件夹中右键选择Git init 但是这种方式如果换了一个客户端可能就不通用了
所以我还是说说通用的方式 使用Git命令
打开Git Bash (Github for mac在安装的时候就有提示是否安装command tools 选择上就好)
PS: 这个command tools会在/usr/local/bin中 其中会有个git文件 点击它会编译一下
初次编译会向你请求安装Xcode 根据提示操作 很快就装好了 (应该是一个Xcode的shell编译器吧 不是整个Xcode)
然后就可以在terminal中使用git命令了
cd到相应的目录 git init 该命令可以将当前文件夹作为仓库文件夹 之后会生成一个.git的隐藏文件夹 ##命令行基本操作
好久不用 又忘了?
进入C盘 `cd C`
然后进入某个目录 `cd xxx\`
进入多级目录必须一层一层的进入
像这样一次进入多层是不行的 rakus@RAKUS-PC /C
$ cd Users\rakus
sh.exe": cd: Usersrakus: No such file or directory 必须这样 rakus@RAKUS-PC /C
$ cd Users rakus@RAKUS-PC /C/Users
$ cd rakus 退回到上一层 (`cd ..`) (注意cd后面有个空格) ##Git客户端连接配置
Git的客户端和Git账号连接 哇 这还要说?不仅仅是填写用户名和密码这么简单哟!
为了保证安全性 本地仓库和线上仓库是通过SSH连接的
如果你是使用的Github官方上得客户端的话 填好用户名和密码就会自动帮你创建好SSH key并且将key添加到你的账户中
至少我使用Github for mac是这样 所以我猜Github for windows也应该如此
这里还是说最通用的办法 比如你是linux用户呢 呵呵
打开Bash 首先设置账户 $ git config --global user.email "lumixraku@gmail.com"
$ git config --global user.name "lumixraku" 生成SSH key $ ssh-keygen -t rsa -C "lumixraku@gmail.com" 接下来会看到提示 Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/rakus/.ssh/id_rsa): 这里面要求输入一个路径 是你保存SSH key的路径包括文件名 同时也会在()中得那个路径中生成id_rsa的
注意保存的保存的文件名也得是id_rsa 否则.ssh中不会自动生成id_rsa的 实际上Git客户端用的是.ssh中的文件中得SSH密钥
我保存在G盘 Enter file in which to save the key (/c/Users/rakus/.ssh/id_rsa): G:\Git\git\id_rsa 回车后看到Ok的信息 Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in G:\Git\git\id_rsa.
Your public key has been saved in G:\Git\git\id_rsa.pub.
The key fingerprint is:
69:14:??:??:??:??:??:??:ed:63:??:da:??:??:??:?? lumixraku@gmail.com 我把我的密钥隐藏了 当然实际上这里不会是问号啦
这个密钥和PC是对应的 一个PC是唯一的一个密钥
至此已经生成了SSH 将会在刚才的指定路径G:\Git\git\中生成一个id_rsa文件和id_rsa.pub文件
所需要的SSH key就是id_rsa.pub文件的内容
PS:Github for mac会自动连上Github且自动生成好SSH key 安装上Github for mac后会默认在你的用户名的文件夹中生成.ssh文件夹 不过点开后里面并没有id_rsa…可能自动连上后删去了..可能
然后去Github中+号旁边的螺丝刀和扳手图标Account Settings中添加 SSH key
Key名字是随意填写的 最好填计算机名 这样有多个key的时候好区分 Key的内容就是pub文件中的内容 复制出来粘贴就好
接下来做一个测试 看看Git客户端能否连上Github ssh -T git@github.com 或者使用ssh -vT git@github.com 可以看到更详细的信息
会提示 Warning: Permanently added the RSA host key for IP address '1??.??.???.129' to the list of known hosts.
Hi lumixraku! You've successfully authenticated, but GitHub does not provide shell access. ##使用Git 命令上传(与本地同步)/下载(与服务器同步)文件 刚才已经提到了创建并init仓库 现在就cd到这个文件夹
上传就是把本地仓库中的文件上传到线上仓库 一个账户一般都不会只有一个仓库 所以上传前首先要指定好仓库 git remote add repo git@github.com:lumixraku/repo.git 后面git@github.com:lumixraku/repo.git这么一串就是仓库的地址 在每个仓库的右边栏下方可以看到
这里的repo是自己为仓库取得一个别名 不会影响到线上的仓库 只是本地用户指定仓库时方便 这个信息保存在.git中
当你删除.git后再想使用这个别名是无效的 同样 当你已经使用本别名指定一个仓库 再次输入这个命令也是不可以的
提示remote rakusCode already exists 假如我忘了别名?git remote -v 显示所有repository和别名
选择好了仓库就选择文件 git add README.md 填写备注 ‘first commit’是备注 注意!备注似乎是必填项 否则提示未填备注 git commit -m 'first commit' 上传(与本地同步) git push repo master repo是仓库别名 master则是分支 分支是一定要指定的 默认分支就是master 也就是主干
所以可以把仓库看做是一棵树 有master和其它很多branch
PS 虽然这里说的是上传 但是比如我后来又改动了aa文件夹下的bb文件 还是使用同样的命令 所以 这里的上传意义更接近于同步 所以不论你是更改的某个文件夹的中的文件还是创建了新的文件夹
最终线上仓库在push后变得和本地一样 下载(与线上同步) git pull rakuscode master 这样会一口气把全部的文件下载下来 ##删除仓库
进入你要delete的repository 在右边的侧边栏中有个settings选项 进入后 底部有个danger zone 其中有Delete this repository 接下来就很容易了.. ##安装Hexo
Hexo就是一个小型的博客系统(使用NodeJS实现) 并且可以将你的博客生成静态的页面 所有的链接什么都帮你设置好了
相比于WordPress不用mysql 更方便轻巧呢!
不论是win还是mac 首先安装Node (mac我用的pkg的那种 傻瓜安装) 地址http://nodejs.org/download/
安装了Node 就可以使用npm命令了 可以看到安装后在/usr/local/bin中多了一个npm
安装Hexo npm install -g hexo 对于mac和linux 应该使用 sudo npm install -g hexo 安装过程略长 且总是要重复几次 根据你的网络情况来定吧…
然后来到仓库文件夹作为你的hexo文件夹
初始化hexo hexo init 之后生成一大串文件和目录 这是hexo运行必须的东西
生成html页面 hexo generate 启动服务 hexo server 之后通过localhost:4000查看 运行期间 Bash不能进行其他操作 通过Ctrl+C停止服务 mac也是Ctrl
这样博客就生成了 在本地看看样式吧 生成的文件都在public文件夹中
##配置Hexo Hexo提供了一个deploy操作 通过这个操作将生成那个好的文件提交到线上仓库去 这里不再用git的提交方式提交
打开仓库目录下的_config.yml (推荐使用sublime打开 win的默认记事本打开格式一团糟)
主要是配置仓库位置(使用了hexo后 可以用hexo deploy进行提交…不过只是提交页面 css没有被提交 这个需要手动提交一下)
大约15行位置 url: https://github.com/lumixraku/repo 这个url是仓库的浏览器地址
还有一个是在配置文件的最后 deploy:
type: github
repository: git@github.com:yourUsername/repo.git
branch: master deploy还有一个选项是指定branch的值 master或是其他branch名字
默认是gh-pages这个branch 何时使用master何时用gh-pages呢?
当仓库是主仓库(指的是分配了域名的仓库)时候就用master
然后你又创建了一个新的仓库repo2 也有一些页面文件希望被访问 此时就应该deploy到gh-pages这个分支中
repository中得git地址当然也应该是repo2的git地址
访问的时候 则是 xxxx.github.io/repo2/新仓库的页面 配置好后就能用hexo deploy提交 ##写博文
新建一个博文命令 hexo new "your Article Title" 执行上面的命令后将会在 仓库文件夹\source_posts\中创建一个文件`your-Article-Title.md`
打开此文件使用markdown的格式写博文
什么是markdown格式?参考http://ibruce.info/2013/11/26/markdown/
这种格式是一个标记语言 可以将文本转化为HTML kindle的书就是这个格式 生成页面 hexo generate ##更换主题 Pacman和Modernist这两款不错!
Pacman主题 https://github.com/A-limon/pacman
(其中有介绍安装方式)
Modernist主题 https://github.com/heroicyang/hexo-theme-modernist 主题使用Git命令下载
比如对于Modernist主题 git clone https://github.com/heroicyang/hexo-theme-modernist.git themes/modernist 下载了还没完 还需要配置一下
打开仓库目录下的_config.yml
这里有你很多设置 比如你的博客名字 作者 等 刚才只是改了deploy的地址
主题设置大约在83行 PS注意一下本文档的格式 在一个配置项的冒号后面有一个空格 theme:pacman 对主题本身还可以配置一下 比如首先显示什么菜单之类
打开仓库中themes\pacman_config.yml 配置 详情可以去ibruce查看
更新主题 cd themes/pacman
git pull
在Github上搭建你的博客的更多相关文章
- 在Github上搭建自己的博客(Windows平台)
折腾了好久,终于在Github上搭建了自己的博客.这里面总结一下过程希望对大家能有所帮助. Github建博优缺点 和 csdn,新浪,网易相比,在Github上可以自己实现功能 和阿里云,VPS相比 ...
- GitHub上搭建私人hexo博客操作教程
GitHub上搭建hexo博客 安装GitGit:主要用于上传博客页面到github和命令操作安装NodeNode.js:Hexo的运行环境安装HexoHexo:博客程序打开安装Git后的生成的右键菜 ...
- 在github上搭建免费的博客
github好多年前,大家都开始玩啦,我这个菜鸟近几年才开始.github不仅可以管理项目,还可以搭建博客.技术人员,一般用的博客为博客园,CSDN多一些.看到朋友们都弄一个,我也开始弄起来,先找点资 ...
- github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)
详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ...
- github+hexo搭建自己的博客网站(七)注意事项(避免read.me,CNAME文件的覆盖,手动改github page的域名)
详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定域名可以查看:http://www.chengxinsong.cn 可以查看在github上生成的静态文件(如 ...
- 使用GitHub+hexo搭建个人独立博客
前言 使用github pages服务搭建博客的好处有: 全是静态文件,访问速度快: 免费方便,不用花一分钱就可以搭建一个自由的个人博客,不需要服务器不需要后台: 可以随意绑定自己的域名,不仔细看的话 ...
- Hexo + Github Pages搭建的个人博客
这个不算是新手的搭建流程,如果你恰巧看见这篇文章,希望你已经安装好node.git等软件,因为第一步的环境搭建准备并没有详写,默认都会了.希望能解决你的问题. 步骤: 一. 搭建环境准备 二.安装he ...
- 使用Hexo + Github Pages搭建个人独立博客
使用Hexo + Github Pages搭建个人独立博客 https://linghucong.js.org/2016/04/15/2016-04-15-hexo-github-pages-blog ...
- 在Github和oschina上搭建自己的博客网站
在Github上搭建 - 参考链接 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门 GitHub + Jekyll 搭建并美化个人网站 用Jekyll搭建的Git ...
随机推荐
- android之ArrayAdapter的重写
昨天介绍了ArrayAdapter的使用,今天介绍一下更加实用的一点,对它进行重写,满足自己的个性化设计需要. ArrayAdapter(数组适配器)一般用于显示一行文本信息,所以比较容易. publ ...
- Android项目中包名的改动
通常改动包名时会造成R文件错误,而且有时带有原因不明的Manifest文件里多处文本混乱. 所以,将眼下觉得最为简洁方便的改动包名流程记录例如以下: 如果我们眼下的包名为com.pepper.util ...
- ASP.NET MVC导入excel到数据库
MVC导入excel和webform其实没多大区别,以下为代码: 视图StationImport.cshtml的代码: @{ ViewBag.Title = "StationImport&q ...
- 用css3画企鹅
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta na ...
- OC中使用 static 、 extern、 const使用
static static用于定义静态变量,静态变量只会被初始化一次,并且直到程序销毁时才会释放 static NSString *str = @"asdfa"; const co ...
- iOS网络请求基础
这篇是关于网络请求的,结合公司的实际情况编写,如果有不同意见欢迎留言共同讨论. iOS在9.0之后彻底放弃了NSURLConnection,现在已经改用了NSURLSession进行网络请求.一般现在 ...
- 使用Xib添加自定义View
1.新建Cocoa Touch Class以及UI View,2者同名 2.设置UI View的File's Owner——Custom Class为之前新建类 3.设置Xib中View与类关联 4. ...
- ##DAY8 界面通信
##DAY8 界面通信 注意:延展中写的东西只能在类内使用 #pragma mark ———————属性传值—————————— (第一个页面往第二个页面传值) 一.属性传值:(第一个页面往第二个页面 ...
- 在mac系统安装Apache Tomcat的详细步骤(转载自himi的博客,修改了错误添加了图片)
链接地址:http://blog.csdn.net/liuyuyefz/article/details/8072485 1. 2. 3. 4. 5. 对于Apache Tomcat 估计很多童鞋都会, ...
- 5.4.2 RegExp实例方法
RegExp对象的主要方法是exec(),该方法是专门为辅助组而设计的.exec()接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项信息的数组:或者在没有匹配项的情况下返回null.返回的 ...