{"id":15606232,"url":"https://github.com/paulfioravanti/resume","last_synced_at":"2025-04-27T12:11:08.788Z","repository":{"id":8548300,"uuid":"10170579","full_name":"paulfioravanti/resume","owner":"paulfioravanti","description":"Generate my PDF resume with Ruby","archived":false,"fork":false,"pushed_at":"2024-10-31T00:56:43.000Z","size":1937,"stargazers_count":21,"open_issues_count":3,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-30T08:32:17.327Z","etag":null,"topics":["i18n","pdf","prawn","resume","ruby","test-coverage"],"latest_commit_sha":null,"homepage":"","language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"EarlGray/c4","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/paulfioravanti.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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":"2013-05-20T10:26:20.000Z","updated_at":"2025-03-05T06:01:15.000Z","dependencies_parsed_at":"2025-03-07T19:31:21.727Z","dependency_job_id":"73a53b3a-d457-41be-98c8-0b5007dfde2b","html_url":"https://github.com/paulfioravanti/resume","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulfioravanti%2Fresume","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulfioravanti%2Fresume/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulfioravanti%2Fresume/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/paulfioravanti%2Fresume/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/paulfioravanti","download_url":"https://codeload.github.com/paulfioravanti/resume/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251134781,"owners_count":21541384,"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":["i18n","pdf","prawn","resume","ruby","test-coverage"],"created_at":"2024-10-03T04:21:40.607Z","updated_at":"2025-04-27T12:11:08.759Z","avatar_url":"https://github.com/paulfioravanti.png","language":"Ruby","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Resume\n\n[![Build Status][Build Status image]][Build Status url]\n\nThis is a [Ruby][] command line interface (CLI) application that generates my\nresume.  I made it in order to teach myself a bit about the Ruby [PDF][]\ngeneration library [Prawn][]. [Railscast #153][] is also a good resource for\nlearning about it.\n\nText is deliberately obfuscated in the [JSON][] files that contain the resume\ncontent with [Base64][] to ensure people generate the PDF in order to be able\nto read anything.\n\n## Blog Post and Presentation\n\nI wrote a companion blog post for this project:\n\n- _[Resume as Code][]_\n\nIt outlines some reasons for making it, as well as some of the technical\nchallenges and quirks.\n\nI also did a lightning talk about this project at the [Ruby on Rails Oceania\nMeetup][roro] on [10 May 2016][roro-20160510] ([slide deck][speakerdeck]). No\nvideo of the talk exists, unfortunately. Perhaps I will re-record it again some\ntime...\n\n## Setup\n\n```sh\ngit clone https://github.com/paulfioravanti/resume.git\ncd resume\nbundle install\n```\n\n## Dependencies\n\n- Ruby 3.2.2\n- [i18n][], Prawn and [Prawn-Table][] (if you don't have the specific versions\n  of the gems, you will be prompted to install them)\n- [RSpec][], if you want to run the tests\n\n## Usage\n\n### Generate Resume\n\nGenerate the resume in the following languages:\n\n:uk: `bin/resume`\u003cbr /\u003e\n:it: `bin/resume -l it`\u003cbr /\u003e\n:jp: `bin/resume -l ja`\n\nHelp: `bin/resume -h`\n\n### Tests\n\nRun the tests:\n\n```sh\nbin/rspec\n```\n\n### Coverage Report\n\nView the [Simplecov][] test coverage report:\n\n```sh\nopen coverage/index.html\n```\n\n### Documentation\n\nGenerate the [YARD][] documentation:\n\n```sh\nbin/yardoc\n```\n\n## One Sheet Resume\n\nGenerate the \"one sheet\" version of the resume (the whole app and specs in a\nsingle file called `resume.rb`).\u003cbr /\u003e\n\n### Create\n\nIf I sent my resume to you directly, it would have been generated from\nthis `rake` task:\n\n```sh\nbin/rake resume\n```\n\n### Generate One Sheet\n\nThe resume PDF can be generated from the one sheet in a similar way as the\nCLI app:\n\n:uk: `ruby resume.rb`\u003cbr /\u003e\n:it: `ruby resume.rb -l it`\u003cbr /\u003e\n:jp: `ruby resume.rb -l ja`\n\n### One Sheet Specs\n\nThe specs can also be run directly on the one sheet resume:\n\n```sh\nrspec resume.rb\n```\n\n### Delete Assets\n\nIf there are ever any errors or issues related to the downloading of remote\nassets that cause the resume to not be able to be generated, you can run the\nfollowing `rake` task to delete all resume-related assets from the local tmpdir:\n\n```sh\nbin/rake resume:delete_assets\n```\n\n## Issues\n\n- It doesn't seem possible yet in Prawn to make an embedded image a clickable\n  link.  Until support is possible (if ever), I've simply pulled in images from\n  Dropbox and overlaid a transparent text link on top to simulate clicking an\n  image.  More discussion on this issue is at\n  [this StackOverflow thread][stackoverflow-transparent-link].\n\n[Base64]: http://ruby-doc.org/stdlib-2.3.0/libdoc/base64/rdoc/Base64.html\n[Build Status image]: https://github.com/paulfioravanti/resume/actions/workflows/ci.yml/badge.svg\n[Build Status url]: https://github.com/paulfioravanti/resume/actions/workflows/ci.yml\n[i18n]: https://github.com/ruby-i18n/i18n\n[JSON]: https://en.wikipedia.org/wiki/JSON\n[PDF]: https://en.wikipedia.org/wiki/PDF\n[Prawn]: https://github.com/prawnpdf/prawn\n[Prawn-Table]: https://github.com/prawnpdf/prawn-table\n[Railscast #153]: http://railscasts.com/episodes/153-pdfs-with-prawn-revised\n[Resume as Code]: https://paulfioravanti.com/blog/2019/06/22/resume-as-code/\n[roro]: https://www.meetup.com/Ruby-On-Rails-Oceania-Sydney/\n[roro-20160510]: https://www.meetup.com/Ruby-On-Rails-Oceania-Sydney/events/228886775/\n[RSpec]: https://github.com/rspec/rspec\n[Ruby]: https://www.ruby-lang.org/en/\n[Simplecov]: https://github.com/colszowka/simplecov\n[speakerdeck]: https://speakerdeck.com/paulfioravanti/resume-as-code\n[stackoverflow-transparent-link]: http://stackoverflow.com/q/8289031/567863\n[YARD]: https://yardoc.org/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulfioravanti%2Fresume","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpaulfioravanti%2Fresume","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpaulfioravanti%2Fresume/lists"}