2023-11-05 09:43:44 +00:00
import { themes } from 'prism-react-renderer' ;
2023-11-05 11:47:42 +00:00
import type { Config } from '@docusaurus/types' ;
2023-11-05 09:43:44 +00:00
import type * as Preset from '@docusaurus/preset-classic' ;
import * as path from 'path' ;
2021-09-11 15:10:32 +00:00
2023-11-05 09:43:44 +00:00
const config : Config = {
2021-09-11 15:10:32 +00:00
title : 'Woodpecker CI' ,
tagline : 'Woodpecker is a simple CI engine with great extensibility.' ,
2021-10-14 16:13:57 +00:00
url : 'https://woodpecker-ci.org' ,
2021-09-11 15:10:32 +00:00
baseUrl : '/' ,
onBrokenLinks : 'throw' ,
2021-10-16 19:27:51 +00:00
onBrokenMarkdownLinks : 'throw' ,
onDuplicateRoutes : 'throw' ,
2021-09-11 15:10:32 +00:00
organizationName : 'woodpecker-ci' ,
projectName : 'woodpecker-ci.github.io' ,
trailingSlash : false ,
2023-11-05 11:47:42 +00:00
themeConfig : {
navbar : {
title : 'Woodpecker' ,
logo : {
alt : 'Woodpecker Logo' ,
src : 'img/logo.svg' ,
2022-10-08 08:53:42 +00:00
} ,
2023-11-05 11:47:42 +00:00
items : [
{
type : 'doc' ,
docId : 'intro' ,
activeBaseRegex : 'docs/(?!migrations|awesome)' ,
position : 'left' ,
label : 'Docs' ,
} ,
{
to : '/plugins' ,
position : 'left' ,
label : 'Plugins' ,
} ,
{
to : '/docs/next/migrations' , // Always point to newest migration guide
activeBaseRegex : 'docs/(next/)?migrations' ,
position : 'left' ,
label : 'Migrations' ,
} ,
{
to : '/faq' ,
position : 'left' ,
label : 'FAQ' ,
} ,
{
to : '/docs/next/awesome' , // Always point to newest awesome list
activeBaseRegex : 'docs/(next/)?awesome' ,
position : 'left' ,
label : 'Awesome' ,
} ,
{
to : '/api' ,
position : 'left' ,
label : 'API' ,
} ,
{ to : 'blog' , label : 'Blog' , position : 'left' } ,
{
type : 'docsVersionDropdown' ,
position : 'right' ,
} ,
{
href : 'https://github.com/woodpecker-ci/woodpecker' ,
position : 'right' ,
className : 'header-github-link' ,
'aria-label' : 'GitHub repository' ,
} ,
{
label : '🧡 Sponsor Us' ,
position : 'right' ,
href : 'https://opencollective.com/woodpecker-ci' ,
} ,
] ,
} ,
footer : {
style : 'dark' ,
links : [
{
title : 'Docs' ,
items : [
{
label : 'Introduction' ,
to : '/docs/intro' ,
} ,
{
label : 'Usage' ,
to : '/docs/usage/intro' ,
} ,
{
label : 'Server setup' ,
to : '/docs/administration/setup' ,
} ,
{
label : 'FAQ' ,
to : '/faq' ,
} ,
] ,
} ,
{
title : 'Community' ,
items : [
{
label : 'Discord' ,
href : 'https://discord.gg/fcMQqSMXJy' ,
} ,
{
label : 'Matrix' ,
href : 'https://matrix.to/#/#woodpecker:matrix.org' ,
} ,
{
label : 'Mastodon' ,
href : 'https://floss.social/@WoodpeckerCI' ,
} ,
] ,
} ,
{
title : 'More' ,
items : [
{
label : 'Translate' ,
href : 'https://translate.woodpecker-ci.org/engage/woodpecker-ci/' ,
} ,
{
label : 'GitHub' ,
href : 'https://github.com/woodpecker-ci/woodpecker' ,
} ,
{
href : 'https://ci.woodpecker-ci.org/woodpecker-ci/woodpecker' ,
label : 'CI' ,
} ,
] ,
} ,
] ,
copyright : ` Copyright © ${ new Date ( ) . getFullYear ( ) } Woodpecker CI. Built with Docusaurus. ` ,
} ,
prism : {
theme : themes.github ,
darkTheme : themes.dracula ,
additionalLanguages : [ 'diff' , 'json' , 'docker' , 'javascript' , 'css' , 'bash' , 'nginx' , 'apacheconf' ] ,
} ,
announcementBar : {
id : 'github-star' ,
content : ` If you like Woodpecker-CI, <a href=https://github.com/woodpecker-ci/woodpecker rel="noopener noreferrer" target="_blank">give us a star on GitHub</a> ! ⭐️ ` ,
backgroundColor : 'var(--ifm-color-primary)' ,
textColor : 'var(--ifm-color-gray-900)' ,
} ,
tableOfContents : {
minHeadingLevel : 2 ,
maxHeadingLevel : 4 ,
} ,
colorMode : {
respectPrefersColorScheme : true ,
} ,
} satisfies Preset . ThemeConfig ,
2022-04-06 15:15:28 +00:00
plugins : [
( ) = > ( {
name : 'docusaurus-plugin-favicon' ,
injectHtmlTags() {
return {
headTags : [
{
tagName : 'link' ,
attributes : {
rel : 'icon' ,
href : '/img/favicon.ico' ,
sizes : 'any' ,
} ,
} ,
{
tagName : 'link' ,
attributes : {
rel : 'icon' ,
href : '/img/favicon.svg' ,
type : 'image/svg+xml' ,
} ,
} ,
] ,
} ;
} ,
} ) ,
2022-10-19 16:05:29 +00:00
( ) = > ( {
name : 'webpack-config' ,
configureWebpack() {
return {
devServer : {
client : {
webSocketURL : 'auto://0.0.0.0:0/ws' ,
} ,
} ,
} ;
} ,
} ) ,
2022-04-06 15:15:28 +00:00
] ,
2022-08-14 07:19:24 +00:00
themes : [
path . resolve ( __dirname , 'plugins' , 'woodpecker-plugins' , 'dist' ) ,
[
2022-09-25 17:04:47 +00:00
require . resolve ( '@easyops-cn/docusaurus-search-local' ) ,
2022-08-14 07:19:24 +00:00
{
hashed : true ,
} ,
] ,
] ,
2021-09-11 15:10:32 +00:00
presets : [
[
'@docusaurus/preset-classic' ,
2023-11-05 11:47:42 +00:00
{
2021-09-11 15:10:32 +00:00
docs : {
sidebarPath : require.resolve ( './sidebars.js' ) ,
2023-07-31 03:47:23 +00:00
editUrl : 'https://github.com/woodpecker-ci/woodpecker/edit/main/docs/' ,
2022-08-31 23:52:52 +00:00
includeCurrentVersion : true ,
2023-07-26 18:06:43 +00:00
lastVersion : '1.0' ,
2022-08-31 23:52:52 +00:00
versions : {
2023-10-24 12:42:05 +00:00
current : {
2022-08-31 23:52:52 +00:00
label : 'Next' ,
banner : 'unreleased' ,
} ,
2023-07-25 10:41:58 +00:00
'1.0' : {
label : '1.0.x' ,
2023-11-14 13:45:44 +00:00
banner : 'unmaintained' ,
2023-07-25 10:41:58 +00:00
} ,
2023-10-24 12:42:05 +00:00
0.15 : {
2022-08-31 23:52:52 +00:00
label : '0.15.x' ,
2023-07-26 18:06:43 +00:00
banner : 'unmaintained' ,
2022-08-31 23:52:52 +00:00
} ,
} ,
2021-09-11 15:10:32 +00:00
} ,
2023-07-11 21:31:45 +00:00
blog : {
2023-08-09 13:23:13 +00:00
blogTitle : 'Blog' ,
blogDescription : 'A blog for release announcements, turorials...' ,
2023-07-11 21:31:45 +00:00
// postsPerPage: 'ALL',
// blogSidebarCount: 0,
} ,
2021-09-11 15:10:32 +00:00
theme : {
customCss : require.resolve ( './src/css/custom.css' ) ,
} ,
2023-11-05 11:47:42 +00:00
} satisfies Preset . Options ,
2021-09-11 15:10:32 +00:00
] ,
2023-06-04 03:07:39 +00:00
[
'redocusaurus' ,
{
// Plugin Options for loading OpenAPI files
specs : [
{
spec : 'swagger.json' ,
route : '/api/' ,
} ,
] ,
// Theme Options for modifying how redoc renders them
theme : {
// Change with your site colors
primaryColor : '#1890ff' ,
} ,
} ,
] ,
2021-09-11 15:10:32 +00:00
] ,
2022-09-25 17:04:47 +00:00
webpack : {
jsLoader : ( isServer ) = > ( {
loader : require.resolve ( 'esbuild-loader' ) ,
options : {
loader : 'tsx' ,
target : isServer ? 'node12' : 'es2017' ,
} ,
} ) ,
} ,
2023-11-05 09:43:44 +00:00
markdown : {
2023-11-05 11:47:42 +00:00
format : 'detect' ,
} ,
2021-09-11 15:10:32 +00:00
} ;
2023-11-05 09:43:44 +00:00
export default config ;