Open NickSto opened 2 years ago
Thanks @NickSto! if y'all get something started, I can maybe work on making it match all the schema properties?
One question about implementation is whether to put json-ld blobs on the /events/ page and/or one blob on each individual event's page. The old .org Hub did the former and .eu does the latter.
According to @hexylena, if we have a sitemap, sites like TeSS can use that to find every event page and extract the json-ld from there, so we don't have to include the blobs on the /events/ page.
We don't currently have a sitemap, but there's a Gridsome plugin for that, so hopefully it should be easy.
Another tidbit from @hexylena: For compatibility with TeSS's scrapers, we need to make sure to use bioschemas.
Yeah but like, no dramas. Implement the JSON ld bits with a demo of how to access page variables and I can take it from there.
Okay, so I wrote an initial implementation and pushed it here: #1564. The makeJsonLd()
function in ArticleHeader.vue
is where the rubber meets the road. Feel free to extend/improve or I can work more on it later.
Note (mostly to myself): we're using a bioschema extension to Event
that includes a contact
property: https://bioschemas.org/profiles/Event/0.2-DRAFT-2019_06_14
Fantastic! I'll have a look into it, maybe we can discuss during EGD @NickSto
Oh, right, I made this my task. That's why it still hasn't been fixed :| righto, will get around to it.
This was implemented in Hub 1.0, and instead of reimplementing it after the rewrite, we went with the Hub unification effort as a solution for crossposting content across communities. But:
- @hexylena
Hub 1.0 had JSON-LD on the /events/ page: one blob per event, each in its separate
<script>
tag:But @hexylena had some suggestions for improving that:
For reference, the original issue for adding it to Hub 1.0: #252
Here's a thread on ways to do this in Gridsome: gridsome/gridsome#352