Skip to content

Commit a479f78

Browse files
committed
feat: add Messenger API docs site with local search
Docusaurus site for browsing controller messenger actions/events, with offline search powered by docusaurus-search-local.
1 parent 8fe23aa commit a479f78

114 files changed

Lines changed: 1614 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
name: Messenger API Docs
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
concurrency:
10+
group: ${{ github.workflow }}-${{ github.ref }}
11+
cancel-in-progress: true
12+
13+
permissions:
14+
contents: read
15+
16+
jobs:
17+
build-docs:
18+
name: Build Messenger API docs
19+
runs-on: ubuntu-latest
20+
steps:
21+
- name: Checkout and setup environment
22+
uses: MetaMask/action-checkout-and-setup@v2
23+
with:
24+
is-high-risk-environment: false
25+
26+
- name: Generate Messenger docs
27+
run: yarn docs:messenger:generate
28+
29+
- name: Install docs-site dependencies
30+
run: npm --prefix docs-site install
31+
32+
- name: Build Docusaurus site
33+
run: npm --prefix docs-site run build
34+
35+
- name: Upload build artifact (PR)
36+
if: github.event_name == 'pull_request'
37+
uses: actions/upload-artifact@v4
38+
with:
39+
name: messenger-api-docs
40+
path: docs-site/build/
41+
retention-days: 7
42+
43+
- name: Upload Pages artifact (main)
44+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
45+
uses: actions/upload-pages-artifact@v3
46+
with:
47+
path: docs-site/build/
48+
49+
deploy:
50+
name: Deploy to GitHub Pages
51+
if: github.ref == 'refs/heads/main' && github.event_name == 'push'
52+
needs: build-docs
53+
runs-on: ubuntu-latest
54+
permissions:
55+
pages: write
56+
id-token: write
57+
environment:
58+
name: github-pages
59+
url: ${{ steps.deployment.outputs.page_url }}
60+
steps:
61+
- name: Deploy to GitHub Pages
62+
id: deployment
63+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,14 @@ scripts/coverage
3737
# typescript
3838
packages/*/*.tsbuildinfo
3939

40+
# Messenger API docs site (generated)
41+
docs-site/docs/
42+
docs-site/sidebars.ts
43+
docs-site/build/
44+
docs-site/.docusaurus/
45+
docs-site/node_modules/
46+
docs-site/package-lock.json
47+
4048
# Emacs
4149
\#*\#
4250
.#*

docs-site/docusaurus.config.ts

Lines changed: 97 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,97 @@
1+
import type * as Preset from '@docusaurus/preset-classic';
2+
import type { Config } from '@docusaurus/types';
3+
import { themes } from 'prism-react-renderer';
4+
5+
const codeTheme = themes.dracula;
6+
7+
const config: Config = {
8+
title: 'MetaMask Core Messenger API',
9+
tagline: 'Action and event reference for the MetaMask controller messenger',
10+
url: 'https://metamask.github.io',
11+
baseUrl: '/core/',
12+
favicon: 'img/favicons/favicon-96x96.png',
13+
14+
onBrokenLinks: 'warn',
15+
16+
markdown: {
17+
hooks: {
18+
onBrokenMarkdownLinks: 'warn',
19+
},
20+
},
21+
22+
i18n: {
23+
defaultLocale: 'en',
24+
locales: ['en'],
25+
},
26+
27+
themes: [
28+
[
29+
'@easyops-cn/docusaurus-search-local',
30+
{
31+
docsRouteBasePath: '/',
32+
hashed: true,
33+
indexBlog: false,
34+
highlightSearchTermsOnTargetPage: true,
35+
},
36+
],
37+
],
38+
39+
presets: [
40+
[
41+
'classic',
42+
{
43+
docs: {
44+
routeBasePath: '/',
45+
sidebarPath: './sidebars.ts',
46+
breadcrumbs: false,
47+
},
48+
blog: false,
49+
theme: {
50+
customCss: './src/css/custom.css',
51+
},
52+
} satisfies Preset.Options,
53+
],
54+
],
55+
56+
themeConfig: {
57+
colorMode: {
58+
respectPrefersColorScheme: true,
59+
},
60+
navbar: {
61+
logo: {
62+
alt: 'MetaMask logo',
63+
src: 'img/metamask-logo.svg',
64+
srcDark: 'img/metamask-logo-dark.svg',
65+
},
66+
hideOnScroll: false,
67+
items: [
68+
{
69+
href: 'https://github.com/MetaMask/core',
70+
label: 'GitHub',
71+
position: 'right',
72+
},
73+
],
74+
},
75+
docs: {
76+
sidebar: {
77+
autoCollapseCategories: false,
78+
},
79+
},
80+
footer: {
81+
logo: {
82+
alt: 'MetaMask logo',
83+
src: 'img/metamask-logo.svg',
84+
srcDark: 'img/metamask-logo-dark.svg',
85+
href: 'https://metamask.io/',
86+
},
87+
copyright: `\u00a9 ${new Date().getFullYear()} MetaMask \u2022 A Consensys Formation`,
88+
},
89+
prism: {
90+
theme: codeTheme,
91+
defaultLanguage: 'typescript',
92+
additionalLanguages: ['bash', 'json'],
93+
},
94+
} satisfies Preset.ThemeConfig,
95+
};
96+
97+
export default config;

docs-site/package.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"name": "messenger-api-docs",
3+
"version": "0.0.0",
4+
"private": true,
5+
"scripts": {
6+
"build": "docusaurus build",
7+
"clear": "docusaurus clear",
8+
"serve": "docusaurus serve",
9+
"start": "docusaurus start"
10+
},
11+
"dependencies": {
12+
"@docusaurus/core": "^3.9.0",
13+
"@docusaurus/preset-classic": "^3.9.0",
14+
"@easyops-cn/docusaurus-search-local": "^0.55.0",
15+
"prism-react-renderer": "^2.4.1",
16+
"react": "^18.3.1",
17+
"react-dom": "^18.3.1"
18+
},
19+
"devDependencies": {
20+
"@docusaurus/types": "^3.9.0",
21+
"typescript": "~5.3.3"
22+
},
23+
"engines": {
24+
"node": ">=18.0"
25+
}
26+
}

0 commit comments

Comments
 (0)