-
-
Notifications
You must be signed in to change notification settings - Fork 4
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
9 changed files
with
494 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
name: Generate CVs | ||
|
||
on: | ||
workflow_dispatch: | ||
push: | ||
|
||
# env: | ||
# CV_FILENAME: J_Codemaster_CV | ||
|
||
jobs: | ||
generate: | ||
runs-on: ubuntu-latest | ||
permissions: | ||
contents: write | ||
|
||
steps: | ||
- name: Checkout Repository | ||
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 | ||
|
||
- name: Install Dependencies | ||
run: | | ||
sudo apt-get update | ||
sudo apt-get install -y pandoc texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra | ||
pip install jinja2-cli | ||
- name: Generate CVs | ||
run: make cv && ls -l output | ||
|
||
- name: Retrieve Version | ||
id: version | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
run: | | ||
echo "PREFIX=$(date '+%Y-%m-%d')" >> $GITHUB_OUTPUT | ||
echo "HASH=$(find output -type f -exec md5sum {} \; | sort -k 2 | cksum | awk '{print $1;}')" >> $GITHUB_OUTPUT | ||
echo "PREV_HASH=$(gh release list --limit 1 --json 'tagName' --jq '.[].tagName | split(".")[-1]')" >> $GITHUB_OUTPUT | ||
- name: Create Release | ||
if: steps.version.outputs.HASH != steps.version.outputs.PREV_HASH | ||
env: | ||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | ||
TAG: v${{ steps.version.outputs.PREFIX }}.${{ steps.version.outputs.HASH }} | ||
run: | | ||
gh release create "$TAG" --title "$TAG" | ||
gh release upload "$TAG" output/* | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
/output | ||
/.pdf.override.tex |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
The MIT License (MIT) | ||
|
||
Copyright (c) 2024 Eugene Leonovich | ||
|
||
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. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
SHELL := $(shell which bash) | ||
CV_FILENAME ?= cv | ||
|
||
clr_error := $(shell tty -s > /dev/null 2>&1 && tput setaf 1) | ||
clr_comment := $(shell tty -s > /dev/null 2>&1 && tput setaf 2) | ||
clr_info := $(shell tty -s > /dev/null 2>&1 && tput setaf 3) | ||
clr_reset := $(shell tty -s > /dev/null 2>&1 && tput sgr0) | ||
|
||
root_dir := $(shell dirname "$(realpath $(firstword $(MAKEFILE_LIST)))") | ||
templates_dir := $(root_dir)/templates | ||
output_dir := $(root_dir)/output | ||
|
||
define help | ||
$(clr_info)Usage:$(clr_reset) | ||
make [target] | ||
|
||
$(clr_info)Targets:$(clr_reset) | ||
clean $(clr_comment)Remove previously generated CVs (if any)$(clr_reset) | ||
cv $(clr_comment)Generate CVs in all supported formats$(clr_reset) | ||
cv-pdf $(clr_comment)Generate CV in PDF format$(clr_reset) | ||
cv-md $(clr_comment)Generate CV in Markdown format$(clr_reset) | ||
cv-html $(clr_comment)Generate CV in HTML format$(clr_reset) | ||
endef | ||
|
||
.PHONY: help | ||
help: | ||
@echo $(info $(help)) | ||
|
||
"$(output_dir)": | ||
@mkdir -p "$(output_dir)" | ||
|
||
.PHONY: clean | ||
clean: | ||
@rm -fv "$(output_dir)"/* | ||
|
||
.PHONY: cv | ||
cv: | "$(output_dir)" cv-pdf cv-md cv-html | ||
|
||
.PHONY: cv-pdf | ||
cv-pdf: | ||
@jinja2 --strict "$(templates_dir)/pdf.override.tex" "$(root_dir)/profile.yml" > "$(root_dir)/.pdf.override.tex" && \ | ||
jinja2 --strict "$(templates_dir)/cv.md" "$(root_dir)/profile.yml" | pandoc -o "$(output_dir)/$(CV_FILENAME).pdf" \ | ||
--pdf-engine=pdflatex \ | ||
--include-before-body="$(root_dir)/.pdf.override.tex" \ | ||
-V geometry:a4paper \ | ||
-V geometry:margin=1cm \ | ||
-V colorlinks=true \ | ||
-V linkcolor=blue | ||
@rm -f "$(root_dir)/.pdf.override.tex" | ||
|
||
.PHONY: cv-md | ||
cv-md: "$(output_dir)" | ||
@jinja2 --strict "$(templates_dir)/cv.md" "$(root_dir)/profile.yml" > "$(output_dir)/$(CV_FILENAME).md" | ||
|
||
.PHONY: cv-html | ||
cv-html: "$(output_dir)" | ||
@jinja2 --strict "$(templates_dir)/cv.html" "$(root_dir)/profile.yml" > "$(output_dir)/$(CV_FILENAME).html" | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,69 @@ | ||
# cv.template | ||
# CV.template | ||
|
||
This repository serves as a template for creating personalized CVs in various formats. By following the instructions | ||
below, you can easily generate your own CV using YAML format for your profile information. Happy CV crafting! ✨ | ||
|
||
|
||
## Getting Started | ||
|
||
To get started, follow these simple steps: | ||
|
||
1. Follow the [instructions](https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template) | ||
in the GitHub documentation to create a new repository based on this one. | ||
|
||
2. Clone the repository you just created to your local machine and navigate to the cloned directory: | ||
|
||
```bash | ||
git clone https://github.com/<your-username>/cv.git | ||
cd cv | ||
``` | ||
|
||
3. Open the [profile.yml](profile.yml) file and fill in your profile information in YAML format. | ||
You can include details such as your name, contact information, education, work experience, skills, and more. | ||
|
||
4. Optionally, customize the CV format layouts by modifying the provided templates | ||
in the [templates](templates) directory. | ||
|
||
5. Once you've filled in your profile information and customized the CV layouts, commit your changes | ||
and push them to the repository: | ||
```bash | ||
git add . | ||
git commit -m "Update profile information" | ||
git push origin master | ||
``` | ||
## Automatic CV Generation | ||
Whenever you push changes to the repository, GitHub Actions automatically generate CVs in various formats | ||
using your profile details and the available templates. A new release will be created only if there are changes | ||
to the profile information or any template layout, with the updated CVs attached for easy access. | ||
You can customize the name of the generated files by modifying the [ci.yml](.github/workflows/ci.yml) workflow | ||
to set the `CV_FILENAME` variable. For example: | ||
```yaml | ||
env: | ||
CV_FILENAME: J_Codemaster_CV | ||
``` | ||
This configuration will generate files with the name `J_Codemaster_CV.md`, `J_Codemaster_CV.pdf`, and so on. | ||
## Supported Formats and Templates | ||
Currently, there are three available formats for generating CVs: Markdown, HTML, and PDF. | ||
The layout templates are provided in [Jinja](https://jinja.palletsprojects.com/en/3.1.x/) file format: | ||
* **Markdown**: Located at [cv.md](templates/cv.md). | ||
* **HTML**: Located at [cv.html](templates/cv.html). | ||
* **PDF**: Generated from the Markdown template. | ||
Feel free to customize these templates to your needs. | ||
## License | ||
All the source code in this repository is released under the MIT License. See the bundled [LICENSE](LICENSE) file for details. | ||
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,118 @@ | ||
--- | ||
full_name: Johnny Codemaster | ||
summary: > | ||
Enthusiastic and innovative software developer with a knack for turning caffeine into code. | ||
Armed with a wizard's wand (keyboard) and a magical hat (headphones), I've crafted digital | ||
wonders for over a decade. My spells range from web enchantments to mobile charms, all sprinkled | ||
with a dash of humor and a pinch of pixel-perfect precision. Seeking new quests to conquer | ||
and challenges to turn into triumphs. | ||
contact_details: | ||
Email: [email protected] | ||
GitPub: https://gitpub.site/johnnycodemaster | ||
LinkedIO: https://linkedio.site/io/johnnycodemaster | ||
|
||
experience: | ||
- title: Senior Sorcerer | ||
company_name: ByteBlitz Technologies | ||
company_url: https://www.byte-blitz.company/ | ||
dates: 01/2020 - Present | ||
location: Remote, Mystical Valley | ||
bullet_points: | ||
- Led a team of code crusaders in developing next-gen applications and enchanting user experiences. | ||
- Spearheaded the implementation of Agile spellcasting methodologies, resulting in a 30% increase in project efficiency. | ||
- Designed and implemented scalable backend architectures using the latest enchanted frameworks. | ||
used_technologies: | ||
- PyroScript | ||
- CharmSQL | ||
- Mystic Cloud Computing | ||
- title: Lead Enchanter | ||
company_name: Pixel Potions Ltd | ||
company_url: https://www.pixel-potions.company/ | ||
dates: 01/2018 - 12/2019 | ||
location: Hybrid, Enchanted Realm | ||
bullet_points: | ||
- Brewed potions (code) to bring stunning visuals and interactive experiences to life. | ||
- Led the development of a magical mobile app, garnering 1 million downloads in its first month. | ||
- Transformed design mockups into pixel-perfect realities, earning accolades from clients and users alike. | ||
used_technologies: | ||
- SorceryScript | ||
- EnchantedReact | ||
- PotionStyles | ||
- Mystical Firebase | ||
- title: Software Alchemist | ||
company_name: Data Dwarves Inc | ||
company_url: https://www.data-dwarves.company/ | ||
dates: 01/2016 - 12/2017 | ||
location: Remote, Arcane Forest | ||
bullet_points: | ||
- Transmuted data into digital gold, crafting robust backend systems and arcane algorithms. | ||
- Implemented machine learning spells to uncover hidden insights in vast datasets, driving business growth. | ||
- Mentored apprentice alchemists, guiding them in the ways of data sorcery and software alchemy. | ||
used_technologies: | ||
- ElixirCraft | ||
- AlchemyTensor | ||
- Potion Pandas | ||
- title: Frontend Wizard | ||
company_name: Code Kingdoms Corp | ||
company_url: https://www.code-kingdoms.company/ | ||
dates: 01/2013 - 12/2015 | ||
location: Enchanted Kingdom, Code Kingdoms | ||
bullet_points: | ||
- Conjured captivating user interfaces and bewitching user interactions for web and mobile platforms. | ||
- Implemented responsive enchantments, ensuring seamless experiences across devices of all sizes. | ||
- Collaborated with designers to bring their visions to life, adding a touch of magic to every pixel. | ||
used_technologies: | ||
- Go# | ||
- HTML6 | ||
- CSS Charms | ||
- JS Spells | ||
- title: Junior Developer | ||
company_name: BitByte Brigade | ||
company_url: https://www.bitbyte-brigade.company/ | ||
dates: 01/2010 - 12/2012 | ||
location: Remote, Mystic Tower | ||
bullet_points: | ||
- Initiated into the mystical world of software development, honing skills in the dark arts of coding. | ||
- Assisted senior wizards in debugging spells and crafting enchanting features for client projects. | ||
- Learned the ancient languages of HTML, CSS, and JavaScript, laying the foundation for my magical journey. | ||
used_technologies: | ||
- EnigmaML | ||
- Sorcerer's Expressions | ||
- WizardJS | ||
- MageQuery | ||
|
||
education: | ||
- title: Bachelor of Science in Computer Science, Magic University | ||
dates: 2005-2010 | ||
|
||
certificates: | ||
- title: Certificate in Advanced Spellcasting Techniques, Wizard Academy | ||
- title: Certificate in Cloud Sorcery, Cloud Academy | ||
url: https://www.cloud-academy.cert/johnnycodemaster | ||
- title: Certificate in Cybersecurity Enchantment, Cryptic College | ||
url: https://www.cryptic-college.cert/johnnycodemaster | ||
|
||
training: | ||
- title: Training in Potion Crafting for Software Engineers, Enchanted Institute | ||
- title: Training in Agile Spellcasting, Agile Wizards Institute | ||
url: https://www.agile-wizards.training/johnnycodemaster | ||
|
||
skills: [PyroScript, ElixirCraft, HTML6, WizardJS, CharmSQL, Mystic Cloud Computing, AlchemyTensor, MageQuery] | ||
|
||
oss_projects: | ||
- title: "SpellCheck.js: A magical library for error-free incantations in JavaScript" | ||
url: https://www.open-source.oss/johnnycodemaster/spellcheck.js | ||
description: A handy library of regex sorcery for JavaScript magic without mishaps. | ||
- title: "PotentCSS: Brew powerful stylesheets with ease using this CSS preprocessor" | ||
url: https://www.open-source.oss/johnnycodemaster/potent.css | ||
description: A magical potion brewed with ElixirCraft and Enchanted Sass for flawless page prestidigitation. | ||
- title: "EnchantedUI: A collection of bewitching UI components for web enchanters" | ||
url: https://www.open-source.oss/johnnycodemaster/enchanted.ui | ||
|
||
publications: | ||
- title: "The Art of Debugging: Finding the Magic in Mistakes" | ||
url: https://wizards-gazette.pub/art-of-debugging | ||
- title: "Sorcery in Software: Harnessing the Power of Abstractions" | ||
url: https://code-conjurors-journal.pub/sorcery-in-software | ||
|
Oops, something went wrong.