homepage fixes

This commit is contained in:
2023-01-07 15:06:08 -05:00
parent adcafdd951
commit dfb9ee79cb
17 changed files with 228 additions and 66 deletions
-1
View File
@@ -11,7 +11,6 @@ https://ghall.blog
## Dependencies ## Dependencies
- [Astro](https://astro.build) - [Astro](https://astro.build)
- [Pico.css](https://picocss.com)
- [astro-remote](https://github.com/natemoo-re/astro-remote) - [astro-remote](https://github.com/natemoo-re/astro-remote)
- [date-fns](https://date-fns.org) - [date-fns](https://date-fns.org)
-11
View File
@@ -9,7 +9,6 @@
"version": "0.0.1", "version": "0.0.1",
"dependencies": { "dependencies": {
"@astrojs/netlify": "^1.2.2", "@astrojs/netlify": "^1.2.2",
"@picocss/pico": "^1.5.6",
"astro": "^1.6.13", "astro": "^1.6.13",
"astro-remote": "^0.2.3", "astro-remote": "^0.2.3",
"date-fns-tz": "^1.3.7" "date-fns-tz": "^1.3.7"
@@ -629,11 +628,6 @@
"node": ">= 8" "node": ">= 8"
} }
}, },
"node_modules/@picocss/pico": {
"version": "1.5.6",
"resolved": "https://registry.npmjs.org/@picocss/pico/-/pico-1.5.6.tgz",
"integrity": "sha512-9R+OdtMuHijKa7AQKBrng/1Q/Cd3BnEigYJXmOxI10Eka2qGGDa4b0hua8UeYu01BTtAiO70K7CQuHffU4YXGA=="
},
"node_modules/@pkgr/utils": { "node_modules/@pkgr/utils": {
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz",
@@ -6171,11 +6165,6 @@
"fastq": "^1.6.0" "fastq": "^1.6.0"
} }
}, },
"@picocss/pico": {
"version": "1.5.6",
"resolved": "https://registry.npmjs.org/@picocss/pico/-/pico-1.5.6.tgz",
"integrity": "sha512-9R+OdtMuHijKa7AQKBrng/1Q/Cd3BnEigYJXmOxI10Eka2qGGDa4b0hua8UeYu01BTtAiO70K7CQuHffU4YXGA=="
},
"@pkgr/utils": { "@pkgr/utils": {
"version": "2.3.1", "version": "2.3.1",
"resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz", "resolved": "https://registry.npmjs.org/@pkgr/utils/-/utils-2.3.1.tgz",
-1
View File
@@ -12,7 +12,6 @@
}, },
"dependencies": { "dependencies": {
"@astrojs/netlify": "^1.2.2", "@astrojs/netlify": "^1.2.2",
"@picocss/pico": "^1.5.6",
"astro": "^1.6.13", "astro": "^1.6.13",
"astro-remote": "^0.2.3", "astro-remote": "^0.2.3",
"date-fns-tz": "^1.3.7" "date-fns-tz": "^1.3.7"
+3 -3
View File
@@ -10,8 +10,8 @@ const { title, date } = Astro.props;
--- ---
<div class="blog-header"> <div class="blog-header">
<h4>{title}</h4> <h2>{title}</h2>
<h5> <h4>
{`🗓️ ${formatInTimeZone(new Date(date), "America/New_York", "MMM do, y")}`} {`🗓️ ${formatInTimeZone(new Date(date), "America/New_York", "MMM do, y")}`}
</h5> </h4>
</div> </div>
+4 -3
View File
@@ -1,10 +1,11 @@
--- ---
const year = new Date().getFullYear();
--- ---
<footer> <footer>
<p style={{ fontSize: "0.8rem" }}> <p>
Built with <a href="https://astro.build">Astro</a> and <a Copyright {year}, Graham Hall Built with <a href="https://astro.build"
href="https://picocss.com">Pico.css</a >Astro</a
> >
</p> </p>
</footer> </footer>
+3 -7
View File
@@ -1,13 +1,9 @@
--- ---
--- ---
<div> <header>
<h1>Graham's Blog</h1>
<nav> <nav>
<ul>
<li>
<span style={{ fontSize: "1.6rem" }}>Graham Hall</span>
</li>
</ul>
<ul> <ul>
<li> <li>
<a href="/">📝 Blog</a> <a href="/">📝 Blog</a>
@@ -17,4 +13,4 @@
</li> </li>
</ul> </ul>
</nav> </nav>
</div> </header>
+3 -2
View File
@@ -1,5 +1,4 @@
--- ---
import "@picocss/pico";
import "../styles/global.css"; import "../styles/global.css";
import Header from "../components/Header.astro"; import Header from "../components/Header.astro";
@@ -25,7 +24,9 @@ const title = Astro.props.frontmatter
</head> </head>
<body class="container"> <body class="container">
<Header /> <Header />
<slot /> <main>
<slot />
</main>
<Footer /> <Footer />
</body> </body>
</html> </html>
+2 -7
View File
@@ -18,12 +18,7 @@ const posts = await response.json();
<Layout title="Home"> <Layout title="Home">
{ {
posts.objects.map((post) => ( posts.objects.map((post) => (
<article> <article class="post-preview">
{post.thumbnail ? (
<div style={{ marginBottom: "25px" }}>
<img src={post.thumbnail} alt={`Thumbnail for ${post.title}`} />
</div>
) : null}
<div> <div>
<BlogHeader title={post.title} date={post.published_at} /> <BlogHeader title={post.title} date={post.published_at} />
<Markup content={`<p>${post.content.split("</p>")[0]}`} /> <Markup content={`<p>${post.content.split("</p>")[0]}`} />
@@ -32,7 +27,7 @@ const posts = await response.json();
</article> </article>
)) ))
} }
{posts.objects.length < 5 ? null : <a href="/archive">All Posts</a>} {posts.objects.length < 5 ? null : <a href="/posts">All Posts</a>}
</Layout> </Layout>
<!-- <style> <!-- <style>
-7
View File
@@ -22,13 +22,6 @@ const post = posts.objects[0];
<Layout title={post.title}> <Layout title={post.title}>
<article> <article>
{
post.thumbnail ? (
<div style={{ marginBottom: "25px" }}>
<img src={post.thumbnail} alt={`Thumbnail for ${post.title}`} />
</div>
) : null
}
<div> <div>
<BlogHeader title={post.title} date={post.published_at} /> <BlogHeader title={post.title} date={post.published_at} />
<Markup content={post.content} /> <Markup content={post.content} />
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
BIN
View File
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
+213 -24
View File
@@ -1,35 +1,224 @@
@import url("https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&display=swap"); @font-face {
font-family: Manrope;
src: url(./fonts/Manrope-Regular.ttf) format("truetype");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: Manrope;
src: url(./fonts/Manrope-Bold.ttf) format("truetype");
font-weight: bold;
font-style: normal;
}
:root {
--blue: #3274ce;
--red: #ce3446;
--orange: #e56045;
--text: #757575;
--background: white;
}
.dark {
--blue: #5996e9;
--red: #e75969;
--orange: #e87c66;
--text: white;
--background: #2d2d2d;
}
* { * {
font-family: "Lora", serif; font-family: "Manrope", sans-serif;
color: var(--text);
} }
body {
background-color: var(--background);
margin: 0;
}
header {
margin: 0;
padding: 0.5rem 1rem;
background-color: var(--blue);
}
header h1 {
text-align: center;
color: white;
}
nav ul {
display: flex;
justify-content: center;
gap: 1rem;
padding: 0;
}
nav ul li a {
color: white;
font-size: 1.2rem;
}
nav ul li::before {
content: "";
}
main {
padding: 1rem 3rem;
max-width: 800px;
margin: auto;
}
footer {
text-align: center;
padding: 3rem;
}
/* Typography */
h1, h1,
h2, h2,
h3, h3,
h4, h4 {
h5, font-weight: bold;
h6 {
font-family: "Lora", serif;
} }
img { blockquote {
border-left: 3px solid;
border-color: var(--text);
margin-left: 0;
padding-left: 2rem;
}
hr {
border-top: 1px solid var(--text);
margin: 2rem 0;
}
/* Links */
a {
color: var(--blue);
text-decoration: none;
transition: opacity 0.15s;
}
a:hover {
opacity: 0.6;
}
/* List Styles */
ul,
ol {
list-style: none;
}
ol li {
counter-increment: li;
}
ul li::before {
content: "‣";
color: var(--orange);
display: inline-block;
width: 1em;
margin-left: -1em;
}
ol li::before {
content: "." counter(li);
color: var(--orange);
display: inline-block;
width: 1em;
margin-left: -1.5em;
margin-right: 0.5em;
text-align: right;
direction: rtl;
}
li {
margin: 0.5rem 0;
}
/* Button Styles */
button,
.link-button {
background-color: gray;
color: white;
font-size: 1rem;
padding: 0.6rem 1.2rem;
outline: none;
border: none;
border-radius: 5px;
transition: all 0.15s;
}
button:hover,
.link-button:hover {
opacity: 0.8;
}
button:active,
.link-button:active {
opacity: 0.9;
scale: 0.98;
}
/* Text Inputs */
input,
textarea {
appearance: none;
outline: none;
background-color: #e6e6e6;
color: --text;
border: 2px solid #dadada;
font-size: 1rem;
padding: 0.6rem;
border-radius: 5px;
transition: background 0.15s;
}
input:hover,
textarea:hover {
background-color: #eaeaea;
}
input:focus,
textarea:focus {
background-color: #eaeaea;
box-shadow: 0px 0px 2px 1px var(--blue);
}
dialog {
border: none;
border-radius: 5px;
box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
padding: 1.4rem;
text-align: center;
max-width: 900px;
}
/* Classes */
.width-full {
width: 100%;
}
.blue-btn {
background-color: var(--blue);
}
.red-btn {
background-color: var(--red);
}
.post-preview {
background: #f9f9f9;
padding: 0.1rem 1rem 1.5rem;
margin: 1rem 0;
border-radius: 5px; border-radius: 5px;
} }
.blog-header {
display: flex;
justify-content: space-between;
}
.blog-header h5 {
font-size: 1rem;
font-weight: normal;
}
@media (max-width: 768px) {
.blog-header {
flex-direction: column;
justify-content: left;
}
}