diff --git a/package-lock.json b/package-lock.json index c50449d..50a55d3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4251,8 +4251,7 @@ "node_modules/@lit-labs/ssr-dom-shim": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@lit-labs/ssr-dom-shim/-/ssr-dom-shim-1.2.0.tgz", - "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==", - "dev": true + "integrity": "sha512-yWJKmpGE6lUURKAaIltoPIE/wrbY3TEkqQt+X0m+7fQNnAv0keydnYvbiJFP1PnMhizmIWRWOG5KLhYyc/xl+g==" }, "node_modules/@lit-labs/ssr/node_modules/@types/node": { "version": "16.18.96", @@ -4264,11 +4263,18 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/@lit/reactive-element/-/reactive-element-2.0.4.tgz", "integrity": "sha512-GFn91inaUa2oHLak8awSIigYz0cU0Payr1rcFsrkf5OJ5eSPxElyZfKh0f2p9FsTiZWXQdWGJeXZICEfXXYSXQ==", - "dev": true, "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0" } }, + "node_modules/@lit/task": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@lit/task/-/task-1.0.0.tgz", + "integrity": "sha512-7jocGBh3yGlo3kKxQggZph2txK4X5GYNWp2FAsmV9u2spzUypwrzRzXe8I72icAb02B00+k2nlvxVcrQB6vyrw==", + "dependencies": { + "@lit/reactive-element": "^1.0.0 || ^2.0.0" + } + }, "node_modules/@mdx-js/mdx": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.0.1.tgz", @@ -13778,8 +13784,7 @@ "node_modules/@types/trusted-types": { "version": "2.0.7", "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.7.tgz", - "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", - "dev": true + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==" }, "node_modules/@types/unist": { "version": "3.0.2", @@ -15953,6 +15958,11 @@ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", "dev": true }, + "node_modules/classnames": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" + }, "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", @@ -16826,6 +16836,16 @@ "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, + "node_modules/core-js": { + "version": "3.37.1", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz", + "integrity": "sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, "node_modules/core-js-compat": { "version": "3.36.1", "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.1.tgz", @@ -19311,6 +19331,15 @@ "pend": "~1.2.0" } }, + "node_modules/feather-icons": { + "version": "4.29.2", + "resolved": "https://registry.npmjs.org/feather-icons/-/feather-icons-4.29.2.tgz", + "integrity": "sha512-0TaCFTnBTVCz6U+baY2UJNKne5ifGh7sMG4ZC2LoBWCZdIyPa+y6UiR4lEYGws1JOFWdee8KAsAIvu0VcXqiqA==", + "dependencies": { + "classnames": "^2.2.5", + "core-js": "^3.1.3" + } + }, "node_modules/fetch-blob": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", @@ -25017,6 +25046,29 @@ "node >= 0.2.0" ] }, + "node_modules/jsonresume-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/jsonresume-component/-/jsonresume-component-0.2.0.tgz", + "integrity": "sha512-I9IbVXNBm93RH3RKb+MfqdDtRZ/ExBFiQ++ZAyK5w5nlO/HQShz/+P1+jKL6ShTPNGw5Op7SuSOi/z0jyhg/sw==", + "dependencies": { + "@lit/task": "^1.0.0", + "jsonresume-theme-microdata": "^0.1.0", + "lit": "^3.1.3" + } + }, + "node_modules/jsonresume-theme-microdata": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/jsonresume-theme-microdata/-/jsonresume-theme-microdata-0.1.0.tgz", + "integrity": "sha512-4rUUwc4u3PEkBgxCrjhzDm8kzMa5dhEFHEDp+lhnLfOGnNopDI+gZoy1n0xnhumBfUmjV/ROYOy10BGPSuMD+w==", + "dependencies": { + "feather-icons": "^4.29.2", + "micromark": "^4.0.0", + "striptags": "^3.2.0" + }, + "bin": { + "jsonresume-theme-microdata": "bin/cli.js" + } + }, "node_modules/JSONStream": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", @@ -25117,10 +25169,9 @@ "dev": true }, "node_modules/lit": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.2.tgz", - "integrity": "sha512-VZx5iAyMtX7CV4K8iTLdCkMaYZ7ipjJZ0JcSdJ0zIdGxxyurjIn7yuuSxNBD7QmjvcNJwr0JS4cAdAtsy7gZ6w==", - "dev": true, + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/lit/-/lit-3.1.3.tgz", + "integrity": "sha512-l4slfspEsnCcHVRTvaP7YnkTZEZggNFywLEIhQaGhYDczG+tu/vlgm/KaWIEjIp+ZyV20r2JnZctMb8LeLCG7Q==", "dependencies": { "@lit/reactive-element": "^2.0.4", "lit-element": "^4.0.4", @@ -25131,7 +25182,6 @@ "version": "4.0.4", "resolved": "https://registry.npmjs.org/lit-element/-/lit-element-4.0.4.tgz", "integrity": "sha512-98CvgulX6eCPs6TyAIQoJZBCQPo80rgXR+dVBs61cstJXqtI+USQZAbA4gFHh6L/mxBx9MrgPLHLsUgDUHAcCQ==", - "dev": true, "dependencies": { "@lit-labs/ssr-dom-shim": "^1.2.0", "@lit/reactive-element": "^2.0.4", @@ -25142,7 +25192,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/lit-html/-/lit-html-3.1.2.tgz", "integrity": "sha512-3OBZSUrPnAHoKJ9AMjRL/m01YJxQMf+TMHanNtTHG68ubjnZxK0RFl102DPzsw4mWnHibfZIBJm3LWCZ/LmMvg==", - "dev": true, "dependencies": { "@types/trusted-types": "^2.0.2" } @@ -36649,6 +36698,11 @@ "integrity": "sha512-WriZw1luRMlmV3LGJaR6QOJjWwgLUTf89OwT2lUOyjX2dJGBwgmIkbcz+7WFZjrZM635JOIR517++e/67CP9dQ==", "dev": true }, + "node_modules/striptags": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/striptags/-/striptags-3.2.0.tgz", + "integrity": "sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw==" + }, "node_modules/strnum": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz", @@ -39636,6 +39690,7 @@ "@types/react-dom": "^18.2.24", "airtable": "^0.12.2", "astro": "4.5.18", + "jsonresume-component": "^0.2.0", "marked": "^12.0.1", "profile-components": "^0.4.1", "react": "^18.2.0", diff --git a/workspaces/website/astro.config.mjs b/workspaces/website/astro.config.mjs index 8d5fc31..6a3feb3 100644 --- a/workspaces/website/astro.config.mjs +++ b/workspaces/website/astro.config.mjs @@ -26,4 +26,10 @@ export default defineConfig({ }, }), ], + vite: { + ssr: { + // Example: Force a broken package to skip SSR processing, if needed + noExternal: ['jsonresume-component'], + } + } }); diff --git a/workspaces/website/package.json b/workspaces/website/package.json index 9275864..0cd553d 100644 --- a/workspaces/website/package.json +++ b/workspaces/website/package.json @@ -20,6 +20,7 @@ "@types/react-dom": "^18.2.24", "airtable": "^0.12.2", "astro": "4.5.18", + "jsonresume-component": "^0.2.0", "marked": "^12.0.1", "profile-components": "^0.4.1", "react": "^18.2.0", diff --git a/workspaces/website/public/blahg-assets/jsonresume/jsonresume-component.png b/workspaces/website/public/blahg-assets/jsonresume/jsonresume-component.png new file mode 100644 index 0000000..75c776e Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/jsonresume-component.png differ diff --git a/workspaces/website/public/resume.json b/workspaces/website/public/resume.json new file mode 100644 index 0000000..b617f08 --- /dev/null +++ b/workspaces/website/public/resume.json @@ -0,0 +1,278 @@ +{ + "basics": { + "profiles": [ + { + "url": "https://linkedin.com/in/scottnath", + "username": "scottnath", + "network": "LinkedIn" + }, + { + "url": "https://github.com/scottnath", + "username": "scottnath", + "network": "GitHub" + }, + { + "url": "https://mastodon.social/@scottnath", + "username": "scottnath@mastodon.social", + "network": "Mastodon" + }, + { + "url": "https://dev.to/scottnath", + "username": "scottnath", + "network": "DEV" + } + ], + "summary": "Leader with a track record of success in translating business requirements and staff needs into powerful new web\napplications, infrastructure, and back-end tools critical for the delivery of flexible, reusable code designed to\naccelerate business goals. A strong and committed foundation in problem solving, inclusive developer mentorship\nwith pair-programming and coaching, coding POC prototypes, and architecting innovative Design Systems that build\nconsensus and cross-discipline collaboration via time-saving, user-centric web development environments.", + "location": { + "city": "New Paltz", + "countryCode": "US", + "region": "Hudson Valley" + }, + "name": "Scott Nath", + "label": "Frontend Architect", + "url": "https://scottnath.com", + "email": "scott@scottnath.com" + }, + "skills": [ + { + "level": "Senior", + "name": "Languages", + "itemtype": "ComputerLanguage", + "keywords": [ + "Javascript", + "Typescript", + "CSS", + "HTML", + "Bash/Shell", + "Gherkin", + "Python", + "PHP" + ] + }, + { + "level": "Senior", + "name": "Libraries & Tools", + "itemtype": "SoftwareSourceCode", + "keywords": [ + "NodeJS ", + "Vite", + "Storybook", + "LangChain AI", + "Docker", + "GraphQL", + "ExpressJS", + "Octokit", + "Wordpress", + "i18n", + "Microdata" + ] + }, + { + "level": "Senior", + "name": "UI Components", + "itemtype": "SoftwareSourceCode", + "keywords": [ + "Web Components", + "VueJS", + "Lit", + "Sass", + "HandlebarsJS", + "ReactJS", + "AngularJS" + ] + }, + { + "level": "Senior", + "name": "DevOps", + "itemtype": "SoftwareSourceCode", + "keywords": [ + "GitHub Actions", + "CI/CD", + "Automated Testing", + "Travis", + "GitHub", + "Kubernetes" + ] + }, + { + "level": "Senior", + "name": "Testing & QA", + "itemtype": "SoftwareSourceCode", + "keywords": [ + "accessibility", + "UI Unit Testing", + "Testing-Library", + "Jest", + "Playwright", + "Vitest", + "Chromatic", + "Test driven development (TDD)", + "Screen reader testing" + ] + }, + { + "level": "Senior", + "name": "Soft Skills", + "keywords": [ + "Agile", + "honest and clear communicator", + "Design Thinking", + "developer advocacy", + "developer translation" + ] + } + ], + "work": [ + { + "endDate": "2023-05-15", + "position": "Senior Software Engineer", + "summary": "Directed all aspects of DevOps architecture for a multi-framework design system with Storybook while increasing performance and efficiency through the development and launch of automated tools and cross-org systems.", + "startDate": "2020-04-01", + "location": "New York, NY", + "name": "IBM CIO", + "highlights": [ + "Leader in implementing the Figma designs, a/b testing, i18n internationalization and developer processes on a\ncomplete rebuild of the employee portal, which combined 5 teams into 1 cross-functional collaborating team", + "Leadership role as the architect of an Innersource multi-framework design system and front end software engineering environment and tooling for the simultaneous creation of Vanilla and Vue.js components.", + "Inherited an existing, hand-released component library project and integrated version control, automated semver releases, extensive testing, and CI/CD with consistent and trustable release naming and scheduling." + ], + "itemtype": "Corporation" + }, + { + "endDate": "2020-04-01", + "position": "System Architect", + "summary": "Demonstrated continued success as the creator of architecture for the Watson Health Pattern & Asset Library (PAL).", + "startDate": "2017-01-01", + "location": "New York, NY", + "name": "IBM Watson Health", + "highlights": [ + "Leadership role in the creation of Watson Health’s client-side design system for native and web applications.", + "Consolidated 3 disparate UI component libraries into 1 and standardized collaborative processes by architecting one design system which integrated UI design and inclusive user experiences for multiple teams." + ], + "itemtype": "Corporation" + }, + { + "endDate": "2017-01-01", + "position": "Senior Frontend Developer", + "summary": "Streamlined access to Watson developer documentation by creating a new open-source content management system.", + "startDate": "2016-01-01", + "location": "New York, NY", + "name": "IBM Watson", + "highlights": [ + "Partnered with the design team tasked with creating a developer-centric and accessible documentation site adhering to IBM Watson AI development teams’s technical specs, reducing 8 distributed systems to 1", + "Lead architect the end-to-end completion of a full-stack open-source project, Punchcard CMS, which required backend functionality for immutable data, content versioning, and subscribe-able publishing gateways." + ], + "itemtype": "Corporation" + }, + { + "endDate": "2015-12-01", + "position": "Software Architect", + "summary": "Developed pixel-perfect HTML and CSS for customer-facing streaming applications.", + "startDate": "2006-11-01", + "url": "https://www.nbcuniversal.com/", + "location": "Times Square, NY", + "name": "NBC Universal", + "highlights": [ + "Delivered reusable HTML/SaaS product while translating capabilities and features into in-depth documentation.", + "Created NBC’s WordPress system (NBCUPress) which included a focus on a reusable deployment system in PHP." + ], + "itemtype": "NewsMediaOrganization" + } + ], + "projects": [ + { + "startDate": "2023-08-01", + "name": "Profile Components", + "keywords": [ + "web components", + "native browser APIs", + "evergreen" + ], + "url": "https://github.com/scottnath/profile-components", + "description": "zero dependency native web components to present user profiles", + "type": "open source", + "roles": [ + "Architect", + "Developer" + ], + "highlights": [ + "Created native web components to learn web components", + "Created a set of zero dependency native web components to present user profiles from various social networks by querying the site APIs for the latest user profile", + "Styling to web standards and cross-browser compatibility using the newest browser-supported CSS functionality like nesting and container-queries", + "Architected fullstack DevOps solutions to ensure overall quality of the project including a Storybook implementation with user interface design testing and VRT (visual regression testing), CI/CD for automated deployment, releases, and testing, and auto-generated PRs for dependency updates", + "Test driven development using the native Node test runner, node:test, Guidepup for screen reader and web accessibility assurance." + ] + }, + { + "startDate": "2024-04-01", + "name": "jsonresume-theme-microdata", + "keywords": [ + "jsonresume", + "microdata" + ], + "url": "https://github.com/scottnath/jsonresume-theme-microdata", + "description": "A flat JSON Resume theme with schema.org microdata, compatible with the latest resume schema", + "type": "open source", + "roles": [ + "Architect", + "Developer" + ] + }, + { + "startDate": "2016-01-01", + "name": "Punchcard CMS", + "endDate": "2018-12-31", + "url": "https://github.com/punchcard-cms", + "description": "Headless Content Management System designed with content strategy at its heart. Built with Node.", + "type": "open source", + "roles": [ + "Architect", + "Developer" + ], + "highlights": [ + "Designed and developed a server-side headless, open-source content management system built with a focus on quality through content-strategy reflecting real-world use cases and a lean Postgresql/postgres backend.", + "Architected full stack system architecture for auto-generated forms, localization, role-based administration, content approval workflows with revisioning, scheduled releases, caching, and subscriptions via webhooks." + ] + }, + { + "startDate": "2012-01-01", + "entity": "videogame.camp", + "name": "The Chase", + "endDate": "2014-01-01", + "keywords": [ + "raspberry pi", + "linux" + ], + "url": "https://videogame.camp/the-chase/about/", + "description": "A high-tech game of hide and seek", + "type": "meatspace", + "roles": [ + "Inventor", + "Developer" + ], + "highlights": [ + "Created a raspberry pi-based remote camera live projection system", + "Hosted multiple in-person events where the public had to look for the ghost in the crowd" + ] + }, + { + "startDate": "2023-04-01", + "name": "StoryDocker", + "url": "https://github.com/storydocker", + "description": "Storybook, but as a microservice", + "type": "open source", + "roles": [ + "Architect", + "Owner" + ], + "highlights": [ + "Implemented Storybook as a microservice using Docker Containers released as an open-source tool (StockDocker) able to be installed with zero dependencies and which features a full testing suite enabling prototyping and testing UI and user experience via Storybook’s testing-library integrations.", + "Eliminated the need for multiple implementations of Storybook (previously one for each application development environment) by introducing the ability for Storybook to run multiple JS frameworks out-of-the-box." + ] + } + ], + "meta": { + "canonical": "https://scottnath.com/resume.json", + "version": "1.0.0", + "lastModified": "2024-05-17T18:26:35.690Z" + } +} \ No newline at end of file diff --git a/workspaces/website/public/scott-nath-jsonresume-profile-photo.avif b/workspaces/website/public/scott-nath-jsonresume-profile-photo.avif new file mode 100644 index 0000000..7fde7ff Binary files /dev/null and b/workspaces/website/public/scott-nath-jsonresume-profile-photo.avif differ diff --git a/workspaces/website/src/content/blahg/microdata-jsonresume-component.md b/workspaces/website/src/content/blahg/microdata-jsonresume-component.md new file mode 100644 index 0000000..7d34d39 --- /dev/null +++ b/workspaces/website/src/content/blahg/microdata-jsonresume-component.md @@ -0,0 +1,127 @@ +--- +title: "How about a JSON Resume web component with configurable microdata?" +description: "Introduction to the jsonresume-component module, a web component to display your JSON Resume documented with microdata" +pubDate: "2024-05-17" +heroImage: "/blahg-assets/jsonresume/jsonresume-component.png" +heroImageDesc: 'Article header image shows a piece of HTML, specifically ' +--- + +Introducing `jsonresume-component`, a web component which displays your resume, with microdata, theming, slots, and remote fetching of your JSON Resume resume.json file. + +## tl;dr + +`jsonresume-component` is a Web Component that generates your resume with microdata following the [Schema.org][schemaorg] vocabulary set. It's custom element is `` and it fetches a `resume.json` file following the [JSON Resume][jsonresume] schema to create your resume. HTML is created from using the [jsonresume-theme-microdata][jtm] theme, creating a resume documented with microdata following the [Schema.org][schemaorg] vocabulary set. + +* [`jsonresume-component` on GitHub][jc] +* [combined `jsonresume-component` and `jsonresume-theme-microdata` storybook][jc-sb] +* [example of a resume within a website UI][my-resume] + +### snippet: + +```html + + + +``` + +## Prerequisites + +* You have your resume in a JSON file following the JSON Resume schema structure + +## Quick primer: How we got here + +This web component is built using the HTML-generating functionality of the module [jsonresume-theme-microdata][jtm]. That module is a [JSON Resume][jsonresume] theme which is the subject of the article ["Make your resume SEO friendly using JSON Resume with microdata"][microdata-jsonresume]. The underlying concepts of microdata and HTML were broken down in ["How to Boost SEO by Enhancing HTML with Microdata"][microdata-html]. + +## How to implement `` in node + +### install dependencies + +```sh +npm i lit @lit/task jsonresume-component +``` + +### Usage + +General usage + +```javascript +import { JsonResume } from 'jsonresume-component'; +``` + +```html + +``` + +## How to implement the `` web component in HTML + +### include `lit` dependencies + +`` uses [`lit`](https://lit.dev) and [`@lit/task`](https://lit.dev/docs/data/task/) which must be imported into your HTML file. You can include dependencies with an [importmap](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script/type/importmap), pulling them from a CDN: + +```html + +``` + +### Add jsonresume-component + +```html + +``` + +### Using just a `gist` id + +This option automates fetching your `resume.json` file from a GitHub gist. The gist must have a file called `resume.json` in it. + +```html + +``` + +**check out this stackblitz for examples with `slots`, alternative stylesheets, and a local `resume.json`** + + + + +## Conclusion + +At the risk of recreating the [detailed configuration docs in the `jsonresume-component` readme][jc], let's stop there. The repo contains an [examples](https://github.com/scottnath/jsonresume-component/tree/main/examples/browser) directory for stackblitzin or wherever you open your examples. + + + +[microdata-html]: /blahg/microdata-with-html/ +[microdata-jsonresume]: /blahg/microdata-with-jsonresume/ +[my-resume]: /resume/ +[jsonresume]: https://jsonresume.org +[jsonresume-schema]: https://github.com/jsonresume/resume-schema/blob/master/schema.json +[jsonresume-project]: https://jsonresume.org/projects/ +[jc]: https://github.com/scottnath/jsonresume-component +[jc-sb]: https://6647817e5224ff5c42e64d5e-dmlkvzjlzg.chromatic.com/ +[jtm]: https://github.com/scottnath/jsonresume-theme-microdata +[jtm-example]: https://github.com/scottnath/jsonresume-theme-microdata/TBD___ +[jte]: https://github.com/rbardini/jsonresume-theme-even +[schemaorg]: https://schema.org +[schemaorg-started]: https://schema.org/docs/gs.html +[schemaorg-person]: https://schema.org/Person +[schemaorg-article]: https://schema.org/Article +[schemaorg-org]: https://schema.org/Organization +[schemaorg-author]: https://schema.org/author +[schemaorg-alumniOf]: https://schema.org/alumniOf +[schemaorg-val]: https://validator.schema.org +[myresumejson]: https://gist.github.com/scottnath/9e7a7ceb9425336c6aa08d58afb63b8d \ No newline at end of file diff --git a/workspaces/website/src/pages/resume.astro b/workspaces/website/src/pages/resume.astro index 243461e..f5ffff4 100644 --- a/workspaces/website/src/pages/resume.astro +++ b/workspaces/website/src/pages/resume.astro @@ -1,34 +1,21 @@ --- - import SiteWide from '~layouts/SiteWide.astro'; -import Resume from "../components/resume/index"; - -import { getResume } from "../utils/airtable"; +import {JsonResume} from 'jsonresume-component'; +import { SITE_DESCRIPTION } from '../consts.ts' -const content = await getResume(); -const pageTitle = `Resume for Scott Nath - ${content.basics.short_summary}`; +const pageTitle = `Resume for Scott Nath - ${SITE_DESCRIPTION}`; --- - -
-
    -
  • -
+ +
+
- -
\ No newline at end of file