#newscratches
Explore tagged Tumblr posts
naughtybiscotti · 8 years ago
Photo
Tumblr media
Regram from @stefan.thompson.tracks These little critters are trekking to @wallspacegallery right now for their debut at Stefan Thompson: New Scratches this Thursday night from 7-9pm! Beats by DJ CPI of Theta States and Brian Sanderson, eats by @purekitchenottawa #ottawa #ottawaart #stefanthompson #newscratches #vegan #vegetarian #purekitchen #art #local #sustainable #eco #smallart #613 #apt613 @apt613 (at WALL SPACE Gallery)
1 note · View note
moondeerdotblog · 3 years ago
Text
plugin-structured-data (A README Experience)
A plugin for Micro.blog that injects structured data for blog posts via a JSON-LD script tag. This is what search engines use to decorate their results. Confirmation that the structured data is accessible can be had by using Google’s rich results test. It’s code lives here.
Parameters
Tumblr media
You can enter an Author Name here, the plugin falls back to site.Author.name and site.Params.Author.name.
The Author Profile URL should point to an about or profile page. If you don’t have one you can leave this empty.
Files
There is only one file. It lives at layouts/partials/structured-data-injection.html and it looks like this:
{{- if (eq .Type "post") -}} {{- /* Create a Scratch instance to gather data */ -}} {{- $data := newScratch -}} {{- /* Set the context and type */ -}} {{- $data.SetInMap "data" "@context" "https://schema.org" -}} {{- $data.SetInMap "data" "@type" "BlogPosting" -}} {{- /* Add the author */ -}} {{- $author_name := (site.Author.name | default site.Params.Author.name) | default site.Params.structured_data_author_name -}} {{- with $author_name -}} {{- $data.SetInMap "author" "@type" "Person" -}} {{- $data.SetInMap "author" "name" . -}} {{- with site.Params.structured_data_author_profile_url -}} {{- $data.SetInMap "author" "url" . -}} {{- end -}} {{- end -}} {{- with $data.Get "author" -}} {{- $data.SetInMap "data" "author" . -}} {{- end -}} {{- /* Add the published and modified times */ -}} {{- $iso8601 := site.Params.Theme.Date.ISO8601 -}} {{- $date_published := cond .PublishDate.IsZero .Date .PublishDate -}} {{- if not $date_published.IsZero -}} {{- $date_published = $date_published.Format $iso8601 -}} {{- else -}} {{- $date_published = nil -}} {{- end -}} {{- with $date_published -}} {{- $data.SetInMap "data" "datePublished" . -}} {{- end -}} {{- $date_modified := .Lastmod -}} {{- if not $date_modified.IsZero -}} {{- $date_modified = $date_modified.Format $iso8601 -}} {{- else -}} {{- $date_modified = nil -}} {{- end -}} {{- with $date_modified -}} {{- $data.SetInMap "data" "dateModified" . -}} {{- end -}} {{- /* Add the title */ -}} {{- with .Title -}} {{- $data.SetInMap "data" "headline" . -}} {{- end -}} {{- /* Add any images */ -}} {{- with .Params.images -}} {{- $data.SetInMap "data" "image" (apply . "absURL" ".") -}} {{- end -}} {{- /* Add description */ -}} {{- with .Summary -}} {{- $data.SetInMap "data" "description" (. | plainify | chomp) -}} {{- end -}} {{- /* Add the word count */ -}} {{- with .WordCount -}} {{- $data.SetInMap "data" "wordcount" . -}} {{- end -}} {{- $data = $data.Get "data" -}} <script type="application/ld+json">{{ $data | jsonify | safeHTML }} {{- end -}}
Example Output
As an example, the JSON object the plugin generates for this blog post looks like this:
{ "@context": "https://schema.org", "@type": "BlogPosting", "author": { "@type": "Person", "name": "Jason Cardwell", "url": "https://moondeer.blog/about/" }, "dateModified": "2021-11-11T09:55:43-08:00", "datePublished": "2021-11-11T09:55:43-08:00", "description": "A guide to navigating the non-obvious nature of the process for providing the data my plugins want … and that you want to give them.", "headline": "Feeding Data to My Plugins", "image": [ "https://moondeer.blog/uploads/2021/37f6e3a16c.jpg", "https://moondeer.blog/uploads/2021/9e5b65df2c.jpg", "https://moondeer.blog/uploads/2021/3de49bd735.jpg", "https://moondeer.blog/uploads/2021/cdde25d6af.jpg", "https://moondeer.blog/uploads/2021/8d23292ddb.jpg", "https://moondeer.blog/uploads/2021/b61c018a99.jpg", "https://moondeer.blog/uploads/2021/10b51fae7c.jpg", "https://moondeer.blog/uploads/2021/d521640777.jpg", "https://moondeer.blog/uploads/2021/f1dca97623.jpg", "https://moondeer.blog/uploads/2021/594929f04c.jpg", "https://moondeer.blog/uploads/2021/b4f2efbfdc.jpg", "https://moondeer.blog/uploads/2021/054aa61bc8.jpg", "https://moondeer.blog/uploads/2021/d35974d41e.jpg", "https://moondeer.blog/uploads/2021/8bfa3ab25e.jpg", "https://moondeer.blog/uploads/2021/633acc7df9.jpg", "https://moondeer.blog/uploads/2021/b40d718c91.jpg", "https://moondeer.blog/uploads/2021/4e2ba2b2e5.jpg", "https://moondeer.blog/uploads/2021/0b3b916c4f.jpg", "https://moondeer.blog/uploads/2021/07b83ae2e4.jpg", "https://moondeer.blog/uploads/2021/eccab67f51.jpg" ], "wordcount": 3268 }
0 notes
livingwellworld · 6 years ago
Photo
Tumblr media
Monogram 42" Built-In Panel-Model Refrigerator -NEW- Scratch/Dent Deal!! ZIS420 Click Now http://rover.ebay.com/rover/1/711-53200-19255-0/1?ff3=2&toolid=10039&campid=5338278974&item=392091899772&vectorid=229466&lgeo=1
0 notes