├── .github ├── CODEOWNERS ├── dependabot.yml └── workflows │ ├── check.yml │ ├── flakehub-publish-rolling.yml │ └── update.yml ├── .gitignore ├── LICENSE ├── README.md ├── flake.lock ├── flake.nix ├── template ├── .github │ ├── dependabot.yml │ └── workflows │ │ ├── gh-pages.yml │ │ └── gist.yml ├── .gitignore ├── README.md ├── flake.nix ├── resume.sample.dhall ├── resume.sample.json ├── resume.sample.nix ├── resume.sample.toml └── resume.sample.yaml └── themes ├── jsonresume-theme-elegant └── default.nix ├── jsonresume-theme-full └── default.nix ├── jsonresume-theme-fullmoon └── default.nix ├── jsonresume-theme-kendall └── default.nix ├── jsonresume-theme-macchiato └── default.nix └── jsonresume-theme-stackoverflow └── default.nix /.github/CODEOWNERS: -------------------------------------------------------------------------------- 1 | # Mark @etu as codeowner for the entire repository 2 | * @etu 3 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: github-actions 5 | directory: / 6 | schedule: 7 | interval: weekly 8 | -------------------------------------------------------------------------------- /.github/workflows/check.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Check 3 | 4 | 'on': 5 | push: 6 | pull_request: 7 | branches: main 8 | 9 | jobs: 10 | check: 11 | runs-on: ubuntu-22.04 12 | steps: 13 | - uses: actions/checkout@v4 14 | - uses: DeterminateSystems/nix-installer-action@v17 15 | - uses: DeterminateSystems/flake-checker-action@v10 16 | 17 | - name: Check nix file formatting ❄️ 18 | run: 'nix fmt . -- --check' 19 | - name: Check yaml file formatting 📂 20 | run: 'nix run nixpkgs#yamllint -- --strict --format github .github/' 21 | - name: Check deadnix file formatting ❄️ 22 | run: 'nix run nixpkgs#deadnix -- --fail .' 23 | 24 | - name: Check flake ❄️ 25 | run: nix flake check 26 | -------------------------------------------------------------------------------- /.github/workflows/flakehub-publish-rolling.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Publish every Git push to main to FlakeHub 3 | 4 | 'on': 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | flakehub-publish: 11 | runs-on: ubuntu-22.04 12 | permissions: 13 | id-token: write 14 | contents: read 15 | steps: 16 | - uses: actions/checkout@v4 17 | - uses: DeterminateSystems/nix-installer-action@v17 18 | - uses: DeterminateSystems/flakehub-push@v5 19 | with: 20 | name: TaserudConsulting/jsonresume-nix 21 | rolling: true 22 | visibility: public 23 | -------------------------------------------------------------------------------- /.github/workflows/update.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Update 3 | 4 | 'on': 5 | schedule: 6 | - cron: '0 7 1 * *' # At 07:00 on day-of-month 1 7 | workflow_dispatch: 8 | 9 | jobs: 10 | lock-updater: 11 | name: Flake Lock Updater 12 | runs-on: ubuntu-22.04 13 | permissions: 14 | pull-requests: write 15 | contents: write 16 | steps: 17 | - uses: actions/checkout@v4 18 | - uses: DeterminateSystems/nix-installer-action@v17 19 | - uses: DeterminateSystems/update-flake-lock@v25 20 | with: 21 | pr-title: "chore: update flake.lock" 22 | pr-labels: | 23 | dependencies 24 | automated 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore build symlinks 2 | result* 3 | .tmp 4 | 5 | # Ignore temporary files for when doing manual tests with themes 6 | node_modules/ 7 | package-lock.json 8 | package.json 9 | resume.html 10 | resume.json 11 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | ISC License 2 | 3 | Copyright (c) 2023 Taserud Consulting AB 4 | 5 | Permission to use, copy, modify, and/or distribute this software for any 6 | purpose with or without fee is hereby granted, provided that the above 7 | copyright notice and this permission notice appear in all copies. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 10 | REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 11 | AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 12 | INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 13 | LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 14 | OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 15 | PERFORMANCE OF THIS SOFTWARE. 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # jsonresume-nix 2 | Build and deploy your résumé using [Nix](https://nixos.org/) and 3 | [jsonresume](https://jsonresume.org/) in a reproducible way. We 4 | provide some themes and make it easy to add more themes (pull requests 5 | are welcome). 6 | 7 | We have a template to easily deploy it GitHub pages or using their 8 | hosted service where the JSON schema is hosted as a GitHub gist. 9 | 10 | We also supports transforming into the JSON schema from other 11 | languages so you aren't used to a raw JSON format. 12 | 13 | Formats supported: 14 | 15 | - Nix (that gets evaluated into the JSON schema) 16 | - Dhall (that gets evaluated into the JSON schema) 17 | - TOML (that gets parsed into the JSON schema) 18 | - YAML (.yml or .yaml, that gets converted into the JSON schema) 19 | - JSON (just the original JSON format) 20 | 21 | ## Getting started 22 | 23 | Create your own `resume` repository and run 24 | 25 | nix flake init -t github:TaserudConsulting/jsonresume-nix 26 | 27 | to clone the template to use this flake. 28 | 29 | In there you get a `builder` that determines the theme to use. To 30 | build it you can just run `nix build .#builder` and execute the result 31 | like `./result` which will build `resume.nix` into a HTML output. Note 32 | that it's required that this `flake.nix` is part of a git repository 33 | and that you at least stage the `flake.nix` file to be able to build. 34 | 35 | To change the theme used you'd just change the `defaultPackage` used, 36 | to list available packages you just run: 37 | 38 | nix flake show github:TaserudConsulting/jsonresume-nix 39 | 40 | Then nix will list available theme wrappers. 41 | 42 | ### Live preview when building your résumé 43 | 44 | If you want a live preview of how the final result will look while 45 | filling out your résumé schema file, run the following command: 46 | 47 | nix run .#live 48 | 49 | ## [TODO] Things to do 50 | 51 | - [ ] Wrapper script to package themes 52 | - [ ] Wrapper script to update themes 53 | - [ ] Wrapper script to test themes 54 | - [X] Expose themes as packages in flake 55 | - [X] Expose resumed as package in flake 56 | - [X] Add a flake check that tests all themes 57 | - [ ] Add a flake output to test end users résumés and themes builds 58 | as flake checks 59 | - [ ] Add a flake output to use as flake init for end users résumés 60 | repositories 61 | - [ ] Add CI to update flake and themes 62 | 63 | ## Finding and testing more themes before packaging them 64 | 65 | 66 | 67 | Find the theme name, then run `npm install 68 | jsonresume-theme-THEMENAME`, this should install the theme in your 69 | local directory (given that you have `nodejs` available, use 70 | `nix-shell` for this). 71 | 72 | Then you should be able to use `nix-shell` to make `resumed` available 73 | as well and test the theme by running: 74 | 75 | resumed render --theme $(pwd)/node_modules/jsonresume-theme-THEMENAME/index.js 76 | 77 | The full path seems to be super important here. If this works you can 78 | attempt to package it and expose it in the flake. 79 | -------------------------------------------------------------------------------- /flake.lock: -------------------------------------------------------------------------------- 1 | { 2 | "nodes": { 3 | "flake-utils": { 4 | "inputs": { 5 | "systems": "systems" 6 | }, 7 | "locked": { 8 | "lastModified": 1710146030, 9 | "narHash": "sha256-SZ5L6eA7HJ/nmkzGG7/ISclqe6oZdOZTNoesiInkXPQ=", 10 | "owner": "numtide", 11 | "repo": "flake-utils", 12 | "rev": "b1d9ab70662946ef0850d488da1c9019f3a9752a", 13 | "type": "github" 14 | }, 15 | "original": { 16 | "id": "flake-utils", 17 | "type": "indirect" 18 | } 19 | }, 20 | "nixpkgs": { 21 | "locked": { 22 | "lastModified": 1722415718, 23 | "narHash": "sha256-5US0/pgxbMksF92k1+eOa8arJTJiPvsdZj9Dl+vJkM4=", 24 | "owner": "NixOS", 25 | "repo": "nixpkgs", 26 | "rev": "c3392ad349a5227f4a3464dce87bcc5046692fce", 27 | "type": "github" 28 | }, 29 | "original": { 30 | "id": "nixpkgs", 31 | "type": "indirect" 32 | } 33 | }, 34 | "root": { 35 | "inputs": { 36 | "flake-utils": "flake-utils", 37 | "nixpkgs": "nixpkgs" 38 | } 39 | }, 40 | "systems": { 41 | "locked": { 42 | "lastModified": 1681028828, 43 | "narHash": "sha256-Vy1rq5AaRuLzOxct8nz4T6wlgyUR7zLU309k9mBC768=", 44 | "owner": "nix-systems", 45 | "repo": "default", 46 | "rev": "da67096a3b9bf56a91d16901293e51ba5b49a27e", 47 | "type": "github" 48 | }, 49 | "original": { 50 | "owner": "nix-systems", 51 | "repo": "default", 52 | "type": "github" 53 | } 54 | } 55 | }, 56 | "root": "root", 57 | "version": 7 58 | } 59 | -------------------------------------------------------------------------------- /flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "jsonresume-nix"; 3 | 4 | inputs.flake-utils.url = "flake-utils"; 5 | 6 | outputs = { 7 | self, 8 | flake-utils, 9 | nixpkgs, 10 | ... 11 | } @ inputs: 12 | { 13 | # Flake outputs 14 | templates.default = { 15 | path = ./template; 16 | description = "Template to build jsonresume with nix"; 17 | }; 18 | } 19 | // flake-utils.lib.eachDefaultSystem (system: let 20 | pkgs = nixpkgs.legacyPackages.${system}; 21 | lib = pkgs.lib; 22 | in { 23 | # Specify formatter package for "nix fmt ." and "nix fmt . -- --check" 24 | formatter = pkgs.alejandra; 25 | 26 | # Set up nix develop shell environment 27 | devShells.default = pkgs.mkShell { 28 | buildInputs = [ 29 | pkgs.resumed 30 | pkgs.nodejs 31 | ]; 32 | }; 33 | 34 | # Check output to run checks for all themes 35 | checks.themes = let 36 | builderAttrs = 37 | lib.filterAttrs 38 | (name: _: lib.strings.hasPrefix "resumed-" name) 39 | self.packages.${system}; 40 | in 41 | pkgs.stdenv.mkDerivation { 42 | name = "themes-checks"; 43 | src = ./template; 44 | 45 | buildPhase = 46 | '' 47 | cp resume.sample.json resume.json 48 | '' 49 | + (builtins.concatStringsSep "\n\n" 50 | (lib.attrValues (lib.mapAttrs 51 | (name: value: '' 52 | # Build using builder ${name} 53 | ${lib.getExe value} 54 | mv resume.html ${name}.html 55 | '') 56 | builderAttrs))); 57 | 58 | installPhase = 59 | '' 60 | mkdir $out 61 | '' 62 | + (builtins.concatStringsSep "\n\n" 63 | (lib.attrValues ( 64 | lib.mapAttrs 65 | (name: _: '' 66 | mv ${name}.html $out 67 | '') 68 | builderAttrs 69 | ))); 70 | }; 71 | 72 | lib = { 73 | buildLiveServer = builderDerivation: 74 | pkgs.writeShellApplication { 75 | name = "live-entr-reload-server"; 76 | runtimeInputs = [ 77 | pkgs.entr 78 | pkgs.nodePackages.live-server 79 | pkgs.xe 80 | 81 | # Include the desired builders program that cointains `resumed-render` 82 | builderDerivation 83 | ]; 84 | text = '' 85 | resumed-render 86 | 87 | live-server --watch=resume.html --open=resume.html --wait=300 & 88 | 89 | # We want to not expand $1 in the xe argument 90 | # shellcheck disable=SC2016 91 | printf "\n%s" resume.{toml,nix,json} | 92 | xe -s 'test -f "$1" && echo "$1"' | 93 | entr -p resumed-render 94 | ''; 95 | }; 96 | 97 | buildPrintToPdf = { 98 | builderDerivation, 99 | format ? "A4", 100 | }: 101 | pkgs.writeShellApplication { 102 | name = "print-to-pdf"; 103 | runtimeInputs = [ 104 | pkgs.puppeteer-cli 105 | pkgs.nodePackages.live-server 106 | 107 | # Include the desired builders program that cointains `resumed-render` 108 | builderDerivation 109 | ]; 110 | text = '' 111 | PORT=$(shuf -i 2000-65000 -n 1) 112 | 113 | resumed-render 114 | 115 | live-server --host=127.0.0.1 --port="$PORT" --wait=300 --no-browser & 116 | LIVE_SERVER_PID=$! 117 | 118 | puppeteer print "http://127.0.0.1:$PORT/resume.html" resume.pdf --format ${format} 119 | 120 | kill "$LIVE_SERVER_PID" 121 | ''; 122 | }; 123 | 124 | buildThemeBuilder = themeName: let 125 | themePkg = pkgs.callPackage ./themes/jsonresume-theme-${themeName} {}; 126 | in 127 | pkgs.writeShellApplication { 128 | name = "resumed-render"; 129 | runtimeInputs = [ 130 | self.packages.${system}.fmt-as-json 131 | pkgs.resumed 132 | ]; 133 | text = '' 134 | # Convert resume.nix to resume.json 135 | fmt-as-json 136 | 137 | # Render resume.json 138 | resumed render \ 139 | --theme ${themePkg}/lib/node_modules/jsonresume-theme-${themeName}/index.js 140 | ''; 141 | }; 142 | }; 143 | 144 | # Expose packages for themes and resumed used 145 | packages = let 146 | # Shorthand for the buildThemeBuilder from lib 147 | inherit (self.lib.${system}) buildThemeBuilder; 148 | in { 149 | # Resumed package used 150 | inherit (pkgs) resumed; 151 | 152 | # Themes 153 | resumed-elegant = buildThemeBuilder "elegant"; 154 | resumed-full = buildThemeBuilder "full"; 155 | resumed-fullmoon = buildThemeBuilder "fullmoon"; 156 | resumed-kendall = buildThemeBuilder "kendall"; 157 | resumed-macchiato = buildThemeBuilder "macchiato"; 158 | resumed-stackoverflow = buildThemeBuilder "stackoverflow"; 159 | 160 | fmt-as-json = pkgs.writeShellApplication { 161 | name = "fmt-as-json"; 162 | runtimeInputs = [ 163 | pkgs.findutils 164 | pkgs.jq 165 | pkgs.nix 166 | pkgs.resumed 167 | pkgs.yq-go 168 | pkgs.dhall-json 169 | ]; 170 | text = '' 171 | set -eou pipefail 172 | 173 | yamlresume="$(find . \( -name 'resume.yaml' -o -name 'resume.yml' \) | head -1 || echo)" 174 | 175 | if test -e "./resume.nix"; then 176 | echo "Converting ./resume.nix to ./resume.json" 1>&2 177 | nix-instantiate --eval -E 'builtins.toJSON (import ./resume.nix)' \ 178 | | jq -r \ 179 | | jq > resume.json 180 | elif test -e "./resume.toml"; then 181 | echo "Converting ./resume.toml to ./resume.json" 1>&2 182 | nix-instantiate --eval -E 'builtins.toJSON (builtins.fromTOML (builtins.readFile ./resume.toml))' \ 183 | | jq -r \ 184 | | jq > resume.json 185 | elif test -e "./resume.dhall"; then 186 | echo "Converting ./resume.dhall to ./resume.json" 1>&2 187 | dhall-to-json --file ./resume.dhall --output resume.json 188 | elif [[ $yamlresume != "" ]]; then 189 | echo "Converting $yamlresume to ./resume.json" 1>&2 190 | yq -o=json '.' "$yamlresume" > resume.json 191 | elif test -e "./resume.json"; then 192 | echo "Found ./resume.json, not touching it" 1>&2 193 | else 194 | echo "No resume of any supported format found, currently looking for" 1>&2 195 | echo "any of ./resume.(nix|toml|json|yaml|yml|dhall)" 1>&2 196 | exit 2 197 | fi 198 | 199 | echo "Running validation of ./resume.json" 1>&2 200 | resumed validate 201 | ''; 202 | }; 203 | }; 204 | }) 205 | // {inherit inputs;}; 206 | } 207 | -------------------------------------------------------------------------------- /template/.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | --- 2 | version: 2 3 | updates: 4 | - package-ecosystem: github-actions 5 | directory: / 6 | schedule: 7 | interval: weekly 8 | -------------------------------------------------------------------------------- /template/.github/workflows/gh-pages.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Update Github Pages 3 | 4 | 'on': 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | update-resume-pages: 11 | runs-on: ubuntu-22.04 12 | permissions: 13 | # This makes sure that this action has permissions to push to 14 | # the gh-pages branch. 15 | contents: write 16 | steps: 17 | - uses: actions/checkout@v4 18 | - uses: DeterminateSystems/nix-installer-action@v6 19 | - uses: DeterminateSystems/magic-nix-cache-action@v2 20 | 21 | - run: | 22 | nix build . -L 23 | 24 | - uses: peaceiris/actions-gh-pages@v3 25 | with: 26 | github_token: ${{ secrets.GITHUB_TOKEN }} 27 | publish_dir: ./result 28 | -------------------------------------------------------------------------------- /template/.github/workflows/gist.yml: -------------------------------------------------------------------------------- 1 | --- 2 | name: Update Resume Gist 3 | 4 | 'on': 5 | push: 6 | branches: 7 | - main 8 | 9 | jobs: 10 | update-resume-gist: 11 | runs-on: ubuntu-22.04 12 | steps: 13 | - uses: actions/checkout@v4 14 | - uses: DeterminateSystems/nix-installer-action@v6 15 | - uses: DeterminateSystems/magic-nix-cache-action@v2 16 | 17 | - run: | 18 | nix run .#fmt-as-json 19 | 20 | - name: Update Resume Gist 21 | uses: exuanbo/actions-deploy-gist@v1 22 | with: 23 | # 24 | # Manual configuration required for this to work. 25 | # 26 | # See the docs here: https://github.com/exuanbo/actions-deploy-gist 27 | # 28 | gist_id: 29 | token: ${{ secrets.TOKEN }} 30 | file_path: resume.json 31 | -------------------------------------------------------------------------------- /template/.gitignore: -------------------------------------------------------------------------------- 1 | # Ignore build symlinks 2 | result* 3 | .tmp 4 | -------------------------------------------------------------------------------- /template/README.md: -------------------------------------------------------------------------------- 1 | # My awesome jsonresume 2 | 3 | My awesome resume is built on [jsonresume](https://jsonresume.org/) 4 | but instead of building it with json, I've chosen to use 5 | [nix](https://nixos.org) with this project 6 | [jsonresume-nix](https://github.com/TaserudConsulting/jsonresume-nix) 7 | by [Taserud Consulting](https://taserud.net). 8 | -------------------------------------------------------------------------------- /template/flake.nix: -------------------------------------------------------------------------------- 1 | { 2 | description = "Your personal jsonresume built with Nix"; 3 | 4 | inputs.jsonresume-nix.url = "github:TaserudConsulting/jsonresume-nix"; 5 | inputs.jsonresume-nix.inputs.flake-utils.follows = "flake-utils"; 6 | inputs.flake-utils.url = "flake-utils"; 7 | 8 | outputs = { 9 | jsonresume-nix, 10 | self, 11 | flake-utils, 12 | nixpkgs, 13 | ... 14 | } @ inputs: 15 | flake-utils.lib.eachDefaultSystem (system: let 16 | pkgs = nixpkgs.legacyPackages.${system}; 17 | lib = pkgs.lib; 18 | in { 19 | # Specify formatter package for "nix fmt ." and "nix fmt . -- --check" 20 | formatter = pkgs.alejandra; 21 | 22 | # Specify the builder package to use to build your resume, this 23 | # will decide which theme to use. 24 | # 25 | # To show available packaged themes: 26 | # nix flake show github:TaserudConsulting/jsonresume-nix 27 | # 28 | # If you miss a theme, consider opening a pull request :) 29 | packages = { 30 | builder = jsonresume-nix.packages.${system}.resumed-fullmoon; 31 | inherit (jsonresume-nix.packages.${system}) fmt-as-json; 32 | 33 | # Build production build 34 | # 35 | # This may need customizations, such as using the correct file 36 | # format and copying other resources (such as images). 37 | default = pkgs.runCommand "resume" {} '' 38 | ln -s ${./resume.nix} resume.nix 39 | HOME=$(mktemp -d) ${lib.getExe self.packages.${system}.builder} 40 | mkdir $out 41 | cp -v resume.html $out/index.html 42 | # Copy other resources such as images here... 43 | ''; 44 | }; 45 | 46 | # Allows to run a live preview server using "nix run .#live" 47 | apps = { 48 | live.type = "app"; 49 | live.program = lib.getExe (jsonresume-nix.lib.${system}.buildLiveServer self.packages.${system}.builder); 50 | 51 | print.type = "app"; 52 | print.program = lib.getExe (jsonresume-nix.lib.${system}.buildPrintToPdf { 53 | builderDerivation = self.packages.${system}.builder; 54 | }); 55 | }; 56 | }) 57 | // {inherit inputs;}; 58 | } 59 | -------------------------------------------------------------------------------- /template/resume.sample.dhall: -------------------------------------------------------------------------------- 1 | let Resume = 2 | https://raw.githubusercontent.com/gaelreyrol/dhall-resume/2a062f75eeb03db3faefd1c0c4d4fe5aaa825af1/package.dhall 3 | sha256:69712ee8d2cc1d4375238c20169d74962286d860bb06ab583baa39e48c018f35 4 | 5 | let schema = 6 | "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json" 7 | 8 | in Resume.Basic::{ 9 | , `$schema` = Some schema 10 | , basics = Some Resume.Basics::{ 11 | , email = Some "richard.hendriks@example.com" 12 | , label = Some "Programmer" 13 | , location = Some Resume.Location::{ 14 | , address = Some "2712 Broadway St" 15 | , city = Some "San Francisco" 16 | , countryCode = Some "US" 17 | , postalCode = Some "CA 94115" 18 | , region = Some "California" 19 | } 20 | , name = Some "Richard Hendriks" 21 | , phone = Some "(912) 555-4321" 22 | , profiles = Some 23 | [ Resume.Profile::{ 24 | , network = Some "Twitter" 25 | , username = Some "neutralthoughts" 26 | } 27 | , Resume.Profile::{ 28 | , network = Some "SoundCloud" 29 | , url = Some "https://soundcloud.example.com/dandymusicnl" 30 | , username = Some "dandymusicnl" 31 | } 32 | ] 33 | , summary = Some 34 | "Richard hails from Tulsa. He has earned degrees from the University of Oklahoma and Stanford. (Go Sooners and Cardinal!) Before starting Pied Piper, he worked for Hooli as a part time software developer. While his work focuses on applied information theory, mostly optimizing lossless compression schema of both the length-limited and adaptive variants, his non-work interests range widely, everything from quantum computing to chaos theory. He could tell you about it, but THAT would NOT be a “length-limited” conversation!" 35 | , url = Some "http://richardhendricks.example.com" 36 | } 37 | , work = Some 38 | [ Resume.Work::{ 39 | , name = Some "Pied Piper" 40 | , position = Some "CEO/President" 41 | , description = Some "Awesome compression company" 42 | , startDate = Some 2013-12-01 43 | , endDate = Some 2014-12-01 44 | , highlights = Some 45 | [ "Build an algorithm for artist to detect if their music was violating copy right infringement laws" 46 | , "Successfully won Techcrunch Disrupt" 47 | , "Optimized an algorithm that holds the current world record for Weisman Scores" 48 | ] 49 | , location = Some "Palo Alto, CA" 50 | , summary = Some 51 | "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression." 52 | , url = Some "http://piedpiper.example.com" 53 | } 54 | ] 55 | , volunteer = Some 56 | [ Resume.Volunteer::{ 57 | , organization = Some "CoderDojo" 58 | , position = Some "Teacher" 59 | , summary = Some 60 | "Global movement of free coding clubs for young people." 61 | , startDate = Some 2012-01-01 62 | , endDate = Some 2013-01-01 63 | , url = Some "http://coderdojo.example.com/" 64 | , highlights = Some [ "Awarded 'Teacher of the Month'" ] 65 | } 66 | ] 67 | , education = Some 68 | [ Resume.Education::{ 69 | , area = Some "Information Technology" 70 | , courses = Some [ "DB1101 - Basic SQL", "CS2011 - Java Introduction" ] 71 | , institution = Some "University of Oklahoma" 72 | , score = Some "4.0" 73 | , startDate = Some 2011-06-01 74 | , endDate = Some 2014-01-01 75 | , studyType = Some "Bachelor" 76 | , url = Some "https://example.com/" 77 | } 78 | ] 79 | , awards = Some 80 | [ Resume.Award::{ 81 | , awarder = Some "Techcrunch" 82 | , date = Some 2014-11-01 83 | , summary = Some "There is no spoon." 84 | , title = Some "Digital Compression Pioneer Award" 85 | } 86 | ] 87 | , publications = Some 88 | [ Resume.Publication::{ 89 | , name = Some "Video compression for 3d media" 90 | , publisher = Some "Hooli" 91 | , releaseDate = Some 2014-10-01 92 | , summary = Some 93 | "Innovative middle-out compression algorithm that changes the way we store data." 94 | , url = Some "http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)" 95 | } 96 | ] 97 | , skills = Some 98 | [ Resume.Skill::{ 99 | , level = Some "Master" 100 | , name = Some "Web Development" 101 | , keywords = Some [ "HTML", "CSS", "Javascript" ] 102 | } 103 | , Resume.Skill::{ 104 | , level = Some "Master" 105 | , name = Some "Compression" 106 | , keywords = Some [ "Mpeg", "MP4", "GIF" ] 107 | } 108 | ] 109 | , languages = Some 110 | [ Resume.Language::{ 111 | , fluency = Some "Native speaker" 112 | , language = Some "English" 113 | } 114 | ] 115 | , interests = Some 116 | [ Resume.Interest::{ 117 | , name = Some "Wildlife" 118 | , keywords = Some [ "Ferrets", "Unicorns" ] 119 | } 120 | ] 121 | , references = Some 122 | [ Resume.Reference::{ 123 | , name = Some "Erlich Bachman" 124 | , reference = Some 125 | "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company." 126 | } 127 | ] 128 | , projects = Some 129 | [ Resume.Project::{ 130 | , name = Some "Miss Direction" 131 | , description = Some "A mapping engine that misguides you" 132 | , entity = Some "Smoogle" 133 | , startDate = Some 2016-08-24 134 | , endDate = Some 2016-08-24 135 | , highlights = Some 136 | [ "Won award at AIHacks 2016" 137 | , "Built by all women team of newbie programmers" 138 | , "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript" 139 | ] 140 | , keywords = Some [ "GoogleMaps", "Chrome Extension", "Javascript" ] 141 | , roles = Some [ "Team lead", "Designer" ] 142 | , type = Some "application" 143 | , url = Some "missdirection.example.com" 144 | } 145 | ] 146 | , meta = Some Resume.Meta::{ 147 | , canonical = Some 148 | "https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json" 149 | , lastModified = Some "2017-12-24T15:53:00" 150 | , version = Some "v1.0.0" 151 | } 152 | } 153 | -------------------------------------------------------------------------------- /template/resume.sample.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json", 3 | "basics": { 4 | "email": "richard.hendriks@example.com", 5 | "image": "", 6 | "label": "Programmer", 7 | "location": { 8 | "address": "2712 Broadway St", 9 | "city": "San Francisco", 10 | "countryCode": "US", 11 | "postalCode": "CA 94115", 12 | "region": "California" 13 | }, 14 | "name": "Richard Hendriks", 15 | "phone": "(912) 555-4321", 16 | "profiles": [ 17 | { 18 | "network": "Twitter", 19 | "url": "", 20 | "username": "neutralthoughts" 21 | }, 22 | { 23 | "network": "SoundCloud", 24 | "url": "https://soundcloud.example.com/dandymusicnl", 25 | "username": "dandymusicnl" 26 | } 27 | ], 28 | "summary": "Richard hails from Tulsa. He has earned degrees from the University of Oklahoma and Stanford. (Go Sooners and Cardinal!) Before starting Pied Piper, he worked for Hooli as a part time software developer. While his work focuses on applied information theory, mostly optimizing lossless compression schema of both the length-limited and adaptive variants, his non-work interests range widely, everything from quantum computing to chaos theory. He could tell you about it, but THAT would NOT be a “length-limited” conversation!", 29 | "url": "http://richardhendricks.example.com" 30 | }, 31 | "work": [ 32 | { 33 | "description": "Awesome compression company", 34 | "endDate": "2014-12-01", 35 | "highlights": [ 36 | "Build an algorithm for artist to detect if their music was violating copy right infringement laws", 37 | "Successfully won Techcrunch Disrupt", 38 | "Optimized an algorithm that holds the current world record for Weisman Scores" 39 | ], 40 | "location": "Palo Alto, CA", 41 | "name": "Pied Piper", 42 | "position": "CEO/President", 43 | "startDate": "2013-12-01", 44 | "summary": "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression.", 45 | "url": "http://piedpiper.example.com" 46 | } 47 | ], 48 | "volunteer": [ 49 | { 50 | "endDate": "2013-01-01", 51 | "highlights": [ 52 | "Awarded 'Teacher of the Month'" 53 | ], 54 | "organization": "CoderDojo", 55 | "position": "Teacher", 56 | "startDate": "2012-01-01", 57 | "summary": "Global movement of free coding clubs for young people.", 58 | "url": "http://coderdojo.example.com/" 59 | } 60 | ], 61 | "education": [ 62 | { 63 | "area": "Information Technology", 64 | "courses": [ 65 | "DB1101 - Basic SQL", 66 | "CS2011 - Java Introduction" 67 | ], 68 | "endDate": "2014-01-01", 69 | "institution": "University of Oklahoma", 70 | "score": "4.0", 71 | "startDate": "2011-06-01", 72 | "studyType": "Bachelor", 73 | "url": "https://example.com/" 74 | } 75 | ], 76 | "awards": [ 77 | { 78 | "awarder": "Techcrunch", 79 | "date": "2014-11-01", 80 | "summary": "There is no spoon.", 81 | "title": "Digital Compression Pioneer Award" 82 | } 83 | ], 84 | "publications": [ 85 | { 86 | "name": "Video compression for 3d media", 87 | "publisher": "Hooli", 88 | "releaseDate": "2014-10-01", 89 | "summary": "Innovative middle-out compression algorithm that changes the way we store data.", 90 | "url": "http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)" 91 | } 92 | ], 93 | "skills": [ 94 | { 95 | "keywords": [ 96 | "HTML", 97 | "CSS", 98 | "Javascript" 99 | ], 100 | "level": "Master", 101 | "name": "Web Development" 102 | }, 103 | { 104 | "keywords": [ 105 | "Mpeg", 106 | "MP4", 107 | "GIF" 108 | ], 109 | "level": "Master", 110 | "name": "Compression" 111 | } 112 | ], 113 | "languages": [ 114 | { 115 | "fluency": "Native speaker", 116 | "language": "English" 117 | } 118 | ], 119 | "interests": [ 120 | { 121 | "keywords": [ 122 | "Ferrets", 123 | "Unicorns" 124 | ], 125 | "name": "Wildlife" 126 | } 127 | ], 128 | "references": [ 129 | { 130 | "name": "Erlich Bachman", 131 | "reference": "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company." 132 | } 133 | ], 134 | "projects": [ 135 | { 136 | "description": "A mapping engine that misguides you", 137 | "endDate": "2016-08-24", 138 | "entity": "Smoogle", 139 | "highlights": [ 140 | "Won award at AIHacks 2016", 141 | "Built by all women team of newbie programmers", 142 | "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript" 143 | ], 144 | "keywords": [ 145 | "GoogleMaps", 146 | "Chrome Extension", 147 | "Javascript" 148 | ], 149 | "name": "Miss Direction", 150 | "roles": [ 151 | "Team lead", 152 | "Designer" 153 | ], 154 | "startDate": "2016-08-24", 155 | "type": "application", 156 | "url": "missdirection.example.com" 157 | } 158 | ], 159 | "meta": { 160 | "canonical": "https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json", 161 | "lastModified": "2017-12-24T15:53:00", 162 | "theme": "papirus", 163 | "version": "v1.0.0" 164 | } 165 | } 166 | -------------------------------------------------------------------------------- /template/resume.sample.nix: -------------------------------------------------------------------------------- 1 | { 2 | "$schema" = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json"; 3 | 4 | basics = { 5 | name = "Richard Hendriks"; 6 | label = "Programmer"; 7 | image = ""; 8 | email = "richard.hendriks@example.com"; 9 | phone = "(912) 555-4321"; 10 | url = "http://richardhendricks.example.com"; 11 | summary = "Richard hails from Tulsa. He has earned degrees from the University of Oklahoma and Stanford. (Go Sooners and Cardinal!) Before starting Pied Piper, he worked for Hooli as a part time software developer. While his work focuses on applied information theory, mostly optimizing lossless compression schema of both the length-limited and adaptive variants, his non-work interests range widely, everything from quantum computing to chaos theory. He could tell you about it, but THAT would NOT be a “length-limited” conversation!"; 12 | location = { 13 | address = "2712 Broadway St"; 14 | postalCode = "CA 94115"; 15 | city = "San Francisco"; 16 | countryCode = "US"; 17 | region = "California"; 18 | }; 19 | profiles = [ 20 | { 21 | network = "Twitter"; 22 | username = "neutralthoughts"; 23 | url = ""; 24 | } 25 | { 26 | network = "SoundCloud"; 27 | username = "dandymusicnl"; 28 | url = "https://soundcloud.example.com/dandymusicnl"; 29 | } 30 | ]; 31 | }; 32 | 33 | work = [ 34 | { 35 | name = "Pied Piper"; 36 | location = "Palo Alto, CA"; 37 | description = "Awesome compression company"; 38 | position = "CEO/President"; 39 | url = "http://piedpiper.example.com"; 40 | startDate = "2013-12-01"; 41 | endDate = "2014-12-01"; 42 | summary = "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression."; 43 | highlights = [ 44 | "Build an algorithm for artist to detect if their music was violating copy right infringement laws" 45 | "Successfully won Techcrunch Disrupt" 46 | "Optimized an algorithm that holds the current world record for Weisman Scores" 47 | ]; 48 | } 49 | ]; 50 | 51 | volunteer = [ 52 | { 53 | organization = "CoderDojo"; 54 | position = "Teacher"; 55 | url = "http://coderdojo.example.com/"; 56 | startDate = "2012-01-01"; 57 | endDate = "2013-01-01"; 58 | summary = "Global movement of free coding clubs for young people."; 59 | highlights = [ 60 | "Awarded 'Teacher of the Month'" 61 | ]; 62 | } 63 | ]; 64 | 65 | education = [ 66 | { 67 | institution = "University of Oklahoma"; 68 | url = "https://example.com/"; 69 | area = "Information Technology"; 70 | studyType = "Bachelor"; 71 | startDate = "2011-06-01"; 72 | endDate = "2014-01-01"; 73 | score = "4.0"; 74 | courses = [ 75 | "DB1101 - Basic SQL" 76 | "CS2011 - Java Introduction" 77 | ]; 78 | } 79 | ]; 80 | 81 | awards = [ 82 | { 83 | title = "Digital Compression Pioneer Award"; 84 | date = "2014-11-01"; 85 | awarder = "Techcrunch"; 86 | summary = "There is no spoon."; 87 | } 88 | ]; 89 | 90 | publications = [ 91 | { 92 | name = "Video compression for 3d media"; 93 | publisher = "Hooli"; 94 | releaseDate = "2014-10-01"; 95 | url = "http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)"; 96 | summary = "Innovative middle-out compression algorithm that changes the way we store data."; 97 | } 98 | ]; 99 | 100 | skills = [ 101 | { 102 | name = "Web Development"; 103 | level = "Master"; 104 | keywords = [ 105 | "HTML" 106 | "CSS" 107 | "Javascript" 108 | ]; 109 | } 110 | { 111 | name = "Compression"; 112 | level = "Master"; 113 | keywords = [ 114 | "Mpeg" 115 | "MP4" 116 | "GIF" 117 | ]; 118 | } 119 | ]; 120 | 121 | languages = [ 122 | { 123 | language = "English"; 124 | fluency = "Native speaker"; 125 | } 126 | ]; 127 | 128 | interests = [ 129 | { 130 | name = "Wildlife"; 131 | keywords = [ 132 | "Ferrets" 133 | "Unicorns" 134 | ]; 135 | } 136 | ]; 137 | 138 | references = [ 139 | { 140 | name = "Erlich Bachman"; 141 | reference = "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company."; 142 | } 143 | ]; 144 | 145 | projects = [ 146 | { 147 | name = "Miss Direction"; 148 | description = "A mapping engine that misguides you"; 149 | highlights = [ 150 | "Won award at AIHacks 2016" 151 | "Built by all women team of newbie programmers" 152 | "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript" 153 | ]; 154 | keywords = [ 155 | "GoogleMaps" 156 | "Chrome Extension" 157 | "Javascript" 158 | ]; 159 | startDate = "2016-08-24"; 160 | endDate = "2016-08-24"; 161 | url = "missdirection.example.com"; 162 | roles = [ 163 | "Team lead" 164 | "Designer" 165 | ]; 166 | entity = "Smoogle"; 167 | type = "application"; 168 | } 169 | ]; 170 | 171 | meta = { 172 | canonical = "https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json"; 173 | version = "v1.0.0"; 174 | lastModified = "2017-12-24T15:53:00"; 175 | 176 | # Set default theme when fetching through 177 | # https://registry.jsonresume.org/, see themes 178 | # here: https://jsonresume.org/themes/ 179 | theme = "papirus"; 180 | }; 181 | } 182 | -------------------------------------------------------------------------------- /template/resume.sample.toml: -------------------------------------------------------------------------------- 1 | "$schema" = "https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json" 2 | 3 | 4 | [basics] 5 | email = "richard.hendriks@example.com" 6 | image = "" 7 | label = "Programmer" 8 | name = "Richard Hendriks" 9 | phone = "(912) 555-4321" 10 | summary = "Richard hails from Tulsa. He has earned degrees from the University of Oklahoma and Stanford. (Go Sooners and Cardinal!) Before starting Pied Piper, he worked for Hooli as a part time software developer. While his work focuses on applied information theory, mostly optimizing lossless compression schema of both the length-limited and adaptive variants, his non-work interests range widely, everything from quantum computing to chaos theory. He could tell you about it, but THAT would NOT be a “length-limited” conversation!" 11 | url = "http://richardhendricks.example.com" 12 | 13 | [basics.location] 14 | address = "2712 Broadway St" 15 | city = "San Francisco" 16 | countryCode = "US" 17 | postalCode = "CA 94115" 18 | region = "California" 19 | 20 | [[basics.profiles]] 21 | network = "Twitter" 22 | url = "" 23 | username = "neutralthoughts" 24 | 25 | [[basics.profiles]] 26 | network = "SoundCloud" 27 | url = "https://soundcloud.example.com/dandymusicnl" 28 | username = "dandymusicnl" 29 | 30 | 31 | [[work]] 32 | description = "Awesome compression company" 33 | endDate = "2014-12-01" 34 | highlights = [ 35 | "Build an algorithm for artist to detect if their music was violating copy right infringement laws", 36 | "Successfully won Techcrunch Disrupt", 37 | "Optimized an algorithm that holds the current world record for Weisman Scores" 38 | ] 39 | location = "Palo Alto, CA" 40 | name = "Pied Piper" 41 | position = "CEO/President" 42 | startDate = "2013-12-01" 43 | summary = "Pied Piper is a multi-platform technology based on a proprietary universal compression algorithm that has consistently fielded high Weisman Scores™ that are not merely competitive, but approach the theoretical limit of lossless compression." 44 | url = "http://piedpiper.example.com" 45 | 46 | 47 | [[volunteer]] 48 | endDate = "2013-01-01" 49 | highlights = [ "Awarded 'Teacher of the Month'" ] 50 | organization = "CoderDojo" 51 | position = "Teacher" 52 | startDate = "2012-01-01" 53 | summary = "Global movement of free coding clubs for young people." 54 | url = "http://coderdojo.example.com/" 55 | 56 | 57 | [[education]] 58 | area = "Information Technology" 59 | courses = [ "DB1101 - Basic SQL", "CS2011 - Java Introduction" ] 60 | endDate = "2014-01-01" 61 | institution = "University of Oklahoma" 62 | score = "4.0" 63 | startDate = "2011-06-01" 64 | studyType = "Bachelor" 65 | url = "https://example.com/" 66 | 67 | 68 | [[awards]] 69 | awarder = "Techcrunch" 70 | date = "2014-11-01" 71 | summary = "There is no spoon." 72 | title = "Digital Compression Pioneer Award" 73 | 74 | 75 | [[publications]] 76 | name = "Video compression for 3d media" 77 | publisher = "Hooli" 78 | releaseDate = "2014-10-01" 79 | summary = "Innovative middle-out compression algorithm that changes the way we store data." 80 | url = "http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series)" 81 | 82 | 83 | [[skills]] 84 | keywords = [ "HTML", "CSS", "Javascript" ] 85 | level = "Master" 86 | name = "Web Development" 87 | 88 | [[skills]] 89 | keywords = [ "Mpeg", "MP4", "GIF" ] 90 | level = "Master" 91 | name = "Compression" 92 | 93 | 94 | [[languages]] 95 | fluency = "Native speaker" 96 | language = "English" 97 | 98 | 99 | [[interests]] 100 | keywords = [ "Ferrets", "Unicorns" ] 101 | name = "Wildlife" 102 | 103 | 104 | [[references]] 105 | name = "Erlich Bachman" 106 | reference = "It is my pleasure to recommend Richard, his performance working as a consultant for Main St. Company proved that he will be a valuable addition to any company." 107 | 108 | 109 | [[projects]] 110 | description = "A mapping engine that misguides you" 111 | endDate = "2016-08-24" 112 | entity = "Smoogle" 113 | highlights = [ 114 | "Won award at AIHacks 2016", 115 | "Built by all women team of newbie programmers", 116 | "Using modern technologies such as GoogleMaps, Chrome Extension and Javascript" 117 | ] 118 | keywords = [ "GoogleMaps", "Chrome Extension", "Javascript" ] 119 | name = "Miss Direction" 120 | roles = [ "Team lead", "Designer" ] 121 | startDate = "2016-08-24" 122 | type = "application" 123 | url = "missdirection.example.com" 124 | 125 | 126 | [meta] 127 | canonical = "https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json" 128 | lastModified = "2017-12-24T15:53:00" 129 | version = "v1.0.0" 130 | # Set default theme when fetching through 131 | # https://registry.jsonresume.org/, see themes 132 | # here: https://jsonresume.org/themes/ 133 | theme = "papirus" 134 | -------------------------------------------------------------------------------- /template/resume.sample.yaml: -------------------------------------------------------------------------------- 1 | --- 2 | "$schema": https://raw.githubusercontent.com/jsonresume/resume-schema/v1.0.0/schema.json 3 | 4 | basics: 5 | email: richard.hendriks@example.com 6 | image: '' 7 | label: Programmer 8 | location: 9 | address: 2712 Broadway St 10 | city: San Francisco 11 | countryCode: US 12 | postalCode: CA 94115 13 | region: California 14 | name: Richard Hendriks 15 | phone: "(912) 555-4321" 16 | profiles: 17 | - network: Twitter 18 | url: '' 19 | username: neutralthoughts 20 | - network: SoundCloud 21 | url: https://soundcloud.example.com/dandymusicnl 22 | username: dandymusicnl 23 | summary: | 24 | Richard hails from Tulsa. He has earned degrees from the 25 | University of Oklahoma and Stanford. (Go Sooners and Cardinal!) 26 | Before starting Pied Piper, he worked for Hooli as a part time 27 | software developer. While his work focuses on applied information 28 | theory, mostly optimizing lossless compression schema of both the 29 | length-limited and adaptive variants, his non-work interests range 30 | widely, everything from quantum computing to chaos theory. He 31 | could tell you about it, but THAT would NOT be a “length-limited” 32 | conversation! 33 | url: http://richardhendricks.example.com 34 | 35 | work: 36 | - description: Awesome compression company 37 | endDate: '2014-12-01' 38 | highlights: 39 | - Build an algorithm for artist to detect if their music was 40 | violating copy right infringement laws 41 | - Successfully won Techcrunch Disrupt 42 | - Optimized an algorithm that holds the current world record for 43 | Weisman Scores 44 | location: Palo Alto, CA 45 | name: Pied Piper 46 | position: CEO/President 47 | startDate: '2013-12-01' 48 | summary: | 49 | Pied Piper is a multi-platform technology based on a proprietary 50 | universal compression algorithm that has consistently fielded 51 | high Weisman Scores™ that are not merely competitive, but 52 | approach the theoretical limit of lossless compression. 53 | url: http://piedpiper.example.com 54 | 55 | volunteer: 56 | - endDate: '2013-01-01' 57 | highlights: 58 | - Awarded 'Teacher of the Month' 59 | organization: CoderDojo 60 | position: Teacher 61 | startDate: '2012-01-01' 62 | summary: Global movement of free coding clubs for young people. 63 | url: http://coderdojo.example.com/ 64 | 65 | education: 66 | - area: Information Technology 67 | courses: 68 | - DB1101 - Basic SQL 69 | - CS2011 - Java Introduction 70 | endDate: '2014-01-01' 71 | institution: University of Oklahoma 72 | score: '4.0' 73 | startDate: '2011-06-01' 74 | studyType: Bachelor 75 | url: https://example.com/ 76 | 77 | awards: 78 | - awarder: Techcrunch 79 | date: '2014-11-01' 80 | summary: There is no spoon. 81 | title: Digital Compression Pioneer Award 82 | 83 | publications: 84 | - name: Video compression for 3d media 85 | publisher: Hooli 86 | releaseDate: '2014-10-01' 87 | summary: | 88 | Innovative middle-out compression algorithm that changes the way 89 | we store data. 90 | url: http://en.wikipedia.org/wiki/Silicon_Valley_(TV_series) 91 | 92 | skills: 93 | - keywords: 94 | - HTML 95 | - CSS 96 | - Javascript 97 | level: Master 98 | name: Web Development 99 | - keywords: 100 | - Mpeg 101 | - MP4 102 | - GIF 103 | level: Master 104 | name: Compression 105 | 106 | languages: 107 | - fluency: Native speaker 108 | language: English 109 | 110 | interests: 111 | - keywords: 112 | - Ferrets 113 | - Unicorns 114 | name: Wildlife 115 | 116 | references: 117 | - name: Erlich Bachman 118 | reference: | 119 | It is my pleasure to recommend Richard, his performance working 120 | as a consultant for Main St. Company proved that he will be a 121 | valuable addition to any company. 122 | 123 | projects: 124 | - description: A mapping engine that misguides you 125 | endDate: '2016-08-24' 126 | entity: Smoogle 127 | highlights: 128 | - Won award at AIHacks 2016 129 | - Built by all women team of newbie programmers 130 | - Using modern technologies such as GoogleMaps, Chrome Extension and Javascript 131 | keywords: 132 | - GoogleMaps 133 | - Chrome Extension 134 | - Javascript 135 | name: Miss Direction 136 | roles: 137 | - Team lead 138 | - Designer 139 | startDate: '2016-08-24' 140 | type: application 141 | url: missdirection.example.com 142 | 143 | meta: 144 | canonical: https://raw.githubusercontent.com/jsonresume/resume-schema/master/schema.json 145 | lastModified: '2017-12-24T15:53:00' 146 | theme: papirus 147 | version: v1.0.0 148 | -------------------------------------------------------------------------------- /themes/jsonresume-theme-elegant/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | buildNpmPackage, 3 | fetchFromGitHub, 4 | }: let 5 | pname = "jsonresume-theme-elegant"; 6 | version = "1.16.1"; 7 | in 8 | buildNpmPackage { 9 | inherit pname version; 10 | 11 | src = fetchFromGitHub { 12 | owner = "mudassir0909"; 13 | repo = pname; 14 | rev = "1b38dae2f9fcdf0e4a5d03d2a737b88303ff6305"; 15 | hash = "sha256-AhWWBA5D1LgBQtIjPQMZICngBpbGmBGRpv/7SHsSfXc="; 16 | }; 17 | 18 | npmDepsHash = "sha256-3GrHcwfu0rIPQ6e6SFa8Ve3VqL/KcEBRru9oAPAVGmo="; 19 | dontNpmBuild = true; 20 | 21 | meta = { 22 | description = "Elegant theme for jsonresume"; 23 | homepage = "https://github.com/mudassir0909/jsonresume-theme-elegant"; 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /themes/jsonresume-theme-full/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | lib, 3 | buildNpmPackage, 4 | fetchFromGitHub, 5 | }: let 6 | pname = "jsonresume-theme-full"; 7 | version = "unstable-2023-07-16"; 8 | in 9 | buildNpmPackage { 10 | inherit pname version; 11 | 12 | src = fetchFromGitHub { 13 | owner = "jackkeller"; 14 | repo = pname; 15 | rev = "66e3d0673db9b436e4fb7cdf5d9dc336d1f3a0a4"; 16 | hash = "sha256-ZYAExajB2BUXf17fOYnLFEZAeKCnCnjwym/VO1k2yk8="; 17 | }; 18 | 19 | npmDepsHash = "sha256-jqsrQaMth71kGk6NEyGgUbjVHhpXn2kIDi/T6tmbcZI="; 20 | dontNpmBuild = true; 21 | 22 | meta = { 23 | description = "Simple to the point theme for JSON Resume, based on the short theme."; 24 | homepage = "https://github.com/jackkeller/jsonresume-theme-full"; 25 | license = lib.licenses.mit; 26 | }; 27 | } 28 | -------------------------------------------------------------------------------- /themes/jsonresume-theme-fullmoon/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | buildNpmPackage, 3 | fetchFromGitHub, 4 | }: let 5 | pname = "jsonresume-theme-fullmoon"; 6 | version = "0.1.2"; 7 | in 8 | buildNpmPackage { 9 | inherit pname version; 10 | 11 | src = fetchFromGitHub { 12 | owner = "IsFilimonov"; 13 | repo = pname; 14 | rev = "v${version}"; 15 | hash = "sha256-6zdqIE/DpuLhlQ6OFrOfNGu7Vq8w+0OAcMYCNQXD1xY="; 16 | }; 17 | 18 | npmDepsHash = "sha256-1DIxCiUWF46YSCjvIzrXwz0w6+TwdXndUgb0Pgd3kHI="; 19 | dontNpmBuild = true; 20 | 21 | meta = { 22 | description = "A fullm🌑🌕n template for JSON resume"; 23 | homepage = "https://github.com/IsFilimonov/jsonresume-theme-fullmoon"; 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /themes/jsonresume-theme-kendall/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | buildNpmPackage, 3 | fetchFromGitHub, 4 | }: let 5 | pname = "jsonresume-theme-kendall"; 6 | version = "0.2.0"; 7 | in 8 | buildNpmPackage { 9 | inherit pname version; 10 | 11 | src = fetchFromGitHub { 12 | owner = "LinuxBozo"; 13 | repo = pname; 14 | rev = "90438746fd64fc8184f439d5731a7d118660ab7a"; 15 | hash = "sha256-BBtU55k1J7M5nfhgXkmY69zx+ffnhlFiNbNvp8rUeBM="; 16 | }; 17 | 18 | npmDepsHash = "sha256-n3waeDunWnhGrVAliWwcJ3QKb2Oy0K+5rt+aZsmSmuA="; 19 | dontNpmBuild = true; 20 | 21 | meta = { 22 | description = "A theme for jsonresume"; 23 | homepage = "https://github.com/LinuxBozo/jsonresume-theme-kendall"; 24 | }; 25 | } 26 | -------------------------------------------------------------------------------- /themes/jsonresume-theme-macchiato/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | buildNpmPackage, 3 | fetchFromGitHub, 4 | fetchpatch, 5 | python3, 6 | }: let 7 | pname = "jsonresume-theme-macchiato"; 8 | version = "2021-02-20"; 9 | in 10 | buildNpmPackage { 11 | inherit pname version; 12 | 13 | src = fetchFromGitHub { 14 | owner = "biosan"; 15 | repo = pname; 16 | rev = "c783186d31c88924b7808bf65a892cef233099c4"; 17 | hash = "sha256-ssqZBlVnEtOSldDrEAPsmTxAdGozeABdt98xSXv0Fe0="; 18 | }; 19 | 20 | npmDepsHash = "sha256-yK7Yp2580XiGv1nHmyBnnF7dLlADOP8NWLvuzAMclOo="; 21 | 22 | patches = [ 23 | (fetchpatch { 24 | url = "https://patch-diff.githubusercontent.com/raw/biosan/jsonresume-theme-macchiato/pull/22.patch"; 25 | hash = "sha256-sq5gOiY35uJF7k0Hxx19VMh1Gn9i2lWAlbNAgqBboHM="; 26 | }) 27 | ]; 28 | 29 | nativeBuildInputs = [python3]; 30 | dontNpmBuild = true; 31 | PUPPETEER_SKIP_CHROMIUM_DOWNLOAD = 1; 32 | 33 | meta = { 34 | description = "Simple JSONResume theme (based on Caffeine theme) ☕️+🥛"; 35 | homepage = "https://github.com/biosan/jsonresume-theme-macchiato"; 36 | }; 37 | } 38 | -------------------------------------------------------------------------------- /themes/jsonresume-theme-stackoverflow/default.nix: -------------------------------------------------------------------------------- 1 | { 2 | buildNpmPackage, 3 | fetchFromGitHub, 4 | }: let 5 | pname = "jsonresume-theme-stackoverflow"; 6 | version = "2.0.2"; 7 | in 8 | buildNpmPackage { 9 | inherit pname version; 10 | 11 | src = fetchFromGitHub { 12 | owner = "phoinixi"; 13 | repo = pname; 14 | rev = "v${version}"; 15 | hash = "sha256-8ACOuhGTWOC/pYdla7m6uKvw2TA6SBXuNlfMYsHUiyo="; 16 | }; 17 | 18 | dontNpmBuild = true; 19 | npmDepsHash = "sha256-H3bVs5VmK5eEPvxF85E8v+vAkGQPDjWM+mEKOJ95RMw="; 20 | 21 | meta = { 22 | description = "Stack Overflow theme for JSON Resume"; 23 | homepage = "https://github.com/phoinixi/jsonresume-theme-stackoverflow"; 24 | }; 25 | } 26 | --------------------------------------------------------------------------------