1
mirror of https://github.com/jakejarvis/jarv.is.git synced 2025-04-27 13:56:22 -04:00

if multiple of the same shortcode are used, only load scripts once

This commit is contained in:
Jake Jarvis 2019-12-15 23:11:18 -05:00
parent 951c5f2c3f
commit fa98e48664
Signed by: jake
GPG Key ID: 2B0C9CF251E69A39
13 changed files with 37 additions and 18 deletions

View File

@ -5,11 +5,12 @@
{{ partial "head" . }} {{ partial "head" . }}
</head> </head>
<body> <body>
{{ block "header" . }}{{ partial "header" . }}{{ end }} {{ partial "header" . }}
<div id="wrap"> <div id="wrap">
{{ block "main" . }}{{ end }} {{ block "main" . }}{{ end }}
</div> </div>
{{ block "footer" . }}{{ partial "footer" . }}{{ end }} {{ partial "footer" . }}
{{ partial "scripts" . }}
</body> </body>
</html> </html>

View File

@ -8,6 +8,7 @@
<script async custom-element="amp-video" src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script> <script async custom-element="amp-video" src="https://cdn.ampproject.org/v0/amp-video-0.1.js"></script>
<script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script> <script async custom-element="amp-youtube" src="https://cdn.ampproject.org/v0/amp-youtube-0.1.js"></script>
<script async custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-0.1.js"></script> <script async custom-element="amp-twitter" src="https://cdn.ampproject.org/v0/amp-twitter-0.1.js"></script>
<script async custom-element="amp-facebook" src="https://cdn.ampproject.org/v0/amp-facebook-0.1.js"></script>
<title>{{ .Title }} &ndash; {{ .Site.Title }}</title> <title>{{ .Title }} &ndash; {{ .Site.Title }}</title>
{{ with .OutputFormats.Get "html" }}<link rel="canonical" href="{{ .Permalink }}">{{ end }} {{ with .OutputFormats.Get "html" }}<link rel="canonical" href="{{ .Permalink }}">{{ end }}
<meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1"> <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">

View File

@ -1,2 +1,2 @@
<div id="commento"></div> <div id="commento"></div>
<script src="https://comments.jarv.is/js/commento.js"></script> <script async defer src="https://comments.jarv.is/js/commento.js"></script>

View File

@ -44,4 +44,3 @@
{{- end }} {{- end }}
{{ with .Site.Author.twitterid }}<meta name="twitter:creator_id" content="{{ . }}">{{ end }} {{ with .Site.Author.twitterid }}<meta name="twitter:creator_id" content="{{ . }}">{{ end }}
<meta name="twitter:dnt" content="on"> <meta name="twitter:dnt" content="on">
<meta name="twitter:widgets:csp" content="on">

View File

@ -0,0 +1,14 @@
{{- if .HasShortcode "gh-buttons"}}
<script async defer src="https://buttons.github.io/buttons.js"></script>
{{ end -}}
{{- if .HasShortcode "tweet"}}
<script async defer src="https://platform.twitter.com/widgets.js"></script>
{{ end -}}
{{- if .HasShortcode "facebook"}}
<div id="fb-root"></div>
<script async defer src="https://connect.facebook.net/en_US/sdk.js#xfbml=1&version=v5.0"></script>
{{ end -}}
{{- template "_internal/google_analytics_async.html" . }}

View File

@ -1 +1 @@
<p><a href="https://codepen.io/{{ .Get "username" }}/pen/{{ .Get "id" }}" target="_blank" rel="noopener">Open this CodePen in a new window.</a></p> <p style="text-align: center;"><a href="https://codepen.io/{{ .Get "username" }}/pen/{{ .Get "id" }}" target="_blank" rel="noopener">Open this CodePen in a new window.</a></p>

View File

@ -0,0 +1,6 @@
<amp-facebook
width="552"
height="310"
layout="responsive"
data-href="{{ .Get "url" }}">
</amp-facebook>

View File

@ -0,0 +1,3 @@
{{- $url := printf "https://www.facebook.com/plugins/post/oembed.json/?omitscript=1&url=%s" (.Get "url" | urlize) -}}
{{- $json := getJSON $url -}}
{{- $json.html | safeHTML -}}

View File

@ -0,0 +1 @@
facebook.html

View File

@ -1,5 +1,4 @@
<p style="text-align: center;"> <p style="text-align: center;">
<a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Star</a>&nbsp;&nbsp;&nbsp; <a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}" data-icon="octicon-star" data-size="large" data-show-count="true" aria-label="Star {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Star</a>&nbsp;&nbsp;&nbsp;
<a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}/issues" data-icon="octicon-issue-opened" data-size="large" data-show-count="true" aria-label="Issue {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Issue</a> <a class="github-button" href="https://github.com/{{ .Get "username" }}/{{ .Get "repo" }}/issues" data-icon="octicon-issue-opened" data-size="large" data-show-count="true" aria-label="Issues for {{ .Get "username" }}/{{ .Get "repo" }} on GitHub">Issue</a>
</p> </p>
<script async defer src="https://buttons.github.io/buttons.js"></script>

View File

@ -0,0 +1,5 @@
{{- /* Modified from tpl/tplimpl/embedded/templates/shortcodes/twitter.html, minus script */ -}}
{{- $url := printf "https://api.twitter.com/1/statuses/oembed.json?id=%v&dnt=1&omit_script=1" (index .Params 0) -}}
{{- $json := getJSON $url -}}
{{- $json.html | safeHTML -}}

View File

@ -1,5 +0,0 @@
{{- /* Modified from /tpl/tplimpl/embedded/templates/shortcodes/twitter.html to fetch tweet without script (&omit_script=1) */ -}}
{{- $url := printf "https://api.twitter.com/1/statuses/oembed.json?id=%d&omit_script=true" (index .Params 0) -}}
{{- $json := getJSON $url -}}
{{- $json.html | safeHTML -}}

View File

@ -0,0 +1 @@
tweet.html

View File

@ -98,9 +98,3 @@
to = "/403.html" to = "/403.html"
status = 403 status = 403
force = true force = true
# no clue what these requests are? but there are a lot...
[[redirects]]
from = "/plus/*.php"
to = "/403.html"
status = 403
force = true