Update Blog configuration
This commit is contained in:
32
README.md
32
README.md
@ -142,23 +142,31 @@ export const SITE = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const BLOG = {
|
export const BLOG = {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
slug: "blog", // you can change this to "articles" (/articles)
|
postsPerPage: 4,
|
||||||
|
|
||||||
postsWithoutBlogSlug: true, // true (/some-slug), false (/blog/some-slug),
|
blog: {
|
||||||
postsPerPage: 6,
|
disabled: false,
|
||||||
|
pathname: 'blog', // blog main path, you can change this to "articles" (/articles)
|
||||||
|
},
|
||||||
|
|
||||||
category: {
|
post: {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
slug: "category", // set empty to change from /category/some-slug to /some-slug
|
pathname: '', // empty for /some-post, value for /pathname/some-post
|
||||||
},
|
},
|
||||||
|
|
||||||
tag: {
|
category: {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
slug: "tag",
|
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>
|
<br>
|
||||||
|
@ -13,18 +13,25 @@ export const SITE = {
|
|||||||
|
|
||||||
export const BLOG = {
|
export const BLOG = {
|
||||||
disabled: false,
|
disabled: false,
|
||||||
slug: 'blog',
|
postsPerPage: 4,
|
||||||
|
|
||||||
postsWithoutBlogSlug: true,
|
blog: {
|
||||||
postsPerPage: 6,
|
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: {
|
category: {
|
||||||
disabled: false,
|
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: {
|
tag: {
|
||||||
disabled: false,
|
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';
|
import { getCanonical, getPermalink, BLOG_BASE } from '~/utils/permalinks';
|
||||||
|
|
||||||
export async function getStaticPaths({ paginate }) {
|
export async function getStaticPaths({ paginate }) {
|
||||||
if (BLOG?.disabled) return [];
|
if (BLOG?.disabled || BLOG?.blog?.disabled) return [];
|
||||||
|
|
||||||
const posts = await fetchPosts();
|
const posts = await fetchPosts();
|
||||||
|
|
||||||
@ -26,7 +26,8 @@ const meta = {
|
|||||||
title: `Blog ${currentPage > 1 ? `— Page ${currentPage} ` : ''}— ${SITE.name}`,
|
title: `Blog ${currentPage > 1 ? `— Page ${currentPage} ` : ''}— ${SITE.name}`,
|
||||||
description: SITE.description,
|
description: SITE.description,
|
||||||
canonical: getCanonical(getPermalink(page.url.current)),
|
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 Layout from '~/layouts/PageLayout.astro';
|
||||||
import SinglePost from '~/components/blog/SinglePost.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 { fetchPosts } from '~/utils/posts';
|
||||||
import { findImage } from '~/utils/images';
|
import { findImage } from '~/utils/images';
|
||||||
|
|
||||||
export async function getStaticPaths() {
|
export async function getStaticPaths() {
|
||||||
if (BLOG?.disabled) return [];
|
if (BLOG?.disabled || BLOG?.post?.disabled) return [];
|
||||||
|
|
||||||
const posts = await fetchPosts();
|
const posts = await fetchPosts();
|
||||||
|
|
||||||
return posts.map((post) => ({
|
return posts.map((post) => ({
|
||||||
params: {
|
params: {
|
||||||
slug: cleanSlug(post.slug),
|
slug: cleanSlug(post.slug),
|
||||||
blog: BLOG.postsWithoutBlogSlug ? undefined : BLOG_BASE || undefined,
|
blog: POST_BASE || undefined,
|
||||||
},
|
},
|
||||||
props: { post },
|
props: { post },
|
||||||
}));
|
}));
|
||||||
|
@ -17,9 +17,10 @@ const basePathname = trimSlash(SITE.basePathname);
|
|||||||
|
|
||||||
export const cleanSlug = (text) => slugify(trimSlash(text));
|
export const cleanSlug = (text) => slugify(trimSlash(text));
|
||||||
|
|
||||||
export const BLOG_BASE = cleanSlug(BLOG.slug);
|
export const BLOG_BASE = cleanSlug(BLOG?.blog?.pathname);
|
||||||
export const CATEGORY_BASE = cleanSlug(BLOG?.category?.slug);
|
export const POST_BASE = cleanSlug(BLOG?.post?.pathname);
|
||||||
export const TAG_BASE = cleanSlug(BLOG?.tag?.slug);
|
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);
|
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);
|
return createPath(basePathname, TAG_BASE, _slug);
|
||||||
|
|
||||||
case 'post':
|
case 'post':
|
||||||
return createPath(basePathname, BLOG.postsWithoutBlogSlug ? '' : BLOG_BASE, _slug);
|
return createPath(basePathname, POST_BASE, _slug);
|
||||||
|
|
||||||
case 'page':
|
case 'page':
|
||||||
default:
|
default:
|
||||||
|
Reference in New Issue
Block a user