feat: add md-to-pdf convertion

This commit is contained in:
Art Rosnovsky
2023-11-18 19:12:06 -08:00
parent cb21df6b22
commit 685e7a4ba2
8 changed files with 2259 additions and 6 deletions

1
.gitignore vendored Normal file
View File

@@ -0,0 +1 @@
node_modules

5
Makefile Normal file
View File

@@ -0,0 +1,5 @@
build:
pnpm install
pnpm build
.PHONY: build run

10
index.ts Normal file
View File

@@ -0,0 +1,10 @@
import fs from "node:fs";
import { mdToPdf } from "md-to-pdf";
(async () => {
const pdf = await mdToPdf({ path: "./resume.md" }).catch(console.error);
if (pdf) {
fs.writeFileSync("output/art_rosnovsky_software_engineer.pdf", pdf.content);
}
})();

Binary file not shown.

32
package.json Normal file
View File

@@ -0,0 +1,32 @@
{
"name": "resume-manager",
"version": "1.0.0",
"description": "Converts Markdown resume to PDF and DOCX formats",
"main": "dist/index.js",
"scripts": {
"build": "ts-node index.ts"
},
"keywords": [
"resume",
"markdown",
"pdf",
"docx",
"converter"
],
"author": "Art Rosnovsky",
"license": "MIT",
"dependencies": {
"markdown-pdf": "^11.0.0",
"md-to-pdf": "^5.2.4",
"typescript": "^5.2.2"
},
"devDependencies": {
"@types/node": "latest",
"@types/markdown-pdf": "^9.0.5",
"ts-node": "latest",
"typescript": "latest"
},
"engines": {
"node": ">=20.5.0"
}
}

2176
pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -16,7 +16,7 @@ Dedicated JavaScript/TypeScript Engineer with a knack for React, Kubernetes, and
### Software Engineer
> [Okta, Remote](https://okta.com) • Mar 2021 - Present
> **[Okta](https://okta.com)**, Remote • Mar 2021 - Present
- Delivered the [Quarterly Snapshot](https://auth0.com/docs/get-started/tenant-settings/auth0-teams/quarterly-snapshot) feature on schedule.
- Enhanced Technical Account Managers' workflow with internal tools for Quarterly Snapshots.
@@ -24,31 +24,33 @@ Dedicated JavaScript/TypeScript Engineer with a knack for React, Kubernetes, and
### Developer Support Engineer
> [Auth0, Remote](https://auth0.com) • Dec 2019 - Mar 2021
> **[Auth0](https://auth0.com)**, Remote • Dec 2019 - Mar 2021
- Assisted numerous clients with various levels of Identity Management integrations, from simple setups to complex configurations.
### Software Engineer
> [Microsoft, Redmond, WA](https://microsoft.com) • Apr 2019 - Oct 2019
> **[Microsoft](https://microsoft.com)**, Redmond, WA • Apr 2019 - Oct 2019
- Crafted both the UI and server for an internal search application using C#, .NET Core, MSSQL, and React, scaling it from a prototype to a full-scale production app.
### Web Developer
> Transmark Logistics, Kent, WA • Oct 2018 — Mar 2019
> **Transmark Logistics**, Kent, WA • Oct 2018 — Mar 2019
- Pioneered an internal shipment and task management system, saving users an average of 40 minutes per day through UI enhancements.
### Web Developer
> [AT&T, Bothell, WA](https://att.com) • Apr 2017 - Sep 2018
> **[AT&T](https://att.com)**, Bothell, WA • Apr 2017 - Sep 2018
- Executed over 100 updates and rectified 100+ defects in the AT&T MyServices client portal.
<div class="page-break"></div>
### Web Producer
> [Intel, Hillsboro, OR](https://intel.com) • Dec 2016 - Apr 2017
> **[Intel](https://intel.com)**, Hillsboro, OR • Dec 2016 - Apr 2017
- Launched Intels revamped Product catalog with AEM, HTML/CSS, and Bootstrap.

27
tsconfig.json Normal file
View File

@@ -0,0 +1,27 @@
{
"compilerOptions": {
"target": "ESNext", // Set the JavaScript language version for latest Node.js
"module": "NodeNext", // CommonJS modules for Node.js compatibility
"lib": [
"ESNext"
],
"strict": true, // Enable all strict type-checking options
"esModuleInterop": true, // Enables compatibility with Babel-style module imports
"skipLibCheck": true, // Skip type checking of all declaration files
"forceConsistentCasingInFileNames": true, // Ensure case consistency in imports
"moduleResolution": "NodeNext", // Use Node.js style module resolution
"resolveJsonModule": true, // Include modules imported from .json files
"outDir": "./dist", // Output directory for compiled files
"rootDir": "./", // Root directory of source files
"removeComments": true, // Remove comments in the output
"noEmit": true, // Skip emitting files since you use ts-node
"sourceMap": true // Generate source maps for debugging
},
"include": [
"**/*"
], // Include all files in the src directory
"exclude": [
"node_modules",
"dist"
] // Exclude node_modules and dist from the compilation
}