背景
前一阵子,闲下来便开始着手做一个一直想做的东西--resume。经过几天业余时间的折腾,终于做出了一番模样。
Github项目地址:https://github.com/eternityspring/eternityspring.github.io
需求来源
通常在各个招聘网站,我们填写完一些信息后,网站就可以帮助我们生成一个很不错的简历。但是作为一名开发者,尤其是前端开发者,可能对这种简历并不满意。
这时候,相信有很多同胞们就希望能自己动手做一个很漂亮的web版的简历:
- 别具一格的,拥有自己的风格,不同于大众化的简历风格。
- 响应式的,在手机、pad、pc各个平台很方便的浏览。
- 可打印的,不仅仅能够在浏览器很好的展示,在需要使用的时候也可以很方便的打印出来。
有了这样一个简历,走到哪里,别人问你你可以选择掏出手机打开网站,然后展示你的个人介绍。打开网址然后打印成纸质档。
设计
有了需求,接下来就是设计了。包括界面的设计,和具体展示内容的设计。
在界面设计方面,我们可以去:Pinterest、Behance、Dribbble、花瓣、站酷等知名的设计展搜索简历或者resume,然后综合一下,做出一个适合自己的风格。
内容方面,我们可以看看传统简历的内容划分。我在制作的过程中将内容划分成了:
- 基本资料:姓名、联系方式之类的。
- 个人简介:介绍一些个人基本情况。
- 经验:不同时期简短的从业经历介绍。
- 技能:客观的对自己所掌握的工具和技术栈打个分。
- 常逛网站:通过经常浏览的这些网站可以看出我通常所关注的技术领域。
由于在浏览器中展示,为了好看,页面可能会很长。所以这里我把联系方式放在首屏展示,页脚也展示了一下。这样可以让浏览者便捷的联系到我。
环境搭建
Git,做代码管理版本控制。在这里我选择把源码托管在Github上,并创建了一个Github Page:
https://eternityspring.github.io。
webpack,做自动化构建。包括对js、scss的打包,还可以创建一个基于nodejs的http server已经热部署能众多功能。
webstrom,前端开发神器。不解释。
架构与编码
这里,我采用了restful的开发风格。先做出了一个纯html的版本,然后再把里边展示的个人信息放在了一个json文件中。然后引入zepto和vue.js两个js库。当然,如果你有耐心,也可以选择自己造轮子用原生的来写。这里我不想折腾,所以用了第三方。在这方面很赞同一个群友的说法:有轮子就用呗,只要不是方的就好-.-
vue.js是用来渲染数据到html页面中的。zepto是用来发请求,获取数据用的(请求工具修改为了vue-resource)。
编码调试,是最为机械的部分了,只要你是老司机,都是手起刀落嘛!
完善与点缀
做完上述功能,能不能添加点花样呢?时下css3这么火热,何不用css3添加一些过度动画,让页面中的信息展示的更自然。于是,设计一些过度效果,添加到页面中。这里我选择引入了wow.js。css3动画是自己写的。一共也没多少效果。
于是,就有了页面加载时的加载动画,有了页面滚动时,元素出现的动画。
web版的基本上是由了。那么实际中如果需要纸质版呢?so easy,打印web版呗。于是基于上边的版本做了一个打印测试,结果不尽人意。于是我查了一下,有css3的媒体查询可以控制打印样式(@media print)。如此神器,便又是一番啪啪啪的编码调试。
最后,为了保护隐私。我选择了把真实名字在打印的时候才显示。在通常只显示了昵称。
总结
比起看书,可能我更习惯于这种以需求为驱动的学习吧。通过制作这个resume,学习了webpack的使用,学习了vue的使用。学习了css3的一些新特性。学习了flex布局。多动手吧-.-
你也可以选择fork我的项目,然后改一个自己的版本:
https://github.com/eternityspring/eternityspring.github.io
当然,如果star我也不介意-.-
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。