Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions public/assets/logo-dark.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
2 changes: 1 addition & 1 deletion public/search-index.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
[{"slug":"introducing-astro-ship-less-javascript","category":"blog","title":"Introducing Astro - Ship Less JavaScript","description":"There's a simple secret to building a faster website — just ship less.","tags":["astro","jam-stack"],"body":"\nUnfortunately, modern web development has been trending in the opposite direction—towards more. More JavaScript, more features, more moving parts, and ultimately more complexity needed to keep it all running smoothly.\n\nToday I'm excited to publicly share Astro: a new kind of static site builder that delivers lightning-fast performance with a modern developer experience. To design Astro, we borrowed the best parts of our favorite tools and then added a few innovations of our own, including:\n\n- Bring Your Own Framework (BYOF): Build your site using React, Svelte, Vue, Preact, web components, or just plain ol' HTML + JavaScript.\n- 100% Static HTML, No JS: Astro renders your entire page to static HTML, removing all JavaScript from your final build by default.\n- On-Demand Components: Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. If the user never sees it, they never load it.\n- Fully-Featured: Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any of your favorite npm packages.\n- SEO Enabled: Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication.\n\n## H1 is good\n\n### H2 is good too\n\n> links are better\n\n[I know](they-are-better)\n\nThis post marks the first public beta release of Astro. Missing features and bugs are still to be expected at this early stage. There are still some months to go before an official 1.0 release, but there are already several fast sites built with Astro in production today. We would love your early feedback as we move towards a v1.0 release later this year.\n\n> To learn more about Astro and start building your first site, check out the project README.\n\n# Example - Syntax Highlighting\n\n## Shell(Bash)\n\n```bash\n# make a new project directory and jump into it\nmkdir my-astro-project && cd $_\n\n# create a new project with npm\nnpm create astro@latest\n\n# or yarn\nyarn create astro\n\n# or pnpm\npnpm create astro@latest\n```\n\n## Python\n\n```python\nprint('hello world')\n```\n\n## Javascript\n\n```js\nconst func = () => {alert(\"hello\")}\n```\n"},{"slug":"introducing-astro","category":"blog","title":"Introducing Astro - Ship Less JavaScript","description":"There's a simple secret to building a faster website — just ship less.","tags":["astro","jam-stack"],"body":"\nUnfortunately, modern web development has been trending in the opposite direction—towards more. More JavaScript, more features, more moving parts, and ultimately more complexity needed to keep it all running smoothly.\n\nToday I'm excited to publicly share Astro: a new kind of static site builder that delivers lightning-fast performance with a modern developer experience. To design Astro, we borrowed the best parts of our favorite tools and then added a few innovations of our own, including:\n\n- Bring Your Own Framework (BYOF): Build your site using React, Svelte, Vue, Preact, web components, or just plain ol' HTML + JavaScript.\n- 100% Static HTML, No JS: Astro renders your entire page to static HTML, removing all JavaScript from your final build by default.\n- On-Demand Components: Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. If the user never sees it, they never load it.\n- Fully-Featured: Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any of your favorite npm packages.\n- SEO Enabled: Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication.\n\n## H1 is good\n\n### H2 is good too\n\n> links are better\n\n[I know](they-are-better)\n\nThis post marks the first public beta release of Astro. Missing features and bugs are still to be expected at this early stage. There are still some months to go before an official 1.0 release, but there are already several fast sites built with Astro in production today. We would love your early feedback as we move towards a v1.0 release later this year.\n\n> To learn more about Astro and start building your first site, check out the project README.\n"},{"slug":"islands-architecture-2","category":"blog","title":"Islands Architecture for light-weight FEs","description":"Render HTML pages on the server, and inject placeholders or slots around highly dynamic regions.","tags":["astro","jam-stack","architecture","front-end"],"body":"\nhttps://jasonformat.com/islands-architecture/\n"},{"slug":"islands-architecture","category":"blog","title":"Islands Architecture","description":"Render HTML pages on the server, and inject placeholders or slots around highly dynamic regions.","tags":["astro","jam-stack","architecture","front-end"],"body":"\nhttps://jasonformat.com/islands-architecture/\n"},{"slug":"spa-fatigue","category":"blog","title":"Second-guessing the modern web","description":"There is a sweet spot of React - in moderately interactive interfaces..","tags":["architecture","front-end","spa"],"body":"https://macwright.com/2020/05/10/spa-fatigue.html\n"}]
[{"slug":"introducing-astro-ship-less-javascript-1","category":"blog","title":"Introducing Astro - Ship Less JavaScript1","description":"There's a simple secret to building a faster website — just ship less.","tags":["astro","jam-stack"],"body":"\nUnfortunately, modern web development has been trending in the opposite direction—towards more. More JavaScript, more features, more moving parts, and ultimately more complexity needed to keep it all running smoothly.\n\nToday I'm excited to publicly share Astro: a new kind of static site builder that delivers lightning-fast performance with a modern developer experience. To design Astro, we borrowed the best parts of our favorite tools and then added a few innovations of our own, including:\n\n- Bring Your Own Framework (BYOF): Build your site using React, Svelte, Vue, Preact, web components, or just plain ol' HTML + JavaScript.\n- 100% Static HTML, No JS: Astro renders your entire page to static HTML, removing all JavaScript from your final build by default.\n- On-Demand Components: Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. If the user never sees it, they never load it.\n- Fully-Featured: Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any of your favorite npm packages.\n- SEO Enabled: Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication.\n\n## H1 is good\n\n### H2 is good too\n\n> links are better\n\n[I know](they-are-better)\n\nThis post marks the first public beta release of Astro. Missing features and bugs are still to be expected at this early stage. There are still some months to go before an official 1.0 release, but there are already several fast sites built with Astro in production today. We would love your early feedback as we move towards a v1.0 release later this year.\n\n> To learn more about Astro and start building your first site, check out the project README.\n\n# Example - Syntax Highlighting\n\n## Shell(Bash)\n\n```bash\n# make a new project directory and jump into it\nmkdir my-astro-project && cd $_\n\n# create a new project with npm\nnpm create astro@latest\n\n# or yarn\nyarn create astro\n\n# or pnpm\npnpm create astro@latest\n```\n\n## Python\n\n```python\nprint('hello world')\n```\n\n## Javascript\n\n```js\nconst func = () => {alert(\"hello\")}\n```\n"},{"slug":"introducing-astro-ship-less-javascript","category":"blog","title":"Introducing Astro - Ship Less JavaScript","description":"There's a simple secret to building a faster website — just ship less.","tags":["astro","jam-stack"],"body":"\nUnfortunately, modern web development has been trending in the opposite direction—towards more. More JavaScript, more features, more moving parts, and ultimately more complexity needed to keep it all running smoothly.\n\nToday I'm excited to publicly share Astro: a new kind of static site builder that delivers lightning-fast performance with a modern developer experience. To design Astro, we borrowed the best parts of our favorite tools and then added a few innovations of our own, including:\n\n- Bring Your Own Framework (BYOF): Build your site using React, Svelte, Vue, Preact, web components, or just plain ol' HTML + JavaScript.\n- 100% Static HTML, No JS: Astro renders your entire page to static HTML, removing all JavaScript from your final build by default.\n- On-Demand Components: Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. If the user never sees it, they never load it.\n- Fully-Featured: Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any of your favorite npm packages.\n- SEO Enabled: Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication.\n\n## H1 is good\n\n### H2 is good too\n\n> links are better\n\n[I know](they-are-better)\n\nThis post marks the first public beta release of Astro. Missing features and bugs are still to be expected at this early stage. There are still some months to go before an official 1.0 release, but there are already several fast sites built with Astro in production today. We would love your early feedback as we move towards a v1.0 release later this year.\n\n> To learn more about Astro and start building your first site, check out the project README.\n\n# Example - Syntax Highlighting\n\n## Shell(Bash)\n\n```bash\n# make a new project directory and jump into it\nmkdir my-astro-project && cd $_\n\n# create a new project with npm\nnpm create astro@latest\n\n# or yarn\nyarn create astro\n\n# or pnpm\npnpm create astro@latest\n```\n\n## Python\n\n```python\nprint('hello world')\n```\n\n## Javascript\n\n```js\nconst func = () => {alert(\"hello\")}\n```\n"},{"slug":"introducing-astro","category":"blog","title":"Introducing Astro - Ship Less JavaScript","description":"There's a simple secret to building a faster website — just ship less.","tags":["astro","jam-stack"],"body":"\nUnfortunately, modern web development has been trending in the opposite direction—towards more. More JavaScript, more features, more moving parts, and ultimately more complexity needed to keep it all running smoothly.\n\nToday I'm excited to publicly share Astro: a new kind of static site builder that delivers lightning-fast performance with a modern developer experience. To design Astro, we borrowed the best parts of our favorite tools and then added a few innovations of our own, including:\n\n- Bring Your Own Framework (BYOF): Build your site using React, Svelte, Vue, Preact, web components, or just plain ol' HTML + JavaScript.\n- 100% Static HTML, No JS: Astro renders your entire page to static HTML, removing all JavaScript from your final build by default.\n- On-Demand Components: Need some JS? Astro can automatically hydrate interactive components when they become visible on the page. If the user never sees it, they never load it.\n- Fully-Featured: Astro supports TypeScript, Scoped CSS, CSS Modules, Sass, Tailwind, Markdown, MDX, and any of your favorite npm packages.\n- SEO Enabled: Automatic sitemaps, RSS feeds, pagination and collections take the pain out of SEO and syndication.\n\n## H1 is good\n\n### H2 is good too\n\n> links are better\n\n[I know](they-are-better)\n\nThis post marks the first public beta release of Astro. Missing features and bugs are still to be expected at this early stage. There are still some months to go before an official 1.0 release, but there are already several fast sites built with Astro in production today. We would love your early feedback as we move towards a v1.0 release later this year.\n\n> To learn more about Astro and start building your first site, check out the project README.\n"},{"slug":"islands-architecture","category":"blog","title":"Islands Architecture","description":"Render HTML pages on the server, and inject placeholders or slots around highly dynamic regions.","tags":["astro","jam-stack","architecture","front-end"],"body":"https://jasonformat.com/islands-architecture/\n"},{"slug":"spa-fatigue","category":"blog","title":"Second-guessing the modern web","description":"There is a sweet spot of React - in moderately interactive interfaces..","tags":["architecture","front-end","spa"],"body":"https://macwright.com/2020/05/10/spa-fatigue.html\n"}]
9 changes: 5 additions & 4 deletions src/components/Header.astro
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,16 @@
<header class="header">
<div class="header__logo">
<a href="/" class="avatar">
<img class="header__logo-img" src="/assets/logo.svg" alt="Astro logo" />
<img class="header__logo-img hidden dark:block" src="/assets/logo.svg" alt="Astro logo" />
<img class="header__logo-img dark:hidden" src="/assets/logo-dark.svg" alt="Astro logo" />
</a>
</div>
<div class="header__meta flex-1">
<h3 class="header__title dark:text-theme-dark-secondary">
<a href="">{ SITE.name }</a>
</h3>
<div class="header__meta-more flex">
<p class="header__desc">
<p class="header__desc dark:text-gray-200">
{ SITE.description }
</p>
<nav class="header__nav flex">
Expand Down Expand Up @@ -58,10 +59,10 @@
@apply w-16 h-16 rounded-full overflow-hidden
}
.header__title {
@apply text-4xl font-extrabold md:text-5xl text-theme-secondary dark:text-theme-dark-secondary
@apply text-4xl font-extrabold md:text-5xl text-theme-secondary
}
.header__desc {
@apply text-xl flex-1 dark:text-gray-200
@apply text-xl flex-1
}
.header__ref-list {
@apply flex gap-3 text-gray-400
Expand Down
12 changes: 6 additions & 6 deletions src/components/MediaPreview.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ const { post } = Astro.props
<div class="post-preview">
<div class="sm:w-20 md:w-32">
<div class="post-preview__date">
<span class="post-preview__date__day">{ new Date(post.date).getDate() }</span>
<span class="post-preview__date__day dark:text-gray-300">{ new Date(post.date).getDate() }</span>
<span class="post-preview__date__month-n-year">{ `${getMonthName(post.date)} ${new Date(post.date).getFullYear()}` }</span>
</div>
</div>
<div class="flex-1">
<div class="flex flex-col mb-2">
<h4 class="post-preview__title">
<h4 class="post-preview__title dark:text-theme-dark-primary">
<a href={post.url} title={post.title} target="_blank">{post.title}</a>
</h4>
<div>
Expand All @@ -21,7 +21,7 @@ const { post } = Astro.props
}
</div>
</div>
<p class="post-preview__desc">
<p class="post-preview__desc dark:text-white">
{post.description}
</p>
</div>
Expand All @@ -34,15 +34,15 @@ const { post } = Astro.props
@apply flex flex-col w-full text-center
}
.post-preview__date__day {
@apply text-6xl font-semibold text-gray-500 dark:text-gray-300
@apply text-6xl font-semibold text-gray-500
}
.post-preview__date__month-n-year {
@apply text-gray-400
}
.post-preview__title {
@apply text-2xl font-semibold text-theme-primary dark:text-theme-dark-primary hover:underline
@apply text-2xl font-semibold text-theme-primary hover:underline
}
.post-preview__desc {
@apply text-lg leading-6 dark:text-white line-clamp-2
@apply text-lg leading-6 line-clamp-2
}
</style>
2 changes: 1 addition & 1 deletion src/components/Nav.astro
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,6 @@ import { NAV_ITEMS } from '$/config'
</nav>
<style>
.nav-list {
@apply inline-flex list-none gap-8 text-xl font-semibold text-theme-secondary dark:text-theme-dark-secondary py-2 flex-wrap
@apply inline-flex list-none gap-8 text-xl font-semibold text-theme-secondary py-2 flex-wrap
}
</style>
6 changes: 3 additions & 3 deletions src/components/Paginator.astro
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@
const { page } = Astro.props
---
<div class="page__actions">
{page.url.prev && <a class="action__go-to-x" href={page.url.prev} title="Go to Previous">&larr; Prev</a>}
{page.url.next && <a class="action__go-to-x" href={page.url.next} title="Go to Next">Next &rarr;</a>}
{page.url.prev && <a class="action__go-to-x dark:text-gray-400" href={page.url.prev} title="Go to Previous">&larr; Prev</a>}
{page.url.next && <a class="action__go-to-x dark:text-gray-400" href={page.url.next} title="Go to Next">Next &rarr;</a>}
</div>
<style>
.page__actions {
@apply flex justify-center md:justify-end py-6 gap-2
}
.action__go-to-x {
@apply text-base uppercase text-gray-500 dark:text-gray-400 hover:underline
@apply text-base uppercase text-gray-500 hover:underline
}
</style>
12 changes: 6 additions & 6 deletions src/components/PostDraftPreview.astro
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,15 @@ const { frontmatter: post, file } = Astro.props.post
<div class="post-draft-preview">
<div class="sm:w-20 md:w-32">
<div class="post-draft-preview__date">
<span class="post-draft-preview__date__day">{ new Date(post.date).getDate() }</span>
<span class="post-draft-preview__date__day dark:text-gray-300">{ new Date(post.date).getDate() }</span>
<span class="post-draft-preview__date__month-n-year">{ `${getMonthName(post.date)} ${new Date(post.date).getFullYear()}` }</span>
</div>
</div>
<div class="flex-1">
<h4 class="post-draft-preview__title">
<h4 class="post-draft-preview__title dark:text-theme-dark-primary">
<a href={`/drafts/${getSlugFromPathname(file)}`} title={post.title}>{post.title}</a>
</h4>
<p class="post-draft-preview__desc">
<p class="post-draft-preview__desc dark:text-white">
{post.description}
</p>
</div>
Expand All @@ -26,15 +26,15 @@ const { frontmatter: post, file } = Astro.props.post
@apply flex flex-col w-full text-center
}
.post-draft-preview__date__day {
@apply text-6xl font-semibold text-gray-500 dark:text-gray-300
@apply text-6xl font-semibold text-gray-500
}
.post-draft-preview__date__month-n-year {
@apply text-gray-400
}
.post-draft-preview__title {
@apply text-2xl font-semibold text-theme-primary dark:text-theme-dark-primary hover:underline mb-2
@apply text-2xl font-semibold text-theme-primary hover:underline mb-2
}
.post-draft-preview__desc {
@apply text-lg leading-6 dark:text-white line-clamp-2
@apply text-lg leading-6 line-clamp-2
}
</style>
Loading