-
Notifications
You must be signed in to change notification settings - Fork 644
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
7cd500c
commit a3a27d1
Showing
51 changed files
with
29,552 additions
and
9,150 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,28 @@ | ||
# build output | ||
dist/ | ||
# generated types | ||
.astro/ | ||
|
||
# dependencies | ||
node_modules/ | ||
|
||
# logs | ||
npm-debug.log* | ||
yarn-debug.log* | ||
yarn-error.log* | ||
pnpm-debug.log* | ||
|
||
|
||
# environment variables | ||
.env | ||
.env.production | ||
|
||
# macOS-specific files | ||
.DS_Store | ||
|
||
# jetbrains setting folder | ||
.idea/ | ||
|
||
# wrangler files | ||
.wrangler | ||
.dev.vars |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
# Astro Starter Kit: Blog | ||
|
||
![blog](https://github.com/withastro/astro/assets/2244813/ff10799f-a816-4703-b967-c78997e8323d) | ||
|
||
Features: | ||
|
||
- ✅ Minimal styling (make it your own!) | ||
- ✅ 100/100 Lighthouse performance | ||
- ✅ SEO-friendly with canonical URLs and OpenGraph data | ||
- ✅ Sitemap support | ||
- ✅ RSS Feed support | ||
- ✅ Markdown & MDX support | ||
|
||
<!-- dash-content-start --> | ||
|
||
## 🚀 Project Structure | ||
|
||
Inside of your Astro project, you'll see the following folders and files: | ||
|
||
```text | ||
├── public/ | ||
├── src/ | ||
│ ├── components/ | ||
│ ├── content/ | ||
│ ├── layouts/ | ||
│ └── pages/ | ||
├── astro.config.mjs | ||
├── README.md | ||
├── package.json | ||
└── tsconfig.json | ||
``` | ||
|
||
Astro looks for `.astro` or `.md` files in the `src/pages/` directory. Each page is exposed as a route based on its file name. | ||
|
||
There's nothing special about `src/components/`, but that's where we like to put any Astro/React/Vue/Svelte/Preact components. | ||
|
||
The `src/content/` directory contains "collections" of related Markdown and MDX documents. Use `getCollection()` to retrieve posts from `src/content/blog/`, and type-check your frontmatter using an optional schema. See [Astro's Content Collections docs](https://docs.astro.build/en/guides/content-collections/) to learn more. | ||
|
||
Any static assets, like images, can be placed in the `public/` directory. | ||
|
||
<!-- dash-content-end --> | ||
|
||
## 🧞 Commands | ||
|
||
All commands are run from the root of the project, from a terminal: | ||
|
||
| Command | Action | | ||
| :------------------------ | :----------------------------------------------- | | ||
| `npm install` | Installs dependencies | | ||
| `npm run dev` | Starts local dev server at `localhost:4321` | | ||
| `npm run build` | Build your production site to `./dist/` | | ||
| `npm run preview` | Preview your build locally, before deploying | | ||
| `npm run astro ...` | Run CLI commands like `astro add`, `astro check` | | ||
| `npm run astro -- --help` | Get help using the Astro CLI | | ||
|
||
## 👀 Want to learn more? | ||
|
||
Check out [our documentation](https://docs.astro.build) or jump into our [Discord server](https://astro.build/chat). | ||
|
||
## Credit | ||
|
||
This theme is based off of the lovely [Bear Blog](https://github.com/HermanMartinus/bearblog/). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
// @ts-check | ||
import { defineConfig } from "astro/config"; | ||
import mdx from "@astrojs/mdx"; | ||
import sitemap from "@astrojs/sitemap"; | ||
|
||
import cloudflare from "@astrojs/cloudflare"; | ||
|
||
// https://astro.build/config | ||
export default defineConfig({ | ||
site: "https://example.com", | ||
integrations: [mdx(), sitemap()], | ||
adapter: cloudflare({ | ||
platformProxy: { | ||
enabled: true, | ||
}, | ||
}), | ||
}); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
{ | ||
"name": "astro-blog-starter-template", | ||
"description": "Build a personal website, blog, or portfolio with Astro.", | ||
"cloudflare": { | ||
"label": "Astro Framework Starter", | ||
"products": [ | ||
"Workers" | ||
], | ||
"categories": [], | ||
"icon_urls": [ | ||
"https://imagedelivery.net/wSMYJvS3Xw-n339CbDyDIA/5ca0ca32-e897-4699-d4c1-6b680512f000/public" | ||
], | ||
"preview_image_url": "https://imagedelivery.net/wSMYJvS3Xw-n339CbDyDIA/117ac052-57c8-4195-fe40-ba94f953ea00/public" | ||
}, | ||
"dependencies": { | ||
"@astrojs/cloudflare": "12.1.0", | ||
"@astrojs/mdx": "4.0.3", | ||
"@astrojs/rss": "4.0.11", | ||
"@astrojs/sitemap": "3.2.1", | ||
"astro": "5.1.3" | ||
}, | ||
"devDependencies": { | ||
"@cloudflare/workers-types": "4.20241230.0", | ||
"wrangler": "3.100.0" | ||
}, | ||
"scripts": { | ||
"astro": "astro", | ||
"build": "astro build", | ||
"check": "astro build && tsc && wrangler deploy --dry-run", | ||
"deploy": "astro build && wrangler deploy", | ||
"dev": "astro dev", | ||
"preview": "astro build && wrangler dev", | ||
"types": "wrangler types" | ||
}, | ||
"type": "module" | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
_worker.js | ||
_routes.json | ||
_headers | ||
_redirects |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
--- | ||
// Import the global.css file here so that it is included on | ||
// all pages through the use of the <BaseHead /> component. | ||
import '../styles/global.css'; | ||
interface Props { | ||
title: string; | ||
description: string; | ||
image?: string; | ||
} | ||
const canonicalURL = new URL(Astro.url.pathname, Astro.site); | ||
const { title, description, image = '/blog-placeholder-1.jpg' } = Astro.props; | ||
--- | ||
|
||
<!-- Global Metadata --> | ||
<meta charset="utf-8" /> | ||
<meta name="viewport" content="width=device-width,initial-scale=1" /> | ||
<link rel="icon" type="image/svg+xml" href="/favicon.svg" /> | ||
<meta name="generator" content={Astro.generator} /> | ||
|
||
<!-- Font preloads --> | ||
<link rel="preload" href="/fonts/atkinson-regular.woff" as="font" type="font/woff" crossorigin /> | ||
<link rel="preload" href="/fonts/atkinson-bold.woff" as="font" type="font/woff" crossorigin /> | ||
|
||
<!-- Canonical URL --> | ||
<link rel="canonical" href={canonicalURL} /> | ||
|
||
<!-- Primary Meta Tags --> | ||
<title>{title}</title> | ||
<meta name="title" content={title} /> | ||
<meta name="description" content={description} /> | ||
|
||
<!-- Open Graph / Facebook --> | ||
<meta property="og:type" content="website" /> | ||
<meta property="og:url" content={Astro.url} /> | ||
<meta property="og:title" content={title} /> | ||
<meta property="og:description" content={description} /> | ||
<meta property="og:image" content={new URL(image, Astro.url)} /> | ||
|
||
<!-- Twitter --> | ||
<meta property="twitter:card" content="summary_large_image" /> | ||
<meta property="twitter:url" content={Astro.url} /> | ||
<meta property="twitter:title" content={title} /> | ||
<meta property="twitter:description" content={description} /> | ||
<meta property="twitter:image" content={new URL(image, Astro.url)} /> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,62 @@ | ||
--- | ||
const today = new Date(); | ||
--- | ||
|
||
<footer> | ||
© {today.getFullYear()} Your name here. All rights reserved. | ||
<div class="social-links"> | ||
<a href="https://m.webtoo.ls/@astro" target="_blank"> | ||
<span class="sr-only">Follow Astro on Mastodon</span> | ||
<svg | ||
viewBox="0 0 16 16" | ||
aria-hidden="true" | ||
width="32" | ||
height="32" | ||
astro-icon="social/mastodon" | ||
><path | ||
fill="currentColor" | ||
d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z" | ||
></path></svg | ||
> | ||
</a> | ||
<a href="https://twitter.com/astrodotbuild" target="_blank"> | ||
<span class="sr-only">Follow Astro on Twitter</span> | ||
<svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" astro-icon="social/twitter" | ||
><path | ||
fill="currentColor" | ||
d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" | ||
></path></svg | ||
> | ||
</a> | ||
<a href="https://github.com/withastro/astro" target="_blank"> | ||
<span class="sr-only">Go to Astro's GitHub repo</span> | ||
<svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" astro-icon="social/github" | ||
><path | ||
fill="currentColor" | ||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" | ||
></path></svg | ||
> | ||
</a> | ||
</div> | ||
</footer> | ||
<style> | ||
footer { | ||
padding: 2em 1em 6em 1em; | ||
background: linear-gradient(var(--gray-gradient)) no-repeat; | ||
color: rgb(var(--gray)); | ||
text-align: center; | ||
} | ||
.social-links { | ||
display: flex; | ||
justify-content: center; | ||
gap: 1em; | ||
margin-top: 1em; | ||
} | ||
.social-links a { | ||
text-decoration: none; | ||
color: rgb(var(--gray)); | ||
} | ||
.social-links a:hover { | ||
color: rgb(var(--gray-dark)); | ||
} | ||
</style> |
17 changes: 17 additions & 0 deletions
17
astro-blog-starter-template/src/components/FormattedDate.astro
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
--- | ||
interface Props { | ||
date: Date; | ||
} | ||
const { date } = Astro.props; | ||
--- | ||
|
||
<time datetime={date.toISOString()}> | ||
{ | ||
date.toLocaleDateString('en-us', { | ||
year: 'numeric', | ||
month: 'short', | ||
day: 'numeric', | ||
}) | ||
} | ||
</time> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
--- | ||
import HeaderLink from './HeaderLink.astro'; | ||
import { SITE_TITLE } from '../consts'; | ||
--- | ||
|
||
<header> | ||
<nav> | ||
<h2><a href="/">{SITE_TITLE}</a></h2> | ||
<div class="internal-links"> | ||
<HeaderLink href="/">Home</HeaderLink> | ||
<HeaderLink href="/blog">Blog</HeaderLink> | ||
<HeaderLink href="/about">About</HeaderLink> | ||
</div> | ||
<div class="social-links"> | ||
<a href="https://m.webtoo.ls/@astro" target="_blank"> | ||
<span class="sr-only">Follow Astro on Mastodon</span> | ||
<svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" | ||
><path | ||
fill="currentColor" | ||
d="M11.19 12.195c2.016-.24 3.77-1.475 3.99-2.603.348-1.778.32-4.339.32-4.339 0-3.47-2.286-4.488-2.286-4.488C12.062.238 10.083.017 8.027 0h-.05C5.92.017 3.942.238 2.79.765c0 0-2.285 1.017-2.285 4.488l-.002.662c-.004.64-.007 1.35.011 2.091.083 3.394.626 6.74 3.78 7.57 1.454.383 2.703.463 3.709.408 1.823-.1 2.847-.647 2.847-.647l-.06-1.317s-1.303.41-2.767.36c-1.45-.05-2.98-.156-3.215-1.928a3.614 3.614 0 0 1-.033-.496s1.424.346 3.228.428c1.103.05 2.137-.064 3.188-.189zm1.613-2.47H11.13v-4.08c0-.859-.364-1.295-1.091-1.295-.804 0-1.207.517-1.207 1.541v2.233H7.168V5.89c0-1.024-.403-1.541-1.207-1.541-.727 0-1.091.436-1.091 1.296v4.079H3.197V5.522c0-.859.22-1.541.66-2.046.456-.505 1.052-.764 1.793-.764.856 0 1.504.328 1.933.983L8 4.39l.417-.695c.429-.655 1.077-.983 1.934-.983.74 0 1.336.259 1.791.764.442.505.661 1.187.661 2.046v4.203z" | ||
></path></svg | ||
> | ||
</a> | ||
<a href="https://twitter.com/astrodotbuild" target="_blank"> | ||
<span class="sr-only">Follow Astro on Twitter</span> | ||
<svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" | ||
><path | ||
fill="currentColor" | ||
d="M5.026 15c6.038 0 9.341-5.003 9.341-9.334 0-.14 0-.282-.006-.422A6.685 6.685 0 0 0 16 3.542a6.658 6.658 0 0 1-1.889.518 3.301 3.301 0 0 0 1.447-1.817 6.533 6.533 0 0 1-2.087.793A3.286 3.286 0 0 0 7.875 6.03a9.325 9.325 0 0 1-6.767-3.429 3.289 3.289 0 0 0 1.018 4.382A3.323 3.323 0 0 1 .64 6.575v.045a3.288 3.288 0 0 0 2.632 3.218 3.203 3.203 0 0 1-.865.115 3.23 3.23 0 0 1-.614-.057 3.283 3.283 0 0 0 3.067 2.277A6.588 6.588 0 0 1 .78 13.58a6.32 6.32 0 0 1-.78-.045A9.344 9.344 0 0 0 5.026 15z" | ||
></path></svg | ||
> | ||
</a> | ||
<a href="https://github.com/withastro/astro" target="_blank"> | ||
<span class="sr-only">Go to Astro's GitHub repo</span> | ||
<svg viewBox="0 0 16 16" aria-hidden="true" width="32" height="32" | ||
><path | ||
fill="currentColor" | ||
d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.012 8.012 0 0 0 16 8c0-4.42-3.58-8-8-8z" | ||
></path></svg | ||
> | ||
</a> | ||
</div> | ||
</nav> | ||
</header> | ||
<style> | ||
header { | ||
margin: 0; | ||
padding: 0 1em; | ||
background: white; | ||
box-shadow: 0 2px 8px rgba(var(--black), 5%); | ||
} | ||
h2 { | ||
margin: 0; | ||
font-size: 1em; | ||
} | ||
|
||
h2 a, | ||
h2 a.active { | ||
text-decoration: none; | ||
} | ||
nav { | ||
display: flex; | ||
align-items: center; | ||
justify-content: space-between; | ||
} | ||
nav a { | ||
padding: 1em 0.5em; | ||
color: var(--black); | ||
border-bottom: 4px solid transparent; | ||
text-decoration: none; | ||
} | ||
nav a.active { | ||
text-decoration: none; | ||
border-bottom-color: var(--accent); | ||
} | ||
.social-links, | ||
.social-links a { | ||
display: flex; | ||
} | ||
@media (max-width: 720px) { | ||
.social-links { | ||
display: none; | ||
} | ||
} | ||
</style> |
Oops, something went wrong.