分类「 vally-sys
2017-05-25
vally
Vally 史
qucick-deploy
qucick-deploy

# First Edition

最一开始写博客程序的时候是在去年的九月份左右。
当时抱着试一试的心态去做的。
vue + 一个微小的 php 后台。 (我已经不写 php 了 而且有点鄙视php的一些设计。。 )
第一次提交
第一次提交
租了服务器,搞好了数据库 勉强能用。 以下是当时截的图片
vv-001
vv-001
vv-002
vv-002
vv-003
vv-003
黑历史 简直不忍直视233

# Second Edition

由于自己几乎没有后台开发的经验,所以第一版 Vally 很渣 (不论前端还是后台)
那个时候写的是前后端分离,不过事实证明,博客程序不建议前后端分离,因为规模不算很大,如果要搞前后端分离,又要学多好些东西、而且不利于 SEO,对于内容型网站 这点很要命。
因此我才会开始寻求静态博客的解决方案。
hexo 我也用过,感觉很厉害,自然而然的萌生了自己开发一个出来。
差不多年底的时候 我开始了静态化之路,那时候我对 node 的认识几乎为 0 ,可以认为我仅仅只是刚刚学了点前端的 JS 的叼毛。
Happy New Year
Happy New Year
有生之年的静态化博客
有生之年的静态化博客
一开始 并不知道有什么 “后端模版渲染” 这种东西,我对模版的认识仅仅是 Vue 上面令人印象深刻的 {{ Value }} 因此一开始做起来相当吃力,后来才知道有很多厉害的模版渲染引擎 于是拿来用了。(Vally用的是 artTemplate

这次我最大限度的利用了 gulp 来构建整个程序。
一直很欣赏 gulp 的设计哲学 它只有 04 个核心 API:
  1. gulp.src
  2. gulp.watch
  3. gulp.dest
  4. gulp.task
利用这四个已经可以做到第二版 Vally 大部分工作了:
  1. 文件复制 合并压缩
  2. 开启本地服务器并开启 Hot-Reload
  3. new 命令 generate 命令 deploy 命令 serve 命令
00$ gulp new --name="New Blog.md"  # 新建新博客 
01$ gulp serve                     # 开启写作服务器
命令命名借鉴自 hexo

  1. 静态化 Vally 让我对 node 的认识更清晰了 熟悉原生库和第三方库的使用方法
  2. 那段时间我认真的修了一门影响重大的课程 EDA 设计,状态机的概念深入人心
在元旦假期那会完成了主要代码并发表了一篇 test
2nd-vally-happynewyear
2nd-vally-happynewyear

# An Important Update

严格来说这不算是 重构 不过这次大更新很重要 我几乎重写了全部 CSS 样式 整个页面看起来也完全不同了。
2nd-vally-004.jpg
2nd-vally-004.jpg
之后我添加了 七牛静态图片一键上传 第一次使用 CDN
利用 simple-git 做 git 一键 commit push
以上两点完成了博客的快速部署。
00$ gulp generate                  # 构建 
01$ gulp deploy                    # 部署到 Git Pages
至此之后,Vally算是比较完善了,有一套的命令可以用 我也没怎么去管他了 平时写博客的时候也修修补补了一波bug。
randstr002.png
randstr002.png
(右边的那些介绍就是当时的样式)
这次装修我更加意识到了 文章应该由 文章头和文章体构成,而且这样做很适合我们对其编程,因为参数来源就在那里而不是别的什么乱七八糟的地方。
而且利用这个可以很方便的自己创建 专用 CSS 样式 (这个我还没想好到底怎么做最好)
write
write

# Third Edition

之后我接触到了函数式编程。
偶然的一天看到之前写的代码(一月份) 感觉很糟糕(很多 for 我看不懂)
然后我觉得是时候重构了,于是花了四天 把样式推翻重写,把全部实现完全重写。
于是有了现在的这个Vally。
  1. 真正的命令行程序
  2. 真正的快速部署 (GitPages Qiniu)
  3. 文章头、文章体的清晰结构
th-vally-001.png
th-vally-001.png

用到的技术主要有:
  1. 模版渲染 art-template
  2. 开发服务器要用到的 gulp-connect
  3. 做快速部署 simple-git && qiniu
  4. 函数式编程库 Ramda.js
  5. 基于 promise 的 fs 模块 then-fs
  6. 编写命令行程序需要的库 Shell.js
00$ vally new "Hello, Vally"  # 新建 
01$ vally serve               # 写作
02$ vally generate            # 构建 
03$ vally deploy              # 部署
不得不指出 阮一峰老师的博客对我影响很大,上述很多库都是从他那儿的教程入门学习的。
也因此真正入了门。
Stay … Stay …
大显示器
大显示器
我最近在学 Haskell




回到顶部