{"id":13433069,"url":"https://github.com/kelyvin/jsonresume-theme-caffeine","last_synced_at":"2025-04-07T09:16:31.798Z","repository":{"id":8713457,"uuid":"59443623","full_name":"kelyvin/jsonresume-theme-caffeine","owner":"kelyvin","description":"Caffeine theme for the JSON Resume project","archived":false,"fork":false,"pushed_at":"2024-02-13T17:49:56.000Z","size":469,"stargazers_count":109,"open_issues_count":20,"forks_count":87,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-04-15T00:22:02.116Z","etag":null,"topics":["json","json-resume","json-schema","jsonresume","jsonresume-theme-boilerplate","resume","resume-creator","resume-template","template","theme"],"latest_commit_sha":null,"homepage":"https://themes.jsonresume.org/theme/caffeine","language":"Handlebars","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kelyvin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-23T01:33:53.000Z","updated_at":"2024-05-06T07:40:53.202Z","dependencies_parsed_at":"2024-05-06T07:54:33.419Z","dependency_job_id":null,"html_url":"https://github.com/kelyvin/jsonresume-theme-caffeine","commit_stats":{"total_commits":54,"total_committers":2,"mean_commits":27.0,"dds":0.05555555555555558,"last_synced_commit":"e3a504213c59853e786f0175ef5e4cb85e587edf"},"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelyvin%2Fjsonresume-theme-caffeine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelyvin%2Fjsonresume-theme-caffeine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelyvin%2Fjsonresume-theme-caffeine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kelyvin%2Fjsonresume-theme-caffeine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kelyvin","download_url":"https://codeload.github.com/kelyvin/jsonresume-theme-caffeine/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247622988,"owners_count":20968575,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["json","json-resume","json-schema","jsonresume","jsonresume-theme-boilerplate","resume","resume-creator","resume-template","template","theme"],"created_at":"2024-07-31T02:01:20.580Z","updated_at":"2025-04-07T09:16:31.777Z","avatar_url":"https://github.com/kelyvin.png","language":"Handlebars","funding_links":[],"categories":["Handlebars"],"sub_categories":[],"readme":"# jsonresume-theme-caffeine ![](https://travis-ci.org/kelyvin/jsonresume-theme-caffeine.svg?branch=master) [![npm version](https://badge.fury.io/js/jsonresume-theme-caffeine.svg)](https://www.npmjs.com/package/jsonresume-theme-caffeine)\n\nThis is the Caffeine theme repository for the [Json Resume](https://jsonresume.org/) project. Unlike the [json-theme-boilerplate](https://github.com/jsonresume/jsonresume-theme-boilerplate) project, this environment has a much improved developer environment to make editing your theme super easy to do.\n\n\u003e Recently upgraded to v2, which simplifies the development environment, uses `yarn` over `npm`, no longer requires global installs, and updates `resume-cli` v2 (since v3 is still not stable).\n\n![Richard Hendriks Reume](http://i.imgur.com/yktvc8m.png)\n\n## Table of Contents\n\n* [Installation](#installation)\n* [Features](#features)\n* [Getting Started](#getting-started)\n* [Running](#running)\n* [Theme Overrides](#theme-overrides)\n    * [Icons](#icons)\n    * [About](#about)\n    * [Colors](#colors)\n* [Developer Environment](#developer-environment)\n* [Creating your resume.json](#creating-your-resumejson)\n* [Building the project](#building-the-project)\n* [Exporting your resume](#exporting-your-resume)\n## Installation\nThis project uses [gulp](http://gulpjs.com/) and [resume-cli](https://github.com/jsonresume/resume-cli) for all of its internal build processes. In theory, this project requires minimum a of `Node v8.2+` \u0026 `NPM v5.2` to run, but it is recommended to use `Node v12+`.\n\n## Quick Commands\n- `npm start` - Run the build and generate a resume html page for development\n- `npm run export` - Exports the resume into a `resume.pdf` file\n\nTo run any default resume-cli commands, simply run all resume-cli commands against `npx resume`.\n\n## Features\nThis theme environment comes equipped with the following features to make your development environment easier:\n\n- **Gulp** task management integration, so you can build out your ideal development environment.\n- **Sass** and **Handlebars** support to give you the full capabilties of the system and make it easier for you to build your own custom theme.\n- **Auto watch** for file changes and automatically recompile your core assets.\n- A modular file system.\n- Integration with [resume-cli](https://github.com/jsonresume/resume-cli) so you can still run the same commands against this project.\n\n## Getting Started\nIf you prefer to run the CLI commands locally, you can install the following packages globally (but it is not required):\n```bash\nnpm install -g resume-cli gulp-cli\n```\n\nWhen building the project for the very first time, run the following command to install all of your packages.\n\n```bash\nyarn install\n```\n\n## Running\nTo run the project, simply run the following command\n```bash\nnpm start\n```\n\nRunning the command above will automatically build your project, load your resume with the theme, listen for changes, and automatically refresh the browser on file changes. A `resume.json` will be created for you by default against the `resume-sample.json` if you do not provide a `resume.json` at the root directory level.\n\n## Creating your resume.json\nThis project comes with `resume-sample.json`, which is a sample json resume you can build from. If you don't create a `resume.json` file, it will automatically be created against the `resume-sample.json` file.\n\nIt is highly **recommended** to create your own `resume.json` for your own resume. If you create a `resume.json`, this will automatically be used by the app instead. In addition, this file is automatically ignored from GIT to ensure you cannot check it in (since most likely you'll have very personal information on there). If you do decide that you want to check it in, you can simply comment the following line in `.gitignore` like so:\n\n```\n# Keep your personal resume.json private\n# resume.json\n```\n\nPlease review the [schema here](https://jsonresume.org/schema/) when creating your `resume.json`.\n\n### Ignoring changes in resume.json\nIf you want to modify the theme but don't necessarily want to propogate the changes made in resume.json, you can easily untrack that file by running the following command:\n```\ngit update-index --assume-unchanged resume.json\n```\n\nIf you want to track the file again, you can run:\n```\ngit update-index --no-assume-unchanged resume.json\n```\n\n## Building the project\nWhen you run `npm start` or choose to manually build the project using `gulp`, it will generate a `/public` folder. This folder will be created after running the appropritae gulp tasks against the `/app` folder. Essentially, the app folder is your development environment and the public folder will be what we deploy to production. The public folder is exactly the same as the public folder generated from the jsonresume-theme-boilerplate, thus, our `index.js` will still run agianst this folder.\n\n## Exporting your resume\nTo export your resume, you can run the following command below. This will automatically create a `resume.pdf` file within your current directory:\n\n```\nnpm run export\n```\n\nAlternatively, you can also do a **print page** on the browser and save it as as PDF (by setting margins to none and removing header/footers.)\n\n## Theme Overrides\nThe theme provides will automatically render certain styles and icons depending on what you specify in the `resume.json` or what you choose to adjust within `variable.scss`. Some examples are listed below.\n\n### Icons\nAll the icons used in the theme are generated through [Font-Awesome](http://fontawesome.io/). So make sure the `network` key that you specify within your `profiles` json config matches the corresponding font-awesome style name. For example:\n\n```\n\"profiles\": [\n  {\n    \"network\": \"Twitter\",\n    ...\n  },\n  {\n    \"network\": \"Facebook\",\n    ...\n  }\n```\n\nThe Twitter and Facebook network keys will be appended to `fa-` to generate `fa-twitter` and `fa-facebook` respectively. Be sure to search within the [font awesome icons](http://fontawesome.io/icons/) to figure out the correct network name you want to use for the icon (i.e. if you want to use a different facebook icon, change the network name to [Facebook-Official](http://fontawesome.io/icon/facebook-official/) or [Facebook-Square](http://fontawesome.io/icon/facebook-square/)).\n\n### About\nThe entire about section on the left column is populated through the `basics` json config. This section is intentionally kept narrow to provide a quick summary and prevent it from taking up too much real estate on the resume.\n\nHowever, unfortunately it may be too narrow for folks with really long emails or website names. You can fix this in one of two ways:\n\n1. You can simply add spaces in your JSON config to indicate line breaks to create multi-line styles. The example below will automatically put the `@piedpiper.com` into its own line\n\n    ```\n    \"email\": \"richard.hendriks @piedpiper.com\",\n    ```\n\n\n2. If you are only one or two characters away from fitting your long strings, you can adjust the width of the left column by going into `variables.scss` and adjusting the two following variables:\n\n    ```\n    $aside-width            : 160px;\n    $aside-margin           : 20px;\n    ```\n\n    `aside-width` will determine how wide to keep the left column, and `aside-margin` will determine how much space you want to leave between the left column and the main content on the right.\n\n### Colors\nI highly recommend this to give your resume its own personal flair, If you want to change the default color used within the theme with your own custom color, change the `$primary-color` variable within `variable.scss` with your own.\n\n```\n$primary-color          : $slate-green;\n```\n\n## Developer Environment\nThe most important pieces of this environment are the two `app` and `gulp` folders as well as `index.js`. If you've already read through the [jsonresume-theme-boilerplate](https://github.com/jsonresume/jsonresume-theme-boilerplate), you should know what the files within `/app` and `index.js` represents.\n\n#### /app\nThe app folder holds all of your assets. The file system should be straightforward to follow. All views will be under the `/views`  folder. Most importantantly, this folder which contains `resume.hbs`, which is the main Handlebars template that will be used and sent to the theme server to render your resume. The  `/styles` folder contains all of your SASS stylesheets.\n\n#### /gulp\nThe gulp folder holds all the modularized gulp tasks/configs. Anything gulp related should go here. Please reference `gulpfile.js` as the source of truth.\n\n#### index.js\nThis is the file that will return the HTML to the theme server and run against the resume-cli. Not much change here from the jsonresume-theme-boilerplate except that it has been modified to accomodate this file system.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkelyvin%2Fjsonresume-theme-caffeine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkelyvin%2Fjsonresume-theme-caffeine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkelyvin%2Fjsonresume-theme-caffeine/lists"}