blob: bd463576d3d652cb0a9ed32596f3887250b4e720 [file] [log] [blame]
module.exports = {
title: 'Apache Teaclave (incubating)',
description: 'Apache Teaclave (incubating) is an open source universal secure computing platform, making computation on privacy-sensitive data safe and simple.',
base: '/',
head: [
['link', { rel: 'stylesheet', href: 'https://fonts.googleapis.com/css?family=Cutive+Mono|Roboto:100,300,400,500,700,900|Roboto+Condensed:300,400|Noto+Sans+SC:400,500,700,900' }],
['script', { src: 'https://use.fontawesome.com/releases/v5.15.0/js/all.js' } ],
],
themeConfig: {
search: false,
smoothScroll: true,
lastUpdated: 'Last Updated',
twitter: '@ApacheTeaclave',
domain: 'https://teaclave.apache.org',
dateFormat: 'MMMM D, YYYY',
nav: [
{ text: 'ABOUT', link: '/' },
{ text: 'POWERED BY', link: '/powered-by/' },
{ text: 'COMMUNITY', link: '/community/' },
{ text: 'DOWNLOAD', link: '/download/' },
{ text: 'CONTRIBUTORS', link: '/contributors/' },
{
text: 'DOCS',
link: '/docs/',
items: [
{ text: 'Teaclave', link: '/docs/' },
{ text: 'Teaclave SGX SDK', link: '/sgx-sdk-docs/' },
{ text: 'Teaclave TrustZone SDK', link: '/trustzone-sdk-docs/' },
{
text: 'APIS',
items: [
{ text: 'Teaclave Client SDK (Rust)', link: 'https://teaclave.apache.org/api-docs/client-sdk-rust/', target: '_self', rel: '' },
{ text: 'Teaclave Client SDK (Python)', link: 'https://teaclave.apache.org/api-docs/client-sdk-python/', target: '_self', rel: '' },
{ text: 'Teaclave SGX SDK', link: 'https://teaclave.apache.org/api-docs/sgx-sdk/', target: '_self', rel: '' },
{ text: 'Crates in Teaclave (Enclave)', link: 'https://teaclave.apache.org/api-docs/crates-enclave/', target: '_self', rel: '' },
{ text: 'Crates in Teaclave (App)', link: 'https://teaclave.apache.org/api-docs/crates-app/', target: '_self', rel: '' },
]
},
]
},
{ text: 'BLOG', link: '/blog/' },
{
text: 'REPOS',
link: 'https://github.com/apache/incubator-teaclave',
items: [
{ text: 'Teaclave', link: 'https://github.com/apache/incubator-teaclave'},
{ text: 'Teaclave SGX SDK', link: 'https://github.com/apache/incubator-teaclave-sgx-sdk'},
{ text: 'Teaclave TrustZone SDK', link: 'https://github.com/apache/incubator-teaclave-trustzone-sdk'},
{ text: 'Teaclave Website', link: 'https://github.com/apache/incubator-teaclave-website'},
]
},
{
text: 'ASF',
ariaLabel: 'Apache Software Foundation',
items: [
{ text: 'ASF Homepage', link: 'https://www.apache.org/' },
{ text: 'License', link: 'https://www.apache.org/licenses/' },
{ text: 'Sponsorship', link: 'https://www.apache.org/foundation/sponsorship.html' },
{ text: 'Security', link: 'https://www.apache.org/security/' },
{ text: 'Thanks', link: 'https://www.apache.org/foundation/thanks.html' },
{ text: 'Current Event', link: 'https://www.apache.org/events/current-event.html' },
]
}
],
sidebar: {
'/teaclave/':
[
{
title: 'Try',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave/docs/my-first-function',
'/teaclave/docs/functions-in-python',
'/teaclave/docs/builtin-functions',
'/teaclave/docs/azure-confidential-computing',
'/teaclave/docs/executing-wasm',
],
},
{
title: 'Design',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave/docs/threat-model',
'/teaclave/docs/mutual-attestation',
'/teaclave/docs/access-control',
'/teaclave/docs/build-system',
'/teaclave/docs/service-internals',
'/teaclave/docs/adding-executors',
'/teaclave/docs/papers-talks',
],
},
{
title: 'Contribute',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave/docs/development-tips',
'/teaclave/docs/rust-guideline',
],
},
{
title: 'Codebase',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave/attestation/',
'/teaclave/binder/',
'/teaclave/cli/',
'/teaclave/common/',
'/teaclave/config/',
'/teaclave/crypto/',
'/teaclave/dcap/',
'/teaclave/docker/',
'/teaclave/examples/',
'/teaclave/executor/',
'/teaclave/file_agent/',
'/teaclave/function/',
'/teaclave/keys/',
'/teaclave/rpc/',
'/teaclave/runtime/',
'/teaclave/sdk/',
'/teaclave/services/',
'/teaclave/tests/',
'/teaclave/third_party/',
'/teaclave/tool/',
'/teaclave/types/',
'/teaclave/worker/',
],
},
],
'/teaclave-sgx-sdk/': [
{
title: 'Development',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave-sgx-sdk/documents/developing-with-vscode',
'/teaclave-sgx-sdk/documents/is_x86_feature_detected-in-sgx-sdk',
],
},
{
title: 'Security',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave-sgx-sdk/documents/everything-about-cve-2020-5499',
],
},
],
'/teaclave-trustzone-sdk/': [
{
title: 'Development',
collapsable: false,
sidebarDepth: 0,
children: [
'/teaclave-trustzone-sdk/docs/getting-started-with-optee-for-qemu-armv8',
],
},
]
}
},
plugins: [
'@vuepress/medium-zoom',
'@vuepress/plugin-back-to-top',
[
'feed',
{
canonical_base: 'https://teaclave.apache.org',
}
],
[
'sitemap',
{
hostname: 'https://teaclave.apache.org'
}
],
[
'@vuepress/blog',
{
directories: [
{
id: 'blog',
dirname: 'blog',
path: '/blog/',
layout: 'IndexPost',
pagination: {
lengthPerPage: 100,
},
itemPermalink: '/blog/:year-:month-:day-:slug',
},
],
},
],
[
'vuepress-plugin-clean-urls',
{
normalSuffix: '/',
indexSuffix: '/',
notFoundPath: '/404.html',
},
],
[
'seo',
{
customMeta: (add, context) => {
const {
$site, // Site configs provided by Vuepress
$page, // Page configs provided by Vuepress
// All the computed options from above:
siteTitle, title, description, author, tags,
twitterCard, type, url, image, publishedAt, modifiedAt,
} = context;
add('twitter:site', $site.themeConfig.twitter);
},
}
],
[
'@vuepress/google-analytics',
{
'ga': 'UA-192555999-1'
}
]
],
markdown: {
extendMarkdown(md) {
md.use(require('markdown-it-toc-done-right'))
md.use(require('markdown-it-footnote'))
}
},
chainMarkdown(config) {
const { PLUGINS } = require('@vuepress/markdown')
const originalLinkPlugin = require('@vuepress/markdown/lib/link.js');
config
.plugins
.delete(PLUGINS.CONVERT_ROUTER_LINK)
const linkPlugin = function (md) {
const result = originalLinkPlugin.apply(this, arguments);
const close = md.renderer.rules.link_close;
md.renderer.rules.link_close = function() {
return close.apply(this, arguments).replace('<OutboundLink/>', '');
}
return result;
};
config
.plugin(PLUGINS.CONVERT_ROUTER_LINK)
.use(linkPlugin, [{
// The config.markdown.externalLinks options https://vuepress.vuejs.org/config/#markdown-externallinks
target: '_blank',
rel: 'noopener noreferrer'
}])
},
}