我用HTML写简历
本文属于原创文章,转载请注明--来自桃源小盼的博客
起因
每次换工作写简历都是有点痛苦的事情,尤其是下载word模板,各种注册流程,有的还得买积分,冲会员,甚是不爽。就算下载好了,修改其中的一些细节也不太熟悉各种功能,由于长期不用word,早把很多设置功能抛之脑后。
忽然有一天灵感涌上,这种简易的模板样式,对于一个前端工程师来说,写个页面分分钟的事,只要能把html转成pdf格式这事就成了。
Puppeteer
Puppeteer是谷歌出的一个headless自动化工具。
- 利用网页生成PDF、图片
- 抓取网站内容
- 自动化表单提交、UI测试、键盘输入等
- 创建一个最新的自动化测试环境
用来把html转换pdf,虽然是有点大材小用,但是很适合,渲染效果也是足够放心的。
install
# > Node v6.4.0
npm i puppeteer --save
但是安装这里有坑位,还好前人踩过坑了,失败的人点这里,笔者也是下载失败了~~~
index.html
具体怎么写得养眼,就是自己的事情了,这里提供一个简单的模板。
<!doctype html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>我的简历</title>
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
<link rel="stylesheet" href="style.css"/>
</head>
<body>
<div class="content">
主要内容
</div>
</body>
</html>
gulpfile.js
既然想要写得爽,怎么也得来个热更新吧,搞个简单的自动化工具。
Puppeteer只能访问http地址,所以还需要静态资源服务
npm i --save browser-sync gulp gulp-notify
- browser-sync 提供静态服务器和热更新
- gulp 自动化工具
const gulp = require('gulp')
const notify = require('gulp-notify')
const browserSync = require('browser-sync').create()
const reload = browserSync.reload
// 热更新
gulp.task('styles', function () {
return gulp.src('src/*.css')
.pipe(reload({stream: true}))
.pipe(notify({message: 'Styles complete'}))
});
// 静态资源服务
gulp.task('serve', ['styles'], function () {
browserSync.init({
server: {
baseDir: "./src"
},
port: 7000,
// 关闭右上角通知
notify: false
})
gulp.watch('src/**/*.css', ['styles'])
gulp.watch('src/**/*.html', reload)
})
build.js
只差转换生成了,这里用到了await语法,否则层级太深。
(async function () {
const path = require('path')
const puppeteer = require('puppeteer')
const browser = await puppeteer.launch()
const page = await browser.newPage()
await page.goto('http://localhost:7000')
await page.pdf({
path: 'resume.pdf',
format: 'A4',
// 打印背景色
printBackground: true
})
await browser.close()
console.info('build done')
})()
结语
最后写简历的事情,也被我们工程化了,想想也是省心省力。可以发挥我们的想象,加入各种好玩的东西,再也没人有跟我一样的简历样式了。
这里写了一个简单的项目,仅供参考demo地址
我用HTML写简历的更多相关文章
- 【转】IT职场人生系列之四:怎样写简历
本文是IT职场人生系列的第四篇. 因为早年跳槽无数,所以积累了不少"技巧",逐渐变成写简历的"专家",最长的时候简历到了12页,所以现在练就一手写长篇博客的功夫 ...
- 怎么写简历,简历才不会被丢到非洲🌍
前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 最近的三歪朋友圈可以看到很多的字节.腾讯的同学都 ...
- iOS开发,这样写简历才能让大厂面试官看重你!
前言: 对于职场来说,简历就如同门面.若是没想好,出了差错,耽误些时日倒不打紧,便是这简历入不了HR的眼,费力伤神还不能觅得好去处,这数年来勤学苦练的大好光阴,岂不辜负? 简历,简而有力.是对一个人工 ...
- 用latex写简历
最近终于逐渐掌握了用Latex写中文简历的问题.首先就是必须基于交大前辈bin yuan的模板进行学习. 如果有了一般论文撰写和Beamer做PPT的经验,不难发现resume的模板也是遵循一套程式的 ...
- 在github上写个人简历——最简单却又不容易的内容罗列
前篇博客分享了一下自己初入github的过程,傻瓜式一步步搭建好主页后,终于该做正事儿了——写简历.在脑袋中构思了很多版本,最后终于决定,先写一个最传统的版本,于是我在箱子中翻出我word版本的简历, ...
- 在github上写个人简历——先弄个主页
起因 不知道园友们在使用智联招聘等网站填写简历的时候对要求输入的内容有没有一种无力感,不吐槽了反正就一句话,按照它提供的格式我没法儿写简历,而且面试的时候总会被问道有没有自己作品,哥们儿天天上班,下班 ...
- 怎样写好一份IT技术岗位的简历
10月是校园招聘的旺季,很多应届毕业生都忙碌起来了,从CSDN笔试-面试文章的火热程度,从我收到的简历就看得出来. 我很久没有参与笔试和面试了,所以只能从“简历”来阐述下我的看法. 截至目前,已经帮8 ...
- github上写个人简历
随笔- 70 文章- 0 评论- 567 在github上写个人简历——先弄个主页 起因 不知道园友们在使用智联招聘等网站填写简历的时候对要求输入的内容有没有一种无力感,不吐槽了反正就一句话 ...
- 用markdown + html写一封简历
0. 前言 1. 阶段1 - 确定需要几个模块 2. 阶段2 - 使用纯文字填充简历 3. 阶段3 - 预留空格 4. 阶段4 - 文章垂直方向的调整 5. 阶段5 - 居中对齐 6. 阶段6 - 加 ...
随机推荐
- [转帖]怎样选择(FC-SAN)光纤通道(存储)交换机
怎样选择(FC-SAN)光纤通道(存储)交换机 https://blog.csdn.net/sinat_30171789/article/details/50510936 交换机的种类非常多... ...
- [19/06/08-星期六] CSS基础_表格&表单
一.表格 如生活中的Excel表格,用途就是同来表示一些格式化的数据,如课程表.工资条.成绩单. 在网页中也可以创建出不同的表格,在HTML中使用table标签来创建一个表格.table是个块元素. ...
- 使用CyclicBarrier+线程池,按总页数分批次开多线程执行逻辑
通过CyclicBarrier+线程池的方式,同步的方式分页分批次并发高效处理逻辑,将总页数分成多个批次并发执行每页逻辑,每个批次处理DO_MAX_SIZE个页,每个批次等待DO_MAX_SIZE个页 ...
- 51nod 1963 树上Nim
这题还真就是树上玩 Nim... 相关知识点就是阶梯博弈,具体可以康这里 →_→ PS:手动搜索阶梯博弈 然后这题就转化为了多路径的阶梯博弈,这样的话咱定义根节点深度为 0,然后把所有奇数深度点的权值 ...
- 初学Python写二进制文件
初学Python写二进制文件 把一个图片的16进制数据保存到一个txt文本,从这个txt文本读出并保存为二进制文件jpg图片文件.说明:图片读出的0xff粘贴ff到文本中,读出时是字符串的”ff”. ...
- 通过编写串口助手工具学习MFC过程——(六)添加Edit编辑框控件
通过编写串口助手工具学习MFC过程 因为以前也做过几次MFC的编程,每次都是项目完成时,MFC基本操作清楚了,但是过好长时间不再接触MFC的项目,再次做MFC的项目时,又要从头开始熟悉.这次通过做一个 ...
- Desert King(01分数规划问题)(最优斜率生成树)
Desert King Time Limit: 3000MS Memory Limit: 65536K Total Submissions:33847 Accepted: 9208 Descr ...
- Consul服务发现在windows下简单使用
目录 基本介绍: 服务连接: 客户端: 系列章节: 回到顶部 基本介绍: 安装: 下载地址:https://www.consul.io/downloads.html 运行: consul agent ...
- json与导入模块目录
import json """主要用于不同语言的数据公用 """ info = {"a":1,"b" ...
- burp intruder模块详解
0×01 介绍 安装要求: Java 的V1.5 + 安装( 推荐使用最新的JRE ), 可从这里免费 http://java.sun.com/j2se/downloads.html Burp Sui ...