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上搭建你的博客的更多相关文章

  1. 在Github上搭建自己的博客(Windows平台)

    折腾了好久,终于在Github上搭建了自己的博客.这里面总结一下过程希望对大家能有所帮助. Github建博优缺点 和 csdn,新浪,网易相比,在Github上可以自己实现功能 和阿里云,VPS相比 ...

  2. GitHub上搭建私人hexo博客操作教程

    GitHub上搭建hexo博客 安装GitGit:主要用于上传博客页面到github和命令操作安装NodeNode.js:Hexo的运行环境安装HexoHexo:博客程序打开安装Git后的生成的右键菜 ...

  3. 在github上搭建免费的博客

    github好多年前,大家都开始玩啦,我这个菜鸟近几年才开始.github不仅可以管理项目,还可以搭建博客.技术人员,一般用的博客为博客园,CSDN多一些.看到朋友们都弄一个,我也开始弄起来,先找点资 ...

  4. github+hexo搭建自己的博客网站(六)进阶配置(搜索引擎收录,优化你的url)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定了域名: http://www.chengxinsong.cn hexo+github博客网站源码(可以clo ...

  5. github+hexo搭建自己的博客网站(七)注意事项(避免read.me,CNAME文件的覆盖,手动改github page的域名)

    详细的可以查看hexo博客的演示:https://saucxs.github.io/ 绑定域名可以查看:http://www.chengxinsong.cn 可以查看在github上生成的静态文件(如 ...

  6. 使用GitHub+hexo搭建个人独立博客

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

  7. Hexo + Github Pages搭建的个人博客

    这个不算是新手的搭建流程,如果你恰巧看见这篇文章,希望你已经安装好node.git等软件,因为第一步的环境搭建准备并没有详写,默认都会了.希望能解决你的问题. 步骤: 一. 搭建环境准备 二.安装he ...

  8. 使用Hexo + Github Pages搭建个人独立博客

    使用Hexo + Github Pages搭建个人独立博客 https://linghucong.js.org/2016/04/15/2016-04-15-hexo-github-pages-blog ...

  9. 在Github和oschina上搭建自己的博客网站

    在Github上搭建 - 参考链接 搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门 GitHub + Jekyll 搭建并美化个人网站 用Jekyll搭建的Git ...

随机推荐

  1. 第25周五迷茫定位&转行理论建议

    今天下午请假办了无房证明和单身证明,准备开始贷款买房的征程,在犹豫纠结中我选择推进这个事情,之前的经验告诉我生活中可以面临改变或不改变境况的选择是要尽可能的选择改变,因为我还年轻.回来后知乎上看了一个 ...

  2. 利用BP神经网络预测水道浅滩演变

    论文 <基于现代技术的河道浅滩演变研究> 利用BP神经网络来预测浅滩演变 BP输出因子:浅滩的年平均淤积厚度以及浅滩上最小水深,是反映浅滩变化的两个基本指标,是确定浅滩航道尺度能否满足航行 ...

  3. VS2008下直接安装使用Boost库1.46.1版本号

    Boost库是一个可移植.提供源码的C++库,作为标准库的后备,是C++标准化进程的发动机之中的一个. Boost库由C++标准委员会库工作组成员发起,当中有些内容有望成为下一代C++标准库内容.在C ...

  4. iOS 用UISearchDisplayController实现查找功能

    UISearchDisplayController是iOS中用于处理搜索功能的控制器,此控制器需要和UISearchBar结合使用 示例代码如下: // // WKRootViewController ...

  5. 将Oracle数据库导出为txt格式

    将Oracle数据库导出为txt格式: 方法1: 对于Windows系统,可以采用以下方式: 选择控制面板-->管理工具-->数据源(ODBC),添加一个新的数据源(系统或用户DSN均可) ...

  6. 小猪猪逆袭成博士之C++基础篇(一)数据精度、强制类型转换、变量命名规则

    小猪猪逆袭成博士之C++基础篇(一) 关键词: 数据精度.强制类型转换.变量命名规则 综述: 1.大多数编程语言通过两种方式来进一步补充其特征:一是赋予程序员自定义数据类型的权利(C++中的类):二是 ...

  7. ORA-12514(TNS:监听程序当前无法识别...)

    记录: ORA-12514(TNS:监听程序当前无法识别...)的解决方案 在安装ORACLE 11G 过程中由于配置的原因,安装过程中报了如下错误:   按照安装提示执行后面的操作后,打开PL/SQ ...

  8. Linux 下 Hadoop java api 问题

    1. org.apache.hadoop.security.AccessControlException: Permission denied: user=opsuser, access=WRITE, ...

  9. 斯坦福 IOS讲义 课件总结 二

    1,OC里面传参数个数不同,可以是两个完全不同的方法.如 - (void)addCard:(Card *)card atTop:(BOOL)atTop; - (void)addCard:(Card * ...

  10. jQuery validate入门

    <html> <head> <meta charset="utf8"></meta> </head> <body& ...