Update Blog configuration

This commit is contained in:
prototypa
2022-09-11 12:51:42 -04:00
parent fc9ba4cad0
commit 4926d73925
5 changed files with 43 additions and 26 deletions

View File

@ -142,23 +142,31 @@ export const SITE = {
};
export const BLOG = {
disabled: false,
slug: "blog", // you can change this to "articles" (/articles)
disabled: false,
postsPerPage: 4,
postsWithoutBlogSlug: true, // true (/some-slug), false (/blog/some-slug),
postsPerPage: 6,
blog: {
disabled: false,
pathname: 'blog', // blog main path, you can change this to "articles" (/articles)
},
category: {
disabled: false,
slug: "category", // set empty to change from /category/some-slug to /some-slug
},
post: {
disabled: false,
pathname: '', // empty for /some-post, value for /pathname/some-post
},
tag: {
disabled: false,
slug: "tag",
},
category: {
disabled: false,
pathname: 'category', // set empty to change from /category/some-category to /some-category
},
tag: {
disabled: false,
pathname: 'tag', // set empty to change from /tag/some-tag to /some-tag
},
};
```
<br>

View File

@ -13,18 +13,25 @@ export const SITE = {
export const BLOG = {
disabled: false,
slug: 'blog',
postsPerPage: 4,
postsWithoutBlogSlug: true,
postsPerPage: 6,
blog: {
disabled: false,
pathname: 'blog', // blog main path, you can change this to "articles" (/articles)
},
post: {
disabled: false,
pathname: '', // empty for /some-post, value for /pathname/some-post
},
category: {
disabled: false,
slug: 'category', // set empty to change from /category/some-slug to /some-slug
pathname: 'category', // set empty to change from /category/some-category to /some-category
},
tag: {
disabled: false,
slug: 'tag',
pathname: 'tag', // set empty to change from /tag/some-tag to /some-tag
},
};

View File

@ -9,7 +9,7 @@ import { fetchPosts } from '~/utils/posts';
import { getCanonical, getPermalink, BLOG_BASE } from '~/utils/permalinks';
export async function getStaticPaths({ paginate }) {
if (BLOG?.disabled) return [];
if (BLOG?.disabled || BLOG?.blog?.disabled) return [];
const posts = await fetchPosts();
@ -26,7 +26,8 @@ const meta = {
title: `Blog ${currentPage > 1 ? `— Page ${currentPage} ` : ''}— ${SITE.name}`,
description: SITE.description,
canonical: getCanonical(getPermalink(page.url.current)),
ogType: "blog"
ogType: "blog",
noindex: currentPage > 1
};
---

View File

@ -4,19 +4,19 @@ import { SITE, BLOG } from '~/config.mjs';
import Layout from '~/layouts/PageLayout.astro';
import SinglePost from '~/components/blog/SinglePost.astro';
import { getCanonical, getPermalink, cleanSlug, BLOG_BASE } from '~/utils/permalinks';
import { getCanonical, getPermalink, cleanSlug, POST_BASE } from '~/utils/permalinks';
import { fetchPosts } from '~/utils/posts';
import { findImage } from '~/utils/images';
export async function getStaticPaths() {
if (BLOG?.disabled) return [];
if (BLOG?.disabled || BLOG?.post?.disabled) return [];
const posts = await fetchPosts();
return posts.map((post) => ({
params: {
slug: cleanSlug(post.slug),
blog: BLOG.postsWithoutBlogSlug ? undefined : BLOG_BASE || undefined,
blog: POST_BASE || undefined,
},
props: { post },
}));

View File

@ -17,9 +17,10 @@ const basePathname = trimSlash(SITE.basePathname);
export const cleanSlug = (text) => slugify(trimSlash(text));
export const BLOG_BASE = cleanSlug(BLOG.slug);
export const CATEGORY_BASE = cleanSlug(BLOG?.category?.slug);
export const TAG_BASE = cleanSlug(BLOG?.tag?.slug);
export const BLOG_BASE = cleanSlug(BLOG?.blog?.pathname);
export const POST_BASE = cleanSlug(BLOG?.post?.pathname);
export const CATEGORY_BASE = cleanSlug(BLOG?.category?.pathname);
export const TAG_BASE = cleanSlug(BLOG?.tag?.pathname);
/** */
export const getCanonical = (path = '') => new URL(path, SITE.origin);
@ -36,7 +37,7 @@ export const getPermalink = (slug = '', type = 'page') => {
return createPath(basePathname, TAG_BASE, _slug);
case 'post':
return createPath(basePathname, BLOG.postsWithoutBlogSlug ? '' : BLOG_BASE, _slug);
return createPath(basePathname, POST_BASE, _slug);
case 'page':
default: