Full Code of crispgm/resume for AI

master e0501c35ea26 cached
38 files
40.6 KB
12.8k tokens
1 requests
Download .txt
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
================================================
<!--
  Hi! Thanks for considering to file a bug with Crisp Minimal Résumé. Please take the time to
  answer the basic questions. You can convert `[ ]` into `[x]` to check boxes (or submit
  and check.) If there is no need for certain fields like output and redirection, please delete
  those headers before submitting.  We know not all tickets require those steps.
  Otherwise, please try to be as detailed as possible.

  Thanks!
-->

- [ ] 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

<!--
  Checkout it with:
  ```sh
  ruby --version
  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

<!--
  Update with your 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é

<p align="center">
  <img src="screenshots/resume-desktop.png" width="578" />
  <img src="screenshots/resume-mobile.png" width="220" />
</p>

<p align="center">
  <img src="https://github.com/crispgm/resume/workflows/build/badge.svg" alt="GitHub CI" />
  <a href="https://badge.fury.io/rb/jekyll-theme-minimal-resume">
    <img src="https://badge.fury.io/rb/jekyll-theme-minimal-resume.svg" alt="Gem Version" />
  </a>
  <a href="https://badge.fury.io/js/hexo-theme-crisp-minimal-resume">
    <img src="https://badge.fury.io/js/hexo-theme-crisp-minimal-resume.svg" alt="npm version" />
  </a>
</p>

## 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

<img src="screenshots/resume-with-color.png" width="578" />

## 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
   <section id="languages">
     <div class="section-title">Language</div>
     <div class="section-content">
       {% for lang in site.data.resume.languages %}
       <div class="block">
         <div class="block-title">{{ lang.name }}</div>
         <div class="block-content">{{ lang.proficiency }}</div>
       </div>
       {% endfor %}
     </div>
   </section>
   ```

## 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é

<p align="center">
  <img src="screenshots/resume-desktop.png" width="578" />
  <img src="screenshots/resume-mobile.png" width="220" />
</p>

<p align="center">
  <img src="https://github.com/crispgm/resume/workflows/build/badge.svg" alt="GitHub CI" />
  <a href="https://badge.fury.io/rb/jekyll-theme-minimal-resume">
    <img src="https://badge.fury.io/rb/jekyll-theme-minimal-resume.svg" alt="Gem Version" />
  </a>
  <a href="https://badge.fury.io/js/hexo-theme-crisp-minimal-resume">
    <img src="https://badge.fury.io/js/hexo-theme-crisp-minimal-resume.svg" alt="npm version" />
  </a>
</p>

## 简介

[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

<img src="screenshots/resume-with-color.png" width="578" />

## 扩展简历内容

1. 在 `_data/resume.yml` 中增加段落,比如增加显示你的语言水平:

   ```yaml
   languages:
     - name: 英语
       proficiency: 工作熟练
     - name: 中文
       proficiency: 母语
   ```

2. 把读取代码加入 `_layouts/resume.html`:

   ```html
   <section id="languages">
     <div class="section-title">Language</div>
     <div class="section-content">
       {% for lang in site.data.resume.languages %}
       <div class="block">
         <div class="block-title">{{ lang.name }}</div>
         <div class="block-content">{{ lang.proficiency }}</div>
       </div>
       {% endfor %}
     </div>
   </section>
   ```

## 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
================================================
    <footer>
      Made with <i class="fa fa-heart aria-hidden="true></i> by <a href="https://github.com/crispgm/resume">David Zhang</a> <span class="print">( <a href="javascript:window.print()">PDF</a> )</span>
    </footer>


================================================
FILE: _includes/head.html
================================================
  <head>
    <title>{{ site.data.resume.title }}</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://fonts.googleapis.com/css?family=Noto+Sans" rel="stylesheet">
    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
    <link rel="stylesheet" href="{{ site.baseurl }}/assets/css/resume.css">
  </head>


================================================
FILE: _layouts/default.html
================================================
---
layout: null
---
<!DOCTYPE html>
<html>
  {% include head.html %}
  <body>
  {{ content }}
  {% include foot.html %}
  </body>
</html>


================================================
FILE: _layouts/resume.html
================================================
---
layout: default
---

    <div class="container">
      <header>
        <div class="name-wrapper">
          <div id="fullname" class="title">
            {{ site.data.resume.name }}
          </div>
          <div id="jobtitle" class="sub-title">
            {{ site.data.resume.jobtitle }}
          </div>
        </div>
        <div id="contact" class="contact">
          {% for item in site.data.resume.contact %}
          <div class="contact-item">
            {% if item.link %}
            <a href="{{ item.link }}">
            {% endif %}
            <i class="fa {{ item.icon }} aria-hidden="true></i> {{ item.text }}
            {% if item.link %}
            </a>
            {% endif %}
          </div>
          {% endfor %}
        </div>
      </header>

      <section id="education">
        <div class="section-title">
          Education
        </div>
        <div class="section-content">
          {% for edu in site.data.resume.education %}
          <div class="block">
            <div class="block-title">
              {{ edu.university }}
            </div>
            <div class="block-subtitle">
              {{ edu.duration }} | {{ edu.location }}
            </div>
            <div class="block-content">
              {{ edu.major }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="skills">
        <div class="section-title">
          Skills
        </div>
        <div class="section-content">
          {% for skill in site.data.resume.skills %}
          <div class="block">
            <div class="block-title">
              {{ skill.title }}
            </div>
            <div class="block-content">
              {{ skill.items }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="experience">
        <div class="section-title">
          Experience
        </div>
        <div class="section-content">
          {% for exp in site.data.resume.experience %}
          <div class="block">
            <div class="block-title">
              {{ exp.title }}
            </div>
            <div class="block-subtitle">
              {{ exp.duration }} | {{ exp.company }}
            </div>
            <div class="block-content">
              {{ exp.description }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="projects">
        <div class="section-title">
          Projects
        </div>
        <div class="section-content">
          {% for project in site.data.resume.projects %}
          <div class="block">
            <div class="block-title">
              {{ project.name }}
            </div>
            <div class="block-subtitle">
              {{ project.contribution }}
            </div>
            <div class="block-content">
              {{ project.description }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="languages">
        <div class="section-title">
          Languages
        </div>
        <div class="section-content section-flex">
          {% for language in site.data.resume.languages %}
          <div class="block block-square">
            <div class="block-title">
              {{ language.name }}
            </div>
            <div class="block-content">
              {{ language.proficiency }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>
    </div>


================================================
FILE: _layouts/resume_zh_cn.html
================================================
---
layout: default
---

    <div class="container">
      <header>
        <div class="name-wrapper">
          <div id="fullname" class="title">
            {{ site.data.resume_zhcn.name }}
          </div>
          <div id="jobtitle" class="sub-title">
            {{ site.data.resume_zhcn.jobtitle }}
          </div>
        </div>
        <div id="contact" class="contact">
          {% for item in site.data.resume_zhcn.contact %}
          <div class="contact-item">
            {% if item.link %}
            <a href="{{ item.link }}">
            {% endif %}
            <i class="fa {{ item.icon }} aria-hidden="true></i> {{ item.text }}
            {% if item.link %}
            </a>
            {% endif %}
          </div>
          {% endfor %}
        </div>
      </header>

      <section id="education">
        <div class="section-title">
          教育
        </div>
        <div class="section-content">
          {% for edu in site.data.resume_zhcn.education %}
          <div class="block">
            <div class="block-title">
              {{ edu.university }}
            </div>
            <div class="block-subtitle">
              {{ edu.duration }} | {{ edu.location }}
            </div>
            <div class="block-content">
              {{ edu.major }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="skills">
        <div class="section-title">
          专业技能
        </div>
        <div class="section-content">
          {% for skill in site.data.resume_zhcn.skills %}
          <div class="block">
            <div class="block-title">
              {{ skill.title }}
            </div>
            <div class="block-content">
              {{ skill.items }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="experience">
        <div class="section-title">
          工作经历
        </div>
        <div class="section-content">
          {% for exp in site.data.resume_zhcn.experience %}
          <div class="block">
            <div class="block-title">
              {{ exp.title }}
            </div>
            <div class="block-subtitle">
              {{ exp.duration }} | {{ exp.company }}
            </div>
            <div class="block-content">
              {{ exp.description }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="projects">
        <div class="section-title">
          项目
        </div>
        <div class="section-content">
          {% for project in site.data.resume_zhcn.projects %}
          <div class="block">
            <div class="block-title">
              {{ project.name }}
            </div>
            <div class="block-subtitle">
              {{ project.contribution }}
            </div>
            <div class="block-content">
              {{ project.description }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>

      <section id="languages">
        <div class="section-title">
          语言
        </div>
        <div class="section-content section-flex">
          {% for language in site.data.resume_zhcn.languages %}
          <div class="block block-square">
            <div class="block-title">
              {{ language.name }}
            </div>
            <div class="block-content">
              {{ language.proficiency }}
            </div>
          </div>
          {% endfor %}
        </div>
      </section>
    </div>


================================================
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
================================================
<footer>
  Made with <i class="fa fa-heart aria-hidden="true></i> by <a href="https://github.com/crispgm/resume">David Zhang</a> <span class="print">( <a href="javascript:window.print()">PDF</a> )</span>
</footer>


================================================
FILE: port-hexo/layout/_partial/head.swig
================================================
<head>
  <title>{{ config.title }}</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link href="https://fonts.googleapis.com/css?family=Noto+Sans" rel="stylesheet">
  <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
  <link rel="stylesheet" href="{{ config.root }}/resume.css">
</head>


================================================
FILE: port-hexo/layout/_partial/resume.swig
================================================
<div class="container">
  <header>
    <div class="name-wrapper">
      <div id="fullname" class="title">
        {{ config.resume.name }}
      </div>
      <div id="jobtitle" class="sub-title">
        {{ config.resume.jobtitle }}
      </div>
    </div>
    <div id="contact" class="contact">
      {% for item in config.resume.contact %}
      <div class="contact-item">
        {% if item.link %}
        <a href="{{ item.link }}">
        {% endif %}
        <i class="fa {{ item.icon }} aria-hidden="true></i> {{ item.text }}
        {% if item.link %}
        </a>
        {% endif %}
      </div>
      {% endfor %}
    </div>
  </header>

  <section id="education">
    <div class="section-title">
      Education
    </div>
    <div class="section-content">
      {% for edu in config.resume.education %}
      <div class="block">
        <div class="block-title">
          {{ edu.university }}
        </div>
        <div class="block-subtitle">
          {{ edu.duration }} | {{ edu.location }}
        </div>
        <div class="block-content">
          {{ edu.major }}
        </div>
      </div>
      {% endfor %}
    </div>
  </section>

  <section id="skills">
    <div class="section-title">
      Skills
    </div>
    <div class="section-content">
      {% for skill in config.resume.skills %}
      <div class="block">
        <div class="block-title">
          {{ skill.title }}
        </div>
        <div class="block-content">
          {{ skill.items }}
        </div>
      </div>
      {% endfor %}
    </div>
  </section>

  <section id="experience">
    <div class="section-title">
      Experience
    </div>
    <div class="section-content">
      {% for exp in config.resume.experience %}
      <div class="block">
        <div class="block-title">
          {{ exp.title }}
        </div>
        <div class="block-subtitle">
          {{ exp.duration }} | {{ exp.company }}
        </div>
        <div class="block-content">
          {{ exp.description }}
        </div>
      </div>
      {% endfor %}
    </div>
  </section>

  <section id="projects">
    <div class="section-title">
      Projects
    </div>
    <div class="section-content">
      {% for project in config.resume.projects %}
      <div class="block">
        <div class="block-title">
          {{ project.name }}
        </div>
        <div class="block-subtitle">
          {{ project.contribution }}
        </div>
        <div class="block-content">
          {{ project.description }}
        </div>
      </div>
      {% endfor %}
    </div>
  </section>

  <section id="languages">
    <div class="section-title">
      Languages
    </div>
    <div class="section-content section-flex">
      {% for language in config.resume.languages %}
      <div class="block block-square">
        <div class="block-title">
          {{ language.name }}
        </div>
        <div class="block-content">
          {{ language.proficiency }}
        </div>
      </div>
      {% endfor %}
    </div>
  </section>
</div>


================================================
FILE: port-hexo/layout/index.swig
================================================
<!DOCTYPE html>
<html>
  {{ partial('./_partial/head.swig') }}
  <body>
  {{ partial('./_partial/resume.swig') }}
  {{ partial('./_partial/foot.swig') }}
  </body>
</html>


================================================
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
Download .txt
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
Condensed preview — 38 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (48K chars).
[
  {
    "path": ".github/FUNDING.yml",
    "chars": 92,
    "preview": "# These are supported funding model platforms\n\ncustom: https://www.buymeacoffee.com/crispgm\n"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 1226,
    "preview": "<!--\n  Hi! Thanks for considering to file a bug with Crisp Minimal Résumé. Please take the time to\n  answer the basic qu"
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 747,
    "preview": "name: build\non: [push, pull_request]\njobs:\n  ci:\n    name: run\n    runs-on: ubuntu-latest\n    strategy:\n      matrix:\n  "
  },
  {
    "path": ".gitignore",
    "chars": 63,
    "preview": "/_site/\nGemfile.lock\n*.gem\n.sass-cache/\nyarn.lock\nnode_modules\n"
  },
  {
    "path": ".scss-lint.yml",
    "chars": 76,
    "preview": "scss_files: '_sass/*.scss'\nlinters:\n  PropertySortOrder:\n    enabled: false\n"
  },
  {
    "path": "Gemfile",
    "chars": 72,
    "preview": "source \"https://rubygems.org\"\n\ngemspec\n\ngem 'scss_lint', require: false\n"
  },
  {
    "path": "LICENSE",
    "chars": 1078,
    "preview": "The MIT License (MIT)\n\nCopyright (c) 2021 David Zhang\n\nPermission is hereby granted, free of charge, to any person obtai"
  },
  {
    "path": "README.md",
    "chars": 4041,
    "preview": "# Crisp Minimal Résumé\n\n<p align=\"center\">\n  <img src=\"screenshots/resume-desktop.png\" width=\"578\" />\n  <img src=\"screen"
  },
  {
    "path": "README_zh-CN.md",
    "chars": 3334,
    "preview": "# Crisp Minimal Résumé\n\n<p align=\"center\">\n  <img src=\"screenshots/resume-desktop.png\" width=\"578\" />\n  <img src=\"screen"
  },
  {
    "path": "Rakefile",
    "chars": 427,
    "preview": "desc \"Serve\"\ntask :serve do\n  sh \"bundle exec jekyll serve --draft --future --livereload\"\nend\n\ndesc \"Serve Gem\"\ntask :sg"
  },
  {
    "path": "_config.yml",
    "chars": 216,
    "preview": "title: Résumé\nbaseurl: \"/resume/\"\nexclude:\n  - README.md\n  - \"README_zh-CN.md\"\n  - LICENSE\n  - Gemfile\n  - Gemfile.lock\n"
  },
  {
    "path": "_config_colorful.yml",
    "chars": 228,
    "preview": "title: Résumé\nbaseurl: \"/resume/\"\ncolor: nord\nexclude:\n  - README.md\n  - \"README_zh-CN.md\"\n  - LICENSE\n  - Gemfile\n  - G"
  },
  {
    "path": "_config_gem.yml",
    "chars": 253,
    "preview": "title: Résumé\nbaseurl: \"/resume/\"\ntheme: \"jekyll-theme-minimal-resume\"\nexclude:\n  - README.md\n  - \"README_zh-CN.md\"\n  - "
  },
  {
    "path": "_data/resume.yml",
    "chars": 2638,
    "preview": "title: Résumé\nname: YOUR NAME\njobtitle: Your Job Title\ncontact:\n  - icon: fa-envelope\n    text: youremail@example.com\n  "
  },
  {
    "path": "_data/resume_zhcn.yml",
    "chars": 1728,
    "preview": "title: \"简历\"\nname: \"王小二\"\njobtitle: \"高级软件研发工程师\"\ncontact:\n  - icon: fa-envelope\n    text: wangxiao@er.com\n  - icon: fa-phon"
  },
  {
    "path": "_includes/foot.html",
    "chars": 226,
    "preview": "    <footer>\n      Made with <i class=\"fa fa-heart aria-hidden=\"true></i> by <a href=\"https://github.com/crispgm/resume\""
  },
  {
    "path": "_includes/head.html",
    "chars": 439,
    "preview": "  <head>\n    <title>{{ site.data.resume.title }}</title>\n    <meta charset=\"UTF-8\">\n    <meta name=\"viewport\" content=\"w"
  },
  {
    "path": "_layouts/default.html",
    "chars": 139,
    "preview": "---\nlayout: null\n---\n<!DOCTYPE html>\n<html>\n  {% include head.html %}\n  <body>\n  {{ content }}\n  {% include foot.html %}"
  },
  {
    "path": "_layouts/resume.html",
    "chars": 3553,
    "preview": "---\nlayout: default\n---\n\n    <div class=\"container\">\n      <header>\n        <div class=\"name-wrapper\">\n          <div id"
  },
  {
    "path": "_layouts/resume_zh_cn.html",
    "chars": 3565,
    "preview": "---\nlayout: default\n---\n\n    <div class=\"container\">\n      <header>\n        <div class=\"name-wrapper\">\n          <div id"
  },
  {
    "path": "_sass/_body.scss",
    "chars": 1083,
    "preview": "section {\n  display: flex;\n  padding-top: 2.4rem;\n  padding-bottom: 2.4rem;\n  padding-left: .2rem;\n  border-bottom: .1re"
  },
  {
    "path": "_sass/_footer.scss",
    "chars": 141,
    "preview": "footer {\n  color: $secondary-color;\n  font-size: 1rem;\n  min-height: 3rem;\n  line-height: 3rem;\n  margin-top: 1rem;\n  ma"
  },
  {
    "path": "_sass/_header.scss",
    "chars": 851,
    "preview": "header {\n  display: flex;\n  justify-content: space-between;\n  border-bottom: .1rem solid $secondary-color;\n  padding-top"
  },
  {
    "path": "_sass/_main.scss",
    "chars": 799,
    "preview": "html {\n  width: 100%;\n  font-size: 14px;\n}\n\nbody {\n  text-align: center;\n  width: 100%;\n  font-family: \"Noto Sans\", \"Seg"
  },
  {
    "path": "assets/css/resume.scss",
    "chars": 1349,
    "preview": "---\n---\n\n/*\n * Theme of Crisp Minimal Resume\n * Copyright (c) David Zhang, 2019\n */\n\n$breakpoint: 48rem;\n\n$background-co"
  },
  {
    "path": "jekyll-minimal-resume.gemspec",
    "chars": 867,
    "preview": "Gem::Specification.new do |spec|\n  spec.name                    = 'jekyll-theme-minimal-resume'\n  spec.version          "
  },
  {
    "path": "port-hexo/README.md",
    "chars": 1795,
    "preview": "# Crisp Minimal Résumé for Hexo\n\n[![npm version](https://badge.fury.io/js/hexo-theme-crisp-minimal-resume.svg)](https://"
  },
  {
    "path": "port-hexo/_config.yml",
    "chars": 2755,
    "preview": "title: Résumé\nresume:\n  name: YOUR NAME\n  jobtitle: Your Job Title\n  contact:\n    - icon: fa-envelope\n      text: yourem"
  },
  {
    "path": "port-hexo/layout/_partial/foot.swig",
    "chars": 214,
    "preview": "<footer>\n  Made with <i class=\"fa fa-heart aria-hidden=\"true></i> by <a href=\"https://github.com/crispgm/resume\">David Z"
  },
  {
    "path": "port-hexo/layout/_partial/head.swig",
    "chars": 401,
    "preview": "<head>\n  <title>{{ config.title }}</title>\n  <meta charset=\"UTF-8\">\n  <meta name=\"viewport\" content=\"width=device-width,"
  },
  {
    "path": "port-hexo/layout/_partial/resume.swig",
    "chars": 3028,
    "preview": "<div class=\"container\">\n  <header>\n    <div class=\"name-wrapper\">\n      <div id=\"fullname\" class=\"title\">\n        {{ con"
  },
  {
    "path": "port-hexo/layout/index.swig",
    "chars": 172,
    "preview": "<!DOCTYPE html>\n<html>\n  {{ partial('./_partial/head.swig') }}\n  <body>\n  {{ partial('./_partial/resume.swig') }}\n  {{ p"
  },
  {
    "path": "port-hexo/package.json",
    "chars": 440,
    "preview": "{\n  \"name\": \"hexo-theme-crisp-minimal-resume\",\n  \"version\": \"1.0.1\",\n  \"description\": \"Hexo port of Jekyll Crisp Minimal"
  },
  {
    "path": "port-hexo/source/resume.css",
    "chars": 2798,
    "preview": "/*\n * Theme of Crisp Minimal Resume\n * Copyright (c) David Zhang, 2019\n */\nhtml {\n  width: 100%;\n  font-size: 14px; }\n\nb"
  },
  {
    "path": "resume.html",
    "chars": 47,
    "preview": "---\nlayout: resume\npermalink: /resume.html\n---\n"
  },
  {
    "path": "resume_zh-CN.html",
    "chars": 59,
    "preview": "---\nlayout: resume_zh_cn\npermalink: /resume_zh-CN.html\n---\n"
  },
  {
    "path": "script/bootstrap",
    "chars": 64,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\ngem install bundler\nbundle install\n"
  },
  {
    "path": "script/cibuild",
    "chars": 611,
    "preview": "#!/usr/bin/env bash\n\nset -e\n\necho \"Building Jekyll site\"\n\n# lint\nbundle exec scss-lint --config=.scss-lint.yml\n\nbundle e"
  }
]

About this extraction

This page contains the full source code of the crispgm/resume GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 38 files (40.6 KB), approximately 12.8k tokens. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!