Simplify folders and more typescript migration

This commit is contained in:
prototypa
2023-01-03 22:52:10 -05:00
parent 6777af58f3
commit 046009ec8c
37 changed files with 114 additions and 108 deletions

View File

@ -1,18 +1,17 @@
---
import { SITE, BLOG } from '~/config.mjs';
import Layout from '~/layouts/BlogLayout.astro';
import Layout from '~/layouts/PageLayout.astro';
import BlogList from '~/components/blog/List.astro';
import Pagination from '~/components/atoms/Pagination.astro';
import Pagination from '~/components/common/Pagination.astro';
import { fetchPosts } from '~/utils/posts';
import { getCanonical, getPermalink, BLOG_BASE } from '~/utils/permalinks';
import Title from '~/components/blog/Title.astro';
export async function getStaticPaths({ paginate }) {
if (BLOG?.disabled || BLOG?.blog?.disabled) return [];
const posts = await fetchPosts();
return paginate(posts, {
params: { blog: BLOG_BASE || undefined },
pageSize: BLOG.postsPerPage,
@ -32,10 +31,9 @@ const meta = {
---
<Layout {meta}>
<Fragment slot="title">
News and tutorials about
<span>AstroWind</span>
</Fragment>
<BlogList posts={page.data} />
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
<section class="px-6 sm:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-3xl">
<Title>News and tutorials about AstroWind</Title>
<BlogList posts={page.data} />
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
</section>
</Layout>

View File

@ -3,6 +3,7 @@ import { SITE, BLOG } from '~/config.mjs';
import Layout from '~/layouts/PageLayout.astro';
import SinglePost from '~/components/blog/SinglePost.astro';
import ToBlogLink from '~/components/blog/ToBlogLink.astro';
import { getCanonical, getPermalink, cleanSlug, POST_BASE } from '~/utils/permalinks';
import { fetchPosts } from '~/utils/posts';
@ -10,9 +11,7 @@ import { findImage } from '~/utils/images';
export async function getStaticPaths() {
if (BLOG?.disabled || BLOG?.post?.disabled) return [];
const posts = await fetchPosts();
return posts.map((post) => ({
params: {
slug: cleanSlug(post.slug),
@ -37,4 +36,5 @@ const meta = {
<Layout {meta}>
<SinglePost post={{ ...post, image: meta.image }} url={url} />
<ToBlogLink />
</Layout>

View File

@ -1,18 +1,18 @@
---
import { SITE, BLOG } from '~/config.mjs';
import Layout from '~/layouts/BlogLayout.astro';
import Layout from '~/layouts/PageLayout.astro';
import BlogList from '~/components/blog/List.astro';
import Pagination from '~/components/atoms/Pagination.astro';
import Pagination from '~/components/common/Pagination.astro';
import { fetchPosts } from '~/utils/posts';
import { getCanonical, getPermalink, cleanSlug, CATEGORY_BASE } from '~/utils/permalinks';
import Title from '~/components/blog/Title.astro';
export async function getStaticPaths({ paginate }) {
if (BLOG?.disabled || BLOG?.category?.disabled) return [];
const posts = await fetchPosts();
const categories = new Set();
posts.map((post) => {
typeof post.category === 'string' && categories.add(post.category.toLowerCase());
@ -33,7 +33,6 @@ export async function getStaticPaths({ paginate }) {
const { page, category } = Astro.props;
const currentPage = page.currentPage ?? 1;
const meta = {
title: `Category '${category}' ${currentPage > 1 ? `— Page ${currentPage} ` : ''}— ${SITE.name}`,
description: SITE.description,
@ -43,9 +42,9 @@ const meta = {
---
<Layout meta={meta}>
<Fragment slot="title">
Category: {category}
</Fragment>
<BlogList posts={page.data} />
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
<section class="px-6 sm:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-3xl">
<Title>Category {category}</Title>
<BlogList posts={page.data} />
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
</section>
</Layout>

View File

@ -1,18 +1,18 @@
---
import { SITE, BLOG } from '~/config.mjs';
import Layout from '~/layouts/BlogLayout.astro';
import Layout from '~/layouts/PageLayout.astro';
import BlogList from '~/components/blog/List.astro';
import Pagination from '~/components/atoms/Pagination.astro';
import Pagination from '~/components/common/Pagination.astro';
import { fetchPosts } from '~/utils/posts';
import { getCanonical, getPermalink, cleanSlug, TAG_BASE } from '~/utils/permalinks';
import Title from '~/components/blog/Title.astro';
export async function getStaticPaths({ paginate }) {
if (BLOG?.disabled || BLOG?.tag?.disabled) return [];
const posts = await fetchPosts();
const tags = new Set();
posts.map((post) => {
Array.isArray(post.tags) && post.tags.map((tag) => tags.add(tag.toLowerCase()));
@ -33,7 +33,6 @@ export async function getStaticPaths({ paginate }) {
const { page, tag } = Astro.props;
const currentPage = page.currentPage ?? 1;
const meta = {
title: `Posts by tag '${tag}' ${currentPage > 1 ? `— Page ${currentPage} ` : ''}— ${SITE.name}`,
description: SITE.description,
@ -43,9 +42,9 @@ const meta = {
---
<Layout meta={meta}>
<Fragment slot="title">
Tag: {tag}
</Fragment>
<BlogList posts={page.data} />
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
<section class="px-6 sm:px-6 py-12 sm:py-16 lg:py-20 mx-auto max-w-3xl">
<Title>Tag: {tag}</Title>
<BlogList posts={page.data} />
<Pagination prevUrl={page.url.prev} nextUrl={page.url.next} />
</section>
</Layout>