Update Blog configuration
This commit is contained in:
32
README.md
32
README.md
@ -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>
|
||||
|
@ -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
|
||||
},
|
||||
};
|
||||
|
@ -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
|
||||
};
|
||||
---
|
||||
|
||||
|
@ -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 },
|
||||
}));
|
||||
|
@ -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:
|
||||
|
Reference in New Issue
Block a user