From f26ca309e30ffe8e5cbd00bca362ee19425fdc29 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 02:21:24 +0500 Subject: [PATCH 01/14] New website :sparkles: --- docs/assets/dokku-logo.svg | 31 + docs/assets/placeholder-avatar.jpg | Bin 0 -> 44729 bytes docs/assets/social/discord.png | Bin 0 -> 825 bytes docs/assets/social/github.png | Bin 0 -> 469 bytes docs/assets/social/irc.png | Bin 0 -> 686 bytes docs/assets/social/slack.png | Bin 0 -> 816 bytes docs/assets/style.css | 768 ++++++++++----- .../universe/universe animation.keyshape | Bin 0 -> 27158 bytes docs/assets/universe/universe animation.svg | 303 ++++++ docs/home.html | 918 ++++++++++++------ docs/template.html | 118 ++- 11 files changed, 1570 insertions(+), 568 deletions(-) create mode 100644 docs/assets/dokku-logo.svg create mode 100644 docs/assets/placeholder-avatar.jpg create mode 100644 docs/assets/social/discord.png create mode 100644 docs/assets/social/github.png create mode 100644 docs/assets/social/irc.png create mode 100644 docs/assets/social/slack.png create mode 100644 docs/assets/universe/universe animation.keyshape create mode 100644 docs/assets/universe/universe animation.svg diff --git a/docs/assets/dokku-logo.svg b/docs/assets/dokku-logo.svg new file mode 100644 index 000000000..29ada9ae0 --- /dev/null +++ b/docs/assets/dokku-logo.svg @@ -0,0 +1,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/docs/assets/placeholder-avatar.jpg b/docs/assets/placeholder-avatar.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26c0e49187692ba972b1f462a7fee668b2db94c7 GIT binary patch literal 44729 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
  • 4yACSO2d&D#Kg2Irm=Dt@ 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 LNkvXXu0mjf2E)pZ literal 0 HcmV?d00001 diff --git a/docs/assets/social/irc.png b/docs/assets/social/irc.png new file mode 100644 index 0000000000000000000000000000000000000000..cfe5aa54af65deb37298faba58358c00cab0e18c GIT binary patch literal 686 zcmV;f0#W^mP)P000&U1^@s6HNQ8u00009a7bBm000XU z000XU0RWnu7ytkO0drDELIAGL9O(c600d`2O+f$vv5yPJm6VqlWluLF)46NaQd$FM}W$MvsV<&Nqv(QO!c z76=5s1cSjk`SD>95%}GLnQJziKd?K{iVN$rrorIef(93QRj1QY-EQ{^@eRT;)&H|@ zCVtmwG!{oXViP9f@wl@&yu)_oT5pj=BC%)Svj|hm29kFbjWfw1?24PRE^ADF0We7U UZ$`zscmMzZ07*qoM6N<$g67*ZBme*a literal 0 HcmV?d00001 diff --git a/docs/assets/social/slack.png b/docs/assets/social/slack.png new file mode 100644 index 0000000000000000000000000000000000000000..ca910f44cdeee40f2b6a17976bd8531871802df2 GIT binary patch literal 816 zcmV-01JC@4P)w#0K~#7FwN*<` z6hRQK>h9T>Mnr?4#<)fg#sniQD6S;@01xsI4W9S~qEYZcqFg+1P}F!d9y#j41TU;`%-jqyXq8Y2EYs_>H+R4P_FKNE!f*&6pn$Bq^feY@LWl^=%ez z^I4cgsUmE&glPzqI02@M#zZxq9726Dks3@IMsZ#=85kF$q z1j4kmVi$cD&3c-E`NWJ{h~4l%fuFZ^RN4aXXoO?Dr{v@FL?K& zisgmcR&->5si%CQ(DUY7#2yDWma(Qj8kp4{g`hFuKkQ8srJ$6Q5FE_+mZyP@GhP5l z(Ewi-&h;Eh!wW@r^a{nYaRGRQ!<=zRU;EPvo19BAl#(}T)IhPoG#3qOuA&iI%Jv$c z<=pm;4@}&-$~C`xVQ>em0}9rO#m5IGI5*r!xCv`|CSAH(-tuPlpNMlMRPv|Fvjujz z0uyXDhjGn+BFa u)!AjQhgfm5r0000.cta-arrow .cta-arrow__line { + opacity: 1; } -.blurb { - color: #424242; - background-color: #ededed; - background-image: url(https://cdn.jsdelivr.net/gh/dokku/dokku@v0.27.4/docs/assets/gplaypattern.png); - padding: 45px 0; - text-align: center; + +a:hover>.cta-arrow .cta-arrow__tip { + transform: translateX(3px); } -.blurb h2 { - font-size: 3.5em; + + +/* Navigation */ + +.navbar-toggler, +.navbar-toggler:focus { + border: none; + box-shadow: none; } -.blurb p { - font-size: 1.9em; - font-weight: 300; - margin: 18px 0; - text-align: center; + +.navbar-brand { + color: white; + font-weight: bold; } -.blurb .btn-lg { - font-size: 2.2em; + +.navbar-brand:hover { + color: white; } + +.nav-item .btn:hover { + border-color: transparent; + background-color: var(--dropdown-hover); +} + +.nav-item .dropdown-menu strong { + width: max-content; +} + +.nav-item .dropdown-menu a, +.nav-item .dropdown-menu a:hover { + color: var(--text-blue); +} + +.nav-item a { + font-weight: bolder; + color: var(--transparent-white); + transition: all .2s; +} + +.nav-item a:hover, +.nav-item a:focus { + color: white; +} + +.nav-item .cta, +.nav-item .cta:focus { + background-color: var(--cta-color); + box-shadow: none; + border: none; + color: white; +} + +.nav-item .cta:hover { + background-color: var(--cta-hover-color); + color: white; +} + +.dropdown-menu.show { + box-shadow: 0px 0px 5px 0px #a1e1ff; + border: none; + margin-top: 10px; +} + +ul.navbar-nav li.nav-item { + height: max-content; + transition: transform .2s; +} + + +/* hero section */ + +.hero-section { + background: radial-gradient(56.99% 613.79% at 24.22% 51.49%, rgba(40, 39, 107, 0.2) 0%, rgba(0, 0, 0, 0.098) 100%), linear-gradient(0deg, #2A8FBD, #2A8FBD), linear-gradient(0deg, #28276C, #28276C); +} + +.hero-section .badge-link { + font-weight: normal; + color: white; + text-decoration: none; + display: inline-block; +} + +.hero-section .badge { + background-color: var(--badge-color); + font-size: 16px; + transition: background-color .2s; +} + +.hero-section .badge-link:hover .badge { + background-color: var(--badge-hover-color); +} + +.hero-section .cta { + background-color: var(--cta-color); + border: none; +} + +.hero-section .cta:hover { + background-color: var(--cta-hover-color); +} + +.hero-section .badge .circle { + width: 8px; + height: 8px; + display: inline-block; + background: var(--badge-circle-color); + border-radius: 100%; +} + +.hero-heading { + font-weight: bolder; + font-size: 42px; +} + +.hero-section .explore-cta { + background-color: white; + color: var(--primary-blue); +} + +.hero-section .explore-cta:hover { + background-color: var(--explore-cta-hover); + color: var(--primary-blue); +} + +.hero-section main { + padding-top: 5em; + padding-bottom: 5em; +} + +.hero-section code { + background-color: var(--badge-color); + color: white; + font-family: inherit; + border-radius: 2px; +} + +a.platform { + font-weight: 900; + color: inherit; + opacity: .8; + transition: all .2s; + text-decoration: none; +} + +a.platform:hover { + color: inherit; + opacity: 1; +} + + +/* Quickstart code */ + .quickstart-code { - display: block; + position: relative; line-height: 1.3em; - margin: 45px auto; - max-width: 860px; + filter: drop-shadow(0px 0px 8px #3B3D84); padding: 0; } + +.quickstart-code:before, +.quickstart-code:after { + content: ""; + position: absolute; + border-radius: 5px; + top: -2px; + left: -2px; + background: var(--gradient-shadow); + background-size: 400%; + width: calc(100% + 4px); + height: calc(100% + 4px); + z-index: -1; + animation: animate 60s linear infinite; +} + +.quickstart-code:after { + filter: blur(30px); +} + +@keyframes animate { + 0% { + background-position: 0 0; + } + 50% { + background-position: 300% 0; + } + 100% { + background-position: 0 0; + } +} + .quickstart-code .title { background-color: #dfdfdf; background-image: linear-gradient(top, #f7f7f7 0%, #dfdfdf 7%, #ccc 100%); border-radius: 5px 5px 0 0; - box-shadow: 0 3px 0 rgba(0, 0, 0, 0.5); color: #444; display: block; - font-size: 1.6em; + font-size: 1em; font-weight: 400; - margin: 0 20px; + margin: 0px; padding: 3px 0; text-align: center; text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); } -.quickstart-code .tabs { - background-color: #bcbcbc; - border-top: 1px solid #686868; - color: #444; - display: flex; - display: -webkit-flex; - font-weight: bold; - margin: 0 20px; - padding: 0; - text-align: center; - text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5); -} -.quickstart-code .tab { - border-right: 1px solid #686868; - cursor: pointer; - flex: 1; - -webkit-flex: 1; -} -.quickstart-code .tab-active { - background-color: #ededed; - border-radius: 0 0 5px 5px; - box-shadow: 0 1px 0 rgba(0, 0, 0, 0.5); -} -.quickstart-code .tab:last-of-type { - border-right: none; -} + .quickstart-code .shell { - background-color: #171717; + background-color: #555699; border-radius: 0 0 5px 5px; border-top: 1px solid #bcbcbc; - box-shadow: 0 5px 30px rgba(0, 0, 0, 0.3); - display: none; - font-size: 1.4em; + display: block; + font-size: 1em; font-family: Menlo, Consolas, "Courier New", Courier, "Liberation Mono", monospace; - margin: 0 20px; + margin: 0px; padding: 20px; text-shadow: none; } -.quickstart-code .shell-active { - display: block; -} + .quickstart-code .line { display: block; margin: 0; padding: 0; } -.quickstart-code .line span { - display: inline-block; -} + .quickstart-code .line .output { - color: #aaa; -} -.quickstart-code .path { - color: #2a8fbd; - content: '~'; - user-select: none; + color: #b7e2f9; } + .quickstart-code .prompt { color: #f90; user-select: none; } + .quickstart-code .command { color: #ffc; + line-break: anywhere; } -.alternate-instructions { - display: block; - font-size: 1.6em; - line-height: 1.3em; - margin: 45px auto; - max-width: 860px; + + +/* Powered by */ + +.powered-by { + padding-top: 8rem; + padding-bottom: 8rem; +} + +.copy-caption { + color: var(--primary-blue); + border-left: 5px solid var(--primary-blue); +} + +.copy-title { + font-size: 38px; +} + +.copy-body { + line-height: 28px; + font-size: 18px; +} + +.copy-body p { + margin-bottom: 1.3em; +} + +a.copy-cta-btn { + color: var(--primary-blue); + background-color: transparent; + border-color: transparent; + border: none; padding: 0; - text-align: center; + vertical-align: baseline; } -.marketing .col-lg-4 { - margin-bottom: 20px; - text-align: center; + +a.copy-cta-btn:hover { + color: var(--primary-blue); + background-color: transparent; + border: transparent; } -.marketing .col-lg-4 p { - margin-right: 10px; - margin-left: 10px; + +.powered-by_brands img { + max-width: 300px; } -.featurette-divider { - margin: 20px 0; + + +/* Plugins section */ + +section.plugins { + padding-top: 8rem; + padding-bottom: 8rem; + background: var(--slate-bg); + border-width: 2px 2px; + border-style: solid; + border-color: var(--slate-border); } -.featurette-heading { - font-weight: normal; - line-height: 1; - letter-spacing: -1px; + +g#plugins:hover, +g#plugins:hover g { + -webkit-animation-play-state: paused !important; + -moz-animation-play-state: paused !important; + -o-animation-play-state: paused !important; + animation-play-state: paused !important; } -.featurette-heading .text-muted { - font-weight: 300; + + +/* Support Us */ + +section.supportus { + padding-top: 8rem; + padding-bottom: 8rem; } -.featurette img { - width: 400px; + +.supportus .copy-body { + max-width: 800px; + margin: 0 auto; } -.slack-channel, -.sponsors { - background-color: #EEF1F7; - font-size: 1.6em; - font-weight: 300; - margin-bottom: 2.5em; - padding-top: 2.5em; - padding-bottom: 2.5em; - text-align: center + +.supportus a.opencollective { + color: var(--primary-blue); + text-decoration: none; + font-weight: bold; } -.slack-channel .inline-container { - display: inline-block; - margin-left: 0.5em + +.avatar-section { + margin-top: 5em; + overflow: hidden; + position: relative; } -.slack-button { - background-image: -webkit-linear-gradient(#FCFCFC, #EAEAEA); - background-image: linear-gradient(#FCFCFC, #EAEAEA); - border: 1px solid #ddd; - padding: 0.25rem 0.5rem; + +.avatar-section:before, +.avatar-section:after { + content: ""; + position: absolute; + top: 0px; + width: 12%; + height: 100%; + pointer-events: none; + z-index: 2; } -.slack-button img { - height: 1em; + +.avatar-section:before { + left: 0px; + background: var(--avatar-before-gradient); } -.sponsors { - background-color: #272822; - color: #FCFCFC; + +.avatar-section:after { + right: 0px; + background: var(--avatar-after-gradient); } -.sponsors a { - color: #f0ad4e; + +.avatar-row { + width: max-content; + animation: 48s linear 0s infinite normal none running scroll; } -.sponsors .backer img, -.sponsors .sponsor img { - -webkit-border-radius: 3px; - border-radius: 3px; - border: 8px solid gray; - margin: 20px auto 20px auto; - max-width: 192px; + +.avatar-row:hover { + -webkit-animation-play-state: paused; + -moz-animation-play-state: paused; + -o-animation-play-state: paused; + animation-play-state: paused; } -.sponsors .backer img { - -webkit-border-radius: 50%; + +.avatar-row:nth-child(2) { + animation-duration: 60s; +} + +.avatar { + width: 80px; + height: 80px; border-radius: 50%; - border: 0; + display: flex; + justify-content: center; + overflow: hidden; + flex-shrink: 0; } -.sponsors img:hover { - -moz-box-shadow: 4px 4px 8px 0px rgba(0,0,0,0.75); - -webkit-box-shadow: 4px 4px 8px 0px rgba(0,0,0,0.75); - box-shadow: 0px 0px 32px 0px rgba(0,0,0,0.75); + +.avatar img { + flex-shrink: 0; + min-width: 100%; + min-height: 100% } -.sponsors .fund-link { - display: block; - font-size: .8em; + +.avatar-link { + padding: 5px; + margin-right: 20px; + margin-bottom: 20px; + background: white; + border-radius: 50%; + filter: drop-shadow(rgba(0, 0, 0, 0.1) 0px 4px 6px); + transition: transform .2s linear; } + +.avatar-link:hover { + transform: scaleX(1.1) scaleY(1.1); +} + +@keyframes scroll { + from { + transform: translateX(0%); + } + to { + transform: translateX(-50%); + } +} + + +/* pro-cta section */ + +section.pro-cta { + background: var(--slate-bg); + border-width: 2px 2px; + border-style: solid; + border-color: var(--slate-border); +} + + +/* Footer */ + +footer { + background: var(--primary-blue); +} + +footer p { + font-size: 1em; +} + +footer a { + color: inherit; + font-weight: 900; + opacity: .9; + transition: all .2s; + text-decoration: none; +} + +footer a:hover { + color: inherit; + opacity: 1; +} + + +/* Accessibility */ + +@media (prefers-reduced-motion) { + g#plugins, + g#plugins g, + .avatar-row, + .quickstart-code:before, + .quickstart-code:after { + -webkit-animation-play-state: paused !important; + -moz-animation-play-state: paused !important; + -o-animation-play-state: paused !important; + animation-play-state: paused !important; + } +} + +/* Documentation */ .list-group-item { border: none; font-size: 14px; font-weight: normal; padding: .2rem .5rem; color: #157577; + transition: all .1s; } a.list-group-item { - color: #666 + color: #666; + font-size: 1em; +} +a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover{ + color: #555; + text-decoration: none; + background-color: #f5f5f5; } .list-group-item.disabled:first-child, .list-group-item.disabled:first-child:focus, .list-group-item.disabled:first-child:hover { margin-top: 0; @@ -270,10 +571,10 @@ a.list-group-item { -webkit-font-smoothing: antialiased; box-sizing: border-box; color: rgb(71, 74, 84); - font-size: 1.6em; + font-size: 1.1em; font-weight: normal; height: 20px; - line-height: 1.5; + line-height: 1.7; text-align: left; } .markdown-body h1 { @@ -283,6 +584,7 @@ a.list-group-item { padding-bottom: 1em; margin-top: 0; text-rendering: optimizelegibility; + font-weight: 900; } .markdown-body h2 { font-size: 1.3em; @@ -290,6 +592,7 @@ a.list-group-item { color: #555; margin-top: 2em; text-transform: uppercase; + font-weight: 900; } .markdown-body h3 { font-size: 1.2em; @@ -418,7 +721,7 @@ blockquote { -o-transition-duration: 0.3s; transition-duration: 0.3s; background: #363637; - padding: 5px 0 4px; + padding: 0px 0 3px; z-index: 90; } .improve-slideout:hover { @@ -444,10 +747,10 @@ blockquote { font-weight: 700; text-transform: uppercase; margin: 0; - font-size: 1.3em; + font-size: 1em; } .git-improve { - vertical-align: -2px; + vertical-align: baseline; padding-left: 8px; } .back-to-contents { @@ -617,58 +920,59 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { background-image: -ms-linear-gradient(-45deg, rgba(0, 0, 0, 0.04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.04) 50%, rgba(0, 0, 0, 0.04) 75%, transparent 75%, transparent); background-image: linear-gradient(135deg, rgba(0, 0, 0, 0.04) 25%, transparent 25%, transparent 50%, rgba(0, 0, 0, 0.04) 50%, rgba(0, 0, 0, 0.04) 75%, transparent 75%, transparent); font-family: "Roboto", Corbel, Avenir, "Lucida Grande", "Lucida Sans", sans-serif; - font-size: 1.6em; + font-size: 1.1em; text-align: center; background-color: #ffe761; } -@media screen and (max-width: 768px) { - .rst-versions { - width: 85%; - display: none - } - .rst-versions.shift { - display: block - } - img { - width: 100%; - height: auto - } -} - -.button.slack-button > img { - width: inherit; -} - -@media (min-width: 768px) { - .col-md-offset-right-2 { - margin-right: 20.666667%; - } - .quickstart-code { - line-height: 22px; - } - .featurette-heading { - font-size: 5em; - } -} -@media (min-width: 992px) { - .featurette img { - width: 300px; - } - .featurette-heading { - margin-top: 30px; - } -} -@media (max-width: 992px) { - .featurette img { - width: 200px; - } -} @media (prefers-color-scheme: dark) { body { - background-color: rgb(13, 17, 23); + background-color: var(--darkmode-dark); + color: white; } - .header { - background-color: #0b1f4c; + header, footer { + background: #0b1f4c !important; + } + .hero-section .cta { + background-color: var(--darkmode-button-light); + } + .hero-section .cta:hover { + background-color: var(--darkmode-button-light-hover); + } + .hero-section .explore-cta { + color: white; + } + .hero-section .explore-cta:hover { + color: white; + } + .powered-by_brands { + filter: contrast(2); + } + div.quickstart-code{ + filter: none; + } + .quickstart-code .shell { + background: #313274; + } + section.powered-by { + background: var(--darkmode-light); + } + section.plugins { + background: var(--darkmode-dark); + border-width: 0px; + } + section.supportus { + background: var(--darkmode-light); + border-width: 0px; + } + section.pro-cta { + background: var(--darkmode-dark); + border-width: 0px; + } + .avatar-section:before{ + background: var(--avatar-darkmode-before-gradient); + } + .avatar-section:after{ + background: var(--avatar-darkmode-after-gradient); } .blurb { filter: invert(1); @@ -678,20 +982,25 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { } code { - background-color: rgb(22, 27, 34); + background-color: #052148; color: #bbb; } pre { - background-color: rgb(22, 27, 34); + background-color: #052148; color: #bbb; - border: 1px solid #555; - box-shadow: 0 0 0 3px #111; + border: 1px solid #052148; + box-shadow: 0 0 0 3px #07387b; } - .highlight-show-language-label { - filter: invert(1); + .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { + color: var(--bs-gray-100); } - .list-group-item { - background-color: rgb(13, 17, 23); + a.list-group-item { + background-color: var(--darkmode-dark); + color: var(--bs-gray-500); + } + a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover { + color: white; + background-color: var(--darkmode-button-light-hover); } blockquote { background-color: rgba(0, 82, 204, 0.18); @@ -726,12 +1035,15 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { border-bottom: 2px solid #131110; } .markdown-body { - color: rgb(184, 181, 171); + color: var(--bs-gray-400); } .markdown-body h1 { - color: #bbb; + color: white; } .markdown-body h2, .markdown-body h3, .markdown-body h4 { - color: #aaa; + color: var(--bs-gray-300); + } + .markdown-body a{ + color: #ffffff; } } diff --git a/docs/assets/universe/universe animation.keyshape b/docs/assets/universe/universe animation.keyshape new file mode 100644 index 0000000000000000000000000000000000000000..1cc50819ca4afa6b1baf9bdf80699a53123e45f0 GIT binary patch literal 27158 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 literal 0 HcmV?d00001 diff --git a/docs/assets/universe/universe animation.svg b/docs/assets/universe/universe animation.svg new file mode 100644 index 000000000..f51ef2e4e --- /dev/null +++ b/docs/assets/universe/universe animation.svg @@ -0,0 +1,303 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/docs/home.html b/docs/home.html index b56e8fe49..867bb51f8 100644 --- a/docs/home.html +++ b/docs/home.html @@ -1,13 +1,13 @@ - + + - Dokku - The smallest PaaS implementation you've ever seen @@ -32,319 +32,635 @@ - - - + + + + + + + + - - -
    -
    -
    -
    -

    - Dokku -

    - -
    + + + + +
    + +
    +
    +
    +
    Latest release v0.27.1
    +

    The smallest PAAS implementation you have ever seen.

    +

    Dokku helps you build and manage the lifecycle of applications

    + +
    +
    +
    +

    Quick-start Instructions

    + +
    +

    + # for debian systems, installs dokku via apt-get +

    +
    +

    + $ + wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh +

    +

    + $ + sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh +

    +
    +

    + # Configure your server domain via `dokku domains:set-global` +

    +

    + # and user access (via `dokku ssh-keys:add`) to complete the installation +

    +
    +
    +
    +

    Hate curl | bash? See our official Azure, DigitalOcean, and DreamHost Cloud instructions.

    +
    +
    +
    +
    +
    + +
    +
    +
    +
    +
    +

    No vendor lock-in

    +
    +
    +

    Own your PaaS using tools you already know

    +
    +
    +

    Powered by Docker, you can install Dokku on any hardware. Use it on inexpensive cloud providers. Use the extra cash to buy a pony or feed kittens. You'll save tens of dollars a year on your dog photo sharing website.

    +

    Once it's set up on a host, you can push Heroku-compatible applications to it via Git. They'll build using Heroku buildpacks and then run in isolated containers. The end result is your own, single-host version of Heroku.

    +
    + +
    +
    +
    +
    + docker +
    +
    + git +
    +
    +
    +
    -
    -
    + -
    -
    -
    -

    The smallest PaaS implementation you've ever seen

    -

    Dokku helps you build and manage the lifecycle of applications

    - + +
    +
    +
    +
    +
    +

    Extensible & customizable

    +
    +
    +

    Customize your PaaS using plugins

    +
    +
    +

    Write dokku plugins in any language. Share them online with others, and extend those already available. Dokku's simple core is easy to hack and add the features you need to get your job done.

    +

    Plugins add support for additional features in Dokku. Dokku itself is built out of plugins provides support for a few extra that are not included in the default installation.

    +
    + +
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    -
    -
    + -
    -
    -

    Quick-start Instructions

    -
    -
    curl | bash
    -
    apt
    -
    arch
    + +
    +
    +
    +
    +
    +

    Support Us

    +
    +
    +

    None of this would have been possible without the continued support of our supporters. Here are a few of our sponsors and backers. Join them and become a sponsor on OpenCollective!

    +
    +
    + You can also back us anonymously + + on Patreon + + +
    +
    +
    + +
    +
    + +
    +
    +
    +
    -
    -

    -  # for debian systems, installs dokku via apt-get -

    -

    - - $ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh -

    -

    - - $ - sudo DOKKU_TAG=v0.27.4 bash bootstrap.sh -

    -

    -  # Configure your server domain via `dokku domains:set-global` -

    -

    -  # and user access (via `dokku ssh-keys:add`) to complete the installation -

    +
    + + +
    +
    +
    +
    +
    + Need something that isn't covered in the Open Source version?
    + Please consider the
    + + pro version + + +
    +
    +
    +
    -
    -

    -  # install docker -

    -

    - - $ - wget -nv -O - https://get.docker.com/ | sh -

    -

    -  # setup dokku apt repository -

    -

    - - $ - wget -nv -O - https://packagecloud.io/dokku/dokku/gpgkey | apt-key add - -

    -

    - - $ - export SOURCE="https://packagecloud.io/dokku/dokku/ubuntu/" -

    -

    - - $ - export OS_ID="$(lsb_release -cs 2>/dev/null || echo "bionic")" -

    -

    - - $ - echo "bionic focal jammy" | grep -q "$OS_ID" || OS_ID="bionic" -

    -

    - - $ - echo "deb $SOURCE $OS_ID main" | tee /etc/apt/sources.list.d/dokku.list -

    -

    - - $ - apt-get update -

    -

    -  # install dokku -

    -

    - - $ - apt-get install dokku -

    -

    - - $ - dokku plugin:install-dependencies --core # run with root! -

    -

    -  # Configure your server domain via `dokku domains:set-global` -

    -

    -  # and user access (via `dokku ssh-keys:add`) to complete the installation -

    + +
    +
    +
    +
    +

    © 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

    +
    +
    +
    -
    -

    -  # install dokku via yay -

    -

    - - $ - yay -S dokku -

    -
    -
    - -
    -

    Hate curl | bash? See our official Azure, DigitalOcean, and DreamHost Cloud instructions.

    -

    Still no love? Contributions welcome!

    -
    -
    - -
    - Have a question? Join us in our public slack channel! - -
    - - Slack Logo - -
    -
    - -
    - - -
    -
    -

    Own Your PaaS. Infrastructure at a fraction of the cost.

    -

    Powered by Docker, you can install Dokku on any hardware. Use it on inexpensive cloud providers. Use the extra cash to buy a pony or feed kittens. You'll save tens of dollars a year on your dog photo sharing website.

    -
    -
    - Docker Logo -
    -
    - -
    - -
    -
    -

    Easy Git Deploys. From your command-line to the cloud.

    -

    Once it's set up on a host, you can push Heroku-compatible applications to it via Git. They'll build using Heroku buildpacks and then run in isolated containers. The end result is your own, single-host version of Heroku.

    -
    -
    - Git Logo -
    -
    - -
    - -
    -
    -

    Extensible Platform. Customize your PaaS.

    -

    Write dokku plugins in any language. Share them online with others, and extend those already available. Dokku's simple core is easy to hack and add the features you need to get your job done.

    -
    -
    - Extend Logo -
    -
    -
    - -
    -

    Sponsor Dokku

    - -
    -
    - -

    Here are a few of our sponsors and backers. Join them and become a sponsor on OpenCollective!

    - - - -

    - - - - - - - - - - -

    -

    - - - - - - - - - - -

    - -

    You can also back us anonymously on Patreon.

    -
    -
    -
    - -
    -
    -

    © 2013-2020 Dokku

    -
    -
    + - - + + + \ No newline at end of file diff --git a/docs/template.html b/docs/template.html index 5fa7f1b17..faa2a7ec0 100644 --- a/docs/template.html +++ b/docs/template.html @@ -41,9 +41,15 @@ } - - - + + + + + + + + + @@ -52,39 +58,61 @@ -
    -
    -
    -
    -

    - Dokku -

    - -
    -
    -
    -
    +
    + +
    -
    +
    @@ -94,10 +122,7 @@
    -
    - {{CONTENT}} -
    -
    + +
    + {{CONTENT}} +
    @@ -222,7 +250,19 @@ This document is for dokku's development version, which can be significantly different from previous releases. For older releases, use the version selector floating in the bottom right corner of this page.
    + +
    +
    +
    +
    +

    © 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

    +
    +
    +
    +
    + + From 21ad711055499e4fa20950d999c838b4b9552d68 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 02:57:08 +0500 Subject: [PATCH 04/14] make use of versioned css --- docs/home.html | 4 ++-- docs/template.html | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/home.html b/docs/home.html index 3c5a847e7..7f743d07d 100644 --- a/docs/home.html +++ b/docs/home.html @@ -38,8 +38,8 @@ - - + + diff --git a/docs/template.html b/docs/template.html index faa2a7ec0..0bf6ffd17 100644 --- a/docs/template.html +++ b/docs/template.html @@ -48,8 +48,8 @@ - - + + From 9b76012f1c38856bd6b6e4e2e0816224e3ea826d Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 03:04:23 +0500 Subject: [PATCH 05/14] modified the quickstart commands --- docs/home.html | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/docs/home.html b/docs/home.html index 7f743d07d..2366bc9ba 100644 --- a/docs/home.html +++ b/docs/home.html @@ -116,12 +116,15 @@

    - # for debian systems, installs dokku via apt-get + # download the installation script


    $ - wget https://raw.githubusercontent.com/dokku/dokku/v0.27.4/bootstrap.sh + wget https://dokku.com/installer/latest/bootstrap.sh +

    +

    + # run the installer

    $ @@ -129,10 +132,25 @@


    - # Configure your server domain via `dokku domains:set-global` + # Configure your server domain

    - # and user access (via `dokku ssh-keys:add`) to complete the installation + $ + dokku domains:set-global dokku.me +

    +

    + # and your ssh key to the dokku user +

    +

    + $ + echo "your-public-key-contents-here" | dokku ssh-keys:add admin +

    +

    + # # create your first app and you're off to the races! +

    +

    + $ + dokku apps:create test-app

    From 2994e724c20593e63834c65659e95351b1a0e92e Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 03:13:57 +0500 Subject: [PATCH 06/14] moved SVG hover group to the left to balance out the page --- docs/home.html | 626 ++++++++++++++++++++++++------------------------- 1 file changed, 313 insertions(+), 313 deletions(-) diff --git a/docs/home.html b/docs/home.html index 2366bc9ba..a39c21fc5 100644 --- a/docs/home.html +++ b/docs/home.html @@ -207,7 +207,311 @@
    -
    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +

    Extensible & customizable

    @@ -220,320 +524,16 @@
    - Explore plugins - - + Explore plugins + +
    -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    From 8cbe7e66a3da1ecd6e901a2e78623312f0d2d445 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 05:49:59 +0500 Subject: [PATCH 07/14] updated copy on homepage --- docs/home.html | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/home.html b/docs/home.html index a39c21fc5..7fc3a4675 100644 --- a/docs/home.html +++ b/docs/home.html @@ -103,8 +103,8 @@
    Latest release v0.27.1
    -

    The smallest PAAS implementation you have ever seen.

    -

    Dokku helps you build and manage the lifecycle of applications

    +

    An open source PAAS alternative to Heroku.

    +

    Dokku helps you build and manage the lifecycle of applications from building to scaling.

    View Documentation Explore Pro From cbe8376bdb9a889ef5de7351c1cd545295488828 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:10:14 +0500 Subject: [PATCH 08/14] added asciinema demo on homepage --- docs/assets/style.css | 568 +++++++++++++++++++++++++++++++----------- docs/home.html | 57 +++++ 2 files changed, 483 insertions(+), 142 deletions(-) diff --git a/docs/assets/style.css b/docs/assets/style.css index 86bf038fa..6eeef0c95 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -16,7 +16,7 @@ --slate-border: #DADADA; --animation-speed: 40s; /* Used on the code showcase */ - --gradient-shadow: linear-gradient( 45deg, #2A8FBD, #679ab2, #ffffff, #81ccef, #2abbbd, #c9e0eb, #66c1eb, #40809e, #2A8FBD); + --gradient-shadow: linear-gradient(45deg, #2A8FBD, #679ab2, #ffffff, #81ccef, #2abbbd, #c9e0eb, #66c1eb, #40809e, #2A8FBD); --darkmode-light: #11398c; --darkmode-button-light: #325fae; @@ -257,13 +257,15 @@ a.platform:hover { @keyframes animate { 0% { - background-position: 0 0; + background-position: 0 0; } + 50% { - background-position: 300% 0; + background-position: 300% 0; } + 100% { - background-position: 0 0; + background-position: 0 0; } } @@ -359,10 +361,123 @@ a.copy-cta-btn:hover { } +/* Getting started */ +.getting-started { + margin-bottom: -20%; + z-index: 1; +} + +.getting-started .container { + position: relative; + z-index: 1; +} + +.getting-started h2 { + /* font-weight: 900; */ + font-size: 2em; +} + +.getting-started::after { + position: absolute; + content: ""; + top: 30%; + left: 0; + right: 0; + bottom: 20%; + background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%), #2781AB; + z-index: 0; +} + +.nav-tabs { + width: fit-content; + margin: 0 auto; + padding: 10px; + background-color: #4794B8; + border-radius: 20px 20px 0px 0px; +} + +.nav-tabs .nav-link { + background: rgba(85, 86, 153, 0.72); + border-radius: 0px; + padding: 0.6em 3em; + color: var(--transparent-white); + font-weight: bold; + border: 0px; + position: relative; + font-size: 18px; +} + +.nav-tabs .nav-link:hover { + color: white; +} + +.nav-tabs .nav-link:hover svg path { + fill: white; +} + +.nav-tabs .nav-link svg { + margin-right: 10px; +} + +.nav-tabs .nav-link svg path { + fill: var(--bs-gray-300); + transition: all .2s +} + +.nav-tabs .nav-link.active { + background: linear-gradient(0deg, rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.2)), #555699; + color: white; +} + +.nav-tabs .nav-link.active svg path { + fill: white; +} + +.nav-tabs .nav-link.active::after { + content: ''; + position: absolute; + margin-left: -10px; + left: 50%; + bottom: 0px; + height: 0; + width: 0; + border-bottom: 10px solid #4794B8; + border-left: 10px solid transparent; + border-right: 10px solid transparent; +} + +.nav-tabs .nav-link:nth-child(1) { + border-radius: 15px 0px 0px 0px; +} + +.nav-tabs .nav-link:nth-child(3) { + border-radius: 0px 15px 0px 0px; +} + +.tab-content { + margin: 0 auto; + margin-top: -10px; + background: #4794B8; + box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.25); + border-radius: 7px; + padding: 10px; + padding-bottom: 0px; +} + +.tab-pane { + margin-top: -20px; +} + +.tab-pane img { + width: 100%; + padding-top: 20px; + padding-bottom: 20px; +} + /* Plugins section */ section.plugins { - padding-top: 8rem; + padding-top: 23%; padding-bottom: 8rem; background: var(--slate-bg); border-width: 2px 2px; @@ -472,10 +587,11 @@ section.supportus { @keyframes scroll { from { - transform: translateX(0%); + transform: translateX(0%); } + to { - transform: translateX(-50%); + transform: translateX(-50%); } } @@ -517,15 +633,16 @@ footer a:hover { /* Accessibility */ @media (prefers-reduced-motion) { + g#plugins, g#plugins g, .avatar-row, .quickstart-code:before, .quickstart-code:after { - -webkit-animation-play-state: paused !important; - -moz-animation-play-state: paused !important; - -o-animation-play-state: paused !important; - animation-play-state: paused !important; + -webkit-animation-play-state: paused !important; + -moz-animation-play-state: paused !important; + -o-animation-play-state: paused !important; + animation-play-state: paused !important; } } @@ -538,19 +655,30 @@ footer a:hover { color: #157577; transition: all .1s; } + a.list-group-item { color: #666; font-size: 1em; } -a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover{ + +a.list-group-item:focus, +a.list-group-item:hover, +button.list-group-item:focus, +button.list-group-item:hover { color: #555; text-decoration: none; background-color: #f5f5f5; } -.list-group-item.disabled:first-child, .list-group-item.disabled:first-child:focus, .list-group-item.disabled:first-child:hover { + +.list-group-item.disabled:first-child, +.list-group-item.disabled:first-child:focus, +.list-group-item.disabled:first-child:hover { margin-top: 0; } -.list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { + +.list-group-item.disabled, +.list-group-item.disabled:focus, +.list-group-item.disabled:hover { background: none; color: #bbb; cursor: default; @@ -559,18 +687,22 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, margin-top: 2em; text-transform: uppercase; } + .table-of-contents { font-size: 1.2em; padding: 1em; margin: 0 0 0.5em 0.5em; } + .table-of-contents ul { margin-bottom: 0; padding-left: 20px; } + .anchorjs-link { color: #24cbce; } + .markdown-body { -webkit-font-smoothing: antialiased; box-sizing: border-box; @@ -581,6 +713,7 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, line-height: 1.7; text-align: left; } + .markdown-body h1 { border-bottom: 1px solid #dfdfdf; color: #444; @@ -590,6 +723,7 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, text-rendering: optimizelegibility; font-weight: 900; } + .markdown-body h2 { font-size: 1.3em; font-weight: 700; @@ -598,24 +732,29 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, text-transform: uppercase; font-weight: 900; } + .markdown-body h3 { font-size: 1.2em; font-weight: 700; color: #555; margin: 1em 0; } + .markdown-body h4 { font-size: 1.1em; font-weight: 700; color: #555; margin: 1em 0; } -.markdown-body h1 + h2 { + +.markdown-body h1+h2 { margin-top: 1em; } + .highlight-show-language { position: relative; } + .highlight-show-language-label { color: black; background-color: #CFCFCF; @@ -641,11 +780,13 @@ a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, -o-transform: none; transform: none; } + .highlight-output pre { color: #fff; background-color: #000; padding: 10px; } + code { padding: 0; padding-top: 0.2em; @@ -658,18 +799,23 @@ code { border-radius: 3px; font-family: Consolas, "Liberation Mono", Menlo, Courier, monospace; } + code:before { letter-spacing: -0.2em; content: "\00a0"; } + code:after { letter-spacing: -0.2em; content: "\00a0"; } -pre code:before, pre code:after { + +pre code:before, +pre code:after { letter-spacing: 0; content: ""; } + pre { display: block; line-height: 1.428571429; @@ -684,38 +830,48 @@ pre { color: #4d4d4c; margin: 2em 0; } + blockquote { border-left: 4px solid #5bc0de; background-color: #f4f8fa; padding: 15px 15px 1px; margin-bottom: 30px; } + .new-as-of { border-left: 4px solid #d1f2a5; background-color: #effab4; } + .not-yet-released { border-left: 4px solid #ef5b58; background-color: #f9ad76; } + .warning { border-left: 4px solid #cd2512; background-color: #d1675f; color: white; } + .fa:before { -webkit-font-smoothing: antialiased } + .clearfix { *zoom: 1 } -.clearfix:before, .clearfix:after { + +.clearfix:before, +.clearfix:after { display: table; content: "" } + .clearfix:after { clear: both } + .improve-slideout { position: fixed; bottom: 66%; @@ -728,12 +884,15 @@ blockquote { padding: 0px 0 3px; z-index: 90; } + .improve-slideout:hover { right: 205px; } + .improve-slideout:hover .improve-slideout-inner { right: 0; } + .improve-slideout-inner { position: fixed; bottom: 66%; @@ -746,6 +905,7 @@ blockquote { padding: 4px 12px; width: 205px; } + .improve-slideout-inner h6 { color: #363637; font-weight: 700; @@ -753,10 +913,12 @@ blockquote { margin: 0; font-size: 1em; } + .git-improve { vertical-align: baseline; padding-left: 8px; } + .back-to-contents { position: fixed; bottom: calc(66% - 34px); @@ -765,31 +927,41 @@ blockquote { padding: 5px 0 4px; z-index: 90; } + .icon-improve { color: #bdbdb5; padding: 2px 9px 0 10px; } + a .fa { display: inline-block; text-decoration: inherit } + li .fa { display: inline-block } -li .fa-large:before, li .fa-large:before { + +li .fa-large:before, +li .fa-large:before { width: 1.875em } + ul.fas { list-style-type: none; margin-left: 2em; text-indent: -0.8em } + ul.fas li .fa { width: 0.8em } -ul.fas li .fa-large:before, ul.fas li .fa-large:before { + +ul.fas li .fa-large:before, +ul.fas li .fa-large:before { vertical-align: baseline } + .rst-versions { position: fixed; bottom: 0; @@ -801,13 +973,16 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { font-family: "Lato", "proxima-nova", "Helvetica Neue", Arial, sans-serif; z-index: 400 } + .rst-versions a { color: #7c8e98; text-decoration: none } + .rst-versions .rst-badge-small { display: none } + .rst-versions .rst-current-version { padding: 12px; background-color: #2475c3; @@ -817,31 +992,40 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { color: #d8edf8; *zoom: 1 } -.rst-versions .rst-current-version:before, .rst-versions .rst-current-version:after { + +.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-book { float: left; line-height: 30px } + .rst-versions .rst-current-version .icon-book { float: left } + .rst-versions .rst-current-version.rst-out-of-date { background-color: #E74C3C; color: #fff } + .rst-versions .rst-current-version.rst-active-old-version { background-color: #F1C40F; color: #000 } + .rst-versions.rst-badge { border: none; bottom: 20px; @@ -853,25 +1037,32 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { right: 20px; width: auto; } + .rst-versions.rst-badge.shift-up { overflow-y: scroll; height: calc(100vh - 100px); } + .rst-versions.rst-badge .icon-book { float: none } + .rst-versions.rst-badge .fa-book { float: none } + .rst-versions.rst-badge.shift-up .rst-current-version { text-align: right } + .rst-versions.rst-badge.shift-up .rst-current-version .fa-book { float: left } + .rst-versions.rst-badge.shift-up .rst-current-version .icon-book { float: left } + .rst-versions.rst-badge .rst-current-version { width: auto; height: 30px; @@ -880,17 +1071,21 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { display: block; text-align: center } + .rst-other-versions { display: none; padding: 12px; text-align: left; } + .shift-up .rst-other-versions { display: block; } + .rst-other-versions a { border: 0; } + .rst-other-versions hr { display: block; border: 0; @@ -898,19 +1093,24 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { padding: 0; border-top: solid 1px #d6edf9 } + .rst-other-versions dl { margin: 0; } + .rst-other-versions dd { display: inline-block; margin: 0 } + .rst-other-versions dd a { display: inline-block; padding: 6px; color: #fcfcfc } -.dev-warning, .outdated-warning { + +.dev-warning, +.outdated-warning { position: absolute; top: 0; width: 100%; @@ -928,126 +1128,210 @@ ul.fas li .fa-large:before, ul.fas li .fa-large:before { text-align: center; background-color: #ffe761; } -@media (prefers-color-scheme: dark) { - body { - background-color: var(--darkmode-dark); - color: white; - } - header, footer { - background: #0b1f4c !important; - } - .hero-section .cta { - background-color: var(--darkmode-button-light); - } - .hero-section .cta:hover { - background-color: var(--darkmode-button-light-hover); - } - .hero-section .explore-cta { - color: white; - } - .hero-section .explore-cta:hover { - color: white; - } - .powered-by_brands { - filter: contrast(2); - } - div.quickstart-code{ - filter: none; - } - .quickstart-code .shell { - background: #313274; - } - section.powered-by { - background: var(--darkmode-light); - } - section.plugins { - background: var(--darkmode-dark); - border-width: 0px; - } - section.supportus { - background: var(--darkmode-light); - border-width: 0px; - } - section.pro-cta { - background: var(--darkmode-dark); - border-width: 0px; - } - .avatar-section:before{ - background: var(--avatar-darkmode-before-gradient); - } - .avatar-section:after{ - background: var(--avatar-darkmode-after-gradient); - } - .blurb { - filter: invert(1); - } - .slack-channel { - background-color: #110e09; - } - code { - background-color: #052148; - color: #bbb; - } - pre { - background-color: #052148; - color: #bbb; - border: 1px solid #052148; - box-shadow: 0 0 0 3px #07387b; - } - .list-group-item.disabled, .list-group-item.disabled:focus, .list-group-item.disabled:hover { - color: var(--bs-gray-100); - } - a.list-group-item { - background-color: var(--darkmode-dark); - color: var(--bs-gray-500); - } - a.list-group-item:focus, a.list-group-item:hover, button.list-group-item:focus, button.list-group-item:hover { - color: white; - background-color: var(--darkmode-button-light-hover); - } - blockquote { - background-color: rgba(0, 82, 204, 0.18); - border-left: 4px solid rgba(108, 169, 255, 0.3);; - color: rgb(108, 169, 255); - } - blockquote.warning { - border-left: 4px solid rgba(239, 136, 84, 0.3); - background-color: rgba(235, 100, 32, 0.18); - color: rgb(239, 136, 84); - } - blockquote.new-as-of { - border-left: 4px solid rgba(11, 216, 73, 0.3); - background-color: rgba(9, 171, 60, 0.18); - color: rgb(11, 216, 73); - } - .dev-warning, .outdated-warning { - background-color: #4e440d; - color: #fff; - } - .table-striped tbody tr:nth-of-type(odd) { - background-color: #080808 - } - .table-hover tbody tr:hover { - background-color: #3b3b3b; - color: #bbb; - } - .table td, .table th { - border-top: 1px solid #131110; - } - .table thead th { - border-bottom: 2px solid #131110; - } - .markdown-body { - color: var(--bs-gray-400); - } - .markdown-body h1 { - color: white; - } - .markdown-body h2, .markdown-body h3, .markdown-body h4 { - color: var(--bs-gray-300); - } - .markdown-body a{ - color: #ffffff; - } +/* Large devices (desktops, 992px and up) */ +@media (max-width: 992px) { + .nav-item a.cta { + width: 100%; + } + + .powered-by { + padding-bottom: 4rem; + } + + .nav-tabs .nav-link { + padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); + } + + .nav-tabs .nav-link { + padding: 0.5em 0.8em; + } + + .nav-tabs .nav-link svg { + margin-right: 5px; + } + + section.plugins { + padding-top: 30%; + } } + +@media (prefers-color-scheme: dark) { + body { + background-color: var(--darkmode-dark); + color: white; + } + + header, + footer { + background: #0b1f4c !important; + } + + .hero-section .cta { + background-color: var(--darkmode-button-light); + } + + .hero-section .cta:hover { + background-color: var(--darkmode-button-light-hover); + } + + .hero-section .explore-cta { + color: white; + } + + .hero-section .explore-cta:hover { + color: white; + } + + .getting-started::after { + background: linear-gradient(0deg, rgba(52, 52, 87, 0.2) -40.97%, rgba(0, 0, 0, 0) 103.19%), + #043791; + } + + .tab-content { + background: #043791; + } + + .nav-tabs { + background: #043791; + } + + .powered-by_brands { + filter: contrast(2); + } + + div.quickstart-code { + filter: none; + } + + .quickstart-code .shell { + background: #313274; + } + + section.powered-by { + background: var(--darkmode-light); + } + + section.plugins { + background: var(--darkmode-dark); + border-width: 0px; + } + + section.supportus { + background: var(--darkmode-light); + border-width: 0px; + } + + section.pro-cta { + background: var(--darkmode-dark); + border-width: 0px; + } + + .avatar-section:before { + background: var(--avatar-darkmode-before-gradient); + } + + .avatar-section:after { + background: var(--avatar-darkmode-after-gradient); + } + + .blurb { + filter: invert(1); + } + + .slack-channel { + background-color: #110e09; + } + + code { + background-color: #052148; + color: #bbb; + } + + pre { + background-color: #052148; + color: #bbb; + border: 1px solid #052148; + box-shadow: 0 0 0 3px #07387b; + } + + .list-group-item.disabled, + .list-group-item.disabled:focus, + .list-group-item.disabled:hover { + color: var(--bs-gray-100); + } + + a.list-group-item { + background-color: var(--darkmode-dark); + color: var(--bs-gray-500); + } + + a.list-group-item:focus, + a.list-group-item:hover, + button.list-group-item:focus, + button.list-group-item:hover { + color: white; + background-color: var(--darkmode-button-light-hover); + } + + blockquote { + background-color: rgba(0, 82, 204, 0.18); + border-left: 4px solid rgba(108, 169, 255, 0.3); + ; + color: rgb(108, 169, 255); + } + + blockquote.warning { + border-left: 4px solid rgba(239, 136, 84, 0.3); + background-color: rgba(235, 100, 32, 0.18); + color: rgb(239, 136, 84); + } + + blockquote.new-as-of { + border-left: 4px solid rgba(11, 216, 73, 0.3); + background-color: rgba(9, 171, 60, 0.18); + color: rgb(11, 216, 73); + } + + .dev-warning, + .outdated-warning { + background-color: #4e440d; + color: #fff; + } + + .table-striped tbody tr:nth-of-type(odd) { + background-color: #080808 + } + + .table-hover tbody tr:hover { + background-color: #3b3b3b; + color: #bbb; + } + + .table td, + .table th { + border-top: 1px solid #131110; + } + + .table thead th { + border-bottom: 2px solid #131110; + } + + .markdown-body { + color: var(--bs-gray-400); + } + + .markdown-body h1 { + color: white; + } + + .markdown-body h2, + .markdown-body h3, + .markdown-body h4 { + color: var(--bs-gray-300); + } + + .markdown-body a { + color: #ffffff; + } +} \ No newline at end of file diff --git a/docs/home.html b/docs/home.html index 7fc3a4675..c9ccb9e43 100644 --- a/docs/home.html +++ b/docs/home.html @@ -203,6 +203,50 @@
    +
    +
    +
    +
    +

    Getting started is extremely easy

    +
    +
    +
    +
    + + +
    +
    +
    +
    @@ -673,6 +717,19 @@ const tooltipList = [...tooltipTriggerList].map(tooltipTriggerEl => new bootstrap.Tooltip(tooltipTriggerEl)); } + function loadAsciinema(asciiId, parentId) { + const parentDiv = document.getElementById(parentId); + var script = document.createElement('script'); + script.setAttribute('data-autoplay', true); + script.src = 'https://asciinema.org/a/14.js'; + script.id = "asciicast-14"; + script.type = 'text/javascript'; + const imageTag = parentDiv.lastElementChild; + parentDiv.style.height = `${parentDiv.clientHeight}px`; + parentDiv.removeChild(imageTag); + parentDiv.appendChild(script); + } + window.addEventListener('load', (event) => { populateSupporterAvatars(); updateLatestRelease(); From aeae7cea535ce21727a6926dd7ddf4a52d349345 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:26:04 +0500 Subject: [PATCH 09/14] scale the svg based on screen size --- docs/assets/style.css | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/docs/assets/style.css b/docs/assets/style.css index 6eeef0c95..9c5d78a3f 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -485,6 +485,10 @@ section.plugins { border-color: var(--slate-border); } +section.plugins svg { + transform: scale(1.3); +} + g#plugins:hover, g#plugins:hover g { -webkit-animation-play-state: paused !important; @@ -1154,6 +1158,10 @@ ul.fas li .fa-large:before { section.plugins { padding-top: 30%; } + + section.plugins svg { + transform: scale(1.1); + } } @media (prefers-color-scheme: dark) { From 0fca7f5256ad4667e0aafbef3a9410f8ccc46d64 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:26:59 +0500 Subject: [PATCH 10/14] increased padding for larger screens --- docs/assets/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/assets/style.css b/docs/assets/style.css index 9c5d78a3f..3e6b6d577 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -477,7 +477,7 @@ a.copy-cta-btn:hover { /* Plugins section */ section.plugins { - padding-top: 23%; + padding-top: 25%; padding-bottom: 8rem; background: var(--slate-bg); border-width: 2px 2px; From 22fd5ea0f04518e84c7274535e57157be51bdc71 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:34:59 +0500 Subject: [PATCH 11/14] improved display on mobile --- docs/assets/style.css | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/docs/assets/style.css b/docs/assets/style.css index 3e6b6d577..ad0fcfa31 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -372,11 +372,6 @@ a.copy-cta-btn:hover { z-index: 1; } -.getting-started h2 { - /* font-weight: 900; */ - font-size: 2em; -} - .getting-started::after { position: absolute; content: ""; @@ -404,7 +399,7 @@ a.copy-cta-btn:hover { font-weight: bold; border: 0px; position: relative; - font-size: 18px; + font-size: 1em; } .nav-tabs .nav-link:hover { @@ -1145,14 +1140,14 @@ ul.fas li .fa-large:before { .nav-tabs .nav-link { padding: var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x); - } - - .nav-tabs .nav-link { - padding: 0.5em 0.8em; + font-size: 0.8em; + padding: 1.2em 1.2em; } .nav-tabs .nav-link svg { margin-right: 5px; + width: 25px; + height: 25px; } section.plugins { From 156da6c30a186a35699e64aee6cc4e98f1f7b1f7 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:42:05 +0500 Subject: [PATCH 12/14] triggering the animation once images are loaded. Wasn't playing correctly on safari earlier --- docs/assets/style.css | 3 +++ docs/home.html | 1 + 2 files changed, 4 insertions(+) diff --git a/docs/assets/style.css b/docs/assets/style.css index ad0fcfa31..fa635d00f 100644 --- a/docs/assets/style.css +++ b/docs/assets/style.css @@ -540,6 +540,9 @@ section.supportus { .avatar-row { width: max-content; +} + +.infinite-scroll { animation: 48s linear 0s infinite normal none running scroll; } diff --git a/docs/home.html b/docs/home.html index c9ccb9e43..b67c6bac7 100644 --- a/docs/home.html +++ b/docs/home.html @@ -696,6 +696,7 @@ for (let count = 0; count < rowCount; count++) { const splicedArray = supporterArrays.splice(0, rowItemCount); avatarRows[count].innerHTML = splicedArray.join('') + splicedArray.join(''); + avatarRows[count].classList.add('infinite-scroll'); } initializeTooltips("tooltip"); From 2d5799625cfbbe4f69e188978ade3f7d0b3a3cb2 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Tue, 17 May 2022 10:47:13 +0500 Subject: [PATCH 13/14] added a small freelance tooltip :) --- docs/home.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/home.html b/docs/home.html index b67c6bac7..45ea80e21 100644 --- a/docs/home.html +++ b/docs/home.html @@ -662,7 +662,7 @@
    -

    © 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

    +

    © 2013-2022 Dokku. Website designed & developed by Yasoob Khalid

    From 863eead7fd4f28524ae52ef6e582b704b39c8069 Mon Sep 17 00:00:00 2001 From: Yasoob Khalid Date: Sun, 29 May 2022 21:22:10 +0500 Subject: [PATCH 14/14] added asciicasts --- docs/home.html | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/docs/home.html b/docs/home.html index 45ea80e21..91f0f3b2e 100644 --- a/docs/home.html +++ b/docs/home.html @@ -234,13 +234,13 @@
    @@ -722,8 +722,8 @@ const parentDiv = document.getElementById(parentId); var script = document.createElement('script'); script.setAttribute('data-autoplay', true); - script.src = 'https://asciinema.org/a/14.js'; - script.id = "asciicast-14"; + script.src = `https://asciinema.org/a/${asciiId}.js`; + script.id = `asciicast-${asciiId}`; script.type = 'text/javascript'; const imageTag = parentDiv.lastElementChild; parentDiv.style.height = `${parentDiv.clientHeight}px`;