github.com/PDOK/gokoala@v0.50.6/internal/ogc/common/core/templates/landing-page.go.html (about)

     1  {{- /*gotype: github.com/PDOK/gokoala/internal/engine.TemplateData*/ -}}
     2  {{define "content"}}
     3  <hgroup>
     4      <h1 class="title" id="title">{{ .Config.Title }} (OGC API)</h1>
     5  </hgroup>
     6  <div class="row py-3">
     7      {{ if and .Config.Thumbnail .Config.Resources }}
     8      <div class="col-md-8">
     9      {{ else }}
    10      <div class="col-md-12">
    11      {{ end }}
    12          {{ markdown .Config.Abstract }}
    13          <table class="table table-borderless table-sm w-100">
    14              <caption class="visually-hidden">Dataset details</caption>
    15              <tbody>
    16                  {{ if .Config.Keywords }}
    17                  <tr>
    18                      <td class="w-25 text-nowrap fw-bold">
    19                          {{ i18n "Keywords" }}
    20                      </td>
    21                      <td>
    22                          {{ .Config.Keywords | join ", " }}
    23                      </td>
    24                  </tr>
    25                  {{ end }}
    26                  <tr>
    27                      <td class="w-25 text-nowrap fw-bold">
    28                          {{ i18n "License" }}
    29                      </td>
    30                      <td>
    31                          <a href="{{ .Config.License.URL }}" target="_blank" aria-label="{{ i18n "To" }} {{ i18n "License" }} {{ .Config.License.Name }}">{{ .Config.License.Name }}</a>
    32                      </td>
    33                  </tr>
    34                  {{ if .Config.Support}}
    35                  <tr>
    36                      <td class="w-25 text-nowrap fw-bold">
    37                          {{ i18n "Support" }}
    38                      </td>
    39                      <td>
    40                          <a href="{{ .Config.Support.URL }}" target="_blank" aria-label="{{ i18n "To" }} {{ i18n "Support" }}">{{ .Config.Support.Name }}</a>
    41                      </td>
    42                  </tr>
    43                  {{ end }}
    44                  {{ if .Config.DatasetDetails }}
    45                  {{ range $detailField := .Config.DatasetDetails }}
    46                  <tr>
    47                      <td class="w-25 text-nowrap fw-bold">
    48                          {{ $detailField.Name }}
    49                      </td>
    50                      <td>
    51                          {{ markdown $detailField.Value }}
    52                      </td>
    53                  </tr>
    54                  {{ end }}
    55                  {{ end }}
    56              </tbody>
    57          </table>
    58      </div>
    59      {{ if and .Config.Thumbnail .Config.Resources }}
    60      <div class="col-md-4">
    61          <img src="resources/{{ .Config.Thumbnail }}" class="img-fluid" alt="{{ .Config.Title }} Thumbnail"/>
    62      </div>
    63      {{ end }}
    64  </div>
    65  
    66  <div class="row row-cols-md-4 g-4">
    67      <div class="col-md-4 col-sm-12">
    68          <div class="card h-100">
    69              <h2 class="card-header h5">
    70                  <a href="api" aria-label="{{ i18n "To" }} OpenAPI {{ i18n "Specification" }}">OpenAPI {{ i18n "Specification" }}</a>
    71              </h2>
    72              <div class="card-body">
    73                  <p>
    74                      {{ i18n "SpecificationText" }}
    75                      {{ i18n "AvailableIn" }}
    76                  </p>
    77                  <small class="text-body-secondary">{{ i18n "ViewAs" }} <a href="api?f=json" target="_blank" aria-label="OpenAPI {{ i18n "Specification" }} {{ i18n "As" }} JSON">JSON</a></small>
    78              </div>
    79          </div>
    80      </div>
    81  
    82      <div class="col-md-4 col-sm-12">
    83          <div class="card h-100">
    84              <h2 class="card-header h5">
    85                  <a href="conformance" aria-label="{{ i18n "To" }} {{ i18n "Conformance" }}">{{ i18n "Conformance" }}</a>
    86              </h2>
    87              <div class="card-body">
    88                  <p>
    89                      {{ i18n "ConformanceText" }}
    90                      {{ i18n "AvailableIn" }}
    91                  </p>
    92                  <small class="text-body-secondary">{{ i18n "ViewAs" }} <a href="conformance?f=json" target="_blank" aria-label="{{ i18n "Conformance" }} {{ i18n "As" }} JSON">JSON</a></small>
    93              </div>
    94          </div>
    95      </div>
    96  
    97      {{ if .Config.HasCollections }}
    98      <div class="col-md-4 col-sm-12">
    99          <div class="card h-100">
   100              <h2 class="card-header h5">
   101                  <a href="collections" aria-label="{{ i18n "To" }} {{ i18n "Collections" }}">{{ i18n "Collections" }}</a>
   102              </h2>
   103              <div class="card-body">
   104                  <p>
   105                      {{ i18n "CollectionsText" }}
   106                      {{ i18n "AvailableIn" }}
   107                  </p>
   108                  <small class="text-body-secondary">{{ i18n "ViewAs" }} <a href="collections?f=json" target="_blank" aria-label="{{ i18n "Collections" }} {{ i18n "As" }} JSON">JSON</a></small>
   109              </div>
   110          </div>
   111      </div>
   112      {{ end }}
   113  
   114      {{ if .Config.OgcAPI.Tiles }}
   115      <div class="col-md-4 col-sm-12">
   116          <div class="card h-100">
   117              <h2 class="card-header h5">
   118                  <a href="tiles" aria-label="{{ i18n "To" }} {{ i18n "Tiles" }}">{{ i18n "Tiles" }}</a>
   119              </h2>
   120              <div class="card-body">
   121                  <p>
   122                      {{ i18n "TilesTextHTML" }}
   123                      {{ i18n "AvailableIn" }}
   124                  </p>
   125                  <small class="text-body-secondary">{{ i18n "ViewAs" }} <a href="tiles?f=json" target="_blank" aria-label="{{ i18n "Tiles" }} {{ i18n "As" }} JSON">JSON</a></small>
   126              </div>
   127          </div>
   128      </div>
   129      {{ end }}
   130  
   131      {{ if .Config.OgcAPI.Styles }}
   132      <div class="col-md-4 col-sm-12">
   133          <div class="card h-100">
   134              <h2 class="card-header h5">
   135                  <a href="styles" aria-label="{{ i18n "To" }} {{ i18n "Styles" }}">{{ i18n "Styles" }}</a>
   136              </h2>
   137              <div class="card-body">
   138                  <p>
   139                      {{ i18n "StylesText" }}
   140                      {{ i18n "AvailableIn" }}
   141                  </p>
   142                  <small class="text-body-secondary">{{ i18n "ViewAs" }} <a href="styles?f=json" target="_blank" aria-label="{{ i18n "Styles" }} {{ i18n "As" }} JSON">JSON</a></small>
   143              </div>
   144          </div>
   145      </div>
   146      {{ end }}
   147  
   148      {{ if .Config.OgcAPI.Tiles }}
   149      <div class="col-md-4 col-sm-12">
   150          <div class="card h-100">
   151              <h2 class="card-header h5">
   152                  <a href="tileMatrixSets" aria-label="{{ i18n "To" }} {{ i18n "TileMatrixSets" }}">{{ i18n "TileMatrixSets" }}</a>
   153              </h2>
   154              <div class="card-body">
   155                  <p>
   156                      {{ i18n "TileMatrixSetsText" }}
   157                      {{ i18n "AvailableIn" }}
   158                  </p>
   159                  <small class="text-body-secondary">{{ i18n "ViewAs" }} <a href="tileMatrixSets?f=json" target="_blank" aria-label="{{ i18n "TileMatrixSets" }} {{ i18n "As" }} JSON">JSON</a></small>
   160              </div>
   161          </div>
   162      </div>
   163      {{ end }}
   164  </div>
   165  {{end}}