于是我用 Python 重写了那个上千 star 的“开源”简历模板

2015-12-03 19:07:39 +08:00
 sinux

DEMO 地址: [我是链接]( http:sinux.cc),阅读密码: 1234, 管理密码: abcd
项目地址: https://github.com/shnode/Deerlet

为什么不用 DeerResume

DeerResume 是国内很火的一个“开源”简历模板。

DeerResume 的前端很漂亮,但它远远称不上作者所说的“ DeerResume 作为一个开源软件”。因为简历一切数据都保存在 http://cvbox.sinaapp.com/ 这个 sae 的云端,是的,并且在 app.js 中:

var baseurl = 'http://cvbox.sinaapp.com/'; // 使用 SAE 托管简历数据
// var baseurl = 'data.php'; // 使用本地文件托管简历数据,本地模式下,不支持在线编辑

我们不去猜测这么多保存在云端的简历会被拿去做什么,可能如作者所说只是做数据缓存。但是这个本地的 data.php 基本上没什么用处,在离线的情况下(本地调试),我甚至不能编辑,修改和查看我自己的简历, 因为它根本就不存在。

而打印服务,也是放在作者的远端,依赖一个 http://pdf.ftqq.com/ 的链接,并提供下载服务。

如果你用这个服务下载了 pdf 文件,那么这个文件的底端还有水印。

这些理由已经足够让我不去使用它了,更不要说阅读密码和管理密码的传输方式,参见 issue

Deerlet

Deerlet 是一个开源在线简历模板,提供在线展示,在线编辑,下载 pdf 服务(无水印:),密码写死在后台配置文件并在 session 中保存和验证,不需要任何数据库。

DEMO | 在线预览 (阅读密码: 1234, 管理密码: abcd )

(resume.md 的基本模板仅作为参考)

下载及部署

( Deerlet 只支持 Python3 )

依赖 Python3 环境。

克隆 Deerlet:

git clone git@github.com:shnode/Deerlet.git && cd Deerlet/static && git clone https://github.com/pandao/editor.md.git

安装第三方包(最好在 virtualenv 中):

pip install -r requirements.txt

安装 pdf 打印服务的依赖 wkhtmltopdf:

osx/windows : 在 http://wkhtmltopdf.org/downloads.html 下载的对应版本并安装。

DEB 系 linux: sudo apt-get install wkhtmltopdf

其余 linux 查询相关包管理或去 http://wkhtmltopdf.org/downloads.html 下载.

如果下载之后仍然报错,请尝试重新编译 QT 和 wkhtmltopdf ,参见: 链接

由于服务器中文字体不全的问题,请下载字体并更新缓存:

sudo apt-get install fonts-wqy-microhei ttf-wqy-microhei fonts-wqy-zenhei ttf-wqy-zenhei
fc-cache -f -v

运行:

Python3 main.py

open "http://127.0.0.1:5000" # 访问 http://127.0.0.1:5000

配置

建议在使用之前,进行配置。配置集中在 Deerlet 的项目根目录下的 config.py 中:

SECRET_KEY = os.environ.get('SECRET_KEY') or 'deerletisawesome'  # Modify your SECRET KEY 建议足够复杂

TITLE = 'Deerlet'  # 简历标题,例:马云的简历
SUB_TITLE = '基于 Python 的开源简历模板'  # 简历子标题,一句话介绍自己,例:好的东西往往都是很难描述的。
READ_PASSWORD = '12345'  # 简历浏览密码
ADMIN_PASSWORD = 'abcd'  # 简历管理密码
BASE_DIR = basedir
UPLOAD_FOLDER = basedir

PDF_OPTIONS = {
    'page-size': 'Letter',
    'margin-top': '0.75in',
    'margin-right': '0.75in',
    'margin-bottom': '0.75in',
    'margin-left': '0.75in',
    'encoding': "UTF-8",
    'no-outline': None
}  # PDF 设置

在线编辑模式下,每 6 秒自动保存一次当前的文本(全文保存),如果你想修改这个数值,在 admin.html 的第 35 行进行修改:

setInterval("saveToFile()", 6000);  // 修改自动保存的时间

一切简历数据(除了标题)保存在 resume.md 中,如果喜欢,你也可以离线编辑,并且 copy 到任何地方。

License

GPLv2

5267 次点击
所在节点    分享创造
16 条回复
hbkdsm
2015-12-03 19:10:24 +08:00
Interesting, 收藏了
jimmy66
2015-12-03 19:33:24 +08:00
Star ,非常感谢!
unity0703
2015-12-03 19:33:24 +08:00
前排支持
elya
2015-12-03 20:35:00 +08:00
非常好
defunct9
2015-12-03 20:51:13 +08:00
🆗
xuzywozz
2015-12-03 22:51:07 +08:00
亦可赛艇
sevncz
2015-12-04 17:02:59 +08:00
已 star
Douglee
2015-12-04 17:35:39 +08:00
围观~
nicegoing
2015-12-06 00:15:37 +08:00
这什么鹿的模板非常丑。打印出来好难看,很后悔当初花了点时间在上面。我实在不明白为什么这么多跟风的。还有,真的有模仿的必要?就是些 md 语法而已。
Raynor41
2015-12-08 00:08:53 +08:00
鼓励,已经 star
GNiux
2015-12-30 17:45:04 +08:00
按照 README.md 写的步骤安装相应应用 /依赖后,在执行

> sudo python3 main.py
出现:
> Traceback (most recent call last):
File "main.py", line 6, in
from flask import Flask
ImportError: No module named 'flask'

求解答。谢谢!

本机: Ubuntu 14.04
sinux
2015-12-30 23:40:48 +08:00
@GNiux (不需要用 sudo 的)这个是没找到 flask ,先 pip freeze 确定一下当前环境是否有 flask
GNiux
2015-12-31 12:27:19 +08:00
@sinux
已查看,安装了呢:
> Flask==0.10.1
> Flask-Markdown==0.3

奇怪,我用:> python3.4 main.py; 或 python3.3 main.py ;或 python3 main.py 都是同样错误。
但 > python2.7 main.py 则出现:

> UnicodeDecodeError

UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position 0: ordinal not in range(128)
Traceback (most recent call last)

File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1836, in __call__

return self.wsgi_app(environ, start_response)

File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1820, in wsgi_app

response = self.make_response(self.handle_exception(e))

File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1403, in handle_exception

reraise(exc_type, exc_value, tb)

File "/usr/local/lib/python2.7/dist-packages/flask/app.py", line 1817, in wsgi_app

response = self.full_dispatch_request()

——不好意思, python 不是很熟,正在学习中……谢过
sinux
2015-12-31 14:35:01 +08:00
@GNiux 不知道你有没有用虚拟环境。如果没用,可能包是装在 Python2 的环境中。
blade254353074
2015-12-31 14:56:18 +08:00
@sinux 厉害
GNiux
2015-12-31 16:52:58 +08:00
@sinux
没用虚拟环境。。再试试。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/240931

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX