blog/docusaurus.config.js

176 lines
4.3 KiB
JavaScript
Raw Normal View History

docusaurus blog (#266) # Notes - date must not have double quotes, e.g., should be like `date: 2022-10-30T18:25:00+09:15` - Updated header. ![Screen Shot 2023-07-11 at 17.27.49](/attachments/d14b0c62-3630-47a9-bcda-25c6459d4e8b) - Used customized blog plugin to get all tags with reference to [plugins/blog/index.js](https://github.com/questdb/questdb.io/blob/master/plugins/blog/index.js). Filter by tag section, tag list page. ![Screen Shot 2023-07-11 at 18.10.28](/attachments/59561940-a2f7-4ab5-b99a-1d5b84fdbcad) ![Screen Shot 2023-07-11 at 17.31.20](/attachments/d6d82976-12c0-4c0f-acfe-218e30c7c627) - Added coverImage to frontmatter to assgin cover image, e.g., `coverImage: "/img/blog-covers/test.jpeg"` And on blog page, cover image will appear on top if `coverImage` added to frontmatter, e.g., ![Screen Shot 2023-07-11 at 17.33.09](/attachments/c27e7971-11db-4241-bc53-9e43df235fbc) ![Screen Shot 2023-07-11 at 17.33.20](/attachments/552dd9cf-fc55-4547-8014-864aeb0e5050) - authors are managed by the `authors.yml` file. [reference](https://docusaurus.io/docs/blog#global-authors) - [ejected](https://docusaurus.io/docs/swizzling#ejecting) `@docusaurus/theme-classic BlogListPage` and `@docusaurus/theme-classic BlogPostPage`, which are marked as `unsafe` by docusaurus, so need to maintain these components. ([original BlogListPage](https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-classic/src/theme/BlogListPage/index.tsx), [original BlogPostPage](https://github.com/facebook/docusaurus/blob/main/packages/docusaurus-theme-classic/src/theme/BlogPostPage/index.tsx)) - [referenced repo](https://github.com/questdb/questdb.io) # How to test ``` npm i npm run start ``` # Build and serve ``` npm run build npm run serve ``` # Help Needed Deploy and preview steps # More Screenshots ![Screen Shot 2023-07-11 at 17.34.54](/attachments/ee9d46ac-72ac-49de-90df-38e2afc6db02) Mobile: ![Screen Shot 2023-07-11 at 18.16.54](/attachments/8f1471a3-27cc-459a-a2ce-c0e5bdf604d3) ![Screen Shot 2023-07-10 at 17.53.18](/attachments/992d9f24-e130-41a9-8b55-86744539524c) ![Screen Shot 2023-07-06 at 11.02.21](/attachments/af1632b8-6a61-47f7-b15d-4a6080bebadb) ![Screen Shot 2023-07-11 at 18.17.43](/attachments/af0df617-27a4-46f9-a8a3-037be268e1cd) ![Screen Shot 2023-07-03 at 15.32.45](/attachments/ad2c1217-e82d-434c-81c8-5d4058e18591) # TODO - [x] Add Banner to blog page Reviewed-on: https://gitea.com/gitea/blog/pulls/266 Co-authored-by: HesterG <hestergong@gmail.com> Co-committed-by: HesterG <hestergong@gmail.com>
2023-07-12 08:55:19 +05:30
// @ts-check
// Note: type annotations allow type checking and IDEs autocompletion
const lightCodeTheme = require('prism-react-renderer/themes/github');
const darkCodeTheme = require('prism-react-renderer/themes/dracula');
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'Gitea Blogs',
tagline: 'Git with a cup of tea',
favicon: 'img/favicon.png',
url: 'https://blog.gitea.com',
baseUrl: '/',
onBrokenLinks: 'warn',
onBrokenMarkdownLinks: 'warn',
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
plugins: [
[
require.resolve('./plugins/blog'),
{
showReadingTime: true,
routeBasePath: '/',
editUrl: 'https://gitea.com/gitea/blog/src/branch/main/',
blogSidebarTitle: 'All posts',
blogSidebarCount: 'ALL',
postsPerPage: 10,
path: 'content/post',
blogTagsPostsComponent: require.resolve(
"./src/theme/BlogListPage/index.js",
),
},
]
],
presets: [
[
'classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: false,
// blog is enabled through a custom plugin, so we disable it from preset
// ./plugins/blog/index.js
blog: false,
theme: {
customCss: require.resolve('./src/css/custom.css'),
},
}),
],
],
themes: [
[
"@easyops-cn/docusaurus-search-local",
{
hashed: false,
language: ["en"],
highlightSearchTermsOnTargetPage: true,
explicitSearchResultPath: true,
indexBlog: true,
indexDocs: false,
blogRouteBasePath: "/"
}
]
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
colorMode: {
defaultMode: 'light',
disableSwitch: false,
respectPrefersColorScheme: true,
},
navbar: {
title: 'Gitea',
logo: {
alt: 'Gitea Logo',
src: 'img/logo.svg',
href: 'https://about.gitea.com/',
},
items: [
{
href: 'https://docs.gitea.com/',
label: 'Docs',
position: 'left',
className: 'internal-href',
},
{
href: 'https://docs.gitea.com/api/1.19/',
label: 'API',
position: 'left',
className: 'internal-href',
},
{
to: '/',
label: 'Blog',
position: 'left',
},
{
href: 'https://github.com/go-gitea/gitea',
label: 'Code',
position: 'left',
},
{
type: 'search',
position: 'right',
},
{
href: 'https://docs.gitea.com/help/seek-help',
position: 'right',
label: 'Support',
className: 'internal-href',
},
{
href: 'https://gitea.com/user/login',
label: 'Sign In',
position: 'right',
className: 'internal-href signin-button',
},
],
},
footer: {
style: 'dark',
links: [
{
title: 'Docs',
items: [
{
label: 'Tutorial',
href: 'https://docs.gitea.com/',
className: 'internal-href',
},
],
},
{
title: 'Community',
items: [
{
label: 'Stack Overflow',
href: 'https://stackoverflow.com/questions/tagged/gitea',
},
{
label: 'Discord',
href: 'https://discord.gg/gitea',
},
{
label: 'Twitter',
href: 'https://twitter.com/giteaio',
},
],
},
{
title: 'More',
items: [
{
label: 'Code',
href: 'https://github.com/go-gitea/gitea',
},
],
},
],
},
prism: {
theme: lightCodeTheme,
darkTheme: darkCodeTheme,
},
tableOfContents: {
minHeadingLevel: 2,
maxHeadingLevel: 2,
},
}),
};
module.exports = config;