Move all the home styles to inline CSS
This commit is contained in:
		
							parent
							
								
									1713d5f849
								
							
						
					
					
						commit
						4f63fab916
					
				
					 3 changed files with 232 additions and 185 deletions
				
			
		| 
						 | 
				
			
			@ -1,166 +0,0 @@
 | 
			
		|||
:root {
 | 
			
		||||
    --animation-offset: 6px;
 | 
			
		||||
    --font-size-max: 12px;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
body {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    font-size: 2rem;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    margin: auto;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
    font-size: 5rem;
 | 
			
		||||
    line-height: 1.3;
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
}
 | 
			
		||||
@media (max-width: 599px) {
 | 
			
		||||
    h1 { font-size: 4.25rem; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@media (max-width: 599px) {
 | 
			
		||||
    html {
 | 
			
		||||
        --font-size-scale-factor: 1.33vmax;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main {
 | 
			
		||||
    margin-block-start: 10vh;
 | 
			
		||||
    width: inherit;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main .grid {
 | 
			
		||||
    align-items: baseline;
 | 
			
		||||
    display: grid;
 | 
			
		||||
    gap: 0 2rem;
 | 
			
		||||
    grid-template-columns: minmax(min-content, 1fr) minmax(min-content, 2fr);
 | 
			
		||||
    grid-template-rows: repeat(2, max-content);
 | 
			
		||||
    grid-template-areas:
 | 
			
		||||
        "title blurb"
 | 
			
		||||
        "title nav";
 | 
			
		||||
    padding-inline: 1em;
 | 
			
		||||
    width: min-content;
 | 
			
		||||
}
 | 
			
		||||
@media (max-width: 599px) {
 | 
			
		||||
    main .grid {
 | 
			
		||||
        gap: 1rem 0;
 | 
			
		||||
        grid-template-columns: 1fr;
 | 
			
		||||
        grid-template-rows: repeat(3, max-content);
 | 
			
		||||
        grid-template-areas:
 | 
			
		||||
            "title"
 | 
			
		||||
            "blurb"
 | 
			
		||||
            "nav";
 | 
			
		||||
        justify-items: center;
 | 
			
		||||
        text-align: center;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
main h1 {
 | 
			
		||||
    letter-spacing: 0.025em;
 | 
			
		||||
    text-align: end;
 | 
			
		||||
}
 | 
			
		||||
@media (max-width: 599px) {
 | 
			
		||||
    main h1 { text-align: center; }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
nav {
 | 
			
		||||
    align-items: baseline;
 | 
			
		||||
    align-self: center;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    text-transform: lowercase;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
p {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
h1 { grid-area: title; }
 | 
			
		||||
#content { grid-area: blurb }
 | 
			
		||||
nav { grid-area: nav }
 | 
			
		||||
 | 
			
		||||
h1, #content > p, nav { position: relative; }
 | 
			
		||||
 | 
			
		||||
h1 {
 | 
			
		||||
    animation: left-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
}
 | 
			
		||||
@media (max-width: 599px) {
 | 
			
		||||
    h1 {
 | 
			
		||||
        animation: top-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
#content > p, nav {
 | 
			
		||||
    animation: right-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
}
 | 
			
		||||
@media (max-width: 599px) {
 | 
			
		||||
    #content > p, nav {
 | 
			
		||||
        animation: bottom-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes left-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        left: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
    33% {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        left: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
    to {
 | 
			
		||||
        opacity: 100%;
 | 
			
		||||
        left: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes right-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        left: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
    33% {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        left: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
    to {
 | 
			
		||||
        opacity: 100%;
 | 
			
		||||
        left: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes top-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        bottom: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
    33% {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        bottom: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
    to {
 | 
			
		||||
        opacity: 100%;
 | 
			
		||||
        bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@keyframes bottom-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        bottom: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
    33% {
 | 
			
		||||
        opacity: 0%;
 | 
			
		||||
        bottom: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
    to {
 | 
			
		||||
        opacity: 100%;
 | 
			
		||||
        bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
.platter {
 | 
			
		||||
    padding: 1.5rem 3rem;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -23,7 +23,6 @@
 | 
			
		|||
        --heading-line-height: 1;
 | 
			
		||||
        /* A little extra line height so the descenders don't get clipped */
 | 
			
		||||
        --site-heading-line-height: 1.1;
 | 
			
		||||
        --landing-line-height: 1.85;
 | 
			
		||||
 | 
			
		||||
        --color: rgba(var(--black), 0.8);
 | 
			
		||||
        --a-color: rgb(var(--mid-blue));
 | 
			
		||||
| 
						 | 
				
			
			@ -46,7 +45,6 @@
 | 
			
		|||
 | 
			
		||||
    body {
 | 
			
		||||
        font-size: var(--font-size);
 | 
			
		||||
        line-height: var(--line-height);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    code { font-family: var(--font-family-monospace); }
 | 
			
		||||
| 
						 | 
				
			
			@ -88,7 +86,7 @@
 | 
			
		|||
        line-height: var(--heading-line-height);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    header.site h1 {
 | 
			
		||||
    h1.site {
 | 
			
		||||
        --site-title-color1: rgb(103, 128, 229);
 | 
			
		||||
        --site-title-color2: rgb(130, 90, 227);
 | 
			
		||||
        --site-title-color3: rgb(135, 101, 228);
 | 
			
		||||
| 
						 | 
				
			
			@ -102,27 +100,24 @@
 | 
			
		|||
 | 
			
		||||
        color: rgb(var(--mid-blue));
 | 
			
		||||
        font-family: var(--font-family-site-heading);
 | 
			
		||||
        font-size: var(--site-header-font-size);
 | 
			
		||||
        line-height: var(--site-heading-line-height);
 | 
			
		||||
        white-space: nowrap;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    header.site h1 > a { color: inherit; }
 | 
			
		||||
    h1.site > a { color: inherit; }
 | 
			
		||||
 | 
			
		||||
    @supports not ((background-clip: text) or (-webkit-background-clip: text)) {
 | 
			
		||||
        header.site h1 span:nth-child(10n + 1) { color: var(--site-title-color1); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 2) { color: var(--site-title-color2); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 3) { color: var(--site-title-color3); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 4) { color: var(--site-title-color4); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 5) { color: var(--site-title-color5); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 6) { color: var(--site-title-color6); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 7) { color: var(--site-title-color7); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 8) { color: var(--site-title-color8); }
 | 
			
		||||
        header.site h1 span:nth-child(10n + 9) { color: var(--site-title-color9); }
 | 
			
		||||
        header.site h1 span:nth-child(10n) { color: var(--site-title-color10); }
 | 
			
		||||
        h1.site span:nth-child(10n + 1) { color: var(--site-title-color1); }
 | 
			
		||||
        h1.site span:nth-child(10n + 2) { color: var(--site-title-color2); }
 | 
			
		||||
        h1.site span:nth-child(10n + 3) { color: var(--site-title-color3); }
 | 
			
		||||
        h1.site span:nth-child(10n + 4) { color: var(--site-title-color4); }
 | 
			
		||||
        h1.site span:nth-child(10n + 5) { color: var(--site-title-color5); }
 | 
			
		||||
        h1.site span:nth-child(10n + 6) { color: var(--site-title-color6); }
 | 
			
		||||
        h1.site span:nth-child(10n + 7) { color: var(--site-title-color7); }
 | 
			
		||||
        h1.site span:nth-child(10n + 8) { color: var(--site-title-color8); }
 | 
			
		||||
        h1.site span:nth-child(10n + 9) { color: var(--site-title-color9); }
 | 
			
		||||
        h1.site span:nth-child(10n) { color: var(--site-title-color10); }
 | 
			
		||||
    }
 | 
			
		||||
    @supports (background-clip: text) or (-webkit-background-clip: text) {
 | 
			
		||||
        header.site h1 {
 | 
			
		||||
        h1.site {
 | 
			
		||||
            background:
 | 
			
		||||
                radial-gradient(circle at 20% 70%, rgb(var(--purple)), transparent 40%),
 | 
			
		||||
                radial-gradient(circle at 30% 30%, rgb(var(--lt-blue)), rgb(var(--mid-blue)) 20%, transparent 80%),
 | 
			
		||||
| 
						 | 
				
			
			@ -136,6 +131,12 @@
 | 
			
		|||
        }
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    header.site h1.site {
 | 
			
		||||
        font-size: var(--site-header-font-size);
 | 
			
		||||
        line-height: var(--site-heading-line-height);
 | 
			
		||||
        white-space: nowrap;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    header.site nav {
 | 
			
		||||
        font-size: max(1.5rem, 80%);
 | 
			
		||||
        letter-spacing: 0.10em;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,9 +1,221 @@
 | 
			
		|||
{{ define "body" }}
 | 
			
		||||
<main>
 | 
			
		||||
  <div class="platter grid">
 | 
			
		||||
  <header class="platter">
 | 
			
		||||
    <h1 class="site">{{ partial "site_name.html" .Title }}</h1>
 | 
			
		||||
    <div id="content">
 | 
			
		||||
      {{ .Content }}
 | 
			
		||||
    </div>
 | 
			
		||||
    {{ partial "site_nav.html" . }}
 | 
			
		||||
  </header>
 | 
			
		||||
</main>
 | 
			
		||||
{{ end }}
 | 
			
		||||
 | 
			
		||||
{{ define "styles" }}
 | 
			
		||||
<style>
 | 
			
		||||
  :root {
 | 
			
		||||
    --animation-offset: 6px;
 | 
			
		||||
    --font-size-max: 12px;
 | 
			
		||||
    --line-height: 1.85;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  body {
 | 
			
		||||
    display: flex;
 | 
			
		||||
    flex-direction: column;
 | 
			
		||||
    font-size: 2rem;
 | 
			
		||||
    justify-content: center;
 | 
			
		||||
    margin: auto;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  h1 {
 | 
			
		||||
    font-size: 5rem;
 | 
			
		||||
    line-height: 1.3;
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    padding: 0;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 599px) {
 | 
			
		||||
    h1 {
 | 
			
		||||
      font-size: 4.25rem;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  header.site h1 { white-space: normal; }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 599px) {
 | 
			
		||||
    html {
 | 
			
		||||
      --font-size-scale-factor: 1.33vmax;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  main {
 | 
			
		||||
    line-height: var(--landing-line-height);
 | 
			
		||||
    margin-block-start: 10vh;
 | 
			
		||||
    width: inherit;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  main header {
 | 
			
		||||
    align-items: first baseline;
 | 
			
		||||
    display: grid;
 | 
			
		||||
    gap: 0 2rem;
 | 
			
		||||
    grid-template-columns: minmax(min-content, 1fr) minmax(min-content, 2fr);
 | 
			
		||||
    grid-template-rows: repeat(2, max-content);
 | 
			
		||||
    grid-template-areas:
 | 
			
		||||
      "title blurb"
 | 
			
		||||
      "title nav";
 | 
			
		||||
    padding-inline: 1em;
 | 
			
		||||
    width: min-content;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 599px) {
 | 
			
		||||
    main header {
 | 
			
		||||
      gap: 1rem 0;
 | 
			
		||||
      grid-template-columns: 1fr;
 | 
			
		||||
      grid-template-rows: repeat(3, max-content);
 | 
			
		||||
      grid-template-areas:
 | 
			
		||||
        "title"
 | 
			
		||||
        "blurb"
 | 
			
		||||
        "nav";
 | 
			
		||||
      justify-items: center;
 | 
			
		||||
      text-align: center;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  main h1 {
 | 
			
		||||
    letter-spacing: 0.025em;
 | 
			
		||||
    text-align: end;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 599px) {
 | 
			
		||||
    main h1 {
 | 
			
		||||
      text-align: center;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  nav {
 | 
			
		||||
    align-items: baseline;
 | 
			
		||||
    align-self: center;
 | 
			
		||||
    display: flex;
 | 
			
		||||
    font-size: inherit;
 | 
			
		||||
    list-style: none;
 | 
			
		||||
    text-transform: lowercase;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  p {
 | 
			
		||||
    margin: 0;
 | 
			
		||||
    line-height: var(--line-height);
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  h1 {
 | 
			
		||||
    grid-area: title;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  #content {
 | 
			
		||||
    grid-area: blurb
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  nav {
 | 
			
		||||
    grid-area: nav
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  h1,
 | 
			
		||||
  #content>p,
 | 
			
		||||
  nav {
 | 
			
		||||
    position: relative;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  h1 {
 | 
			
		||||
    animation: left-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 599px) {
 | 
			
		||||
    h1 {
 | 
			
		||||
      animation: top-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  #content>p,
 | 
			
		||||
  nav {
 | 
			
		||||
    animation: right-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @media (max-width: 599px) {
 | 
			
		||||
 | 
			
		||||
    #content>p,
 | 
			
		||||
    nav {
 | 
			
		||||
      animation: bottom-fade-in var(--transition-duration) ease-in-out;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @keyframes left-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      left: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    33% {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      left: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    to {
 | 
			
		||||
      opacity: 100%;
 | 
			
		||||
      left: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @keyframes right-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      left: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    33% {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      left: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    to {
 | 
			
		||||
      opacity: 100%;
 | 
			
		||||
      left: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @keyframes top-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      bottom: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    33% {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      bottom: calc(-1 * var(--animation-offset));
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    to {
 | 
			
		||||
      opacity: 100%;
 | 
			
		||||
      bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  @keyframes bottom-fade-in {
 | 
			
		||||
    from {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      bottom: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    33% {
 | 
			
		||||
      opacity: 0%;
 | 
			
		||||
      bottom: var(--animation-offset);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    to {
 | 
			
		||||
      opacity: 100%;
 | 
			
		||||
      bottom: 0;
 | 
			
		||||
    }
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  .platter {
 | 
			
		||||
    padding: 1.5rem 3rem;
 | 
			
		||||
  }
 | 
			
		||||
</style>
 | 
			
		||||
{{ end }}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue