page_links.html 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140
  1. {{ $is_list := .is_list }}
  2. {{ $ := .content }}
  3. {{ with $.Params.url_preprint }}
  4. {{ $link := . }}
  5. {{ if not (urls.Parse .).Scheme }}
  6. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  7. {{ end }}
  8. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  9. {{ i18n "btn_preprint" }}
  10. </a>
  11. {{ end }}
  12. {{ $pdf := "" }}
  13. {{ $slug := "" }}
  14. {{ if eq $.File.TranslationBaseName "index" }}{{/* Check if using dir-based page bundles. */}}
  15. {{ $slug = delimit (last 1 (split (substr $.Dir 0 -1) "/")) "" }}
  16. {{ end }}
  17. {{ $resource := $.Resources.GetMatch (printf "%s.pdf" $slug) }}
  18. {{ with $resource }}
  19. {{ $pdf = .RelPermalink }}
  20. {{ else }}
  21. {{ if $.Params.url_pdf }}
  22. {{ $pdf = $.Params.url_pdf | relURL }}
  23. {{ end }}
  24. {{ end }}
  25. {{ with $pdf }}
  26. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ . }}" target="_blank" rel="noopener">
  27. {{ i18n "btn_pdf" }}
  28. </a>
  29. {{ end }}
  30. {{ $resource := $.Resources.GetMatch "*.bib" }}
  31. {{ with $resource }}
  32. <button type="button" class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}} js-cite-modal"
  33. data-filename="{{ .RelPermalink }}">
  34. {{ i18n "btn_cite" }}
  35. </button>
  36. {{ end }}
  37. {{ with $.Params.url_code }}
  38. {{ $link := . }}
  39. {{ if not (urls.Parse .).Scheme }}
  40. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  41. {{ end }}
  42. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  43. {{ i18n "btn_code" }}
  44. </a>
  45. {{ end }}
  46. {{ with $.Params.url_dataset }}
  47. {{ $link := . }}
  48. {{ if not (urls.Parse .).Scheme }}
  49. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  50. {{ end }}
  51. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  52. {{ i18n "btn_dataset" }}
  53. </a>
  54. {{ end }}
  55. {{ if $.Params.projects }}
  56. {{ range $.Params.projects }}
  57. {{ with ($.Site.GetPage (printf "project/%s" .)) }}
  58. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ .RelPermalink }}">
  59. {{ i18n "btn_project" }}
  60. </a>
  61. {{ else }}
  62. {{/* errorf "The `projects` parameter in `content/%s` references a project file, `content/project/%s`, which cannot be found. Please either set `projects = []` or fix the reference." $.File.Path . */}}
  63. {{ end }}
  64. {{ end }}
  65. {{ else }}
  66. {{ with $.Params.url_project }}
  67. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ . }}" target="_blank" rel="noopener">
  68. {{ i18n "btn_project" }}
  69. </a>
  70. {{ end }}
  71. {{ end }}
  72. {{ with $.Params.url_poster }}
  73. {{ $link := . }}
  74. {{ if not (urls.Parse .).Scheme }}
  75. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  76. {{ end }}
  77. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  78. {{ i18n "btn_poster" }}
  79. </a>
  80. {{ end }}
  81. {{ if $.Params.slides }}
  82. {{ with ($.Site.GetPage (printf "slides/%s" $.Params.slides)) }}
  83. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ .RelPermalink }}" target="_blank">
  84. {{ i18n "btn_slides" }}
  85. </a>
  86. {{ end }}
  87. {{ else }}
  88. {{ with $.Params.url_slides }}
  89. {{ $link := . }}
  90. {{ if not (urls.Parse .).Scheme }}
  91. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  92. {{ end }}
  93. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  94. {{ i18n "btn_slides" }}
  95. </a>
  96. {{ end }}
  97. {{ end }}
  98. {{ with $.Params.url_video }}
  99. {{ $link := . }}
  100. {{ if not (urls.Parse .).Scheme }}
  101. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  102. {{ end }}
  103. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  104. {{ i18n "btn_video" }}
  105. </a>
  106. {{ end }}
  107. {{ with $.Params.url_source }}
  108. {{ $link := . }}
  109. {{ if not (urls.Parse .).Scheme }}
  110. {{ $link = (printf "%s%s" $.Dir .) | relURL }}
  111. {{ end }}
  112. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link }}" target="_blank" rel="noopener">
  113. {{ i18n "btn_source" }}
  114. </a>
  115. {{ end }}
  116. {{ with $.Params.doi }}
  117. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="https://doi.org/{{ . }}" target="_blank" rel="noopener">
  118. DOI
  119. </a>
  120. {{ end }}
  121. {{ range $.Params.url_custom }}
  122. {{ $pack := or .icon_pack "fas" }}
  123. {{ $pack_prefix := $pack }}
  124. {{ if in (slice "fab" "fas" "far" "fal") $pack }}
  125. {{ $pack_prefix = "fa" }}
  126. {{ end }}
  127. {{ $link := .url }}
  128. {{ $scheme := (urls.Parse $link).Scheme }}
  129. {{ $target := "" }}
  130. {{ if not $scheme }}
  131. {{ $link = (printf "%s%s" $.Dir .url) | relURL }}
  132. {{ else if in (slice "http" "https") $scheme }}
  133. {{ $target = "target=\"_blank\" rel=\"noopener\"" }}
  134. {{ end }}
  135. <a class="btn btn-outline-primary my-1 mr-1{{ if $is_list }} btn-sm{{end}}" href="{{ $link | safeURL }}" {{ $target | safeHTMLAttr }}>
  136. {{ if .icon }}<i class="{{ $pack }} {{ $pack_prefix }}-{{ .icon }} {{if .name}}mr-1{{end}}"></i>{{end}}
  137. {{ with .name }}{{ . | safeHTML }}{{end}}
  138. </a>
  139. {{ end }}