blob: 0503c07ae7cff49886d65855711f83a02ad8ff4e [file]
// @ts-check
// `@type` JSDoc annotations allow editor autocompletion and type checking
// (when paired with `@ts-check`).
// There are various equivalent ways to declare your Docusaurus config.
// See: https://docusaurus.io/docs/api/docusaurus-config
import { themes as prismThemes } from 'prism-react-renderer';
// This runs in Node.js - Don't use client-side code here (browser APIs, JSX...)
/** @type {import('@docusaurus/types').Config} */
const config = {
title: 'Apache Teaclave (incubating)',
tagline: 'Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.',
favicon: undefined,
// Future flags, see https://docusaurus.io/docs/api/docusaurus-config#future
future: {
v4: true, // Improve compatibility with the upcoming Docusaurus v4
},
// Set the production url of your site here
url: 'https://teaclave.apache.org',
// Set the /<baseUrl>/ pathname under which your site is served
// For GitHub pages deployment, it is often '/<projectName>/'
baseUrl: '/',
// GitHub pages deployment config.
// If you aren't using GitHub pages, you don't need these.
organizationName: 'apache', // Usually your GitHub org/user name.
projectName: 'incubator-teaclave', // Usually your repo name.
onBrokenLinks: 'warn',
onBrokenMarkdownLinks: 'warn',
markdown: {
format: 'detect',
parseFrontMatter: async (params) => {
const result = await params.defaultParseFrontMatter(params);
result.frontMatter.slug = result.frontMatter.permalink;
return result;
},
// Replace autolinks to avoid mdx rendering issues.
preprocessor: (file) => {
const autolinks = file.fileContent.match(/<((https?:)|(mailto:))[\S]+>/gi);
autolinks?.forEach((link) => {
file.fileContent = file.fileContent.replaceAll(link, `[${link.slice(1, -1)}](${link.slice(1, -1)})`);
});
return file.fileContent;
},
},
// Even if you don't use internationalization, you can use this field to set
// useful metadata like html lang. For example, if your site is Chinese, you
// may want to replace "en" with "zh-Hans".
i18n: {
defaultLocale: 'en',
locales: ['en'],
},
presets: [
[
'classic',
/** @type {import('@docusaurus/preset-classic').Options} */
({
docs: {
sidebarPath: './sidebars.js',
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
'https://github.com/apache/incubator-teaclave-website/tree/master/sgx-sdk-api-docs',
routeBasePath: '/',
include: [
'*.md',
'api-docs/*.md',
'blog/*.md',
'teaclave/**/*.md',
'teaclave-sgx-sdk/documents/*.md',
'teaclave-trustzone-sdk/docs'
],
exclude: [
'teaclave/sdk/rust/target/*',
'teaclave-trustzone-sdk/optee-utee/target/*',
'teaclave-trustzone-sdk/optee-teec/target/*',
]
},
blog: {
showReadingTime: false,
blogSidebarTitle: 'All posts',
blogSidebarCount: 'ALL',
feedOptions: {
type: ['rss', 'atom'],
xslt: true,
},
// Please change this to your repo.
// Remove this to remove the "edit this page" links.
editUrl:
'https://github.com/apache/incubator-teaclave-website/tree/master/site/blog',
// Useful options to enforce blogging best practices
onInlineTags: 'warn',
onInlineAuthors: 'ignore',
onUntruncatedBlogPosts: 'warn',
},
theme: {
customCss: './src/css/custom.css',
},
}),
],
],
themeConfig:
/** @type {import('@docusaurus/preset-classic').ThemeConfig} */
({
// Replace with your project's social card
image: 'img/docusaurus-social-card.jpg',
navbar: {
title: undefined,
logo: {
alt: 'Apache Teaclave',
src: 'img/logo.svg',
style: {
height: '5.6rem',
paddingLeft: '1.6rem',
position: 'relative',
top: '-1.8rem',
}
},
items: [
{ to: '/', label: 'About', position: 'right' },
{ to: '/powered-by', label: 'Powered By', position: 'right' },
{
to: '/community',
label: 'Community',
items: [
{ label: 'Contributing', to: '/contributing' },
{ label: 'Contributors', to: '/contributors' },
],
position: 'right',
},
{ to: '/download', label: 'Download', position: 'right' },
{
to: '/docs',
label: 'Docs',
items: [
{ label: 'Teaclave', to: '/docs/' },
{ label: 'Teaclave SGX SDK', to: '/sgx-sdk-docs/' },
{ label: 'Teaclave TrustZone SDK', to: '/trustzone-sdk-docs/' },
{ label: 'Teaclave Client SDK (Rust)', href: 'https://teaclave.apache.org/api-docs/client-sdk-rust/', target: '_self', rel: '' },
{ label: 'Teaclave Client SDK (Python)', href: 'https://teaclave.apache.org/api-docs/client-sdk-python/', target: '_self', rel: '' },
{ label: 'Teaclave SGX SDK', href: 'https://teaclave.apache.org/api-docs/sgx-sdk/', target: '_self', rel: '' },
{ label: 'Teaclave TrustZone SDK (Host)', href: 'https://teaclave.apache.org/api-docs/trustzone-sdk/optee-teec', target: '_self', rel: '' },
{ label: 'Teaclave TrustZone SDK (TA)', href: 'https://teaclave.apache.org/api-docs/trustzone-sdk/optee-utee', target: '_self', rel: '' },
{ label: 'Crates in Teaclave (Enclave)', href: 'https://teaclave.apache.org/api-docs/crates-enclave/', target: '_self', rel: '' },
{ label: 'Crates in Teaclave (App)', href: 'https://teaclave.apache.org/api-docs/crates-app/', target: '_self', rel: '' },
],
position: 'right',
},
{ to: '/blog', label: 'Blog', position: 'right' },
{
label: 'Repos',
items: [
{ label: 'Teaclave', href: 'https://github.com/apache/incubator-teaclave' },
{ label: 'Teaclave SGX SDK', href: 'https://github.com/apache/incubator-teaclave-sgx-sdk' },
{ label: 'Teaclave TrustZone SDK', href: 'https://github.com/apache/incubator-teaclave-trustzone-sdk' },
{ label: 'Teaclave Java TEE SDK', href: 'https://github.com/apache/incubator-teaclave-java-tee-sdk' },
{ label: 'Teaclave Website', href: 'https://github.com/apache/incubator-teaclave-website' }
],
position: 'right',
},
{
label: 'ASF',
items: [
{ label: 'ASF Homepage', href: 'https://www.apache.org/' },
{ label: 'License', href: 'https://www.apache.org/licenses/' },
{ label: 'Sponsorship', href: 'https://www.apache.org/foundation/sponsorship.html' },
{ label: 'Security', href: 'https://www.apache.org/security/' },
{ label: 'Privacy', href: 'https://privacy.apache.org/policies/privacy-policy-public.html' },
{ label: 'Thanks', href: 'https://www.apache.org/foundation/thanks.html' },
{ label: 'Events', href: 'https://www.apache.org/events/current-event.html' },
],
position: 'right',
},
],
},
footer: {
style: 'dark',
copyright: `<div style="font-size:.7rem; text-align:left;">`
+ `Apache Teaclave (incubating) is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. `
+ `Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. `
+ `While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF. `
+ `Copyright © 2020 The Apache Software Foundation. `
+ `Licensed under the Apache License, Version 2.0. Apache Teaclave, Apache, the Apache feather, and the Apache Teaclave project logo are either trademarks or registered trademarks of the Apache Software Foundation.`
+ `</div>`,
},
prism: {
theme: prismThemes.github,
darkTheme: prismThemes.dracula,
},
}),
};
export default config;