Repository: crispgm/resume Branch: master Commit: e0501c35ea26 Files: 38 Total size: 40.6 KB Directory structure: gitextract_j_4csyw0/ ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE.md │ └── workflows/ │ └── ci.yml ├── .gitignore ├── .scss-lint.yml ├── Gemfile ├── LICENSE ├── README.md ├── README_zh-CN.md ├── Rakefile ├── _config.yml ├── _config_colorful.yml ├── _config_gem.yml ├── _data/ │ ├── resume.yml │ └── resume_zhcn.yml ├── _includes/ │ ├── foot.html │ └── head.html ├── _layouts/ │ ├── default.html │ ├── resume.html │ └── resume_zh_cn.html ├── _sass/ │ ├── _body.scss │ ├── _footer.scss │ ├── _header.scss │ └── _main.scss ├── assets/ │ └── css/ │ └── resume.scss ├── jekyll-minimal-resume.gemspec ├── port-hexo/ │ ├── README.md │ ├── _config.yml │ ├── layout/ │ │ ├── _partial/ │ │ │ ├── foot.swig │ │ │ ├── head.swig │ │ │ └── resume.swig │ │ └── index.swig │ ├── package.json │ └── source/ │ └── resume.css ├── resume.html ├── resume_zh-CN.html └── script/ ├── bootstrap └── cibuild ================================================ FILE CONTENTS ================================================ ================================================ FILE: .github/FUNDING.yml ================================================ # These are supported funding model platforms custom: https://www.buymeacoffee.com/crispgm ================================================ FILE: .github/ISSUE_TEMPLATE.md ================================================ - [ ] I believe this to be a bug, not a question about using Crisp Minimal Résumé. - [ ] This is a feature request. --- ## My OS - [ ] I am on (or have tested on) ***macOS*** 10+ - [ ] I am on (or have tested on) ***Ubuntu*** GNU/Linux - [ ] I am on (or have tested on) ***Other*** GNU/Linux - [ ] I am on (or have tested on) ***Windows*** 10+ ## My Ruby/Jekyll Version --- ## My Issue - [ ] I cannot install Gem. - [ ] I cannot run/debug the theme locally. - [ ] My résumé does not render correctly. - [ ] My résumé has problem with Github Pages. - [ ] Other. (Replace with your description here.) ## My Reproduction Steps 1. Step 1 2. Step 2 3. Step 3 ================================================ FILE: .github/workflows/ci.yml ================================================ name: build on: [push, pull_request] jobs: ci: name: run runs-on: ubuntu-latest strategy: matrix: ruby: [3.0.0, 2.6.0] steps: - uses: actions/checkout@master - uses: mstachniuk/ci-skip@v1 with: fail-fast: true - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby }} - name: "Update Rubygems & Bundler" run: "gem update --system --no-document && gem update bundler --no-document" - name: "Install Bundler 2" run: 'gem install bundler -v "2.0.1" --force' - name: "Setup bundle" run: "bundle install --jobs 4 --retry 3" - name: "Run Test Suite" run: "bash script/cibuild" ================================================ FILE: .gitignore ================================================ /_site/ Gemfile.lock *.gem .sass-cache/ yarn.lock node_modules ================================================ FILE: .scss-lint.yml ================================================ scss_files: '_sass/*.scss' linters: PropertySortOrder: enabled: false ================================================ FILE: Gemfile ================================================ source "https://rubygems.org" gemspec gem 'scss_lint', require: false ================================================ FILE: LICENSE ================================================ The MIT License (MIT) Copyright (c) 2021 David Zhang Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ # Crisp Minimal Résumé

GitHub CI Gem Version npm version

## Introduction [English](/README.md) [简体中文](/README_zh-CN.md) This is a responsive minimal résumé template made by Crisp, powered by [Jekyll](http://jekyllrb.com/). And we also provide an official [Hexo port](/port-hexo/README.md) for Hexo users. You may config all the data in `yaml` and make it your own résumé. Then, you might use on GitHub Pages, your website, or wherever you want. [DEMO](https://crispgm.github.io/resume/resume.html) ## Features - Simple, elegant, and minimal design - PC and mobile friendly, but it looks better on PC - PDF supports and print friendly - Flexible and extensible ## Usage ### Local Mode 1. Clone the repo ```shell git clone https://github.com/crispgm/resume.git ``` 2. Install Jekyll ```shell gem install jekyll ``` 3. Config your résumé data The `baseurl` is required in `_config.yml` if you serve this page as part of your website. And your contact information, **EDUCATION**, **SKILLS**, **EXPERIENCE**, and **PROJECTS** data will be set in `_data/resume.yml`. 4. Run and Debug ```shell jekyll serve ``` 5. Build ```shell jekyll build ``` ### Gem-based Theme 1. Create a `Gemfile` ```shell source "https://rubygems.org" gem "jekyll-theme-minimal-resume" ``` And then, ```shell bundle install ``` 2. Init `_config.yml` ```yaml title: Résumé Title baseurl: "/resume/" theme: "jekyll-theme-minimal-resume" ``` 3. Create a `index.html` ```yaml --- layout: resume --- ``` 4. Create `_data/resume.yml` and fill in your resume data. [Example data is available here](/_data/resume.ytml). ## Data Format ### Contact ```yaml contact: - icon: fa-envelope text: youremail@example.com - icon: fa-phone-square text: your-phone-num - icon: fa-globe text: your-website.com link: https://crispgm.github.io/resume/resume.html ``` FontAwesome iconfont is embedded, so use the `fa-` class name as icon. `link` is optional, present if you want a link for your web version. ## Colors There are a set of colorscheme. `color` may be specified in `_config.yml`. The default colorscheme is gray. ```yaml color: gray ``` Colors powered by [Open-Color](https://yeun.github.io/open-color/): - red - pink - grape - violet - indigo - blue - cyan - teal - green - lime - yellow - orange Colors powered by [Nord](https://www.nordtheme.com/): - nord ## Extending Sections 1. Add new section in `_data/resume.yml` ```yaml languages: - name: English proficiency: Professional working proficiency - name: Mandarin Chinese proficiency: Native or bilingual proficiency ``` 2. Add section to `_layouts/resume.html`: ```html
Language
{% for lang in site.data.resume.languages %}
{{ lang.name }}
{{ lang.proficiency }}
{% endfor %}
``` ## Showcases Feel free to add yours here. - [David Zhang](https://crispgm.com/resume/) ## Donation - [Buy Me A Coffee](https://www.buymeacoffee.com/crispgm) ## License [![license](https://img.shields.io/github/license/crispgm/resume.svg)](/LICENSE) ================================================ FILE: README_zh-CN.md ================================================ # Crisp Minimal Résumé

GitHub CI Gem Version npm version

## 简介 [English](/README.md) [简体中文](/README_zh-CN.md) 极简风格的响应式简历模板,基于 [Jekyll](http://jekyllrb.com/),可以直接部署在 GitHub Pages 上。 通过配置 `yaml` 文件,就可以完成简历,并部署在网站上或是输出成 PDF。 [示例](https://crispgm.github.io/resume/resume_zh-CN.html) 我们现在为 Hexo 用户提供了官方移植的 [Hexo 版本](/port-hexo/README.md)。未来,我们将支持 Hugo 主题。 ## 功能和特点 - 简单、优雅、极简的设计 - 桌面和移动友好,但桌面上的效果会更好 - 支持输出 PDF 并且打印机友好 - 简单的扩展方式 ## 安装和使用 ### 本地模式 1. 克隆(可以先 fork) ```shell git clone https://github.com/crispgm/resume.git ``` 2. 安装 Jekyll ```shell gem install jekyll ``` 3. 配置简历数据 首先在 `_config.yml` 中配置 `baseurl`,如果需要部署在网站的话。在 `_data/resume.yml` 中填写教育(education)、技能(skills)、工作经验(experience)和项目(projects)。 4. 运行和预览 ```shell jekyll serve ``` 5. 构建 ```shell jekyll build ``` ### Gem 模式 1. 创建 `Gemfile` ```shell source "https://rubygems.org" gem "jekyll-theme-minimal-resume" ``` 并执行, ```shell bundle install ``` 2. 初始化 `_config.yml` ```yaml title: Résumé Title baseurl: "/resume/" theme: "jekyll-theme-minimal-resume" ``` 3. 创建 `index.html` ```yaml --- layout: resume --- ``` 4. 创建 `_data/resume.yml` 并填写你的简历数据。[示例数据可以参考这里](/_data/resume.ytml)。 ## 数据格式 ### 联系信息 ```yaml contact: - icon: fa-envelope text: youremail@example.com - icon: fa-phone-square text: your-phone-num - icon: fa-globe text: your-website.com link: https://crispgm.github.io/resume/resume.html ``` 模板内置了 FontAwesome 图标字体,请使用`fa-`开头的类名作为图标。`link`是可选项,如果需要在 Web 或 PDF 版中支持链接,请填写此项。 ## 颜色 模板内置了一些主题配色,可以通过 `_config.yml` 中的 `color` 进行修改。默认是灰色 Gray。 ```yaml color: gray ``` 基于 [Open-Color](https://yeun.github.io/open-color/) 的配色: - red - pink - grape - violet - indigo - blue - cyan - teal - green - lime - yellow - orange 基于 [Nord](https://www.nordtheme.com/) 的配色: - nord ## 扩展简历内容 1. 在 `_data/resume.yml` 中增加段落,比如增加显示你的语言水平: ```yaml languages: - name: 英语 proficiency: 工作熟练 - name: 中文 proficiency: 母语 ``` 2. 把读取代码加入 `_layouts/resume.html`: ```html
Language
{% for lang in site.data.resume.languages %}
{{ lang.name }}
{{ lang.proficiency }}
{% endfor %}
``` ## Showcases 欢迎在此提交你的简历。 - [David Zhang](https://crispgm.com/resume/) ## 捐助 - [Buy Me A Coffee](https://www.buymeacoffee.com/crispgm) ## 协议 [![license](https://img.shields.io/github/license/crispgm/resume.svg)](/LICENSE) ================================================ FILE: Rakefile ================================================ desc "Serve" task :serve do sh "bundle exec jekyll serve --draft --future --livereload" end desc "Serve Gem" task :sg do sh "bundle exec jekyll serve --draft --future --livereload --config=_config_gem.yml" end desc "Serve Colorful" task :sc do sh "bundle exec jekyll serve --draft --future --livereload --config=_config_colorful.yml" end desc "Cleanup" task :cleanup do sh "rm jekyll-theme-minimal-resume-*.gem" end ================================================ FILE: _config.yml ================================================ title: Résumé baseurl: "/resume/" exclude: - README.md - "README_zh-CN.md" - LICENSE - Gemfile - Gemfile.lock - jekyll-crisp-minimal-resume.gemspec - /script - /screenshots - /fixtures - Rakefile ================================================ FILE: _config_colorful.yml ================================================ title: Résumé baseurl: "/resume/" color: nord exclude: - README.md - "README_zh-CN.md" - LICENSE - Gemfile - Gemfile.lock - jekyll-crisp-minimal-resume.gemspec - /script - /screenshots - /fixtures - Rakefile ================================================ FILE: _config_gem.yml ================================================ title: Résumé baseurl: "/resume/" theme: "jekyll-theme-minimal-resume" exclude: - README.md - "README_zh-CN.md" - LICENSE - Gemfile - Gemfile.lock - jekyll-crisp-minimal-resume.gemspec - /script - /screenshots - /fixtures - Rakefile ================================================ FILE: _data/resume.yml ================================================ title: Résumé name: YOUR NAME jobtitle: Your Job Title contact: - icon: fa-envelope text: youremail@example.com - icon: fa-phone-square text: your-phone-num - icon: fa-globe text: your-website.com link: https://crispgm.github.io/resume/resume.html - icon: fa-github text: your-github link: https://github.com/crispgm/resume education: - university: Your First University duration: Jul 2011 - Dec 2012 location: Consectetur adipiscing elit major: Lorem ipsum dolor sit amet - university: Your Second University duration: Aug 2007 - Jun 2011 location: Ut enim ad minim veniam major: Quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat skills: - title: Skill Group 1 items: Lorem, Ipsum, Dolor, Sit, Amet - title: Skill Group 2 items: Consectetur, Adipiscing, Elit - title: Skill Group 3 items: Sed do, Eiusmod, Tempor, Incididunt experience: - title: Job Title 1 duration: Apr 2016 - Now company: Your 1st, Inc. description: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. - title: Job Title 2 duration: Apr 2013 - Mar 2016 company: Your 2nd, Inc. description: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - title: Job Title 3 duration: Dec 2011 - Mar 2012 company: Your 3rd Co, Ltd. description: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. projects: - name: Project Name 1 description: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. contribution: Contributor. - name: Project Name 2 description: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. contribution: Creator and maintainer. languages: - name: English proficiency: Work proficiency - name: Mandarin Chinese proficiency: Native ================================================ FILE: _data/resume_zhcn.yml ================================================ title: "简历" name: "王小二" jobtitle: "高级软件研发工程师" contact: - icon: fa-envelope text: wangxiao@er.com - icon: fa-phone-square text: (+86) 13800138000 - icon: fa-globe text: wangxiaoer.com link: https://crispgm.github.io/resume/resume_zh-CN.html - icon: fa-github text: wangxiaoer link: https://github.com/crispgm/resume education: - university: "攻城科技大学" duration: "2011/07 - 2012/12" location: "北京" major: "工学硕士,计算机科学与技术" - university: "攻城大学" duration: "2007/08 - 2011/06" location: "南京" major: "工学学士,计算机科学与技术" skills: - title: "程序设计" items: "C/C++, Java, Python, Ruby, PHP, HTML/CSS, JavaScript, Vue" - title: "计算机系统" items: "Linux/Unix, 设计模式, 敏捷开发, 面向对象, 数据库设计, 多线程编程" - title: "其它" items: "Sublime Text, git, shell" experience: - title: "高级研发工程师" duration: "2016/06 - 至今" company: "T 公司" description: "我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。" - title: "研发工程师" duration: "2013/01 - 2016/05" company: "A 公司" description: "我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。" - title: "研发工程师(实习)" duration: "2011/02 - 2012/12" company: "B 公司" description: "我在此项目负责了哪些工作,分别在哪些地方做得出色/和别人不一样/成长快,这个项目中,我最困难的问题是什么,我采取了什么措施,最后结果如何。这个项目中,我最自豪的技术细节是什么,为什么,实施前和实施后的数据对比如何,同事和领导对此的反应如何。" projects: - name: "Crisp Resume" description: "一个基于 Jekyll 的极简风格响应式简历模板" contribution: "贡献者" - name: "你的项目" description: "一个非常强大的开源项目,使用了若干强力技术,大大提升了生产力" contribution: "创建者和维护者" languages: - name: "英语" proficiency: "工作熟练" - name: "中文" proficiency: "母语" ================================================ FILE: _includes/foot.html ================================================ ================================================ FILE: _includes/head.html ================================================ {{ site.data.resume.title }} ================================================ FILE: _layouts/default.html ================================================ --- layout: null --- {% include head.html %} {{ content }} {% include foot.html %} ================================================ FILE: _layouts/resume.html ================================================ --- layout: default ---
{{ site.data.resume.name }}
{{ site.data.resume.jobtitle }}
{% for item in site.data.resume.contact %} {% endfor %}
Education
{% for edu in site.data.resume.education %}
{{ edu.university }}
{{ edu.duration }} | {{ edu.location }}
{{ edu.major }}
{% endfor %}
Skills
{% for skill in site.data.resume.skills %}
{{ skill.title }}
{{ skill.items }}
{% endfor %}
Experience
{% for exp in site.data.resume.experience %}
{{ exp.title }}
{{ exp.duration }} | {{ exp.company }}
{{ exp.description }}
{% endfor %}
Projects
{% for project in site.data.resume.projects %}
{{ project.name }}
{{ project.contribution }}
{{ project.description }}
{% endfor %}
Languages
{% for language in site.data.resume.languages %}
{{ language.name }}
{{ language.proficiency }}
{% endfor %}
================================================ FILE: _layouts/resume_zh_cn.html ================================================ --- layout: default ---
{{ site.data.resume_zhcn.name }}
{{ site.data.resume_zhcn.jobtitle }}
{% for item in site.data.resume_zhcn.contact %} {% endfor %}
教育
{% for edu in site.data.resume_zhcn.education %}
{{ edu.university }}
{{ edu.duration }} | {{ edu.location }}
{{ edu.major }}
{% endfor %}
专业技能
{% for skill in site.data.resume_zhcn.skills %}
{{ skill.title }}
{{ skill.items }}
{% endfor %}
工作经历
{% for exp in site.data.resume_zhcn.experience %}
{{ exp.title }}
{{ exp.duration }} | {{ exp.company }}
{{ exp.description }}
{% endfor %}
项目
{% for project in site.data.resume_zhcn.projects %}
{{ project.name }}
{{ project.contribution }}
{{ project.description }}
{% endfor %}
语言
{% for language in site.data.resume_zhcn.languages %}
{{ language.name }}
{{ language.proficiency }}
{% endfor %}
================================================ FILE: _sass/_body.scss ================================================ section { display: flex; padding-top: 2.4rem; padding-bottom: 2.4rem; padding-left: .2rem; border-bottom: .1rem solid $secondary-color; hyphens: auto; } .section-title { font-size: 1.6rem; text-align: left; min-width: 10rem; } // scss-lint:disable EmptyRule .section-content { } .section-flex { display: flex; flex-wrap: wrap; } .block { margin-bottom: 2rem; &:last-child { margin-bottom: 0; } } .block-square { width: 18rem; &:nth-last-child(2) { margin-bottom: 0; } } .block-title { font-size: 1.2rem; margin-bottom: .4rem; font-weight: bold; } .block-subtitle { font-size: 1rem; margin-bottom: 1rem; color: $secondary-color; } .block-content { font-size: 1rem; line-height: 1.5; } @media screen and (max-width: $breakpoint) { section { display: block; padding-top: 2rem; padding-bottom: 2rem; } .section-title { text-align: center; margin-bottom: 2rem; } .section-flex { display: block; } .block-square { &:nth-last-child(2) { margin-bottom: 2rem; } } } ================================================ FILE: _sass/_footer.scss ================================================ footer { color: $secondary-color; font-size: 1rem; min-height: 3rem; line-height: 3rem; margin-top: 1rem; margin-bottom: 1rem; } ================================================ FILE: _sass/_header.scss ================================================ header { display: flex; justify-content: space-between; border-bottom: .1rem solid $secondary-color; padding-top: 2.2rem; padding-bottom: 2.2rem; } .name-wrapper { padding-top: 1rem; padding-bottom: 1rem; } .title { font-size: 2.2rem; } .sub-title { font-size: 1.2rem; margin-top: .8rem; } .contact { font-size: 1rem; padding-top: 1rem; } .contact-item { margin-top: .4rem; &:nth-child(1) { margin-top: 0; } &:a { color: inherit; text-decoration: none; } } @media screen and (max-width: $breakpoint) { header { display: block; padding-bottom: 1rem; } .name-wrapper { text-align: center; padding-bottom: 2rem; } .contact { padding-top: 1rem; border-top: .1rem solid $secondary-color; } .contact-item { padding-top: .2rem; padding-left: .4rem; } } ================================================ FILE: _sass/_main.scss ================================================ html { width: 100%; font-size: 14px; } body { text-align: center; width: 100%; font-family: "Noto Sans", "Segoe UI", Roboto, Helvetica, "Hiragino Sans GB", "Microsoft Yahei", sans-serif; -webkit-font-smoothing: antialiased; font-size: 1rem; margin: 0; color: $main-color; background-color: $background-color; } a { text-decoration: none; color: inherit; &:hover { text-decoration: underline; } } .container { margin-left: auto; margin-right: auto; margin-bottom: 1rem; max-width: $breakpoint; text-align: left; } @media screen and (max-width: $breakpoint) { html { font-size: 12px; } .container { padding-left: .4rem; padding-right: .4rem; } } @media print { html { font-size: 12px; } .print { display: none; } } ================================================ FILE: assets/css/resume.scss ================================================ --- --- /* * Theme of Crisp Minimal Resume * Copyright (c) David Zhang, 2019 */ $breakpoint: 48rem; $background-color: #fff; {% case site.color %} {% when 'red' %} $main-color: #495057; $secondary-color: #fa5252; {% when 'pink' %} $main-color: #495057; $secondary-color: #e64980; {% when 'grape' %} $main-color: #495057; $secondary-color: #e64980; {% when 'violet' %} $main-color: #495057; $secondary-color: #7950f2; {% when 'indigo' %} $main-color: #495057; $secondary-color: #4c6ef5; {% when 'blue' %} $main-color: #495057; $secondary-color: #228be6; {% when 'cyan' %} $main-color: #495057; $secondary-color: #15aabf; {% when 'teal' %} $main-color: #495057; $secondary-color: #12b886; {% when 'green' %} $main-color: #495057; $secondary-color: #40c057; {% when 'lime' %} $main-color: #495057; $secondary-color: #82c91e; {% when 'yellow' %} $main-color: #495057; $secondary-color: #fab005; {% when 'orange' %} $main-color: #495057; $secondary-color: #fd7e14; {% when 'gray' %} $main-color: #495057; $secondary-color: #adb5bd; {% when 'nord' %} $main-color: #4C566A; $secondary-color: #81A1C1; {% else %} $main-color: #495057; $secondary-color: #adb5bd; {% endcase %} @import "main"; @import "header"; @import "body"; @import "footer"; ================================================ FILE: jekyll-minimal-resume.gemspec ================================================ Gem::Specification.new do |spec| spec.name = 'jekyll-theme-minimal-resume' spec.version = '3.1.2' spec.authors = ['David Zhang'] spec.summary = 'A minimalist resume template for Jekyll.' spec.homepage = 'https://github.com/crispgm/resume' spec.license = 'MIT' spec.metadata['plugin_type'] = 'theme' spec.files = `git ls-files -z`.split("\x0").select do |f| f.match(%r{^(assets|_(data|includes|layouts|sass)/|(LICENSE|README)((\.(txt|md|markdown)|$)))}i) end spec.required_ruby_version = '>= 2.3' spec.add_runtime_dependency 'jekyll', '~> 3.8' spec.add_runtime_dependency 'webrick', '~> 1.7' spec.add_development_dependency 'bundler', '>= 1.12.0', '< 3.0.0' spec.add_development_dependency 'rake', '>= 12.3.3' end ================================================ FILE: port-hexo/README.md ================================================ # Crisp Minimal Résumé for Hexo [![npm version](https://badge.fury.io/js/hexo-theme-crisp-minimal-resume.svg)](https://badge.fury.io/js/hexo-theme-crisp-minimal-resume) Official Hexo port of Crisp Minimal Résumé. [Hexo Demo](https://crispgm.github.io/resume-hexo-example/) Notice: - **For Hexo 5 support, please read [this section](#Hexo-5-Compatibility).** - `color` is not supported in Hexo version. ## Usage 1. Install Hexo ```shell yarn global add hexo-cli ``` 2. Init Hexo ```shell hexo new your-resume ``` 3. Use Theme ```shell # Clone the repo in a different folder # e.g. /path/to/resume git clone https://github.com/crispgm/resume.git # Copy theme files cp -r /path/to/resume/port-hexo /path/to/your-resume/themes/hexo-crisp-minimal-theme # Then, change theme in `_config.yml` ``` 4. Config your résumé data Set theme: ```yaml theme: hexo-crisp-minimal-resume ``` The `baseurl` is required in `_config.yml` if you serve this page as part of your website. And your contact information, **EDUCATION**, **SKILLS**, **EXPERIENCE**, and **PROJECTS** data under `resume`. See example in [/port-hexo/\_config.yml](/_config.yml). 5. Run and Debug ```shell hexo server ``` ### Hexo 5 Compatibility Hexo 5 is not supported yet. See detail in [issue#9](https://github.com/crispgm/resume/issues/9). Fortunately, there is a workaround from @arthuroy to make it work. For hexo 5.3.0, add the following dependency to `package.json`: ```json "dependencies": { "hexo-renderer-swig": "^1.1.0" } ``` and run `npm install`, then `npm run server`. ## Donation - [Buy Me A Coffee](https://www.buymeacoffee.com/crispgm) ## License [![license](https://img.shields.io/github/license/crispgm/resume.svg)](/LICENSE) ================================================ FILE: port-hexo/_config.yml ================================================ title: Résumé resume: name: YOUR NAME jobtitle: Your Job Title contact: - icon: fa-envelope text: youremail@example.com - icon: fa-phone-square text: your-phone-num - icon: fa-globe text: your-website.com link: https://crispgm.github.io/resume/resume.html - icon: fa-github text: your-github link: https://github.com/crispgm/resume education: - university: Your First University duration: Jul 2011 - Dec 2012 location: Consectetur adipiscing elit major: Lorem ipsum dolor sit amet - university: Your Second University duration: Aug 2007 - Jun 2011 location: Ut enim ad minim veniam major: Quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat skills: - title: Skill Group 1 items: Lorem, Ipsum, Dolor, Sit, Amet - title: Skill Group 2 items: Consectetur, Adipiscing, Elit - title: Skill Group 3 items: Sed do, Eiusmod, Tempor, Incididunt experience: - title: Job Title 1 duration: Apr 2016 - Now company: Your 1st, Inc. description: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. - title: Job Title 2 duration: Apr 2013 - Mar 2016 company: Your 2nd, Inc. description: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. - title: Job Title 3 duration: Dec 2011 - Mar 2012 company: Your 3rd Co, Ltd. description: Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. projects: - name: Project Name 1 description: Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. contribution: Contributor. - name: Project Name 2 description: Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. contribution: Creator and maintainer. languages: - name: English proficiency: Work proficiency - name: Mandarin Chinese proficiency: Native ================================================ FILE: port-hexo/layout/_partial/foot.swig ================================================ ================================================ FILE: port-hexo/layout/_partial/head.swig ================================================ {{ config.title }} ================================================ FILE: port-hexo/layout/_partial/resume.swig ================================================
{{ config.resume.name }}
{{ config.resume.jobtitle }}
{% for item in config.resume.contact %} {% endfor %}
Education
{% for edu in config.resume.education %}
{{ edu.university }}
{{ edu.duration }} | {{ edu.location }}
{{ edu.major }}
{% endfor %}
Skills
{% for skill in config.resume.skills %}
{{ skill.title }}
{{ skill.items }}
{% endfor %}
Experience
{% for exp in config.resume.experience %}
{{ exp.title }}
{{ exp.duration }} | {{ exp.company }}
{{ exp.description }}
{% endfor %}
Projects
{% for project in config.resume.projects %}
{{ project.name }}
{{ project.contribution }}
{{ project.description }}
{% endfor %}
Languages
{% for language in config.resume.languages %}
{{ language.name }}
{{ language.proficiency }}
{% endfor %}
================================================ FILE: port-hexo/layout/index.swig ================================================ {{ partial('./_partial/head.swig') }} {{ partial('./_partial/resume.swig') }} {{ partial('./_partial/foot.swig') }} ================================================ FILE: port-hexo/package.json ================================================ { "name": "hexo-theme-crisp-minimal-resume", "version": "1.0.1", "description": "Hexo port of Jekyll Crisp Minimal Resume Theme", "repository": { "type": "git", "url": "git+https://github.com/crispgm/resume.git" }, "keywords": [ "hexo", "theme", "resume" ], "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" }, "author": "David Zhang", "license": "MIT" } ================================================ FILE: port-hexo/source/resume.css ================================================ /* * Theme of Crisp Minimal Resume * Copyright (c) David Zhang, 2019 */ html { width: 100%; font-size: 14px; } body { text-align: center; width: 100%; font-family: "Noto Sans", "Segoe UI", Roboto, Helvetica, "Hiragino Sans GB", "Microsoft Yahei", sans-serif; -webkit-font-smoothing: antialiased; font-size: 1rem; margin: 0; color: #495057; background-color: #fff; } a { text-decoration: none; color: inherit; } a:hover { text-decoration: underline; } .container { margin-left: auto; margin-right: auto; margin-bottom: 1rem; max-width: 48rem; text-align: left; } @media screen and (max-width: 48rem) { html { font-size: 12px; } .container { padding-left: .4rem; padding-right: .4rem; } } @media print { html { font-size: 12px; } .print { display: none; } } header { display: flex; justify-content: space-between; border-bottom: 0.1rem solid #adb5bd; padding-top: 2.2rem; padding-bottom: 2.2rem; } .name-wrapper { padding-top: 1rem; padding-bottom: 1rem; } .title { font-size: 2.2rem; } .sub-title { font-size: 1.2rem; margin-top: .8rem; } .contact { font-size: 1rem; padding-top: 1rem; } .contact-item { margin-top: .4rem; } .contact-item:nth-child(1) { margin-top: 0; } .contact-item:a { color: inherit; text-decoration: none; } @media screen and (max-width: 48rem) { header { display: block; padding-bottom: 1rem; } .name-wrapper { text-align: center; padding-bottom: 2rem; } .contact { padding-top: 1rem; border-top: 0.1rem solid #adb5bd; } .contact-item { padding-top: .2rem; padding-left: .4rem; } } section { display: flex; padding-top: 2.4rem; padding-bottom: 2.4rem; padding-left: .2rem; border-bottom: 0.1rem solid #adb5bd; hyphens: auto; } .section-title { font-size: 1.6rem; text-align: left; min-width: 10rem; } .section-flex { display: flex; flex-wrap: wrap; } .block { margin-bottom: 2rem; } .block:last-child { margin-bottom: 0; } .block-square { width: 18rem; } .block-square:nth-last-child(2) { margin-bottom: 0; } .block-title { font-size: 1.2rem; margin-bottom: .4rem; font-weight: bold; } .block-subtitle { font-size: 1rem; margin-bottom: 1rem; color: #adb5bd; } .block-content { font-size: 1rem; line-height: 1.5; } @media screen and (max-width: 48rem) { section { display: block; padding-top: 2rem; padding-bottom: 2rem; } .section-title { text-align: center; margin-bottom: 2rem; } .section-flex { display: block; } .block-square:nth-last-child(2) { margin-bottom: 2rem; } } footer { color: #adb5bd; font-size: 1rem; min-height: 3rem; line-height: 3rem; margin-top: 1rem; margin-bottom: 1rem; } ================================================ FILE: resume.html ================================================ --- layout: resume permalink: /resume.html --- ================================================ FILE: resume_zh-CN.html ================================================ --- layout: resume_zh_cn permalink: /resume_zh-CN.html --- ================================================ FILE: script/bootstrap ================================================ #!/usr/bin/env bash set -e gem install bundler bundle install ================================================ FILE: script/cibuild ================================================ #!/usr/bin/env bash set -e echo "Building Jekyll site" # lint bundle exec scss-lint --config=.scss-lint.yml bundle exec jekyll build # build English version if test -e "./_site/resume.html";then echo "It smokes!" else echo "Build EN version failed" exit 1 fi # build Chinese version if test -e "./_site/resume_zh-CN.html";then echo "It smokes!" else echo "Build CN version failed" exit 1 fi # build with Gem rm -rf ./_site bundle exec jekyll build --config ./_config_gem.yml if test -e "./_site/resume.html";then echo "It smokes!" else echo "Build EN version with Gem failed" exit 1 fi