
拿了上海一家互联网金融小公司的 offer,面试的时候带着电脑把 Web 版简历给面试官看了下,感觉还是蛮加分的。
挺简单的,就是用 YAML 做简历数据源,Jade做模板,然后编译成 HTML 就完了。使用 Gulp 来监控文件变化,自动编译。然后找个地方托管,比如 GitHub Pages 就可以了。
Web简历地址: http://resume.hustlzp.com
代码: https://github.com/hustlzp/resume
主要的代码在这里:
https://raw.githubusercontent.com/hustlzp/resume/gh-pages/gulpfile.js
var fs = require('fs'); var jade = require('jade'); var gulp = require('gulp'); var yaml = require('js-yaml'); var moment = require('moment'); var Promise = require("bluebird"); var dataFile = 'data.yml'; var jadeFile = 'index.jade'; var htmlFile = 'index.html'; // 将相关函数promisify Promise.promisifyAll(fs); var renderFile = Promise.promisify(jade.renderFile); // 将data.yml和index.jade编译为index.html gulp.task('build', function () { fs.readFileAsync(dataFile, "utf8").then(function (content) { return yaml.safeLoad(content); }).then(function (data) { // 输出未压缩的HTML data.pretty = true; data.updateTime = moment().format("YYYY-MM-DD"); data.currentYear = moment().format("YYYY"); return renderFile(jadeFile, data); }).then(function (html) { return fs.writeFileAsync(htmlFile, html); }).then(function ) { console.log(moment().format("YYYY-MM-DD HH:mm:ss") + ' - SAVED'); }).catch(function (err) { console.log(moment().format("YYYY-MM-DD HH:mm:ss") + ' - ERROR\n' + err); fs.writeFile(htmlFile, err); }); }); // 源文件变动时,触发编译 gulp.task('watch', function () { gulp.watch([jadeFile, dataFile], ['build']); }); // gulp运行时触发一次编译,然后开启监控进程 gulp.task('default', ['build', 'watch']); 2 pcwuyu 2014-09-24 22:05:21 +08:00 不错啊。。看标题我还以为是免费生成简历来着的。。。。。 |
4 tolerious 2014-09-25 14:30:19 +08:00 可惜了光电的娃娃啊 |