zoukankan      html  css  js  c++  java
  • 在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
    akus 
        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:Gitgitid_rsa
    
    回车后看到Ok的信息
    
        Enter passphrase (empty for no passphrase): 
        Enter same passphrase again:
        Your identification has been saved in G:Gitgitid_rsa.
        Your public key has been saved in G:Gitgitid_rsa.pub.
        The key fingerprint is:
        69:14:??:??:??:??:??:??:ed:63:??:da:??:??:??:?? lumixraku@gmail.com
    
    我把我的密钥隐藏了 当然实际上这里不会是问号啦
    这个密钥和PC是对应的 一个PC是唯一的一个密钥
    至此已经生成了SSH 将会在刚才的指定路径G:Gitgit中生成一个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
    
    对主题本身还可以配置一下 比如首先显示什么菜单之类
    打开仓库中themespacman_config.yml 配置 详情可以去ibruce查看
    更新主题
    
        cd themes/pacman
        git pull
  • 相关阅读:
    HTML5实现音频播放
    百度编辑器UEditor常用设置函数大全
    .Net一般处理程序来实现用户名的验证
    软件设计师13-数据库设计
    软件设计师12-数据流图
    百度云BCC安装WordPress镜像
    Java获取客户端真实IP地址
    软件设计师11-面向对象技术
    百度云BCC主机宝镜像
    软件设计师10-系统开发模型
  • 原文地址:https://www.cnblogs.com/cart55free99/p/3605970.html
Copyright © 2011-2022 走看看