前一段时间我看见一个问答,大概意思就是程序员都是怎么用自己的专业技能逗女朋友或表白的。

看了很多,有写定时关机脚本恶搞的,也有简单写个html展示的,其中最著名的就是几年前有个人写了个网页记录他们在一起时间的。

我决定也做一件类似的事情,但是写一个关机脚本恶搞这种事情简直太直男了,灵光乍现,我想是不是可以在github博客上做一些文章呢。

Bing了一下发现这件事情是可行的,github是可以展示图片的,以此原理实现一个相册应该是可以的。

知识点

  • github git
  • node npm
  • hexo
  • python
  • windows(我用的是windows系统)

这几个东西除了github之外我基本上都可以说是不认识,一点点来吧。

github的ssh key早在上古时代我就已经添加完了,所以这个就不用管了。剩下的所有软件我下载的统统是最新版,node已经包含了npm(个人感觉npm应该是一个很好用的包管理工具,如果没有npm想要安装的话,应该也不难)

看了很多博客,hexo是搭建博客的主要工具类似于jeyll,但是好像又不能直接克隆hexo-theme使用。所以hexo和hexo-theme应该区分概念。

hexo环境准备

安装node就比较简单了,一直下一步就好了。

安装hexo需要用命令行执行如下命令:

npm install -g hexo

安装了hexo后,创建一个项目文件夹,然后在项目文件夹中打开命令行。

  • 初始化
hexo init

如果不出意外的话,执行完次命令之后文件夹内会多了很多文件。

  • 生成
hexo g

这个命令就是单纯的生成项目,没有什么需要注意的。

  • 启动服务
hexo s

执行这个服务之后应该会有如下提示:

INFO  Start processing
INFO Hexo is running at http://localhost:4000/. Press Ctrl+C to stop.

访问localhost:4000应该就可以在本地浏览初始化后的博客了。

hexo-theme

在网上看了一下,使用率很高的是一款叫做hexo-theme-yilia的主题,于是我也就顺应潮流选择了这个。其实用这个主题有一个小小的私心,就是如果遇到问题的话,bing一下应该很快就能解决。

还是在之前的项目文件夹中执行:

git clone https://github.com/litten/hexo-theme-yilia.git themes/yilia

执行此命令后在themes文件夹下应该多出了对应的主题。

绑定这个主题需要修改项目文件夹内的_config.yml里的theme属性为yilia:

theme: yilia

修改了这个配置之后重新真实性hexo ghexo s应该可以在本地看到新的主题了。

同步到github

其实这个功能很方便,但是我感觉并不是很实用。

同样修改项目文件夹下的_config.yml

deploy:
type: git
repository: git@github.com:hoyuhub/hoyuhub.github.io.git
branch: master

然后在项目文件夹下执行如下命令,才可以同步到github。

npm install hexo-deployer-git --save

接着就可以执行同步命令了:

hexo d

执行完次命令后就可以在自己的github上浏览了。

添加相册功能

现在说一下这个功能的大概思路:其实很简单,就是把照片传到github上然后通过网络路径访问这些照片。

其实在网上早已有大神实现了这个功能,我也是拜读他的博客才得以实现的。

首先要做的任务就是fork一下Blog-Back-Up

这个项目的主要工作就是图片的切割和存储,fork好了之后把项目克隆下来,然后在Blog-Back-Up的同级目录克隆一下自己的博客项目,这样做的目的是让后面的操作更加方便。

  1. 在hexo项目文件夹source下创建一个photos文件夹。

  2. 把Blog-Back-Up项目blog_photos_copy文件夹里的文件复制到上面创建好的photos里面。

  3. 打开ins.js文件修改里面的render方法,把里面github的地址改成自己的。

    var minSrc = 'https://github.com/hoyuhub/Blog-Back-Up/tree/master/min_photos/'
    var src = 'https://github.com/hoyuhub/Blog-Back-Up/tree/master/photos/'
  4. 把照片放到Blog-Back-Up项目的photos文件夹里,命名方式为:2018-05-28_名字.jpg

  5. 打开tool.py文件,修改里面大概131行的路径

        with open("../hoyuhub.github.io/photos/data.json","w") as fp:
  6. 安装python,记得勾选将python添加到环境变量的选项。

  7. 在Blog-Back-Up目录下用命令行执行python:

    python tool.py
  8. 如果上面执行的都没有问题的话,此时在本地github博客项目的photos文件夹下应该会多了一个data.json文件,或者原来的data.json被更新。(可以用git status查看一下)将内容push到github就行了。


遇到问题

1. 执行python文件的时候有可能会报错,原因是没有导入对应的库,python还不是太懂,可能需要按照对应的报错搜索一下了。

2. 图片不显示,看一下ins.js里的路径是不是配置争取,F12看一下img的src是否可以访问到。

3. 可能会出现缩略图不展示的情况,F12浏览器调试一下,看看是不是缺少一个叫empy.png的图片。如果是的话,可以去我的项目里找一个然后创建对应的文件夹,推送到github就行了。

4. 如果检查检查了路径配置正确,empty.png也添加正确,可还是有缩略图不展示的问题,恭喜,你已经完成了,ctrl+f5你会豁然开朗。

Github相册博客搭建的更多相关文章

  1. GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置

    GITHUB个人博客搭建-Pelican 在Windows环境下的安装及配置 前言 此篇博客主要为Pelican在Windows平台下的配置安装所写,在此过程中主要参考资料烟雨林博客.poem_of_ ...

  2. Hexo+Github个人博客搭建 | 实战经验分享

    概述 第一次尝试搭建属于自己的博客,并且成功了,非常开心. 很久之前就想搭建一个博客,可是也一直没有行动,最近在逛B站的时候发现一个up主(CodeSheep)的一个视频 <手把手教你从0开始搭 ...

  3. github文件上传及github pages博客搭建教程

    一.与github建立连接 1.安装node.js和git 2.桌面新建文件夹[github],右键“git bash here” 3.注册github账号,新建仓库“new repository”, ...

  4. Github pages博客搭建与域名绑定

    Github Page github page是由用户编写的托管在github上的静态网页,为了搭建一个个人博客,我们可以租用一个云服务器然后部署我们的博客项目,常见的比如wordpress,像wp这 ...

  5. 使用hexo搭建github.io博客(一)

    使用github.io可以搭建一个自己的博客,把静态文件项目托管到github上,可以写博客,可以使用markdown语法,也可以展示作品.灵活性高.但是有较大的难度. node,git版本变化日新月 ...

  6. 象写程序一样写博客:搭建基于github的博客

    象写程序一样写博客:搭建基于github的博客   前言 github 真是无所不能.其 Pages 功能 支持上传 html,并且在页面中显示.于是有好事者做了一个基于 github 的博客管理工具 ...

  7. 基于Github&Hexo的个人博客搭建过程

    大家好,这里是「 从零开始学 Web 系列教程 」,并在下列地址同步更新...... github:https://github.com/Daotin/Web 微信公众号:Web前端之巅 博客园:ht ...

  8. 使用Hexo搭建Github静态博客

    1. 环境环境 1.1 安装Git 默认配置就好 1.2 安装node.js 下载:http://nodejs.org/download/ 安装时直接保持默认配置即可. 2. 配置Github 1.1 ...

  9. 一站式搭建 GitHub Pages 博客 (一)

    本文将详细讲解如何快速搭建 GitHub Pages 博客页面 关于博客主题,博客信息更改,上传文章等将会在 一站式搭建 GitHub Pages 博客 (二) 中进行详细讲解 准备阶段 注册 Git ...

随机推荐

  1. 参数innodb_force_recovery影响了整个InnoDB存储引擎的恢复状况

    参数innodb_force_recovery影响了整个InnoDB存储引擎的恢复状况.该值默认为0,表示当需要恢复时执行所有的恢复操作.当不能进行有效恢复时,如数据页发生了corruption,My ...

  2. ASA 用TFTP 备份配置方法

    一种方法是用ASDM,在菜单样哪项里有一个backup,保存为一个压缩文件rar,恢复也是用ASDM.另一种是用TFTP SERVER 来做,电脑用网线接上ASA,还要把cisco TFTP SERV ...

  3. windows注册表

    如何导入与导出注册表 进入注册表编辑器,选择“文件”“导出”命令,打开“导出注册表文件”对话框.选择保存位置并为其取名,单击保存即可完成注册表的备份. 打开注册表编辑器,选择“文件”“导入”命令,打开 ...

  4. pycharm 中脚本执行的3种模式

    https://blog.csdn.net/chenmozhe22/article/details/81700504

  5. KMS服务器软件-windows/OpenWRT-X64版

    软件项目: https://github.com/Wind4/vlmcsd windows版kms服务器 https://files.cnblogs.com/files/SilenceRet/vlmc ...

  6. October 23rd, 2017 Week 43rd Monday

    Champions have the courage to keep turning the pages because they know a better chapter lies ahead. ...

  7. Kafka安装及使用

    zookeeper安装 下载地址:https://www.apache.org/dyn/closer.cgi/zookeeper/ 我这里下载的是zookeeper-3.4.13版本,下载后解压在E: ...

  8. BZOJ3236:[AHOI2013]作业(莫队,分块)

    Description Input Output Sample Input 3 4 1 2 2 1 2 1 3 1 2 1 1 1 3 1 3 2 3 2 3 Sample Output 2 2 1 ...

  9. C++的技术探究

    C++深究 函数指针 double pam(int, double); // prototype double (*pf)(int, double); // declare function poin ...

  10. docker swarm英文文档学习-4-swarm模式如何运行

    1)How nodes work Docker引擎1.12引入了集群模式,使你能够创建一个由一个或多个Docker引擎组成的集群,称为集群.集群由一个或多个节点组成:在群模式下运行Docker引擎1. ...