diff --git a/.github/actions/spelling/excludes.txt b/.github/actions/spelling/excludes.txt index acdab3b622..396213275a 100644 --- a/.github/actions/spelling/excludes.txt +++ b/.github/actions/spelling/excludes.txt @@ -28,3 +28,4 @@ _test\.go$ ^\.github/scripts/\.helm-tests/[a-zA-Z0-9-]+/result.ya?ml ^dashboards/grafana/configmap/.*\.ya?ml ^dashboards/grafana/import/.*\.json +^\Qdocs/layouts/partials/hooks/body-end.html\E$ diff --git a/.github/actions/spelling/expect.txt b/.github/actions/spelling/expect.txt index a8cdc563ef..0c09687275 100644 --- a/.github/actions/spelling/expect.txt +++ b/.github/actions/spelling/expect.txt @@ -142,6 +142,7 @@ docsearch docsembed docsy dql +draggable DTAPI dtclient dupl @@ -152,6 +153,7 @@ elasticquota elif Emoji ENABLEGITINFO +endblock endgroup envconfig envsubst @@ -175,6 +177,7 @@ favicons fetchintervalseconds fieldpath fieldref +fontawesome ftp fullname functionref @@ -226,6 +229,7 @@ homeorchestrate horizontalpodautoscalers hpa hreflang +hsla htmltest httpref httpreference @@ -362,9 +366,12 @@ kwv labelledby lastmod lastword +Lato lfc Lifcycle lifecyclekeptnsh +linecap +linejoin linkedin linktitle linting @@ -428,6 +435,7 @@ nodename nolint nonroot noreply +nowrap nsa oac oauth @@ -457,6 +465,7 @@ otlpgrpc otlptrace otlptracegrpc OUTDIR +overriden owide oyaml pagelinks @@ -498,6 +507,7 @@ providerref providerresult pyfunction pygments +pymdown pyyaml quickstart rangespec @@ -513,12 +523,15 @@ replicasets replicationcontrollers resourcereference Rexed +rgb rgba RLock Roboto rolebinding rollme roundtripper +rst +rtd runhelloworld RUnlock runsendevent @@ -565,7 +578,9 @@ statefultest stdouttrace storageclasses storageversion +striptags sts +stylesheet subchart subdir subjectaccessreviews diff --git a/.github/workflows/htmltest.yaml b/.github/workflows/htmltest.yaml index a71dd099de..b984248ba8 100644 --- a/.github/workflows/htmltest.yaml +++ b/.github/workflows/htmltest.yaml @@ -7,12 +7,14 @@ on: - '[0-9]+.[1-9][0-9]*.x' paths: - 'docs/**' + - 'docs-new/**' pull_request: branches: - 'main' - '[0-9]+.[1-9][0-9]*.x' paths: - 'docs/**' + - 'docs-new/**' jobs: htmltest: diff --git a/.gitignore b/.gitignore index 4935683401..6b3c3aa4f3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,6 @@ bin/ +site/ +.cache/ # Binaries for programs and plugins *.exe @@ -49,4 +51,4 @@ node_modules readme-generator-for-helm/ /out.yaml /test.yaml -**helm_tests_output.yaml \ No newline at end of file +**helm_tests_output.yaml diff --git a/docs-new/assets/higher-compliance.png b/docs-new/assets/higher-compliance.png new file mode 100644 index 0000000000..e4656c7955 Binary files /dev/null and b/docs-new/assets/higher-compliance.png differ diff --git a/docs-new/assets/javascripts/versions.js b/docs-new/assets/javascripts/versions.js new file mode 100644 index 0000000000..faded9764d --- /dev/null +++ b/docs-new/assets/javascripts/versions.js @@ -0,0 +1,24 @@ +// VERSION WARNINGS +window.addEventListener("DOMContentLoaded", function() { + var rtdData = window['READTHEDOCS_DATA'] || { version: 'latest' }; + var margin = 30; + var headerHeight = document.getElementsByClassName("md-header")[0].offsetHeight; + if (rtdData.version === "latest") { + document.querySelector("div[data-md-component=announce]").innerHTML = "
You are viewing the docs for an unreleased version of Keptn, click here to go to the latest stable version.
" + var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin + document.querySelector("header.md-header").style.top = bannerHeight +"px"; + document.querySelector('style').textContent += + "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" + document.querySelector('style').textContent += + "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" + } + else if (rtdData.version !== "stable") { + document.querySelector("div[data-md-component=announce]").innerHTML = "
You are viewing the docs for a previous version of Keptn, click here to go to the latest stable version.
" + var bannerHeight = document.getElementById('announce-msg').offsetHeight + margin + document.querySelector("header.md-header").style.top = bannerHeight +"px"; + document.querySelector('style').textContent += + "@media screen and (min-width: 76.25em){ .md-sidebar { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" + document.querySelector('style').textContent += + "@media screen and (min-width: 60em){ .md-sidebar--secondary { height: 0; top:"+ (bannerHeight+headerHeight)+"px !important; }}" + } +}); diff --git a/docs-new/assets/keptn-icon-white.svg b/docs-new/assets/keptn-icon-white.svg new file mode 100644 index 0000000000..109820cfea --- /dev/null +++ b/docs-new/assets/keptn-icon-white.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/docs-new/assets/stylesheets/home.css b/docs-new/assets/stylesheets/home.css new file mode 100644 index 0000000000..ff83038cc1 --- /dev/null +++ b/docs-new/assets/stylesheets/home.css @@ -0,0 +1,210 @@ +.md-main { + flex-grow: 0 +} + +.md-main__inner { + display: flex; + height: 100%; +} + +.tx-container { + padding-top: .0rem; + background: linear-gradient(to bottom, var(--md-primary-fg-color), var(--md-accent-fg-color) 99%,#fff 99%) +} + +.tx-hero { + margin: 32px 2.8rem; + color: var(--md-primary-bg-color); + justify-content: center; +} + +.tx-hero h1 { + margin-bottom: 1rem; + color: currentColor; + font-weight: 700 +} + +.tx-hero__content { + padding-bottom: 1rem; + margin: 0 auto; +} + +.tx-hero__image{ + width:17rem; + height:17rem; + order:1; + padding-right: 2.5rem; +} + +.tx-hero .md-button { + margin-top: .5rem; + margin-right: .5rem; + color: var(--md-primary-bg-color) +} + +.tx-hero .md-button--primary { + background-color: var(--md-primary-bg-color); + color: hsla(280deg, 37%, 48%, 1); + border-color: var(--md-primary-bg-color) +} + +.tx-hero .md-button:focus, +.tx-hero .md-button:hover { + background-color: var(--md-accent-fg-color); + color: var(--md-default-bg-color); + border-color: var(--md-accent-fg-color) +} + +.feature-item h2 svg { + height: 30px; + float: left; + margin-right: 10px; + transform: translateY(10%); +} + +.top-hr { + margin-top: 42px; +} + +.feature-item { + font-family: 'Lato', sans-serif; + font-weight: 300; + box-sizing: border-box; + padding: 0 15px; + word-break: break-word +} + +.feature-item h2 { + color: #333; + font-weight: 300; + font-size: 25px; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + line-height: normal; + margin-top: 20px; + margin-bottom: 10px; + font-family: inherit; +} + +.feature-item p { + font-size: 16px; + line-height: 1.8em; + text-rendering: optimizeLegibility; + -webkit-font-smoothing: antialiased; + color: #111; + margin: 0 0 10px; + display: block; +} + +@media screen and (max-width:30em) { + .tx-hero h1 { + font-size: 1.4rem + } +} + +@media screen and (min-width:60em) { + .md-sidebar--secondary { + display: none + } + + .tx-hero { + display: flex; + align-items: center; + justify-content: center; + } + + .tx-hero__content { + max-width: 22rem; + margin-top: 3.5rem; + margin-bottom: 3.5rem; + margin-left: 1.0rem; + margin-right: 4.0rem; + align-items: center; + } +} + +@media screen and (min-width:76.25em) { + .md-sidebar--primary { + display: none + } + + .top-hr { + width: 100%; + display: flex; + max-width: 61rem; + margin-right: auto; + margin-left: auto; + padding: 0 .2rem; + } + + .bottom-hr { + margin-top: 10px; + width: 100%; + display: flex; + max-width: 61rem; + margin-right: auto; + margin-left: auto; + padding: 0 .2rem; + } + + .feature-item { + flex: 1; + min-width: 0; + } + + .feature-item:hover { + background-color: #526cfe47; + border-radius: 3px; + } +} + +.hr { + border-bottom: 1px solid #eee; + width: 100%; + margin: 20px 0; +} + +.text-center { + text-align: center; + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; + margin-top: 15px; + font-family: 'Lato', sans-serif; + font-size: 23px; + font-weight: 300; + padding-bottom: 10px; +} + +.logos { + display: flex; + align-items: center; + justify-content: center; + flex-flow: row wrap; + margin: 0 auto; +} + +.logos img { + flex: 1 1 auto; + padding: 25px; + max-height: 130px; + vertical-align: middle; +} + +.hr-logos { + margin-top: 0; + margin-bottom: 30px; +} + +.md-footer-meta__inner { + display: flex; + flex-wrap: wrap; + justify-content: space-between; + margin-top: 1.0rem; +} + +.md-footer-social { + padding-top: 20px; +} diff --git a/docs-new/assets/stylesheets/versions.css b/docs-new/assets/stylesheets/versions.css new file mode 100644 index 0000000000..1044d61978 --- /dev/null +++ b/docs-new/assets/stylesheets/versions.css @@ -0,0 +1,177 @@ +.md-header__title { + display: flex; +} + +.dropdown-caret { + display: inline-block !important; + position: absolute; + right: 4px; +} + +.fa .fa-caret-down { + display: block !important; +} + +.rst-other-versions { + text-align: right; + background-color: var(--md-primary-fg-color--dark); + position: fixed; +} + +.rst-other-versions > dl, .rst-other-versions dt, .rst-other-versions small { + display: none; +} + +.rst-other-versions > dl:first-child { + display: flex !important; + flex-direction: column; + line-height: 0px !important; +} + +.rst-versions.shift-up .rst-other-versions { + display: flex !important; +} + +.rst-versions .rst-other-versions { + display: none; +} + +/* Version Warning */ +div[data-md-component=announce] { + background-color: rgb(248, 243, 236); + position: sticky; + top: 0; + z-index: 2; +} +div[data-md-component=announce]>div#announce-msg{ + color: var(--md-code-hl-number-color); + font-size: .8rem; + text-align: center; + margin: 15px; +} +div[data-md-component=announce]>div#announce-msg>a{ + color: var(--md-typeset-a-color); + text-decoration: underline; +} + +/* from https://assets.readthedocs.org/static/css/badge_only.css, +most styles have to be overriden here */ +.rst-versions{ + position: relative !important; + bottom: 0; + left: 0; + width: 100px !important; + background: var(--md-primary-fg-color--dark) !important; + font-family: inherit !important; + z-index: 0 !important; +} +.rst-versions a{ + /*color:#2980B9;*/ + text-decoration:none +} +.rst-versions .rst-badge-small{ + display:none +} +.rst-versions .rst-current-version{ + padding:12px; + background: var(--md-primary-fg-color--dark) !important; + display:block; + text-align:right; + font-size:90%; + cursor:pointer; + color: white !important; + *zoom:1 +} +.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{ + display:table;content:"" +} +.rst-versions .rst-current-version:after{ + clear:both +} +.rst-versions .rst-current-version .fa{ + color:#fcfcfc +} +/*.rst-versions .rst-current-version .fa-caret-down{*/ +/* display: none;*/ +/*}*/ +.rst-versions.shift-up .rst-other-versions{ + display:block +} +.rst-versions .rst-other-versions{ + font-size:90%; + padding:12px; + /*color:gray;*/ + display:none +} +.rst-versions .rst-other-versions hr{ + display: none !important; + height: 0px !important; + border: 0px; + margin: 0px !important; + padding: 0px; + border-top: none !important; +} +.rst-versions .rst-other-versions dd{ + display:inline-block; + margin:0 +} +.rst-versions .rst-other-versions dd a{ + display:inline-block; + padding: 1em 0em !important; + color:#fcfcfc; + font-size: .6rem !important; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + width: 80px; +} +.rst-versions .rst-other-versions dd a:hover{ + font-size: .7rem !important; + font-weight: bold; +} +.rst-versions.rst-badge{ + display: block !important; + width: 100px !important; + bottom: 0px !important; + right: 0px !important; + left:auto; + border:none; + text-align: center !important; + line-height: 0; +} +.rst-versions.rst-badge .icon-book{ + display: none; +} +.rst-versions.rst-badge .fa-book{ + display: none !important; +} +.rst-versions.rst-badge.shift-up .rst-current-version{ + text-align: left !important; +} +.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{ + display: none !important; +} +.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{ + display: none !important; +} +.rst-versions.rst-badge .rst-current-version{ + width: 70px !important; + height: 2.4rem !important; + line-height:2.4rem !important; + padding: 0px 5px !important; + display: inline-block !important; + font-size: .6rem !important; + overflow: hidden !important; + text-overflow: ellipsis !important; + white-space: nowrap !important; + text-align: left !important; +} +@media screen and (max-width: 768px){ + .rst-versions{ + width:85%; + display:none + } + .rst-versions.shift{ + display:block + } +} diff --git a/docs-new/docs/index.md b/docs-new/docs/index.md new file mode 100644 index 0000000000..97915d0993 --- /dev/null +++ b/docs-new/docs/index.md @@ -0,0 +1,3 @@ +# Keptn Documentation + +This is the documentation homepage. diff --git a/docs-new/index.md b/docs-new/index.md new file mode 100644 index 0000000000..6399c1c311 --- /dev/null +++ b/docs-new/index.md @@ -0,0 +1,8 @@ +--- +template: home.html +social: + cards_layout_options: + title: Keptn - Supercharge your Deployments +--- + +Keptn - Supercharge your Deployments diff --git a/docs-new/overrides/home.html b/docs-new/overrides/home.html new file mode 100644 index 0000000000..21c67c1a6f --- /dev/null +++ b/docs-new/overrides/home.html @@ -0,0 +1,67 @@ + + +{% extends "main.html" %} +{% block styles %} +{{ super() }} + +{% endblock %} + +{% block tabs %} +{{ super() }} + + +
+
+
+
+ graphic of sea men hoisting an anchor +
+
+

Keptn

+

Supercharge your deployments with Keptn!

+ + Get started + + + Go to GitHub + +
+
+
+
+ + +
+
+

+ Deployment Observability +

+

Make ANY Kubernetes Deployment observable

+
+
+

+ + + Gather metrics from anywhere +

+

Standardize access for all Observability Data for K8s

+
+
+

+ + Orchestrate Deployment Checks +

+

Gain confidence in your work with pre-/post-deployment checks

+
+
+ +
+
+
+
+ + +{% endblock %} +{% block content %}{% endblock %} +{% block footer %}{% endblock %} diff --git a/docs-new/overrides/main.html b/docs-new/overrides/main.html new file mode 100644 index 0000000000..c6338d0124 --- /dev/null +++ b/docs-new/overrides/main.html @@ -0,0 +1,29 @@ + +{% extends "base.html" %} + + +{% block footer %} + +{% endblock %} diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 0000000000..3913343be9 --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,65 @@ +site_name: Keptn - Supercharge Your Deployments +theme: + name: material + custom_dir: docs-new/overrides + palette: + # Palette toggle for light mode + - scheme: default + media: "(prefers-color-scheme: light)" + toggle: + icon: material/brightness-7 + name: Switch to dark mode + + # Palette toggle for dark mode + - scheme: slate + media: "(prefers-color-scheme: dark)" + toggle: + icon: material/brightness-4 + name: Switch to light mode + logo: assets/keptn-icon-white.svg + favicon: https://lifecycle.keptn.sh/images/logo-mobile.svg + features: + - navigation.tabs + - navigation.tracking + - navigation.indexes + - navigation.top + - search.suggest + - search.highlight + - content.action.edit + - content.action.view +repo_name: keptn/lifecycle-toolkit +repo_url: https://github.com/keptn/lifecycle-toolkit +site_url: https://lifecycle.keptn.sh +edit_uri: edit/main/docs-new/ +docs_dir: docs-new +site_description: >- + Achieve cloud-native application lifecycle orchestration with Keptn. + Enhance Kubernetes monitoring, streamline metrics ingestion, and + automate deployment validation. Join the Keptn community for insights. +extra: + social: + - icon: fontawesome/solid/house + link: https://keptn.sh + - icon: fontawesome/brands/twitter + link: https://twitter.com/keptnProject + - icon: fontawesome/brands/linkedin + link: https://www.linkedin.com/company/keptnproject + - icon: fontawesome/brands/github-alt + link: https://github.com/keptn + - icon: fontawesome/brands/slack + link: https://cloud-native.slack.com/archives/C017GAX90GM +extra_javascript: + - assets/javascripts/versions.js +extra_css: + - assets/stylesheets/versions.css +plugins: + - social + - include-markdown: + trailing_newlines: false + - git-revision-date-localized + +nav: + - Home: + - index.md + - Documentation: + - docs/index.md diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000..9882588956 --- /dev/null +++ b/requirements.txt @@ -0,0 +1,7 @@ +mkdocs==1.5.3 +mkdocs-git-revision-date-localized-plugin==1.2.1 +mkdocs-include-markdown-plugin==6.0.4 +mkdocs-material==9.4.8 +mkdocs-material-extensions==1.3 +pymdown-extensions==10.4 +mkdocs-material[imaging]==9.4.8