blob: ba03d37593f27825a27d1820ce0179f255b19119 [file]
{{- /* /docs landing — light card grid, driven by data/docs.yml + data/stars.yml */ -}}
<!doctype html>
<html lang="{{ .Site.Language.Lang }}" class="no-js td-docs">
<head>
{{ partial "head.html" . }}
<title>{{ if .IsHome }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{ . }} | {{ end }}{{ .Site.Title }}{{ end }}</title>
</head>
<body class="td-{{ .Kind }} td-docs-landing">
<header>{{ partial "navbar.html" . }}</header>
<main class="td-main" role="main">
<section class="docs-hero">
<div class="container">
<span class="eyebrow">DOCS · {{ len .Site.Data.docs }} SECTIONS</span>
<h1>Projects &amp; documentation</h1>
<p>SkyWalking is the Server, UI, native storage and many agents. Start with the
<a href="#SkyWalkingServers">Server</a> to understand installation and deployment, then pick the
agents and integrations you need — or deploy the
<a href="#Showcase">showcase</a> for a quick preview.</p>
<div class="docs-chips">
{{ range .Site.Data.docs }}
{{ $cat := or .buttonText (replace .type " " "") }}
<a class="docs-chip" href="#{{ $cat }}">{{ .type }}</a>
{{ end }}
</div>
</div>
</section>
{{- /* Get started — two quickstarts: run the Showcase, or run SkyWalking */ -}}
{{ with .Site.Data.quickstart }}
<section class="qs-section" id="get-started">
<div class="container">
<h2 class="qs-head">Get started in minutes</h2>
<div class="qs-grid">
{{ range $key := slice "showcase" "skywalking" }}
{{ $q := index $.Site.Data.quickstart $key }}
<article class="qs-card" id="qs-{{ $key }}">
<div class="qs-card-top">
<span class="qs-badge{{ if eq $key "showcase" }} is-rec{{ end }}">{{ $q.badge }}</span>
<h3>{{ $q.title }}</h3>
<p>{{ $q.blurb }}</p>
</div>
<div class="qs-term" data-qs="{{ $key }}">
<div class="qs-tabs" role="tablist">
{{ range $i, $t := $q.tabs }}
<button class="qs-tab{{ if eq $i 0 }} active{{ end }}" data-tab="{{ $i }}" type="button">{{ $t.os }}</button>
{{ end }}
</div>
{{ range $i, $t := $q.tabs }}
<div class="qs-pane{{ if eq $i 0 }} active{{ end }}" data-pane="{{ $i }}">
<div class="qs-pane-bar">
<span class="qs-lang">{{ $t.lang }}</span>
<button class="qs-copy" type="button" data-code={{ $t.code | chomp }}>Copy</button>
</div>
<div class="qs-code-lines">
{{ range $li, $line := (split (chomp $t.code) "\n") }}
<div class="qs-line"><span class="qs-ln">{{ add $li 1 }}</span><span class="qs-code">{{ $line }}</span></div>
{{ end }}
</div>
</div>
{{ end }}
</div>
<a class="qs-docs" href="{{ $q.docsLink }}">{{ $q.docsLabel }} →</a>
</article>
{{ end }}
</div>
</div>
</section>
{{ end }}
<div class="container docs-wrap">
{{ range .Site.Data.docs }}
{{ $cat := or .buttonText (replace .type " " "") }}
<h2 class="docs-cat" id="{{ $cat }}">{{ .type }}</h2>
<div class="docs-grid">
{{ range .list }}
{{ if .descriptionItem }}
<article class="docs-card docs-card--note"><div>{{ .descriptionItem }}</div></article>
{{ else }}
{{ $id := replace .name " " "" }}{{ $id := replace $id ")" "" }}{{ $id := replace $id "(" "" }}
{{ $user := .user }}{{ $repo := .repo }}
{{ $stars := index $.Site.Data.stars.repos (printf "%s/%s" $user $repo) }}
<article class="docs-card" id="{{ $id }}">
<header class="docs-card-head">
{{ if .icon }}<img class="docs-icon" width="30" height="30" src="/images/project/{{ .icon }}.svg" alt="">{{ end }}
<h5 class="docs-card-title">{{ .name }}</h5>
{{ with $stars }}
<a class="docs-stars" href="https://github.com/{{ $user }}/{{ $repo }}" target="_blank" rel="noopener" title="Stars on GitHub">
<svg viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><path d="M12 17.3l-6.18 3.7 1.64-7.03L2 9.24l7.19-.62L12 2l2.81 6.62L22 9.24l-5.46 4.73L18.18 21z"/></svg>
<span>{{ .stars }}</span>
</a>
{{ end }}
<a class="card-anchor" href="#{{ $id }}" data-anchor="{{ $id }}" title="Copy link to {{ .name }}" aria-label="Copy link to {{ .name }}">
<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.71"/><path d="M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.71-1.71"/></svg>
</a>
</header>
<p class="docs-card-desc">{{ .description | markdownify }}</p>
<footer class="docs-card-foot">
{{ with .docs }}
{{- /* primary = the "Latest" entry if present, else the first one */ -}}
{{ $primary := index . 0 }}
{{ range . }}{{ if or (eq .version "Latest") (eq .versionName "Latest") }}{{ $primary = . }}{{ end }}{{ end }}
{{ $others := slice }}
{{ range . }}{{ if ne .link $primary.link }}{{ $others = $others | append . }}{{ end }}{{ end }}
<a class="docs-btn" href="{{ $primary.link }}" target="_blank" rel="noopener">Read docs →</a>
{{ if $others }}
<details class="docs-ver">
<summary>versions</summary>
<ul>
{{ range $others }}<li><a href="{{ .link }}" target="_blank" rel="noopener">{{ or .versionName .version }}</a></li>{{ end }}
</ul>
</details>
{{ end }}
{{ end }}
{{ if and $user $repo }}
<a class="docs-gh" href="https://github.com/{{ $user }}/{{ $repo }}" target="_blank" rel="noopener" aria-label="GitHub repository">
<svg viewBox="0 0 24 24" fill="currentColor"><path d="M12 .5C5.65.5.5 5.66.5 12.02c0 5.09 3.29 9.4 7.86 10.93.57.11.78-.25.78-.55v-2.13c-3.2.69-3.87-1.36-3.87-1.36-.52-1.32-1.27-1.68-1.27-1.68-1.04-.71.08-.7.08-.7 1.15.08 1.76 1.18 1.76 1.18 1.02 1.75 2.69 1.25 3.34.95.1-.74.4-1.25.73-1.54-2.55-.29-5.24-1.28-5.24-5.69 0-1.26.45-2.29 1.18-3.1-.12-.29-.51-1.45.11-3.02 0 0 .97-.31 3.18 1.18.92-.26 1.91-.39 2.9-.39.99 0 1.98.13 2.9.39 2.21-1.49 3.18-1.18 3.18-1.18.62 1.57.23 2.73.11 3.02.74.81 1.18 1.84 1.18 3.1 0 4.42-2.69 5.39-5.25 5.68.41.36.78 1.06.78 2.13v3.16c0 .31.21.67.79.55C20.21 21.42 23.5 17.11 23.5 12.02 23.5 5.66 18.35.5 12 .5z"/></svg>
</a>
{{ end }}
</footer>
</article>
{{ end }}
{{ end }}
</div>
{{ end }}
</div>
{{ partial "footer.html" . }}
</main>
{{ partial "event-popup.html" . }}
{{ partial "sidebar-skywalking.html" . }}
{{ partial "scripts.html" . }}
<script>
// quickstart OS tabs + copy
document.querySelectorAll('.qs-term').forEach(function (term) {
term.querySelectorAll('.qs-tab').forEach(function (tab) {
tab.addEventListener('click', function () {
var i = tab.getAttribute('data-tab');
term.querySelectorAll('.qs-tab').forEach(function (t) { t.classList.toggle('active', t === tab); });
term.querySelectorAll('.qs-pane').forEach(function (p) { p.classList.toggle('active', p.getAttribute('data-pane') === i); });
});
});
});
document.querySelectorAll('.qs-copy').forEach(function (btn) {
btn.addEventListener('click', function () {
navigator.clipboard && navigator.clipboard.writeText(btn.getAttribute('data-code') || '').then(function () {
var old = btn.textContent; btn.textContent = 'Copied'; setTimeout(function () { btn.textContent = old; }, 1400);
});
});
});
</script>
{{ partial "card-permalink.html" . }}
</body>
</html>