@jaimanm/resumake 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/npm-publish.yml +0 -3
- package/CONTRIBUTING.md +14 -1
- package/package.json +1 -1
- package/src/commands/setup.js +6 -4
- package/templates/awesome-cv/.github/workflows/build-resume.yml +65 -0
- package/templates/awesome-cv/README.md +1 -0
- package/templates/awesome-cv/awesome-cv.cls +885 -0
- package/templates/awesome-cv/build_all.sh +12 -0
- package/templates/awesome-cv/cv/certificates.tex +111 -0
- package/templates/awesome-cv/cv/committees.tex +48 -0
- package/templates/awesome-cv/cv/education.tex +25 -0
- package/templates/awesome-cv/cv/experience.tex +186 -0
- package/templates/awesome-cv/cv/extracurricular.tex +81 -0
- package/templates/awesome-cv/cv/honors.tex +181 -0
- package/templates/awesome-cv/cv/presentation.tex +50 -0
- package/templates/awesome-cv/cv/skills.tex +38 -0
- package/templates/awesome-cv/cv/writing.tex +37 -0
- package/templates/awesome-cv/cv.tex +114 -0
- package/templates/jakes-cv/.github/workflows/build-resume.yml +65 -0
- package/templates/jakes-cv/README.md +29 -0
- package/templates/jakes-cv/build_all.sh +22 -0
- package/templates/jakes-cv/cv-sections/certificates.tex +8 -0
- package/templates/jakes-cv/cv-sections/committees.tex +19 -0
- package/templates/jakes-cv/cv-sections/education.tex +10 -0
- package/templates/jakes-cv/cv-sections/experience.tex +22 -0
- package/templates/jakes-cv/cv-sections/extracurricular.tex +20 -0
- package/templates/jakes-cv/cv-sections/honors.tex +10 -0
- package/templates/jakes-cv/cv-sections/presentation.tex +19 -0
- package/templates/jakes-cv/cv-sections/projects.tex +15 -0
- package/templates/jakes-cv/cv-sections/skills.tex +10 -0
- package/templates/jakes-cv/cv-sections/writing.tex +19 -0
- package/templates/jakes-cv/cv.tex +174 -0
- package/templates/jakes-cv/fonts/Roboto-Bold.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-BoldItalic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Italic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Light.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-LightItalic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Medium.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-MediumItalic.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Regular.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-Thin.ttf +0 -0
- package/templates/jakes-cv/fonts/Roboto-ThinItalic.ttf +0 -0
- package/templates/jakes-resume/.github/workflows/build-resume.yml +65 -0
- package/templates/jakes-resume/README.md +1 -0
- package/templates/jakes-resume/build_all.sh +7 -0
- package/templates/jakes-resume/resume.tex +218 -0
- package/templates/modular-multi/.github/workflows/build-resume.yml +65 -0
- package/templates/modular-multi/README.md +1 -0
- package/templates/modular-multi/build_all.sh +23 -0
- package/templates/modular-multi/resume_aiml.tex +5 -0
- package/templates/modular-multi/resume_backend.tex +5 -0
- package/templates/modular-multi/resume_content.tex +136 -0
- package/templates/modular-multi/resume_preamble.tex +87 -0
- package/templates/modular-multi/resume_quantum.tex +5 -0
- package/templates/modular-multi/test.txt +80 -0
- package/tests/index.test.js +22 -90
- package/tests/setup.test.js +8 -4
|
@@ -16,7 +16,6 @@ jobs:
|
|
|
16
16
|
- uses: actions/setup-node@v4
|
|
17
17
|
with:
|
|
18
18
|
node-version: '20'
|
|
19
|
-
registry-url: 'https://registry.npmjs.org/'
|
|
20
19
|
|
|
21
20
|
- name: Install dependencies
|
|
22
21
|
run: npm ci
|
|
@@ -26,5 +25,3 @@ jobs:
|
|
|
26
25
|
|
|
27
26
|
- name: Publish to NPM with Provenance
|
|
28
27
|
run: npm publish --provenance --access public
|
|
29
|
-
env:
|
|
30
|
-
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
|
package/CONTRIBUTING.md
CHANGED
|
@@ -20,7 +20,7 @@ To contribute, you must follow these exact steps:
|
|
|
20
20
|
- `chore/description` for non-functional tasks (docs, CI/CD, etc.)
|
|
21
21
|
|
|
22
22
|
3. **Write Tests:**
|
|
23
|
-
If you are contributing to the Node.js CLI logic
|
|
23
|
+
If you are contributing to the Node.js CLI logic, ensure that your logic is fully covered by Jest tests in the `tests/` directory. Execute `npm test` at the repository root to verify.
|
|
24
24
|
|
|
25
25
|
4. **Submit a Pull Request:**
|
|
26
26
|
Push your branch and open a Pull Request against `main`. Ensure your PR description links back to the issue it resolves (e.g., "Closes #5").
|
|
@@ -28,4 +28,17 @@ To contribute, you must follow these exact steps:
|
|
|
28
28
|
5. **Wait for CI / Review:**
|
|
29
29
|
The `main` branch is protected. All GitHub Action status checks (such as the `test` workflow) must pass before a merge is permitted.
|
|
30
30
|
|
|
31
|
+
## Adding New Templates
|
|
32
|
+
|
|
33
|
+
ResuMake stores all of its available resume templates inside the `templates/` directory. We welcome standard open-source contributions for new templates!
|
|
34
|
+
|
|
35
|
+
To add a new template to the CLI:
|
|
36
|
+
|
|
37
|
+
1. **Fork the repository** and create a feature branch off of `main` (e.g., `feat/add-awesome-template`).
|
|
38
|
+
2. Create a new folder inside the `templates/` directory named after your template (e.g., `templates/my-awesome-template/`).
|
|
39
|
+
3. Add all necessary LaTeX files (`.tex`), images, and configuration files into that folder.
|
|
40
|
+
4. You **must** include an executable `build_all.sh` script at the root of your new template folder. This script is responsible for compiling the PDF and placing it into a `PDF_Exports/` folder.
|
|
41
|
+
5. Edit the `src/commands/setup.js` file to add your new template to the `choices` array in the wizard prompt.
|
|
42
|
+
6. Commit your changes and submit a single **Pull Request** targeting the `main` branch.
|
|
43
|
+
|
|
31
44
|
By following these guidelines, we ensure that the `main` branch remains perfectly stable for end-users relying on our CLI tool!
|
package/package.json
CHANGED
package/src/commands/setup.js
CHANGED
|
@@ -78,7 +78,6 @@ module.exports = async function setupCommand() {
|
|
|
78
78
|
message: 'Which resume template would you like to use?',
|
|
79
79
|
choices: [
|
|
80
80
|
{ name: 'Modular Multi-Resume (3 versions)', value: 'modular-multi' },
|
|
81
|
-
{ name: 'Standard (Single version)', value: 'standard' },
|
|
82
81
|
{ name: 'Awesome-CV (Professional)', value: 'awesome-cv' },
|
|
83
82
|
{ name: "Jake's Resume (Classic)", value: 'jakes-resume' },
|
|
84
83
|
{ name: "Jake's CV (Classic + Extended Sections)", value: 'jakes-cv' }
|
|
@@ -125,9 +124,12 @@ module.exports = async function setupCommand() {
|
|
|
125
124
|
const urlResult = await execa('git', ['config', '--get', 'remote.origin.url']);
|
|
126
125
|
remoteUrl = urlResult.stdout.trim();
|
|
127
126
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
127
|
+
// Copy template files locally from the NPM package
|
|
128
|
+
const templatePath = path.resolve(__dirname, '../../templates', template);
|
|
129
|
+
if (!fs.existsSync(templatePath)) {
|
|
130
|
+
throw new Error(`Template "${template}" not found locally at ${templatePath}`);
|
|
131
|
+
}
|
|
132
|
+
fs.cpSync(templatePath, process.cwd(), { recursive: true });
|
|
131
133
|
|
|
132
134
|
// Customize the GitHub action with the user's preferred Google Drive folder
|
|
133
135
|
const actionPath = '.github/workflows/build-resume.yml';
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
name: Build, Sync, and Release Official PDFs
|
|
2
|
+
|
|
3
|
+
on:
|
|
4
|
+
push:
|
|
5
|
+
branches:
|
|
6
|
+
- main
|
|
7
|
+
|
|
8
|
+
permissions:
|
|
9
|
+
contents: write
|
|
10
|
+
|
|
11
|
+
jobs:
|
|
12
|
+
build-and-release:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
|
|
15
|
+
steps:
|
|
16
|
+
- name: Checkout repository
|
|
17
|
+
uses: actions/checkout@v4
|
|
18
|
+
|
|
19
|
+
- name: Install LaTeX environment (Cached)
|
|
20
|
+
uses: awalsh128/cache-apt-pkgs-action@latest
|
|
21
|
+
with:
|
|
22
|
+
packages: texlive-latex-base texlive-latex-extra texlive-fonts-recommended texlive-fonts-extra texlive-science latexmk
|
|
23
|
+
version: 1.0
|
|
24
|
+
|
|
25
|
+
- name: Build Official PDFs
|
|
26
|
+
run: |
|
|
27
|
+
chmod +x build_all.sh
|
|
28
|
+
./build_all.sh
|
|
29
|
+
|
|
30
|
+
# ---------------------------------------------------------
|
|
31
|
+
# STEP 1: SYNC TO GOOGLE DRIVE (FINDER)
|
|
32
|
+
# ---------------------------------------------------------
|
|
33
|
+
- name: Install and Configure rclone
|
|
34
|
+
run: |
|
|
35
|
+
sudo apt-get install -y rclone
|
|
36
|
+
mkdir -p ~/.config/rclone
|
|
37
|
+
echo '${{ secrets.RCLONE_CONF }}' > ~/.config/rclone/rclone.conf
|
|
38
|
+
|
|
39
|
+
- name: Sync to Google Drive
|
|
40
|
+
run: |
|
|
41
|
+
# The sync command makes the Google Drive 'Resumes' folder exactly match the local PDF_Exports folder
|
|
42
|
+
# It will delete files in the drive that are not in PDF_Exports
|
|
43
|
+
rclone sync PDF_Exports/ gdrive:Resumes/
|
|
44
|
+
|
|
45
|
+
# ---------------------------------------------------------
|
|
46
|
+
# STEP 2: HISTORICAL RELEASE (ZIP)
|
|
47
|
+
# ---------------------------------------------------------
|
|
48
|
+
- name: Generate Release Version
|
|
49
|
+
id: version
|
|
50
|
+
run: |
|
|
51
|
+
DATE=$(date +'%Y-%m-%d')
|
|
52
|
+
echo "tag=${DATE}_v${{ github.run_number }}" >> $GITHUB_OUTPUT
|
|
53
|
+
echo "name=Release ${DATE} (Build ${{ github.run_number }})" >> $GITHUB_OUTPUT
|
|
54
|
+
|
|
55
|
+
- name: Zip for Release
|
|
56
|
+
run: zip -r Official_Resumes.zip PDF_Exports/
|
|
57
|
+
|
|
58
|
+
- name: Create GitHub Release
|
|
59
|
+
uses: softprops/action-gh-release@v2
|
|
60
|
+
with:
|
|
61
|
+
tag_name: ${{ steps.version.outputs.tag }}
|
|
62
|
+
name: ${{ steps.version.outputs.name }}
|
|
63
|
+
files: Official_Resumes.zip
|
|
64
|
+
env:
|
|
65
|
+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Auto Resume Template
|