footer.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. {{ if eq .Type "page" }}
  2. {{ partial "page_meta.html" . }}
  3. {{ end }}
  4. {{- if and (not (isset .Site.Params "author")) (isset .Site "author") -}}
  5. {{ errorf "Please move [author] to [params.author]; Hugo has deprecated the former." }}
  6. {{- end -}}
  7. <footer>
  8. <div class="container">
  9. {{ if .Site.Params.disclaimerText }}
  10. <div class="row">
  11. <div class="disclaimer">
  12. <b>Disclaimer:</b> {{ .Site.Params.disclaimerText }}
  13. </div>
  14. </div>
  15. {{ end }}
  16. <div class="row">
  17. <div class="col-lg-8 col-lg-offset-2 col-md-10 col-md-offset-1">
  18. <ul class="list-inline text-center footer-links">
  19. {{ range .Site.Data.beautifulhugo.social.social_icons }}
  20. {{- if isset $.Site.Params.author .id }}
  21. <li>
  22. {{ if or ( hasPrefix ( index $.Site.Params.author .id ) "http://" ) ( hasPrefix ( index $.Site.Params.author .id ) "https://" ) }}
  23. <a {{ if .rel }}rel="{{ .rel }}"{{- end -}} href="{{ printf "%s" (index $.Site.Params.author .id) }}" title="{{ .title }}">
  24. {{ else }}
  25. <a {{ if .rel }}rel="{{ .rel }}"{{- end -}} href="{{ printf .url (index $.Site.Params.author .id) }}" title="{{ .title }}">
  26. {{ end }}
  27. <span class="fa-stack fa-lg">
  28. <i class="fas fa-circle fa-stack-2x"></i>
  29. <i class="{{ .icon }} fa-stack-1x fa-inverse"></i>
  30. </span>
  31. </a>
  32. </li>
  33. {{- end -}}
  34. {{ end }}
  35. {{ if .Site.Params.rss }}
  36. {{ with .OutputFormats.Get "RSS" }}
  37. <li>
  38. <a href="{{ .RelPermalink }}" title="RSS">
  39. <span class="fa-stack fa-lg">
  40. <i class="fas fa-circle fa-stack-2x"></i>
  41. <i class="fas fa-rss fa-stack-1x fa-inverse"></i>
  42. </span>
  43. </a>
  44. </li>
  45. {{ end }}
  46. {{ end }}
  47. </ul>
  48. <p class="credits copyright text-muted">
  49. {{ if .Site.Params.author.name }}
  50. {{ if .Site.Params.author.website }}
  51. <a href="{{ .Site.Params.author.website }}">{{ .Site.Params.author.name }}</a>
  52. {{ else }}
  53. {{ .Site.Params.author.name }}
  54. {{ end }}
  55. {{ end }}
  56. &nbsp;&bull;&nbsp;&copy;
  57. {{ if .Site.Params.since }}
  58. {{ .Site.Params.since }} - {{ .Site.Lastmod.Format "2006" }}
  59. {{ else }}
  60. {{ .Site.Lastmod.Format "2006" }}
  61. {{ end }}
  62. {{ if .Site.Title }}
  63. &nbsp;&bull;&nbsp;
  64. <a href="{{ "" | absLangURL }}">{{ .Site.Title }}</a>
  65. {{ end }}
  66. </p>
  67. <!-- Please don't remove this, keep my open source work credited :) -->
  68. <p class="credits theme-by text-muted">
  69. {{ i18n "poweredBy" . | safeHTML }}
  70. {{ if $.GitInfo }}&nbsp;&bull;&nbsp;[<a href="{{ .Site.Params.commit }}{{ .GitInfo.Hash }}">{{ substr .GitInfo.Hash 0 8 }}</a>]{{ end }}
  71. </p>
  72. </div>
  73. </div>
  74. </div>
  75. </footer>
  76. {{- if .Site.Params.selfHosted -}}
  77. <script defer src="{{ "js/katex.min.js" | absURL }}"></script>
  78. <script defer src="{{ "js/auto-render.min.js" | absURL }}" onload="renderMathInElement(document.body);"></script>
  79. <script src="{{ "js/jquery-3.7.0.slim.min.js" | absURL }}"></script>
  80. <script src="{{ "js/bootstrap.min.js" | absURL }}"></script>
  81. {{- else -}}
  82. <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/katex.min.js" integrity="sha384-G0zcxDFp5LWZtDuRMnBkk3EphCK1lhEf4UEyEM693ka574TZGwo4IWwS6QLzM/2t" crossorigin="anonymous"></script>
  83. <script defer src="https://cdn.jsdelivr.net/npm/katex@0.16.7/dist/contrib/auto-render.min.js" integrity="sha384-+VBxd3r6XgURycqtZ117nYw44OOcIax56Z4dCRWbxyPt0Koah1uHoK0o4+/RRE05" crossorigin="anonymous" onload="renderMathInElement(document.body);"></script>
  84. <script src="https://code.jquery.com/jquery-3.7.0.slim.min.js" integrity="sha384-w5y/xIeYixWvfM+A1cEbmHPURnvyqmVg5eVENruEdDjcyRLUSNej7512JQGspFUr" crossorigin="anonymous"></script>
  85. <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.4.1/dist/js/bootstrap.min.js" integrity="sha384-aJ21OjlMXNL5UyIl/XNwTMqvzeRMZH2w8c5cRVpzpU8Y5bApTppSuUkhZXN0VxHd" crossorigin="anonymous"></script>
  86. {{- end }}
  87. <script src="{{ "js/main.js" | absURL }}"></script>
  88. {{- if .Site.Params.staticman }}
  89. <script src="{{ "js/staticman.js" | absURL }}"></script>
  90. {{- end }}
  91. {{- if .Site.Params.useHLJS }}
  92. <script src="{{ "js/highlight.min.js" | absURL }}"></script>
  93. <script> hljs.initHighlightingOnLoad(); </script>
  94. <script> $(document).ready(function() {$("pre.chroma").css("padding","0");}); </script>
  95. {{- end -}}
  96. {{- if .Site.Params.selfHosted -}}
  97. <script src="{{ "js/photoswipe.min.js" | absURL }}"></script>
  98. <script src="{{ "js/photoswipe-ui-default.min.js" | absURL }}"></script>
  99. {{- else -}}
  100. <script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe.min.js" integrity="sha384-QELNnmcmU8IR9ZAykt67vGr9/rZJdHbiWi64V88fCPaOohUlHCqUD/unNN0BXSqy" crossorigin="anonymous"></script>
  101. <script src="https://cdnjs.cloudflare.com/ajax/libs/photoswipe/4.1.2/photoswipe-ui-default.min.js" integrity="sha384-m67o7SkQ1ALzKZIFh4CiTA8tmadaujiTa9Vu+nqPSwDOqHrDmxLezTdFln8077+q" crossorigin="anonymous"></script>
  102. {{- end -}}
  103. <script src="{{ "js/load-photoswipe.js" | absURL }}"></script>
  104. <!-- Google Custom Search Engine -->
  105. {{ if .Site.Params.gcse }}
  106. <script>
  107. (function() {
  108. var cx = '{{ .Site.Params.gcse }}';
  109. var gcse = document.createElement('script');
  110. gcse.type = 'text/javascript';
  111. gcse.async = true;
  112. gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
  113. var s = document.getElementsByTagName('script')[0];
  114. s.parentNode.insertBefore(gcse, s);
  115. })();
  116. </script>
  117. {{ end }}
  118. {{ if .Site.Params.piwik }}
  119. <!-- Piwik -->
  120. <script type="text/javascript">
  121. var _paq = _paq || [];
  122. _paq.push(["trackPageView"]);
  123. _paq.push(["enableLinkTracking"]);
  124. (function() {
  125. var u=(("https:" == document.location.protocol) ? "https" : "http") + "://{{ .Site.Params.piwik.server }}/";
  126. _paq.push(["setTrackerUrl", u+"piwik.php"]);
  127. _paq.push(["setSiteId", "{{ .Site.Params.piwik.id }}"]);
  128. var d=document, g=d.createElement("script"), s=d.getElementsByTagName("script")[0]; g.type="text/javascript";
  129. g.defer=true; g.async=true; g.src=u+"piwik.js"; s.parentNode.insertBefore(g,s);
  130. })();
  131. </script>
  132. <noscript>
  133. <!-- Piwik Image Tracker -->
  134. <img src="http://{{ .Site.Params.piwik.server }}/piwik.php?idsite={{ .Site.Params.piwik.id }}&amp;rec=1" style="border:0" alt="" />
  135. <!-- End Piwik -->
  136. </noscript>
  137. <!-- End Piwik Code -->
  138. {{ end }}
  139. {{ if and .Site.Params.delayDisqus .Site.Config.Services.Disqus.Shortname }}
  140. <!-- Delayed Disqus -->
  141. <script type="text/javascript">
  142. $(function(){
  143. $('#show-comments').on('click', function(){
  144. var disqus_shortname = '{{ .Site.Config.Services.Disqus.Shortname }}';
  145. (function() {
  146. var disqus = document.createElement('script');
  147. disqus.type = 'text/javascript';
  148. disqus.async = true;
  149. disqus.src = '//' + disqus_shortname + '.disqus.com/embed.js';
  150. (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(disqus);
  151. })();
  152. $(this).hide();
  153. });
  154. });
  155. </script>
  156. <script id="dsq-count-scr" src="//{{ .Site.Config.Services.Disqus.Shortname }}.disqus.com/count.js" async></script>
  157. <!-- End Delayed Disqus -->
  158. {{ end }}
  159. {{- partial "footer_custom.html" . }}