mirror of
https://github.com/caddyserver/website.git
synced 2025-04-20 20:16:16 -04:00
Begin building top of homepage
This commit is contained in:
parent
bc49a79d00
commit
23e904381c
5 changed files with 3149 additions and 8 deletions
|
@ -3,14 +3,58 @@
|
|||
<head>
|
||||
<title>Caddy - The Ultimate Server with Automatic HTTPS</title>
|
||||
{{include "/includes/head.html"}}
|
||||
|
||||
<link rel="stylesheet" href="/resources/css/vendor/asciinema-player-3.6.1.css">
|
||||
<script src="/resources/js/vendor/asciinema-player-3.6.1.min.js"></script>
|
||||
|
||||
<link rel="stylesheet" href="/resources/css/home.css">
|
||||
|
||||
<!-- <meta property="og:title" content="Caddy 2 - The Ultimate Server with Automatic HTTPS">
|
||||
<meta name="twitter:title" value="Caddy 2 - The Ultimate Server with Automatic HTTPS"> -->
|
||||
</head>
|
||||
<body>
|
||||
<div class="hero">
|
||||
{{include "/includes/header.html" "dark-header"}}
|
||||
|
||||
<div class="wrapper">
|
||||
<div class="vertical-padding">
|
||||
<div class="asides">
|
||||
<div>
|
||||
<h1>
|
||||
<div class="color-dodge">
|
||||
<div class="the">The</div>
|
||||
Ultimate Server
|
||||
</div>
|
||||
<div class="sub-h1">
|
||||
makes your sites more <b>secure</b>, more <b>reliable</b>, and more <b>scalable</b> more <b>easily</b>.
|
||||
</div>
|
||||
</h1>
|
||||
|
||||
</div>
|
||||
<div>
|
||||
<div class="display right">
|
||||
<div class="caption">
|
||||
<div id="demo"></div>
|
||||
Play screencast to see Caddy serve HTTPS in < 1 minute.
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="action-buttons">
|
||||
<a href="/download" class="button primary">Download</a>
|
||||
<a href="/docs/" class="button cool">Docs<sh></sh></a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<script>
|
||||
AsciinemaPlayer.create('/resources/321140.cast', $('#demo'), {
|
||||
preload: true,
|
||||
autoPlay: true,
|
||||
controls: true
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
|
@ -38,8 +38,8 @@
|
|||
--link-hover-color: rgb(42, 228, 98);
|
||||
--heading-color: #dee8ee;
|
||||
--code-bg: #1f3237;
|
||||
--dropdown-bg: #34414b;
|
||||
--dropdown-linkbox: #202b2f;
|
||||
--dropdown-bg: #152125; /* #34414b; */
|
||||
--dropdown-linkbox: #1d2c32;
|
||||
--dropdown-link-title-color: #f0f3f5;
|
||||
--dropdown-link-color: #9ebeca;
|
||||
--dropdown-link-hover-color: white;
|
||||
|
@ -250,11 +250,13 @@ header nav ul {
|
|||
/* necessary for hoversplash: */
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.button.primary {
|
||||
background: linear-gradient(135deg, white 25%, rgba(167, 183, 193) 80%);
|
||||
color: #222;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.button.primary:hover {
|
||||
|
@ -370,7 +372,7 @@ header nav ul {
|
|||
font-family: Poppins, ui-rounded;
|
||||
font-weight: 600;
|
||||
color: var(--dropdown-link-title-color);
|
||||
font-size: 20px;
|
||||
font-size: 18px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
|
|
|
@ -3,10 +3,12 @@
|
|||
background-image:
|
||||
radial-gradient(at 50% 96%, hsla(0,100%,20%,0.35) 0px, transparent 50%),
|
||||
radial-gradient(at 5% 30%, hsla(136,95%,15%,1) 0px, transparent 50%),
|
||||
radial-gradient(at 91% 0%, hsla(214,83%,25%,1) 0px, transparent 50%),
|
||||
radial-gradient(at 91% 35%, hsla(214,83%,25%,1) 0px, transparent 75%),
|
||||
radial-gradient(at 82% 73%, hsla(265,72%,20%,1) 0px, transparent 50%);
|
||||
}
|
||||
|
||||
min-height: 800px;
|
||||
.hero .vertical-padding {
|
||||
padding: 100px 0;
|
||||
}
|
||||
|
||||
.button.secondary {
|
||||
|
@ -18,3 +20,259 @@
|
|||
color: white;
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
|
||||
.button.cool {
|
||||
position: relative;
|
||||
color: rgb(226 254 214);
|
||||
|
||||
/* necessary for gradient dropshadow: */
|
||||
transform-style: preserve-3d;
|
||||
overflow: unset;
|
||||
}
|
||||
|
||||
.button.cool::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
border-radius: 8px;
|
||||
border: 2px solid transparent;
|
||||
background: linear-gradient(to right, #65E823,#D67FDB) border-box;
|
||||
-webkit-mask:
|
||||
linear-gradient(#fff 0 0) padding-box,
|
||||
linear-gradient(#fff 0 0);
|
||||
mask:
|
||||
linear-gradient(#fff 0 0) padding-box,
|
||||
linear-gradient(#fff 0 0);
|
||||
-webkit-mask-composite: xor;
|
||||
mask-composite: exclude;
|
||||
}
|
||||
|
||||
|
||||
@property --a {
|
||||
syntax: '<angle>';
|
||||
inherits: false;
|
||||
initial-value: 0deg;
|
||||
}
|
||||
|
||||
@keyframes a {
|
||||
from {
|
||||
--a: 0deg;
|
||||
}
|
||||
to {
|
||||
--a: 360deg;
|
||||
}
|
||||
}
|
||||
|
||||
.button.cool sh {
|
||||
position: absolute;
|
||||
inset: -100px;
|
||||
border: 100px solid #0000;
|
||||
border-radius: 110px; /* a little more than the inset+border+border-radius */
|
||||
mask:
|
||||
linear-gradient(#000 0 0) content-box,
|
||||
linear-gradient(#000 0 0);
|
||||
-webkit-mask:
|
||||
linear-gradient(#000 0 0) content-box,
|
||||
linear-gradient(#000 0 0);
|
||||
-webkit-mask-composite: xor;
|
||||
mask-composite: exclude;
|
||||
transform: translateZ(-1px); /* hack the z-index so as to be behind the transparent element */
|
||||
pointer-events: none;
|
||||
}
|
||||
.button.cool sh::before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
inset: 0px;
|
||||
background: conic-gradient(from var(--a), rgb(207, 19, 175) 0.42%, #ee6907 59.24%, #70d52c);
|
||||
filter: blur(35px);
|
||||
transform: translate(0px,0px);
|
||||
|
||||
--a: 0deg; /* needed for firefox to have a valid output ? */
|
||||
animation: a 1s linear infinite;
|
||||
opacity: 0;
|
||||
transition: opacity .5s;
|
||||
}
|
||||
.button.cool:hover sh::before {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
h1 {
|
||||
font-family: Poppins;
|
||||
font-size: 120px;
|
||||
text-transform: uppercase;
|
||||
color: #65D1C6;
|
||||
line-height: .9;
|
||||
}
|
||||
|
||||
h1 .color-dodge {
|
||||
mix-blend-mode: color-dodge;
|
||||
}
|
||||
|
||||
h1 .the {
|
||||
font-size: 75px;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
h1 .sub-h1 {
|
||||
margin-top: 1em;
|
||||
text-transform: none;
|
||||
color: #b1fffe;
|
||||
font-size: 32px;
|
||||
font-weight: normal;
|
||||
line-height: 1.3;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
.asides {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
justify-content: space-between;
|
||||
margin: 0 auto;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.asides.top {
|
||||
align-items: stretch;
|
||||
}
|
||||
|
||||
.asides > * {
|
||||
flex: 1;
|
||||
margin-right: 50px;
|
||||
min-width: 0; /* kind of a hack that allows proper sizing of pre children; see https://weblog.west-wind.com/posts/2016/feb/15/flexbox-containers-pre-tags-and-managing-overflow */
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.asides > :last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.asides h2 {
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.asides p {
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
.caption {
|
||||
margin-top: 10px;
|
||||
font-size: 14px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
#demo {
|
||||
display: block;
|
||||
margin-bottom: 2em;
|
||||
}
|
||||
|
||||
div.ap-wrapper div.ap-player {
|
||||
box-shadow: 10px 10px 15px rgba(0, 0, 0, 0.25);
|
||||
transform: scale(1.1);
|
||||
border-radius: 10px;
|
||||
}
|
||||
|
||||
div.ap-wrapper:fullscreen div.ap-player {
|
||||
transform: none;
|
||||
}
|
||||
|
||||
.ap-player pre.ap-terminal {
|
||||
border-color: transparent;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
.display {
|
||||
perspective: 1500px;
|
||||
}
|
||||
|
||||
.display code {
|
||||
border-radius: 10px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.display code {
|
||||
max-width: 800px;
|
||||
font-size: 110%;
|
||||
display: block;
|
||||
position: relative;
|
||||
padding: 20px 40px;
|
||||
white-space: pre;
|
||||
font-weight: bold;
|
||||
overflow-x: auto;
|
||||
box-shadow: 10px 10px 25px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.display.right > * {
|
||||
transform: rotateY(-25deg);
|
||||
}
|
||||
.display.left > * {
|
||||
transform: rotateY(25deg);
|
||||
}
|
||||
|
||||
.display code.light {
|
||||
background: #fff linear-gradient(135deg, rgba(255,255,255,0) 0%,rgba(241,241,241,0.5) 46%,rgba(225,225,225,0.5) 46.25%,rgba(246,246,246,0) 100%);
|
||||
}
|
||||
|
||||
.display code.dark,
|
||||
.ap-player {
|
||||
/* background: #333 linear-gradient(135deg, rgba(0, 0, 0, 0) 0%,rgba(125, 125, 125, 0.3) 46%,rgba(45, 45, 45, 0.8) 46.8%,rgba(0, 0, 0, 0) 100%); */
|
||||
background: rgb(0 0 0 / .6) linear-gradient(135deg, transparent 0%, rgb(200 200 200 / 0.25) 46%, rgb(200 200 200 / .15) 46.5%, transparent 100%);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.blinking {
|
||||
animation: blinking 1s infinite;
|
||||
background-color: #fff;
|
||||
width: .5em;
|
||||
height: 1.2em;
|
||||
position: relative;
|
||||
top: 5px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
@keyframes blinking {
|
||||
0% { background-color: #fff; }
|
||||
45% { background-color: #fff; }
|
||||
60% { background-color: transparent; }
|
||||
99% { background-color: transparent; }
|
||||
100% { background-color: #fff; }
|
||||
}
|
||||
|
||||
|
||||
.action-buttons {
|
||||
display: flex;
|
||||
gap: 1.5em;
|
||||
margin-top: 55px;
|
||||
}
|
||||
|
||||
|
||||
@media (max-width: 720px) {
|
||||
.display {
|
||||
margin-top: 50px;
|
||||
margin-bottom: 50px;
|
||||
}
|
||||
.display.right > * {
|
||||
transform: none;
|
||||
}
|
||||
.display.left > * {
|
||||
transform: none;
|
||||
}
|
||||
.asides > * {
|
||||
margin-right: 0;
|
||||
}
|
||||
}
|
||||
|
|
2836
new/resources/css/vendor/asciinema-player-3.6.1.css
vendored
Normal file
2836
new/resources/css/vendor/asciinema-player-3.6.1.css
vendored
Normal file
File diff suppressed because it is too large
Load diff
1
new/resources/js/vendor/asciinema-player-3.6.1.min.js
vendored
Normal file
1
new/resources/js/vendor/asciinema-player-3.6.1.min.js
vendored
Normal file
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue