Scott Nath
+Work History
+Company ABC
+...company description...
+Software developer
+...details about role...
+Company Meow
+Sitting
+Volunteer History
+Company 501c3
+Software developer for free
+...details about role...
+diff --git a/workspaces/website/public/blahg-assets/jsonresume/jsonresume-theme-examples.avif b/workspaces/website/public/blahg-assets/jsonresume/jsonresume-theme-examples.avif
new file mode 100644
index 0000000..c66306b
Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/jsonresume-theme-examples.avif differ
diff --git a/workspaces/website/public/blahg-assets/jsonresume/jsonresume-theme-examples.jpeg b/workspaces/website/public/blahg-assets/jsonresume/jsonresume-theme-examples.jpeg
new file mode 100644
index 0000000..7c1beee
Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/jsonresume-theme-examples.jpeg differ
diff --git a/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.avif b/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.avif
new file mode 100644
index 0000000..0803964
Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.avif differ
diff --git a/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.jpg b/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.jpg
new file mode 100644
index 0000000..b48df49
Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.jpg differ
diff --git a/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.png b/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.png
new file mode 100644
index 0000000..e0f54fd
Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/microdata-with-jsonresume.png differ
diff --git a/workspaces/website/public/blahg-assets/jsonresume/themed-combined.png b/workspaces/website/public/blahg-assets/jsonresume/themed-combined.png
new file mode 100644
index 0000000..fd963d3
Binary files /dev/null and b/workspaces/website/public/blahg-assets/jsonresume/themed-combined.png differ
diff --git a/workspaces/website/src/content/blahg/microdata-with-jsonresume.md b/workspaces/website/src/content/blahg/microdata-with-jsonresume.md
new file mode 100644
index 0000000..8b6dcfe
--- /dev/null
+++ b/workspaces/website/src/content/blahg/microdata-with-jsonresume.md
@@ -0,0 +1,356 @@
+---
+title: "Make your resume SEO friendly using JSON Resume with microdata"
+description: "How to generate your resume with schema.org vocabulary HTML markup using JSON Resume"
+pubDate: "2024-05-02"
+heroImage: "/blahg-assets/jsonresume/microdata-with-jsonresume.avif"
+heroImageDesc: 'Article header image shows a portion of a resume with the name Scott Nath and a subheading of the title of this article. The other side of the image shows a screenshot of the schema validator output for the resume section'
+---
+
+How to generate a resume which incorporates structured data, allowing your resume to be understood by search engine crawlers and other machines.
+
+## tl;dr
+
+Using [JSON Resume][jsonresume] with the [jsonresume-theme-microdata][jtm] theme will create a resume documented with microdata following the [Schema.org][schemaorg] vocabulary set.
+
+
+## Prerequisites
+
+* You skimmed [How to Boost SEO by Enhancing HTML with Microdata][microdata-html] or you know how to add microdata to HTML
+* You know what **objects** and **arrays** are in programming
+* You have [a general understanding of JSON Schema](https://json-schema.org/understanding-json-schema)
+
+## Quick Tech Primer
+
+This was originally one article, but I couldn't easily write about adding structured data to JSON Resume without explaining structured data itself. So...it's now a series and this article is gonna focus on adding microdata to your resume using the open source JSON Resume schema. There's a 3rd one, but I'm still cooking it.
+
+### What is structured data, microdata, Schema.org vocabulary?
+
+See [How to Boost SEO by Enhancing HTML with Microdata][microdata-html] for details. The article includes code examples and schema output.
+
+#### Cliff notes:
+
+* structured data? web 3-ish: [Google explains structured data](https://developers.google.com/search/docs/appearance/structured-data/intro-structured-data)
+* Schema.org? Founded by Google, Microsoft, Yahoo and Yandex: [Schema.org][schemaorg]
+* Schema.org Vocabulary? common content Types and property names: [the **Person** type][schemaorg-person], [the **Article** type][schemaorg-article]
+* microdata? [micridata primer](https://en.wikipedia.org/wiki/Microdata_(HTML)#Global_attributes), [YouTube: Microdata vs JSON-LD: Which Structured Data Format Wins?](https://youtu.be/Yj8ujUfAJM8)
+* microdata in HTML? see 1st article and the [Schema.org microdata usage guide][schemaorg-started]
+* microdata validation? [Schema.org's validator][schemaorg-val], [Google's Rich Results Test][rrr]
+
+
+### What is JSON Resume?
+
+To explain adding structured data to HTML, it made sense to use a commonly-known set of data. JSON Resume fits that bill and gave me a great reason to update the HTML of my resume.
+
+If you're unfamiliar with JSON Resume, it's core-premise is creating a standard data structure for a resume's content. The JSON in "JSON Resume" refers to the JSON schema which details the expected data structure of each piece of data.
+
+Basically it's a detailed content-model of commonly-used resume content which has been open-sourced and widely adopted.
+
+* [JSON Resume website: jsonresume.org][jsonresume] - to dig deeper
+* [the JSON Resume schema][jsonresume-schema] - to see our content model
+* [JSON Resume themes](https://jsonresume.org/themes/) - 400+ themes available!
+* [JSON Resume tools/projects][jsonresume-project] - resume editors, LinkedIn resume converters, validators, pdf exports, etc
+
+#### JSON Resume example
+
+Here is [my resume.json file in a GitHub gist][myresumejson] which is then combined with a JSON Resume theme and served up via the free and open-source JSON-resume-as-a-service here: [registry.jsonresume.org/scottnath?theme=even](https://registry.jsonresume.org/scottnath?theme=even)
+
+
+
+### What is `jsonresume-theme-microdata`?
+
+[jsonresume-theme-microdata][jtm] is a JSON Resume theme. It looks pretty much like the ⬆️ third one in the image above.
+
+It is distributed as an npm package and is a fork of [jsonresume-theme-even][jte]. The `jsonresume-theme-microdata` version has the same styles as `jsonresume-theme-even` (for the most part). The main differences is the `microdata` fork has some HTML changes and the addition of `microdata` throughout the HTML.
+
+Luckily, the `even` theme already had good semantic HTML structure, so not tons of HTML changes - mostly converting sections to use description lists. DL's are my jam - a totally underused set of elements.
+
+See [this basic example usage][jtm-example] in the examples directory in the [`jsonresume-theme-microdata` github repo][jtm]
+
+
+## Explainer: adding **structured data** to a JSON Resume theme
+
+A breakdown of how I adjusted the HTML and microdata.
+
+This is just a subset of the changes - [the JSON Resume schema][jsonresume-schema] is pretty big.
+
+### Step 1: Look at two similar, but different sections
+
+`basics` is all the metadata about you, the person, so name, phone, label ("e.g. Web Developer"), image, etc.
+
+`work` is your work history
+
+`volunteer` is your volunteer history
+
+The similarities between `volunteer` and `work` are that you spent time at an organization, and that you had a position there. Here is the relevant subset of the data, using the JSON Resume schema structure.
+
+```json
+{
+ "basics": {
+ "name": "Scott Nath",
+ },
+ "work": [
+ {
+ "name": "Company ABC",
+ "description": "...company description...",
+ "position": "Software developer",
+ "summary": "...details about position...",
+ },
+ {
+ "name": "Company Meow",
+ "position": "Sitting",
+ },
+ ],
+ "volunteer": [
+ {
+ "name": "Company 501c3",
+ "position": "Software developer for free",
+ "summary": "...details about position...",
+ }
+ ]
+}
+```
+
+### Step 2: Write semantic HTML which matches the resume data hierarchy
+
+Making an `article` with `h1` cause a resume on a page should be the main document.
+
+```html
+ ...company description... ...details about role... ...details about role... ...company description... ...details about role... ...details about role...Scott Nath
+ Work History
+ Company ABC
+ Software developer
+ Company Meow
+ Sitting
+ Volunteer History
+ Company 501c3
+ Software developer for free
+ Scott Nath
+ Work History
+ Company ABC
+ Software developer
+ Company Meow
+ Sitting
+ Volunteer History
+ Company 501c3
+ Software developer for free
+
+Person + @type Person + name Scott Nath + alumniOf + @type Organization + name Company ABC + description ...company description... + employee + @type EmployeeRole + roleName Software developer + description ...details about role... + alumniOf + @type Organization + name Company Meow + employee + @type EmployeeRole + roleName Sitting + alumniOf + @type Organization + name Company 501c3 + employee + @type EmployeeRole + roleName Software developer for free + description ...details about role... ++ +## Other fun data structues that were added + +Here's a few of the other data types that came out as interesting ways to connect to Person + +### basics.profiles is all your social network profiles + +These I chose [ContactPoint](https://schema.org/ContactPoint) as the Type, making HTML like: + +```html +
+Person + @type Person + name Scott Nath + contactPoint + @type ContactPoint + contactType Mastodon + url https://mastodon.social/@scottnath + identifier scottnath@mastodon.social + contactPoint + @type ContactPoint + contactType DEV + url https://dev.to/scottnath + identifier scottnath ++ +### I added specificity with `skills` to allow `itemtype` + +Here's a couple `skills` from my resume.json: + +```json + "skills": [ + { + "level": "Senior", + "name": "Languages", + "itemtype": "ComputerLanguage", + "keywords": [ + "Javascript", + "Typescript", + "CSS", + "HTML", + "Bash/Shell", + "Gherkin", + "Python", + "PHP" + ] + }, + { + "level": "Senior", + "name": "UI Components", + "itemtype": "SoftwareSourceCode", + "keywords": [ + "Web Components", + "VueJS", + "Lit", + "Sass", + "HandlebarsJS", + "ReactJS", + "AngularJS" + ] + }, + ] +``` + +which came out as very interesting structured data in that it's nice to have information about me labeled like this in the wild: + +
+Person + @type Person + name Scott Nath + knowsAbout + @type ComputerLanguage + description Languages + name Javascript + name Typescript + name CSS + name HTML + name Bash/Shell + name Gherkin + name Python + name PHP + knowsAbout + @type SoftwareSourceCode + description UI Components + name Web Components + name VueJS + name Lit + name Sass + name HandlebarsJS + name ReactJS + name AngularJS ++ +**kewl!!** + +## This is long, let's stop + +Thanks for reading. If you'd like to see the full data model extracted from my resume [here is the Google Rich Results Test](https://search.google.com/test/rich-results/result?id=ukiyrbatK8G5K_ESOPBSBg) which shows all the data extracted from my resume using the `jsonresume-theme-microdata` theme. + +Cheers! + +[microdata-html]: /blahg/microdata-with-html/ +[jsonresume]: https://jsonresume.org +[jsonresume-schema]: https://github.com/jsonresume/resume-schema/blob/master/schema.json +[jsonresume-project]: https://jsonresume.org/projects/ +[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 +[rrr]: https://search.google.com/test/rich-results +[img-themes]: /blahg-assets/jsonresume/jsonresume-theme-examples.avif \ No newline at end of file