`

GitHub上搭建个人网站

阅读更多

##0.背景

准备重新捡起博客,记录自己的生活,特别是技术生活(过于私密的东西,也不敢往博客上放不是)。个人博客有两个途径:a.使用已有的博客网站; b.搭建自己的私人网站。调研了一下国内博客网站,(CSDNjavaEyeOSCHINA等)普遍文字格式、代码编排样式不是很喜欢(太挑剔了?对,我就是一个挑剔的人),这让自己转向私人博客。可以预想到,自己搭建要稍微复杂一点,话又说回来了,作为software engineer折腾网站也算看家本领了(我会告诉你我的目标是scientist么)。

既然要搭自己的私人博客,那选定什么框架/方案呢?之前使用WordPress搭过,但需要购买域名和空间;现在流行在GitHub上搭,并且不需要考虑域名和空间的问题,那就他了,上GitHub,走起(其实,国内也有一个类似的地方GitCafe,不过,出于装B需要,最终选定了GitHub)。

##1.做什么?

目标:私人博客、自己搭建。

方式:GitHub Pages

blog or not

##2.怎么做?

初步分析,在GitHub上搭建博客,实质是:将自己的博客内容上传到GitHub上(因为GitHub提供了空间);如果需要修改博客内容,则需要从GitHub上将download/pull下来;接下来就是让外面可以访问GitHub上的博客。总结一下,对应3个必要步骤:

  1. GitHub上创建工程、并且能够将GitHub上的文件/代码,下载到本地;
  2. 将本地的文件/代码,上传到GitHub上;
  3. 配置GitHub,使其对外提供私人博客的访问页面;

好了,上面是凭空想出来的(任何地方搭建博客,都是上面的逻辑步骤,而不仅限于GitHub);那实际如何操作呢?具体分为4个阶段:

  1. 熟悉GitHub的基本操作(创建工程、上传代码、下载代码);
  2. 利用GitHub Pages功能,搭建简易网站;
  3. 利用jekyll,增强网站功能(除了jekyll,还有其他的方式);
  4. jekyll框架下,依照个人偏好,进行定制;

##3.实际操作

###3.1GitHub的基本操作

补充:上传文件至GitHub;另外,向GitHub提交代码时,按照上面的操作方式,需要每次都输入GitHub的用户名和密码,可以采用SSH Keys的方式来解决此问题。

git-github

###3.2如何搭建博客?

GitHub上对于个人博客的支持,实质是利用GitHub Pages功能来实现的,具体操作:GitHub Pages,认真读一遍,5mins,一步一步操作下来,简易博客就搭建成功了(一个简单的欢迎页面index.html)。

补充:扩展阅读GitHub Pages FAQ.

github-pages

###3.3Jekyll增强博客网站功能

详细阅读”3.2如何搭建博客“中提到的GitHub Pages的童鞋,在GitHub Pages页面最下端一定注意到了Blogging with Jekyll,对,就是他,读一遍,操作一下,搞定。

补充:jekyll用起来倒是用起来了,怎么发表一遍博文呢?这个…额…等到学会 “3.4 基于jekyll框架,定制博客” 再去写博客吧,现在建议把上面的操作反复看两遍,捋一捋逻辑流程。

###3.4基于jekyll框架,定制博客

先看一下两个使用jekyll框架的博客:BeiYuu & Havee,他们对应的模版在GitHub上都可以找到:BeiYuu.com Template of GitHub & Havee.me Template of GitHub

先膜拜一下上面两个博客模板,光彩夺目,亮瞎一双狗眼,好了,我能不能也搭建一个类似的博客?途径有一个:深入学习一下Jekyll的官方文档,补充:中文版本(基于jekyll,如何定制博客,我将写一篇详细的介绍,敬请期待)

###3.5绑定域名

几点:

  • 购买域名
  • GitHub上绑定域名:

TODO:整理GitHub上域名配置的基本原理:

  • 整理A、C域名的区别

##4.FAQ

###4.1使用google analytics来统计网站访问情况

  1. 注册Google Analytics账户;
  2. 在账户下,添加要监控的网站信息,Google Analytics会生成跟踪信息的JS片段;
  3. 将上述JS片段插入到自己想要统计的页面上;

具体设置细节:请查看官方文档

####TODO:使用百度统计,替代google analytics

TODO:单独写一篇文章,关注几点:如何配置、基本原理。

参考资料:

  • http://www.williamlong.info/archives/2214.html
  • http://lusongsong.com/reed/548.html

###4.2如何DISCUS作为评论插件?

  1. 注册DISQUS账户;
  2. 登录后,点击Add Disqus to your site按钮,操作下去,最终将获得相应的JS片段;
  3. 将上述JS片段插入到自己想要包含评论的页面即可;

###4.3配置网站,支持LaTeX语法

配置博客,支持LaTeX公式,此次设置kramdown来解析Markdown文件。

  1. /*
  2. If you have sufficient control over the publishing process
  3. (e.g. you are running Jekyll yourself), an easy solution is
  4. to switch the markdown parser to one that supports TeX.
  5. */
  6. //For example, using kramdown:
  7. gem install kramdown
  8. //Change the markdown line in _config.yml to
  9. markdown: kramdown
  10. //and add something like
  11. <script type="text/javascript"
  12. src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
  13. </script>
  14. //to _layouts/default.html.
  15. //Now you can simply mark any mathematics in your posts with $$

原文链接:Using MathJax with Jekyll

###4.4遇到的问题&解决办法?

  1. 执行Git命令时,出错提示:(fatal: remote origin already exists.)
  2. GitHub上markdown的解析引擎不同,会造成最终页面效果的差异
  3. jekyll serve启动出错提示:(Liquid Exception: invalid byte sequence in GBK)见下文

修改\Ruby200\lib\ruby\gems\2.0.0\gems\jekyll-1.0.3\lib\jekyll目录下的convertible.rb文件,将其中:

  1. self.content =File.read(File.join(base, name))

修改为:

  1. self.content =File.read(File.join(base, name),:encoding=>"utf-8")

如果上述修改之后,仍然提示出错,则:...\lib\jekyll\tags目录下include.rb文件,类似对于convertible.rb文件的操作;

github-social-coding

 

转自:

http://ningg.top/build-blog-with-github

分享到:
评论

相关推荐

    Github Pages 搭建个人博客

    Github提供了Github Pages服务,用于为项目建立介绍站点,也可以用来建立个人博客。 知识点二:Github Pages的优点 Github Pages有以下优点: 1. 轻量级的博客系统,没有复杂的配置。 2. 使用标记语言,如Markdown...

    使用github搭建的个人博客

    使用github搭建的个人博客

    Coisas托管在GitHub上的静态网站客户端CMS

    **Coisas:GitHub上的静态网站客户端CMS** Coisas是一款基于JavaScript开发的内容管理系统(CMS),特别设计用于托管在GitHub上的静态...对于个人博主、小团队或希望快速建立网站的用户来说,Coisas是一个理想的选择。

    GitHub hexo搭建个人博客

    3. **GitHub 个人仓库**: 在 GitHub 上创建一个以自己的用户名加 `.github.io` 的仓库,如 `guanbaisheng.github.io`。 #### 二、安装必备软件 1. **Git**: 访问 [Git 官方网站](https://git-scm.com/download) ...

    自学使用Github搭建图床

    【GitHub搭建图床】是指利用GitHub的存储空间...通过以上步骤,就可以利用GitHub搭建个人图床,并使用PicGo工具进行高效上传和管理。这种方式既经济又便捷,尤其适合程序员和博客作者,确保图片在互联网上的稳定访问。

    使用GitHub搭建Maven私库

    ### 使用GitHub搭建Maven私库 #### 背景与目的 随着软件开发项目的增多和个人技术积累的增长,很多开发者会有构建个人Maven私库的需求。这样不仅能够方便地管理自己开发的各种组件、库或者工具,还能高效地进行...

    在Linux环境下对GitHub网站个人博客的搭建.7z

    - 学会在Linux环境下配置安装hexo及GitHub - 学会使用hexo进行搭建网页 ...## 设计一个在GitHub上可以发布和阅读文章的个人博客网站,使用Hexo进行搭建,使其可以发布文章。并在Linux环境下实现运行

    利用github搭建个人maven仓库的方法步骤

    本文将详细讲解如何利用GitHub搭建个人Maven仓库,并将其配置为你的项目依赖源。 首先,我们需要理解Maven仓库的工作原理。Maven仓库是用来存储构建项目所需的各种依赖的,包括JAR包、POM文件等。这些仓库可以是...

    hexo +GitHub个人搭建的博客

    下面将详细阐述Hexo和GitHub搭建个人博客的过程及关键知识点。 1. **Hexo基本概念** - **站点结构**:Hexo站点通常包含`source`、`themes`、`public`、`config.yml`等目录,每个都有特定功能,如`source`存放内容...

    hexo-Github搭建个人博客.md

    hexo-Github搭建个人博客.md

    github漫游指南,详细的介绍github的使用

    - **GitHub Pages**:免费搭建静态网站,展示项目或个人作品。 ### 7. 学习资源 - **GitHub Learning Lab**:官方提供的互动式教程,帮助你逐步学习GitHub。 - **GitHub Docs**:详尽的官方文档,解答所有关于...

    personalwebsite.github.io:个人网站

    这里,我们主要讨论与HTML相关的知识,以及如何在GitHub上建立个人网站。 HTML(HyperText Markup Language)是网页制作的基础,它是一种标记语言,用于定义网页的结构和内容。HTML由一系列元素组成,这些元素以...

    xybervenom.github.io:个人网站

    在GitHub上建立个人网站,开发者通常会利用静态网站生成器(如Jekyll、Hugo或Gatsby)或者直接编写HTML、CSS和JavaScript代码来构建站点。 【标签】"HTML"表明了这个项目的核心技术之一是HTML(超文本标记语言),...

    adam-lynch.github.io:个人网站...即将推出

    标题中的"adam-lynch.github.io:个人网站...即将推出"表明这是一位名为Adam Lynch的开发者或设计师的个人网站项目,即将在...如果你对个人网站搭建、前端开发或者GitHub Pages的使用感兴趣,这是一个很好的学习案例。

    hexo+github搭建自己的博客

    仓库的名字一般设置为你在GitHub Pages上的用户名.github.io,因为GitHub Pages会默认使用这个名字的仓库来发布你的网站。记得在仓库设置里开启GitHub Pages功能,并选择源代码分支为主分支。 现在,我们可以在本地...

    GitHub上传方法.docx

    在这里,你需要输入`git clone [刚才建立的新网址]`,这里的`[刚才建立的新网址]`就是你在GitHub上创建仓库时得到的URL。执行这个命令后,会在本地创建一个与远程仓库对应的副本。 完成克隆操作后,你可以将所有要...

    GitHub + PicGo + Typora 搭建个人图床

    GitHub + PicGo + Typora 搭建个人图床详细教程(个人博客)

    codeinpink.github.io:我的github托管个人网站

    总的来说,`codeinpink.github.io`展示了如何利用GitHub Pages和Jekyll建立一个美观且实用的个人网站。通过学习这个项目的源码,我们可以了解到静态网站的构建过程,以及如何有效地展示个人品牌和技能。无论你是...

    east-winds.github.io:网站

    【描述】:迈克尔·戴维森的个人网站是利用Jekyll这个静态站点生成器搭建的。Jekyll是一个开源项目,由Ruby语言编写,它允许用户将文本格式的内容转化为静态HTML和CSS,适合用于创建博客、个人网站或项目文档等。...

    markmingjie.github.io:GitHub页面上的个人学术网站

    标题 "markmingjie.github.io:GitHub页面上的个人学术网站" 提示我们,这是一个基于GitHub的个人学术站点。GitHub是一个开源代码托管平台,用户可以创建并分享自己的项目,同时利用其强大的版本控制功能进行协作。在...

Global site tag (gtag.js) - Google Analytics