single.html 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213
  1. {{ define "header" }}
  2. <meta name="description" content="{{ if .Description }}{{ .Description }}{{ else }}{{ .Title }}{{ end }}" />
  3. <link
  4. rel="stylesheet"
  5. href="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/styles/atom-one-dark.min.css"
  6. />
  7. <link rel="stylesheet" href="{{ "/css/layouts/single.css" | relURL }}"/>
  8. <link rel="stylesheet" href="{{ "/css/navigators/sidebar.css" | relURL }}">
  9. <!--================= custom style overrides =========================-->
  10. <link rel="stylesheet" href="{{ "/css/style.css" | relURL }}"/>
  11. {{ end }}
  12. {{ define "navbar" }}
  13. {{ partial "navigators/navbar-2.html" . }}
  14. {{ end }}
  15. {{ define "sidebar" }}
  16. <section class="sidebar-section" id="sidebar-section">
  17. <div class="sidebar-holder">
  18. <div class="sidebar" id="sidebar">
  19. <form class="mx-auto" method="get" action="{{ "search" | relLangURL }}">
  20. <input type="text" name="keyword" value="" placeholder="{{ i18n "search" }}" data-search="" id="search-box" />
  21. </form>
  22. <div class="sidebar-tree">
  23. <ul class="tree" id="tree">
  24. <li id="list-heading"><a href="{{ "/posts" | relLangURL }}" data-filter="all">{{ i18n "posts" }}</a></li>
  25. <div class="subtree">
  26. {{ partial "navigators/sidebar.html" (dict "menuName" "sidebar" "menuItems" site.Menus.sidebar "ctx" .) }}
  27. </div>
  28. </ul>
  29. </div>
  30. </div>
  31. </div>
  32. </section>
  33. {{ end }}
  34. {{ define "content" }}
  35. <section class="content-section" id="content-section">
  36. <div class="content">
  37. <div class="container p-0 read-area">
  38. <!--Hero Area-->
  39. <div class="hero-area col-sm-12" id="hero-area" style='background-image: url({{ strings.TrimSuffix "/" site.BaseURL }}{{ partial "helpers/get-hero.html" . }});'>
  40. </div>
  41. <!--Content Start-->
  42. <div class="page-content">
  43. <div class="author-profile ml-auto align-self-lg-center">
  44. <img class="rounded-circle" src='{{ partial "helpers/get-author-image.html" . }}' alt="Author Image">
  45. <h5 class="author-name">{{ partial "helpers/get-author-name.html" . }}</h5>
  46. <p>{{ .Page.Date | time.Format ":date_full" }}</p>
  47. </div>
  48. <div class="title">
  49. <h1>{{ .Page.Title }}</h1>
  50. </div>
  51. {{ if site.Params.enableTags }}
  52. <div class="taxonomy-terms">
  53. <ul>
  54. {{ range .Params.tags }}
  55. {{ $url:= printf "tags/%s" . }}
  56. <li class="rounded"><a href="{{ $url | urlize | relLangURL }}" class="btn, btn-sm">{{ . }}</a></li>
  57. {{ end }}
  58. </ul>
  59. </div>
  60. {{ end }}
  61. <div class="post-content" id="post-content">
  62. {{ .Page.Content }}
  63. </div>
  64. <!-- Share or Contribute -->
  65. <div class="row pl-3 pr-3">
  66. <!--Social Media Share Buttons-->
  67. <div class="col-md-6 share-buttons">
  68. {{ if site.Params.features.blog.shareButtons }}
  69. <strong>{{ i18n "share_on" }}:</strong>
  70. {{ if site.Params.features.blog.shareButtons.facebook }}
  71. <a class="btn btn-sm facebook-btn" href="https://www.facebook.com/sharer.php?u={{ .Permalink }}" target="_blank">
  72. <i class="fab fa-facebook"></i>
  73. </a>
  74. {{ end }}
  75. {{ if site.Params.features.blog.shareButtons.twitter }}
  76. <a class="btn btn-sm twitter-btn" href="https://twitter.com/share?url={{ .Permalink }}&text={{ .Title }}&via={{- site.Title -}}" target="_blank">
  77. <i class="fab fa-twitter"></i>
  78. </a>
  79. {{ end }}
  80. {{ if site.Params.features.blog.shareButtons.reddit }}
  81. <a class="btn btn-sm reddit-btn" href="https://reddit.com/submit?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
  82. <i class="fab fa-reddit"></i>
  83. </a>
  84. {{ end }}
  85. {{ if site.Params.features.blog.shareButtons.tumblr }}
  86. <a class="btn btn-sm tumblr-btn" href="https://www.tumblr.com/share/link?url={{ .Permalink }}&name={{ .Title }}{{- with .Params.description -}}&description={{- . -}}{{- end -}}" target="_blank">
  87. <i class="fab fa-tumblr"></i>
  88. </a>
  89. {{ end }}
  90. {{ if site.Params.features.blog.shareButtons.pocket }}
  91. <a class="btn btn-sm pocket-btn" href="https://getpocket.com/save?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
  92. <i class="fab fa-get-pocket"></i>
  93. </a>
  94. {{ end }}
  95. {{ if site.Params.features.blog.shareButtons.linkedin }}
  96. <a class="btn btn-sm linkedin-btn" href="https://www.linkedin.com/shareArticle?url={{ .Permalink }}&title={{ .Title }}" target="_blank">
  97. <i class="fab fa-linkedin"></i>
  98. </a>
  99. {{ end }}
  100. {{ if site.Params.features.blog.shareButtons.diaspora }}
  101. <a class="btn btn-sm diaspora-btn" href="https://share.diasporafoundation.org/?title={{ .Title }}&url={{ .Permalink }}" rel="nofollow" target="_blank">
  102. <i class="fab fa-diaspora"></i>
  103. </a>
  104. {{ end }}
  105. {{ if site.Params.features.blog.shareButtons.mastodon }}
  106. <a class="btn btn-sm mastodon-btn" href="https://mastodon.social/share?text={{ .Title }} - {{ .Permalink }}" target="_blank">
  107. <i class="fab fa-mastodon"></i>
  108. </a>
  109. {{ end }}
  110. {{ if site.Params.features.blog.shareButtons.whatsapp }}
  111. <a class="btn btn-sm whatsapp-btn" href="https://api.whatsapp.com/send?text={{ .Title }} {{ .Permalink }}" target="_blank">
  112. <i class="fab fa-whatsapp"></i>
  113. </a>
  114. {{ end }}
  115. {{ if site.Params.features.blog.shareButtons.email }}
  116. <a class="btn btn-sm email-btn" href="mailto:?subject={{ .Title }}&body={{ .Permalink }}" target="_blank">
  117. <i class="fas fa-envelope-open-text"></i>
  118. </a>
  119. {{ end }}
  120. {{ end }}
  121. </div>
  122. <!--- Improve this page button --->
  123. {{ if site.Params.GitRepo }}
  124. {{ if site.Params.GitBranch }}
  125. {{ .Scratch.Set "GitBranch" site.Params.GitBranch }}
  126. {{ else }}
  127. {{ .Scratch.Set "GitBranch" "main" }}
  128. {{ end }}
  129. <div class="col-md-6 btn-improve-page">
  130. {{ if ( eq site.Params.GitForge "gitlab" ) }}
  131. <a href="{{ site.Params.GitRepo }}/-/edit/{{ .Scratch.Get "GitBranch" }}/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
  132. {{ else if ( eq site.Params.GitForge "gitea" ) }}
  133. <a href="{{ site.Params.GitRepo }}/_edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
  134. {{ else }} <!--- Make Github-style the default -->
  135. <a href="{{ site.Params.GitRepo }}/edit/{{ .Scratch.Get "GitBranch" }}/content/{{ .File.Path }}" title="{{ i18n "improve_this_page" }}" target="_blank" rel="noopener">
  136. {{ end }}
  137. <i class="fas fa-code-branch"></i>
  138. {{ i18n "improve_this_page" }}
  139. </a>
  140. </div>
  141. {{ end }}
  142. </div>
  143. <!---Next and Previous Navigator -->
  144. <hr />
  145. {{ partial "navigators/next-prev-navigator.html" . }}
  146. <hr />
  147. <!----- Add comment support ----->
  148. {{ with site.Params.features.comment }}
  149. {{ if .enable }}
  150. <!-- Add Disqus forum -->
  151. {{ if .disqus.shortName }}
  152. {{ partial "disqus.html" . }}
  153. <!-- Add valine -->
  154. {{ else if .valine }}
  155. {{ partial "valine.html" . }}
  156. <!-- Add utteranc -->
  157. {{ else if .utteranc }}
  158. {{ partial "utteranc.html" . }}
  159. {{ end }}
  160. {{ end }}
  161. {{ end }}
  162. <!-- Keep backward compatibility with old config.yaml -->
  163. {{ if site.DisqusShortname }}
  164. {{ partial "disqus.html" . }}
  165. {{ end }}
  166. </div>
  167. </div>
  168. </div>
  169. <!--scroll back to top-->
  170. <a id="scroll-to-top" class="btn"><i class="fas fa-chevron-circle-up"></i></a>
  171. {{ if .IsTranslated }}
  172. {{ partial "navigators/floating-lang-selector.html" . }}
  173. {{ end }}
  174. </section>
  175. {{ end }}
  176. {{ define "toc" }}
  177. <section class="toc-section" id="toc-section">
  178. {{ if site.Params.enableTOC }}
  179. <div class="toc-holder">
  180. <h5 class="text-center pl-3">{{ i18n "toc_heading" }}</h5>
  181. <hr>
  182. <div class="toc">
  183. {{ .TableOfContents }}
  184. </div>
  185. </div>
  186. {{ end }}
  187. </section>
  188. {{ end }}
  189. {{ define "scripts" }}
  190. <script src="https://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.18.1/highlight.min.js"></script>
  191. <script src="{{ "/js/single.js" | relURL }}"></script>
  192. <script>
  193. hljs.initHighlightingOnLoad();
  194. </script>
  195. {{ if .Params.math }}
  196. {{ partial "math.html" . }}
  197. {{ end }}
  198. {{ end }}