Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit 5e7b2be
Author: Aaron Klinker <[email protected]>
Date:   Sun May 14 10:08:22 2023 -0500

    docs: Add publish action back to homepage

commit 7a2b5cb
Author: Aaron <[email protected]>
Date:   Sun May 14 10:01:55 2023 -0500

    docs: Add links to symbols (#32)

commit 26972a6
Author: Aaron <[email protected]>
Date:   Sat May 13 10:10:19 2023 -0500

    docs: Update links

commit 55b8436
Author: Aaron <[email protected]>
Date:   Sat May 13 10:05:49 2023 -0500

    New Job Scheduler Package (#31)

commit 5641e01
Author: Aaron Klinker <[email protected]>
Date:   Wed May 10 22:05:08 2023 -0500

    docs: Update social image

commit c1bfb5d
Author: Aaron <[email protected]>
Date:   Wed May 10 19:48:55 2023 -0500

    docs: Generate API reference (#30)

commit e11d912
Author: Changelog Action <[email protected]>
Date:   Tue May 2 16:02:07 2023 +0000

    chore(release): proxy-service-v1.2.0

commit bbb1bc2
Author: Aaron <[email protected]>
Date:   Tue May 2 10:58:23 2023 -0500

    feat(proxy-service): Export `flattenPromise` helper function (#26)
  • Loading branch information
aklinker1 committed May 14, 2023
1 parent bcd2946 commit 8267e8e
Show file tree
Hide file tree
Showing 63 changed files with 3,034 additions and 878 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/publish-packages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ jobs:
strategy:
max-parallel: 1
matrix:
package: [fake-browser, messaging, storage, proxy-service, isolated-element]
package: [fake-browser, messaging, storage, proxy-service, isolated-element, job-scheduler]
runs-on: ubuntu-22.04
steps:
- name: Checkout Repo
Expand Down
1 change: 1 addition & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@ dist/
lib/
pnpm-lock.yaml
/docs/.vitepress/cache
/docs/api/*
11 changes: 6 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,12 @@

A set of core libraries and tools for building web extensions. These libraries are built on top of [`webextension-polyfill`](https://www.npmjs.com/package/webextension-polyfill) and support all browsers.

- [`@webext-core/messaging`](https://webext-core.aklinker1.io/messaging): Light weight, type-safe wrapper around the web extension messaging APIs
- [`@webext-core/storage`](https://webext-core.aklinker1.io/storage): Local storage based, **type-safe** wrappers around the storage API
- [`@webext-core/fake-browser`](https://webext-core.aklinker1.io/fake-browser): An in-memory implementation of `webextension-polyfill` for testing
- [`@webext-core/proxy-service`](https://webext-core.aklinker1.io/proxy-service): Write services that can be called from any JS context, but run in the background service worker
- [`@webext-core/isolated-element`](https://webext-core.aklinker1.io/isolated-element): Isolate content script UIs from the page's styles
- [`@webext-core/messaging`](https://webext-core.aklinker1.io/guide/messaging/): Light weight, type-safe wrapper around the web extension messaging APIs
- [`@webext-core/storage`](https://webext-core.aklinker1.io/guide/storage/): Local storage based, **type-safe** wrappers around the storage API
- [`@webext-core/job-scheduler`](https://webext-core.aklinker1.io/guide/job-scheduler/): Schedule reoccuring jobs using the Alarms API
- [`@webext-core/fake-browser`](https://webext-core.aklinker1.io/guide/fake-browser/): An in-memory implementation of `webextension-polyfill` for testing
- [`@webext-core/proxy-service`](https://webext-core.aklinker1.io/guide/proxy-service/): Write services that can be called from any JS context, but run in the background service worker
- [`@webext-core/isolated-element`](https://webext-core.aklinker1.io/guide/isolated-element/): Isolate content script UIs from the page's styles

## Documentation

Expand Down
238 changes: 114 additions & 124 deletions docs/.vitepress/config.ts
Original file line number Diff line number Diff line change
@@ -1,21 +1,100 @@
import { defineConfig } from 'vitepress';
import { defineTypescriptDocs } from './plugins/typescript-docs';

const ogDescription = 'Next Generation Frontend Tooling';
const ogTitle = 'Web Ext Core';
const ogUrl = 'https://webext-core.aklinker1.io';

const packages = {
text: 'Packages',
items: [
{ text: 'storage', link: '/storage/' },
{ text: 'messaging', link: '/messaging/' },
{ text: 'fake-browser', link: '/fake-browser/' },
{ text: 'proxy-service', link: '/proxy-service/' },
{ text: 'isolated-element', link: '/isolated-element/' },
].sort((l, r) => l.text.localeCompare(r.text)),
const packageDirnames = [
'storage',
'messaging',
'job-scheduler',
'proxy-service',
'isolated-element',
'fake-browser',
];

const packagePages = {
'fake-browser': [
{
text: 'Get Started',
link: '/guide/fake-browser/',
},
{
text: 'Testing Frameworks',
link: '/guide/fake-browser/testing-frameworks',
},
{
text: 'Reseting State',
link: '/guide/fake-browser/reseting-state',
},
{
text: 'Triggering Events',
link: '/guide/fake-browser/triggering-events',
},
{
text: 'Implemented APIs',
link: '/guide/fake-browser/implemented-apis',
},
],
'isolated-element': [
{
text: 'Get Started',
link: '/guide/isolated-element/',
},
],
messaging: [
{
text: 'Get Started',
link: '/guide/messaging/',
},
{
text: 'Protocol Maps',
link: '/guide/messaging/protocol-maps',
},
],
'proxy-service': [
{
text: 'Get Started',
link: '/guide/proxy-service/',
},
{
text: 'Defining Services',
link: '/guide/proxy-service/defining-services',
},
],
storage: [
{
text: 'Get Started',
link: '/guide/storage/',
},
{
text: 'Typescript',
link: '/guide/storage/typescript',
},
],
'job-scheduler': [
{
text: 'Get Started',
link: '/guide/job-scheduler/',
},
],
};

const packagesItemGroup = packageDirnames.map(dirname => ({
text: dirname,
link: `/guide/${dirname}/`,
items: packagePages[dirname],
}));

const apiItemGroup = {
text: 'API',
items: packageDirnames.map(dirname => ({ text: dirname, link: `/api/${dirname}` })),
};

export default defineConfig({
...defineTypescriptDocs(packageDirnames),

title: `Web Ext Core`,
description: 'Web Extension Development Made Easy',

Expand All @@ -26,8 +105,14 @@ export default defineConfig({
// ['meta', { property: 'og:image', content: ogImage }],
['meta', { property: 'og:url', content: ogUrl }],
['meta', { property: 'og:description', content: ogDescription }],
['meta', { name: 'twitter:card', content: 'summary_large_image' }],
['meta', { name: 'twitter:site', content: '@vite_js' }],
[
'meta',
{
name: 'twitter:card',
content:
'https://repository-images.githubusercontent.com/562524328/c0cd6d4b-23ff-4536-97ab-f19a57cc23e3',
},
],
['meta', { name: 'theme-color', content: '#646cff' }],
// <script async defer data-website-id="04aff3ed-57d7-4ee0-9faf-e24a39adeafa" src="https://stats.aklinker1.io/umami.js"></script>
[
Expand All @@ -44,6 +129,15 @@ export default defineConfig({
themeConfig: {
logo: '/logo.svg',

search: {
provider: 'algolia',
options: {
appId: 'W9IBYBNTPJ',
apiKey: 'c8c2d0d5e6f058c31b8539fc58e259af',
indexName: 'webext-core-docs',
},
},

editLink: {
pattern: 'https:/aklinker1/webext-core/edit/main/docs/:path',
text: 'Suggest changes to this page',
Expand All @@ -56,129 +150,25 @@ export default defineConfig({
copyright: 'Copyright © 2022-present Aaron Klinker & Web Ext Core Contributors',
},

nav: [{ text: 'Guide', link: '/guide/' }, packages],
nav: [{ text: 'Guide', link: '/guide/' }, apiItemGroup],

sidebar: {
'/guide/': [
{
text: 'Guide',
items: [
{
text: 'Getting Started',
link: '/guide/',
},
{
text: 'Browser Support',
link: '/guide/browser-support',
},
{
text: 'Contributing',
link: '/guide/contributing',
},
],
text: 'Introduction',
link: '/guide/',
},
packages,
],
'/fake-browser/': [
{
text: 'fake-browser',
items: [
{
text: 'Get Started',
link: '/fake-browser/',
},
{
text: 'Testing Frameworks',
link: '/fake-browser/testing-frameworks',
},
{
text: 'Reseting State',
link: '/fake-browser/reseting-state',
},
{
text: 'Triggering Events',
link: '/fake-browser/triggering-events',
},
{
text: 'Implemented APIs',
link: '/fake-browser/implemented-apis',
},
],
text: 'Browser Support',
link: '/guide/browser-support',
},
packages,
],
'/isolated-element/': [
{
text: 'isolated-element',
items: [
{
text: 'Get Started',
link: '/isolated-element/',
},
],
},
packages,
],
'/messaging/': [
{
text: 'messaging',
items: [
{
text: 'Get Started',
link: '/messaging/',
},
{
text: 'Protocol Maps',
link: '/messaging/protocol-maps',
},
{
text: 'API',
link: '/messaging/api',
},
],
},
packages,
],
'/proxy-service/': [
{
text: 'proxy-service',
items: [
{
text: 'Get Started',
link: '/proxy-service/',
},
{
text: 'Variants',
link: '/proxy-service/variants',
},
{
text: 'API',
link: '/proxy-service/api',
},
],
},
packages,
],
'/storage/': [
{
text: 'storage',
items: [
{
text: 'Get Started',
link: '/storage/',
},
{
text: 'API',
link: '/storage/api',
},
{
text: 'Typescript',
link: '/storage/typescript',
},
],
text: 'Contributing',
link: '/guide/contributing',
},
packages,
...packagesItemGroup,
],
'/api/': [apiItemGroup],
},
},
});
Loading

0 comments on commit 8267e8e

Please sign in to comment.