2019-05-22 01:47:09 +00:00
{{ define "title" }}
< title > {{ .Title }} - Christine Dodrill< / title >
<!-- Twitter -->
< meta name = "twitter:card" content = "summary" / >
< meta name = "twitter:site" content = "@theprincessxena" / >
< meta name = "twitter:title" content = "{{ .Title }}" / >
< meta name = "twitter:description" content = "Posted on {{ .Date }}" / >
<!-- Facebook -->
< meta property = "og:type" content = "website" / >
< meta property = "og:title" content = "{{ .Title }}" / >
< meta property = "og:site_name" content = "Talk by Christine Dodrill" / >
<!-- Description -->
< meta name = "description" content = "{{ .Title }} - Talk by Christine Dodrill" / >
< meta name = "author" content = "Christine Dodrill" >
< link rel = "canonical" href = "https://christine.website/{{ .Link }}" >
< script type = "application/ld+json" >
{
"@context": "http://schema.org",
"@type": "Article",
"headline": "{{ .Title }}",
"image": "https://christine.website/static/img/avatar.png",
"url": "https://christine.website/{{ .Link }}",
"datePublished": "{{ .Date }}",
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://christine.website/{{ .Link }}"
},
"author": {
"@type": "Person",
"name": "Christine Dodrill"
},
"publisher": {
"@type": "Person",
"name": "Christine Dodrill"
}
}
< / script >
{{ end }}
{{ define "content" }}
{{ .BodyHTML }}
< a href = "{{ .SlidesLink }}" > Link to the slides< / a >
< hr / >
<!-- The button that should be clicked. -->
< button onclick = "share_on_mastodon()" > Share on Mastodon< / button >
2019-07-05 16:36:33 +00:00
< p > This article was posted on {{ .Date }}. Facts and circumstances may have changed since publication. Please < a href = "/contact" > contact me< / a > before jumping to conclusions if something seems wrong or unclear.< / p >
2019-05-22 01:47:09 +00:00
< script >
// The actual function. Set this as an onclick function for your "Share on Mastodon" button
function share_on_mastodon() {
// Prefill the form with the user's previously-specified Mastodon instance, if applicable
var default_url = localStorage['mastodon_instance'];
// If there is no cached instance/domain, then insert a "https://" with no domain at the start of the prompt.
if (!default_url)
default_url = "https://";
var instance = prompt("Enter your instance's address: (ex: https://linuxrocks.online)", default_url);
if (instance) {
// Handle URL formats
if ( !instance.startsWith("https://") & & !instance.startsWith("http://") )
instance = "https://" + instance;
// Get the current page's URL
var url = window.location.href;
// Get the page title from the og:title meta tag, if it exists.
var title = document.querySelectorAll('meta[property="og:title"]')[0].getAttribute("content");
// Otherwise, use the < title > tag as the title
if (!title) var title = document.getElementsByTagName("title")[0].innerHTML;
// Handle slash
if ( !instance.endsWith("/") )
instance = instance + "/";
// Cache the instance/domain for future requests
localStorage['mastodon_instance'] = instance;
// Hashtags
2019-05-22 01:54:40 +00:00
var hashtags = "#talk";
2019-05-22 01:47:09 +00:00
// Tagging users, such as offical accounts or the author of the post
var author = "@cadey@mst3k.interlinked.me";
// Create the Share URL
// https://someinstance.tld/share?text=URL%20encoded%20text
mastodon_url = instance + "share?text=" + encodeURIComponent(title + "\n\n" + url + "\n\n" + hashtags + " " + author);
// Open a new window at the share location
window.open(mastodon_url, '_blank');
}
}
< / script >
{{ end }}