diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md deleted file mode 100644 index 1705504..0000000 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ /dev/null @@ -1,44 +0,0 @@ ---- -name: Bug report -about: Create a report to help us improve -title: '' -labels: '' -assignees: '' ---- - -### Summary: - -[Provide a brief summary of the issue.] - -### Environment: - -- Operating System: -- Browser (If applicable): -- Project Version: -- Additional relevant information: - -### Steps to Reproduce: - -1. [First step] -2. [Second step] -3. [And so on…] - -### Expected Behavior: - -[Provide a detailed description of the expected behavior.] - -### Actual Behavior: - -[Provide a detailed description of the actual behavior you are experiencing.] - -### Screenshots (if applicable): - -[Attach screenshots to help illustrate the issue.] - -### Additional Information: - -[Any additional information, configuration, or data that might be necessary to reproduce the issue.] - -### Potential Solutions (if applicable): - -[Optional: Provide any thoughts or ideas you might have on potential solutions to the issue.] diff --git a/.github/ISSUE_TEMPLATE/feature_request.md b/.github/ISSUE_TEMPLATE/feature_request.md deleted file mode 100644 index 7a573c6..0000000 --- a/.github/ISSUE_TEMPLATE/feature_request.md +++ /dev/null @@ -1,19 +0,0 @@ ---- -name: Feature request -about: Suggest an idea for this project -title: '' -labels: '' -assignees: '' ---- - -### Feature Request: - -[Quick summary of the feature you would like to be added.] - -### Why is this feature important? - -[Explain why you think this feature would be beneficial.] - -### How should it work? - -[Briefly describe how you envision this feature working, or how you would like it to be implemented.] diff --git a/.github/ISSUE_TEMPLATE/simple.md b/.github/ISSUE_TEMPLATE/simple.md deleted file mode 100644 index 4aa0240..0000000 --- a/.github/ISSUE_TEMPLATE/simple.md +++ /dev/null @@ -1,34 +0,0 @@ ---- -name: Simple Template -about: Create an issue to help us improve -title: '' -labels: '' -assignees: '' ---- - -### Summary: - -[Provide a brief summary of the issue] - -### Environment: - -- Operating System: -- Browser (If applicable): -- Additional relevant information (If applicable): - -### Steps to Reproduce: - -1. [First step] -2. [And so on…] - -### Expected Behavior: - -[Description of the expected behavior] - -### Actual Behavior: - -[Description of the actual behavior you are experiencing] - -### Screenshots (if applicable): - -[Attach screenshots to help illustrate the issue] diff --git a/.github/pull_request_template.md b/.github/pull_request_template.md deleted file mode 100644 index eefb4d1..0000000 --- a/.github/pull_request_template.md +++ /dev/null @@ -1,30 +0,0 @@ -### Description: - -[Provide a brief description of the changes in the pull request.] - -### Related Issue(s): - -[Link to the related Issue(s), if any.] - -### Changes Included: - -- [ ] Bugfix (a change that fixes an issue) -- [ ] New feature (a change that adds new functionality) -- [ ] Refactoring (a change that improves code quality and/or architecture) -- [ ] Other (explain below) - -### Implementation Details: - -[Explain any new decisions made during the implementation of the changes.] - -### Testing: - -[Describe how the changes have been tested.] - -### Checklist: - -- [ ] My code follows the style guidelines of this project -- [ ] I have performed a self-review of my own code -- [ ] I have commented my code, particularly in hard-to-understand areas -- [ ] My changes generate no new warnings -- [ ] Any dependent changes have been merged and published in downstream modules diff --git a/.github/workflows/canary-release.yml b/.github/workflows/canary-release.yml deleted file mode 100644 index 8b4d5a5..0000000 --- a/.github/workflows/canary-release.yml +++ /dev/null @@ -1,60 +0,0 @@ -name: Canary Release -on: - pull_request: - -concurrency: - group: ${{ github.workflow }} - cancel-in-progress: false - -jobs: - publish-canary: - if: startsWith(github.head_ref, 'topic-') - runs-on: ubuntu-latest - steps: - - name: Get branch name - shell: bash - run: echo "name=$(echo $GITHUB_HEAD_REF | sed 's/refs\/heads\///' | tr '/' '-')" >> $GITHUB_OUTPUT - id: branch_name - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: 1 - ref: ${{ github.event.pull_request.head.sha }} - - - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'yarn' - - - name: Install dependencies - run: | - yarn install --frozen-lockfile - yarn lerna link - - - name: Build packages - run: yarn build - - - name: Publish - id: publish - run: | - echo ".npmrc" >> .git/info/exclude - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - mkdir ${{ runner.temp }}/${{ steps.branch_name.outputs.name }} - yarn lerna publish prerelease --canary --no-private --no-verify-access --yes --exact --dist-tag=${{ steps.branch_name.outputs.name }} --preid=${{ steps.branch_name.outputs.name }} --summary-file=${{ runner.temp }}/${{ steps.branch_name.outputs.name }} - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - uses: actions/github-script@v6 - with: - github-token: ${{secrets.GITHUB_TOKEN}} - script: | - const fs = require('fs'); - const summary = JSON.parse(fs.readFileSync('${{ runner.temp }}/${{ steps.branch_name.outputs.name }}/lerna-publish-summary.json', 'utf8')); - const packages = summary.map(pkg => `**${pkg.packageName}@${pkg.version}**\n\`\`\`bash\nyarn add ${pkg.packageName}@${{ steps.branch_name.outputs.name }}\n\`\`\``).join('\n'); - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: `🎉 Canary Release!\n\n${packages}` - }) diff --git a/.github/workflows/prerelease.yml b/.github/workflows/prerelease.yml deleted file mode 100644 index 717b016..0000000 --- a/.github/workflows/prerelease.yml +++ /dev/null @@ -1,131 +0,0 @@ -name: Prerelease -on: - push: - branches: - - 'main' - -jobs: - prerelease: - concurrency: - group: ${{ github.workflow }} - cancel-in-progress: true - - if: github.actor_id != vars.CI_BOT_ID && !contains(github.event.head_commit.message, format('chore{0} release', ':')) - runs-on: ubuntu-latest - steps: - - id: create_token - uses: tibdex/github-app-token@v2 - with: - app_id: ${{ secrets.CI_APP_ID }} - private_key: ${{ secrets.CI_APP_PRIVATE_KEY }} - permissions: >- - { "contents": "write", "statuses": "write" } - - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: 1 - token: ${{ steps.create_token.outputs.token }} - - - name: Extract version from lerna.json - run: echo "value=$(jq .version lerna.json -r)" >> $GITHUB_OUTPUT - id: current_version - - - name: Determine Prerelease Preid - shell: bash - run: echo "value=$([[ ${{ steps.current_version.outputs.value }} =~ beta ]] && echo "beta" || echo "alpha")" >> $GITHUB_OUTPUT - id: preid - - - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'yarn' - - - name: Install dependencies - run: | - yarn install --frozen-lockfile - yarn lerna link - - - name: Check for changed packages - id: changes - run: | - error_filename="${{ runner.temp }}/changes_errors.log"; - changes=$(echo $(yarn -s lerna changed --json --loglevel 2>>$error_filename) 2>>$error_filename); - cat $error_filename; - count=$([[ -n $changes ]] && echo $(echo $changes | jq '. | map(select(.private == false)) | length')) || echo 0 - changed=$([[ $changes > 0 ]] && echo "true" || echo "false") - echo "changes=$count" >> $GITHUB_OUTPUT - echo "changed=$changed" >> $GITHUB_OUTPUT - - echo "changes: $changes - changed: $changed" - - - name: Build packages - run: yarn build - - - name: Publish - id: publish - if: ${{ steps.changes.outputs.changed == 'true' }} - run: | - git config --global user.name '${{ vars.CI_APP_NAME }}[bot]' - git config --global user.email '${{ vars.CI_BOT_ID }}+${{ vars.CI_APP_NAME }}[bot]@users.noreply.github.com' - echo ".npmrc" >> .git/info/exclude - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - yarn lerna version prerelease --no-private --conventional-commits --conventional-prerelease --preid=${{ steps.preid.outputs.value }} --yes - yarn lerna publish from-git --summary-file=${{ runner.temp }} --yes - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - GITHUB_TOKEN: ${{ steps.create_token.outputs.token }} - - # - name: Run release-pr.yaml workflow - # if: ${{ steps.changes.outputs.changed == 'true' }} - # run: | - # tag=$(git describe --tags $(git rev-list --tags --max-count=1)) - # echo "${{ runner.temp }}/lerna-publish-summary.json"; - # if [[ -f "${{ runner.temp }}/lerna-publish-summary.json" ]]; then - # gh workflow run release-pr.yml --ref $tag; - # fi; - # env: - # GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - - - name: Get release commit - if: ${{ steps.changes.outputs.changed == 'true' }} - shell: bash - run: echo "sha=$(git rev-parse --verify HEAD)" >> $GITHUB_OUTPUT - id: release_commit - - - uses: actions/github-script@v6 - if: ${{ steps.changes.outputs.changed == 'true' }} - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const fs = require("fs/promises"); - let summary = null; - - try { - summary = await fs.readFile( - "${{ runner.temp }}/lerna-publish-summary.json", - "utf8" - ); - } catch { - console.log("No new releases!"); - } - - if (!summary) return; - - summary = JSON.parse(summary); - - const packages = summary - .map( - (pkg) => - `**${pkg.packageName}@${pkg.version}**\n\`\`\`bash\nyarn add ${pkg.packageName}@${pkg.version}\n\`\`\`` - ) - .join("\n"); - - const preid = "${{ steps.preid.outputs.value }}"; - - github.rest.repos.createCommitComment({ - commit_sha: "${{ steps.release_commit.outputs.sha }}", - owner: context.repo.owner, - repo: context.repo.repo, - body: `🎉 ${preid === 'alpha' ? 'Alpha' : 'Beta'} Release!\n\n${packages}`, - }); diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml deleted file mode 100644 index 6c2a3f0..0000000 --- a/.github/workflows/publish.yml +++ /dev/null @@ -1,83 +0,0 @@ -name: Publish -on: - pull_request: - branches: - - 'main' - types: - - closed - -concurrency: - group: ${{ github.workflow }} - cancel-in-progress: false - -jobs: - publish: - if: ${{ (github.head_ref == 'release-stable' || github.head_ref == 'release-beta') && github.event.pull_request.merged == true }} - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: 1 - - - name: Extract version from lerna.json - run: echo "value=$(jq .version lerna.json -r)" >> $GITHUB_OUTPUT - id: current_version - - - name: Determine Release type - shell: bash - run: echo "value=$([[ ${{ steps.current_version.outputs.value }} =~ beta ]] && echo "beta" || echo "stable")" >> $GITHUB_OUTPUT - id: release_type - - - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'yarn' - - - name: Install dependencies - run: | - yarn install --frozen-lockfile - yarn lerna link - - - name: Bump versions - id: bump - run: | - git config --global user.name 'github-actions'; - git config --global user.email 'github-actions@users.noreply.github.com'; - echo ".npmrc" >> .git/info/exclude - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc; - yarn lerna publish from-package --summary-file=${{ runner.temp }}/ --yes - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Get release commit - shell: bash - run: | - COMMIT_HASH=$(git rev-parse --verify HEAD); - echo "sha=$COMMIT_HASH" >> $GITHUB_OUTPUT - id: release_commit - - - uses: actions/github-script@v6 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const fs = require('fs'); - const releaseType = "${{ steps.release_type.outputs.value }}"; - const summary = JSON.parse(fs.readFileSync('${{ runner.temp }}/lerna-publish-summary.json', 'utf8')); - const packages = summary.map(pkg => `**${pkg.packageName}@${pkg.version}**\n\`\`\`bash\nyarn add ${pkg.packageName}@${{ steps.branch_name.outputs.name }}\n\`\`\``).join('\n'); - - const body = `🎉 ${releaseType === 'stable' ? "Stable" : "Beta"} Release!\n\n${packages}` - - github.rest.issues.createComment({ - issue_number: context.issue.number, - owner: context.repo.owner, - repo: context.repo.repo, - body: body - }); - - github.rest.repos.createCommitComment({ - commit_sha: "${{ steps.release_commit.outputs.sha }}", - owner: context.repo.owner, - repo: context.repo.repo, - body, - }); diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml deleted file mode 100644 index 5e9c964..0000000 --- a/.github/workflows/release-pr.yml +++ /dev/null @@ -1,144 +0,0 @@ -name: Release PR -on: - push: - tags: - - 'v[0-9]+.[0-9]+.[0-9]+-beta.[0-9]+' - - 'v[0-9]+.[0-9]+.[0-9]+-alpha.[0-9]+' - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }} - cancel-in-progress: true - -jobs: - delete-release-prs: - runs-on: ubuntu-latest - steps: - - uses: actions/github-script@v6 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const { data: pullRequests } = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: "open", - }); - for (const pr of pullRequests) { - if ( - (pr.head.ref === "release-beta" || pr.head.ref === "release-stable") && - pr.user.login.includes("github-actions") - ) { - await github.rest.pulls.update({ - owner: context.repo.owner, - repo: context.repo.repo, - pull_number: pr.number, - state: "closed", - }); - console.log(`Closed PR #${pr.number}`); - } - } - - create-release-pr: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - fetch-tags: 1 - ref: main - - - name: Extract version from lerna.json - run: echo "value=$(jq .version lerna.json -r)" >> $GITHUB_OUTPUT - id: current_version - - - name: Determine Release type - run: echo "value=$([[ ${{ steps.current_version.outputs.value }} =~ alpha ]] && echo "beta" || echo "stable")" >> $GITHUB_OUTPUT - id: release_type - - - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'yarn' - - - name: Install dependencies - run: | - yarn install --frozen-lockfile - yarn lerna link - - - name: Bump versions - id: bump - run: | - git config --global user.name 'github-actions'; - git config --global user.email 'github-actions@users.noreply.github.com'; - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc; - mkdir ${{ runner.temp }}/main; - export type='${{ steps.release_type.outputs.value }}'; - export branch=release-$type; - echo "RELEASE_BRANCH=$branch" >> $GITHUB_ENV; - git switch -C $branch; - - if [[ $type == 'beta' ]]; then - out=$(yarn -s lerna version prerelease --no-private --conventional-commits --conventional-prerelease --preid=beta --no-git-tag-version --force-publish --yes); - else - out=$(yarn -s lerna version --conventional-commits --conventional-graduate --no-git-tag-version --yes); - fi; - - changes=$(echo "$out" | sed -n '/Changes:/,$p' | sed -n '/^ - .* => .*$/p'); - echo "changes<> $GITHUB_OUTPUT; - echo "$changes" >> $GITHUB_OUTPUT; - echo "EOF" >> $GITHUB_OUTPUT; - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - name: Extract version from lerna.json - run: echo "value=$(jq .version lerna.json -r)" >> $GITHUB_OUTPUT - id: next_version - - - name: Commit changes - run: | - git add .; - git restore --staged .npmrc; - git commit -m "chore: release v${{ steps.next_version.outputs.value }}"; - git push origin $RELEASE_BRANCH --force; - - - name: Get release commit - run: | - COMMIT_HASH=$(git rev-parse --verify HEAD); - COMMIT_MESSAGE=$(git log --format=%B -n 1 $COMMIT_HASH); - echo "sha=$COMMIT_HASH" >> $GITHUB_OUTPUT - echo "head=$RELEASE_BRANCH" >> $GITHUB_OUTPUT - echo "message=$COMMIT_MESSAGE" >> $GITHUB_OUTPUT - id: release_commit - - - name: Find latest stable release - id: latest_stable_release - run: | - echo "tag=$(git tag | grep -v -- "-alpha" | grep -v -- "-beta" | sort -V | tail -2 | head -1)" > $GITHUB_OUTPUT; - - - name: Generate changelog - id: changelog - run: | - # TODO - env: - GITHUB_AUTH: ${{ secrets.GITHUB_TOKEN }} - - - uses: actions/github-script@v6 - id: pr - env: - CHANGES: ${{ steps.bump.outputs.changes }} - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const type = "${{ steps.release_type.outputs.value }}"; - const head = "${{ steps.release_commit.outputs.head }}"; - const title = "${{ steps.release_commit.outputs.message }}"; - const body = `This PR will bump the following packages:\n\`\`\`\n${process.env.CHANGES}\n\`\`\`\n\nPlease review and test the code, before merging this PR. You can also check the changelog for more details on what has changed.\n\n**Warning**: Once you merge this PR, the changes will be published to the npm registry and cannot be undone. Please make sure you are confident about the quality and stability of the code before publishing.`; - - const res = await github.rest.pulls.create({ - body, - head, - title, - base: "main", - repo: context.repo.repo, - owner: context.repo.owner, - }); diff --git a/.github/workflows/remove-canary-releases.yml b/.github/workflows/remove-canary-releases.yml deleted file mode 100644 index f274f6c..0000000 --- a/.github/workflows/remove-canary-releases.yml +++ /dev/null @@ -1,73 +0,0 @@ -name: Remove Canary Releases -on: - schedule: - - cron: '0 0 * * *' - workflow_dispatch: - -concurrency: - group: ${{ github.workflow }} - cancel-in-progress: false - -jobs: - remove-canary-releases: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - - name: Authenticate with NPM - run: | - echo ".npmrc" >> .git/info/exclude - echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - env: - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} - - - uses: actions/setup-node@v3 - with: - node-version: '18' - cache: 'yarn' - - - name: Install dependencies - run: yarn install --frozen-lockfile - - - name: Get package names - id: packages - run: | - packages=$(yarn -s lerna list --json --loglevel error | jq '.[]["name"]') - echo "name<> $GITHUB_OUTPUT - echo $packages >> $GITHUB_OUTPUT - echo "EOF" >> $GITHUB_OUTPUT - cat $GITHUB_OUTPUT - - - name: List merged pull requests - id: merged_branches - uses: actions/github-script@v6 - with: - github-token: ${{ secrets.GITHUB_TOKEN }} - script: | - const response = await github.rest.pulls.list({ - owner: context.repo.owner, - repo: context.repo.repo, - state: "closed", - base: "main", - head: "topic-*", - }); - - console.log(response.data.map(pr => pr.head.ref)) - - const prs = response.data - .filter((pr) => !!pr.merged_at) - .filter((pr) => +new Date() - new Date(pr.merged_at) > 24 * 60 * 60 * 1000); - - const branches = prs.map((pr) => pr.head.ref); - core.setOutput('branches', branches.join("\n")); - - - name: Remove canary releases - run: | - packages=$(echo "${{ steps.packages.outputs.name }}" | tr -d '"') - branches=$(echo "${{ steps.merged_branches.outputs.branches }}") - for package in $packages; do - for branch in $branches; do - npm view $package dist-tags.$branch | xargs -i -d '\n' sh -c "npm unpublish $package@{} --force 2>&1 || true" - npm dist-tag rm $package $branch 2>&1 || true - done - done diff --git a/.gitignore b/.gitignore index 22acfb4..b7ddeb8 100644 --- a/.gitignore +++ b/.gitignore @@ -24,4 +24,6 @@ packages/logos-docusaurus-preset/static/common/data/team.json lerna-debug.log -packages/docusaurus-playground/static/generated/* \ No newline at end of file +packages/docusaurus-playground/static/generated/* + +lib/ \ No newline at end of file diff --git a/.husky/pre-commit b/.husky/pre-commit deleted file mode 100755 index 4481088..0000000 --- a/.husky/pre-commit +++ /dev/null @@ -1,4 +0,0 @@ -#!/usr/bin/env sh -. "$(dirname -- "$0")/_/husky.sh" - -yarn prettier:staged diff --git a/packages/docusaurus-og/.npmignore b/.npmignore similarity index 100% rename from packages/docusaurus-og/.npmignore rename to .npmignore diff --git a/.prettierignore b/.prettierignore deleted file mode 100644 index 5910cf7..0000000 --- a/.prettierignore +++ /dev/null @@ -1,9 +0,0 @@ -dist -node_modules -.yarn -build -coverage -.docusaurus -__fixtures__ - -packages/logos-*/lib/* diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 5121ea7..0000000 --- a/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "tabWidth": 2, - "semi": false, - "singleQuote": true, - "trailingComma": "all" -} diff --git a/CHANGELOG.md b/CHANGELOG.md deleted file mode 100644 index 51f54d0..0000000 --- a/CHANGELOG.md +++ /dev/null @@ -1,1040 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [1.0.0-alpha.149](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.148...v1.0.0-alpha.149) (2024-03-23) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.148](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.147...v1.0.0-alpha.148) (2024-03-23) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.147](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.146...v1.0.0-alpha.147) (2024-03-23) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.146](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.145...v1.0.0-alpha.146) (2024-03-23) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.145](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.144...v1.0.0-alpha.145) (2024-03-23) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.144](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.143...v1.0.0-alpha.144) (2024-03-21) - -### Bug Fixes - -- fix bug with HeroImage ([f67474a](https://github.com/acid-info/logos-docusaurus-plugins/commit/f67474ac580166231b620f7362cbd093edb4b10d)) -- fix bug with HeroImage ([dccb00a](https://github.com/acid-info/logos-docusaurus-plugins/commit/dccb00a4d5ec5fee590dfd786b966440a6b1ba5e)) -- fix bug with navbar ([49a0f64](https://github.com/acid-info/logos-docusaurus-plugins/commit/49a0f641fe8c697b9b0525a37b041774c31375ce)) -- fix misc. style bugs ([97e8b42](https://github.com/acid-info/logos-docusaurus-plugins/commit/97e8b425a668f08c5a19099e22c67d9b8cd4f9e3)) -- fix roadmap styling ([06e3b96](https://github.com/acid-info/logos-docusaurus-plugins/commit/06e3b96264bb1919472b5c5dd08c11574a5d71c1)) -- fix roadmap title font-size ([fb959ca](https://github.com/acid-info/logos-docusaurus-plugins/commit/fb959ca75a62f1d33a1ff106f98f869427f405f3)) - -### Features - -- add ctaPosition to CallToActionSection ([9156dd5](https://github.com/acid-info/logos-docusaurus-plugins/commit/9156dd56674be44cdb20771674fdabded42e2f7a)) -- implement design update requests ([5ccea9e](https://github.com/acid-info/logos-docusaurus-plugins/commit/5ccea9eed3161413d514f52a899a10e92444087a)) -- implement HeroImage ([24461d0](https://github.com/acid-info/logos-docusaurus-plugins/commit/24461d0cce52b90531a4b35dea1adf8fec41977d)) -- refactoring components for new design ([420ca4e](https://github.com/acid-info/logos-docusaurus-plugins/commit/420ca4ea4f0844f7b57a4572cecdae08776cb90c)) -- update Nimbus marks and relevant CSS ([7798fc1](https://github.com/acid-info/logos-docusaurus-plugins/commit/7798fc152d685b76454ae01800c0bf381d890506)) - -# [1.0.0-alpha.143](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.142...v1.0.0-alpha.143) (2024-02-14) - -### Features - -- add border and align prop to CallToActionSection ([a5736a2](https://github.com/acid-info/logos-docusaurus-plugins/commit/a5736a2a33990545a31af17adc1855852c9c520e)) -- add issue and pull request templates ([78efe86](https://github.com/acid-info/logos-docusaurus-plugins/commit/78efe86c50bce7d75b2df8e6ebf4fbeb12334131)) - -# [1.0.0-alpha.142](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.141...v1.0.0-alpha.142) (2024-02-05) - -### Features - -- update the footer org info ([9d3f3cf](https://github.com/acid-info/logos-docusaurus-plugins/commit/9d3f3cf88af40fd20fed7e44467e43073d7aca5c)) - -# [1.0.0-alpha.141](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.140...v1.0.0-alpha.141) (2024-02-05) - -### Features - -- events and event template page ([39c86a0](https://github.com/acid-info/logos-docusaurus-plugins/commit/39c86a093db205685aa0a2c67988cc1948c7b7df)) - -# [1.0.0-alpha.140](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.139...v1.0.0-alpha.140) (2024-01-31) - -### Features - -- add support for custom subtitle on og images ([14a8046](https://github.com/acid-info/logos-docusaurus-plugins/commit/14a8046d5a5106c9c2beb803c5e8598a760d949f)) - -# [1.0.0-alpha.139](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.138...v1.0.0-alpha.139) (2024-01-18) - -### Bug Fixes - -- fix broken ImageGrid square mode layout ([f243086](https://github.com/acid-info/logos-docusaurus-plugins/commit/f243086542c3caa16db56489a19bcd786064ef6e)) - -# [1.0.0-alpha.138](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.137...v1.0.0-alpha.138) (2024-01-17) - -### Bug Fixes - -- use light theme when js is disabled ([bfa6888](https://github.com/acid-info/logos-docusaurus-plugins/commit/bfa6888eb31243159867f0012af50eb742937fb6)) - -# [1.0.0-alpha.137](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.136...v1.0.0-alpha.137) (2023-12-22) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.136](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.135...v1.0.0-alpha.136) (2023-12-22) - -### Bug Fixes - -- fix navbar layout ([1b846b0](https://github.com/acid-info/logos-docusaurus-plugins/commit/1b846b0cf89c4aa02077a9426288ad1f63937d93)) - -# [1.0.0-alpha.135](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.134...v1.0.0-alpha.135) (2023-12-22) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.134](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.133...v1.0.0-alpha.134) (2023-12-20) - -### Features - -- make CTA section list items clickable ([fc7d4fc](https://github.com/acid-info/logos-docusaurus-plugins/commit/fc7d4fc357d11615ce551edc2ccc7f2fe48a1068)) - -# [1.0.0-alpha.133](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.132...v1.0.0-alpha.133) (2023-12-19) - -### Bug Fixes - -- use icon instead of button for ProfileCard links ([6646c4e](https://github.com/acid-info/logos-docusaurus-plugins/commit/6646c4ebac3ead1d74430b7c68510578fbebb4d8)) - -# [1.0.0-alpha.132](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.131...v1.0.0-alpha.132) (2023-12-19) - -### Bug Fixes - -- Roadmap and SectionHeader design adjustments ([e11cbba](https://github.com/acid-info/logos-docusaurus-plugins/commit/e11cbbaaddae95892b13d1b919360c66fae2e782)) - -# [1.0.0-alpha.131](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.130...v1.0.0-alpha.131) (2023-12-19) - -### Bug Fixes - -- remove automatic injection of the subscription page ([d7e8b64](https://github.com/acid-info/logos-docusaurus-plugins/commit/d7e8b64d20ec9f5239bca3d27378dcf968c70e91)) - -### Features - -- allow using custom title on og images ([b213075](https://github.com/acid-info/logos-docusaurus-plugins/commit/b2130753c63c02e83511787d76c202af20cc3f7a)) -- **docusaurus-og:** pass parsed HTML of all pages as a property to the image renderer for enhanced customizability ([00b860e](https://github.com/acid-info/logos-docusaurus-plugins/commit/00b860e866a9d86673f96b5bb60905a4e8b1c21c)) - -# [1.0.0-alpha.130](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.129...v1.0.0-alpha.130) (2023-12-15) - -### Bug Fixes - -- adjust LogoCarousel image height ([6ed7d65](https://github.com/acid-info/logos-docusaurus-plugins/commit/6ed7d65aa3ff5e704320855d92cb9c3b9f2bff3f)) -- adjust typography styles ([28c7a24](https://github.com/acid-info/logos-docusaurus-plugins/commit/28c7a24605108b94a92568f039a9815d0318e56c)) -- adjust typography styles in blog pages ([7ebeeac](https://github.com/acid-info/logos-docusaurus-plugins/commit/7ebeeac715d29d8ab11a067d06b93cb60087cb04)) -- ensure icons adapt to theme changes with CSS ([e9dc989](https://github.com/acid-info/logos-docusaurus-plugins/commit/e9dc989506909bcd5cba5803d463674bb9a6cb7d)) -- fix CallToActionSection typography styles ([d417e8c](https://github.com/acid-info/logos-docusaurus-plugins/commit/d417e8ca1ccfb2fe49941940bbb268eae201ed83)) -- fix spacing in the AccordionItem ([ba4ddc3](https://github.com/acid-info/logos-docusaurus-plugins/commit/ba4ddc30b990f659dcdff702eff2e8b287ecccfa)) -- fix spacing in the Roadmap component ([75804c0](https://github.com/acid-info/logos-docusaurus-plugins/commit/75804c0ee8c128cbeb700d411d1021dbcbbf4025)) -- fix TimelineItem typography style ([7d60515](https://github.com/acid-info/logos-docusaurus-plugins/commit/7d60515eafef33c3151b145c877cb4ddb1fcc43d)) -- **logos-docusaurus-theme:** update typography styles ([09a4388](https://github.com/acid-info/logos-docusaurus-plugins/commit/09a438829fbecb4fbee46c3c3e790925e653b1a1)) -- outline the avatar in the ProfileCard ([a68d2af](https://github.com/acid-info/logos-docusaurus-plugins/commit/a68d2af4cf80c6f7a752a224d0cd516cee50c80c)) -- remove AccordionItem's transition effect ([fbaadc2](https://github.com/acid-info/logos-docusaurus-plugins/commit/fbaadc2b1ce73a19ae04394ca7c570f1b682792c)) -- ShowcaseCard design adjustments ([c5a3c13](https://github.com/acid-info/logos-docusaurus-plugins/commit/c5a3c1323a689352f3df5fa710ebd85250d4a033)) -- typography styles ([36a085b](https://github.com/acid-info/logos-docusaurus-plugins/commit/36a085b3231743d3cfb563d34080a15837e6c612)) - -### Features - -- add support for rendering cta buttons next to the section titles ([fa83076](https://github.com/acid-info/logos-docusaurus-plugins/commit/fa830767b9615bc1578ec0a5c3d7d475a0e9c81d)) -- implement LogoCarousel component ([c667313](https://github.com/acid-info/logos-docusaurus-plugins/commit/c667313338663efd21496de2fc48c398ae3abba3)) -- implement the AccordionItem component ([ab6a5a8](https://github.com/acid-info/logos-docusaurus-plugins/commit/ab6a5a804817c860d516376f84fb24f36a328724)) - -# [1.0.0-alpha.129](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.128...v1.0.0-alpha.129) (2023-12-13) - -### Bug Fixes - -- fix bugs with roadmap and grid ([22f9187](https://github.com/acid-info/logos-docusaurus-plugins/commit/22f9187be858017604412abbb4398a271a3b714c)) - -### Features - -- update components related to roadmap ([4d02df2](https://github.com/acid-info/logos-docusaurus-plugins/commit/4d02df2d938ba865bd1280fa0b7578499b8a8615)) - -# [1.0.0-alpha.128](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.127...v1.0.0-alpha.128) (2023-12-13) - -### Features - -- **docusaurus-remote-content:** extend cli and add a command for downloading remote content ([5bc2ad4](https://github.com/acid-info/logos-docusaurus-plugins/commit/5bc2ad4c8354bddf48f17851982e14b8c9c22bd5)) - -# [1.0.0-alpha.127](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.126...v1.0.0-alpha.127) (2023-12-12) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.126](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.125...v1.0.0-alpha.126) (2023-12-01) - -### Features - -- add icons for light mode ([b99d0ac](https://github.com/acid-info/logos-docusaurus-plugins/commit/b99d0acbe752f01c90c7a66532564ac9c2c195de)) - -# [1.0.0-alpha.125](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.124...v1.0.0-alpha.125) (2023-12-01) - -### Features - -- **logos-docusaurus-preset:** update BU theme assets ([9d3f31c](https://github.com/acid-info/logos-docusaurus-plugins/commit/9d3f31c3b68b8d5326c6c17e271b4e9bc2f52c44)) - -# [1.0.0-alpha.124](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.123...v1.0.0-alpha.124) (2023-11-24) - -### Bug Fixes - -- **docusaurus-remote-content:** more plugin option names more explicit ([0bfc28d](https://github.com/acid-info/logos-docusaurus-plugins/commit/0bfc28d43b420e11aa056783905f274bf4a19765)) - -# [1.0.0-alpha.123](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.122...v1.0.0-alpha.123) (2023-11-24) - -### Features - -- implement brand-guidelines theme and remote-content plugin ([de2704f](https://github.com/acid-info/logos-docusaurus-plugins/commit/de2704f7e52918648eb542156c5a8d6acb48cc07)) - -# [1.0.0-alpha.122](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.121...v1.0.0-alpha.122) (2023-11-23) - -### Bug Fixes - -- fix newsletter subscription copy ([047e22b](https://github.com/acid-info/logos-docusaurus-plugins/commit/047e22bc631c4728d39ed4a55b344d93380df09b)) - -# [1.0.0-alpha.121](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.120...v1.0.0-alpha.121) (2023-11-21) - -### Features - -- **logos-docusaurus-theme:** add `forceDownload` option to the AssetCard component ([96c192d](https://github.com/acid-info/logos-docusaurus-plugins/commit/96c192dc303f27cef25c55c79195fd9ebff929c7)) - -# [1.0.0-alpha.120](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.119...v1.0.0-alpha.120) (2023-11-21) - -### Bug Fixes - -- **logos-docusaurus-theme:** center the Lightbox fullscreen button icon ([187afd2](https://github.com/acid-info/logos-docusaurus-plugins/commit/187afd2320c539ccf9cfa1a8259b8a776be6b78e)) - -# [1.0.0-alpha.119](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.118...v1.0.0-alpha.119) (2023-11-21) - -### Bug Fixes - -- use 'label2' typography variant for ExternalResourceCard description ([4906a2f](https://github.com/acid-info/logos-docusaurus-plugins/commit/4906a2fc97ef29680d583efe522ddc93cefad0b3)) - -# [1.0.0-alpha.118](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.117...v1.0.0-alpha.118) (2023-11-17) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.117](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.116...v1.0.0-alpha.117) (2023-11-16) - -### Bug Fixes - -- fix subscription page component path ([cbbea31](https://github.com/acid-info/logos-docusaurus-plugins/commit/cbbea31207a5913038ea6772c312bb8899f71654)) - -# [1.0.0-alpha.116](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.115...v1.0.0-alpha.116) (2023-11-16) - -### Features - -- newsletter subscription page & components ([dada34a](https://github.com/acid-info/logos-docusaurus-plugins/commit/dada34a5373d0c6ce98b6fca1299095f2fa7df05)) - -# [1.0.0-alpha.115](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.114...v1.0.0-alpha.115) (2023-11-15) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.114](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.113...v1.0.0-alpha.114) (2023-11-15) - -### Features - -- add GithubChallenges component UI - using mock data for now ([67ad0da](https://github.com/acid-info/logos-docusaurus-plugins/commit/67ad0da430fd102ba44d9cca8a74e315391e4d4f)) - -# [1.0.0-alpha.113](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.112...v1.0.0-alpha.113) (2023-11-10) - -### Features - -- init jobs & challenges plugin ([8f8c43a](https://github.com/acid-info/logos-docusaurus-plugins/commit/8f8c43af08561234d8f7a100b2306547d88330c1)) - -# [1.0.0-alpha.112](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.111...v1.0.0-alpha.112) (2023-11-09) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.111](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.110...v1.0.0-alpha.111) (2023-10-30) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.110](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.109...v1.0.0-alpha.110) (2023-10-27) - -### Bug Fixes - -- final cleanup ([bb9bccf](https://github.com/acid-info/logos-docusaurus-plugins/commit/bb9bccfd0792d4cf30f92afb636b1d3bdfaee9e9)) -- just show the header when loading ([a2a6569](https://github.com/acid-info/logos-docusaurus-plugins/commit/a2a6569efe8f061b99ae52176147b3ed2f1b8def)) -- replace anchor element with link element and remove unused import ([81f385d](https://github.com/acid-info/logos-docusaurus-plugins/commit/81f385d12183ef96428b4cf43db0ddc92d632f9d)) -- skip loading state for now ([e14a158](https://github.com/acid-info/logos-docusaurus-plugins/commit/e14a158ab90ad8a875017b5aacf9c2ac31c4c750)) -- use the department API endpoint instead - working version ([ebeb007](https://github.com/acid-info/logos-docusaurus-plugins/commit/ebeb0079318cfb3753929d2fe2670f3ce32d481c)) - -### Features - -- fetches jobs per board ([330abd4](https://github.com/acid-info/logos-docusaurus-plugins/commit/330abd47adc3e9ae72cd6adcbfd1d196f9c119c0)) -- implement job list ([3da1fae](https://github.com/acid-info/logos-docusaurus-plugins/commit/3da1faef69f74314d92288047796f74930871686)) - -# [1.0.0-alpha.109](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.108...v1.0.0-alpha.109) (2023-10-20) - -### Bug Fixes - -- update favicon images ([655cd48](https://github.com/acid-info/logos-docusaurus-plugins/commit/655cd48d482df006c61b442b7eb32d6e52aae552)), closes [acid-info/logos-brand-guidelines#16](https://github.com/acid-info/logos-brand-guidelines/issues/16) - -# [1.0.0-alpha.108](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.107...v1.0.0-alpha.108) (2023-10-20) - -### Bug Fixes - -- package dependencies ([f462e36](https://github.com/acid-info/logos-docusaurus-plugins/commit/f462e367bb5811bb21a2cecba358942a85dd9b3b)) - -### Features - -- downloadable asset card ([ab2106a](https://github.com/acid-info/logos-docusaurus-plugins/commit/ab2106a241ec7a6784a16f3d03aec27834af47e0)), closes [acid-info/logos-brand-guidelines#15](https://github.com/acid-info/logos-brand-guidelines/issues/15) -- external resource card ([0262fdd](https://github.com/acid-info/logos-docusaurus-plugins/commit/0262fdda3865110adfc0176b28d696a2d47217aa)), closes [acid-info/logos-brand-guidelines#13](https://github.com/acid-info/logos-brand-guidelines/issues/13) [acid-info/logos-brand-guidelines#14](https://github.com/acid-info/logos-brand-guidelines/issues/14) - -# [1.0.0-alpha.107](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.106...v1.0.0-alpha.107) (2023-10-16) - -### Features - -- implement PageCard component; closes [#117](https://github.com/acid-info/logos-docusaurus-plugins/issues/117) ([5a00ebc](https://github.com/acid-info/logos-docusaurus-plugins/commit/5a00ebca5d79d14927829c79dff79776129ef0cf)) - -# [1.0.0-alpha.106](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.105...v1.0.0-alpha.106) (2023-10-10) - -### Bug Fixes - -- fix Grid spacing ([866b982](https://github.com/acid-info/logos-docusaurus-plugins/commit/866b98233e489ac1414b86220b36c48f48589955)) - -# [1.0.0-alpha.105](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.104...v1.0.0-alpha.105) (2023-10-10) - -### Bug Fixes - -- restore Grid's actions section ([5464397](https://github.com/acid-info/logos-docusaurus-plugins/commit/5464397f87adfdc7e99e687da4703939572d672c)) - -# [1.0.0-alpha.104](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.103...v1.0.0-alpha.104) (2023-10-10) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.103](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.102...v1.0.0-alpha.103) (2023-10-10) - -### Features - -- implement universal grid refs [#116](https://github.com/acid-info/logos-docusaurus-plugins/issues/116) ([cdbe636](https://github.com/acid-info/logos-docusaurus-plugins/commit/cdbe63620c59b27f0446778a82ef54460a7ea19c)) - -# [1.0.0-alpha.102](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.101...v1.0.0-alpha.102) (2023-10-05) - -### Features - -- add Github to Community ([36d1688](https://github.com/acid-info/logos-docusaurus-plugins/commit/36d168810567101c8e62c9e7d321e3d6e2b5cc80)) -- add profile cards components ([56fa77b](https://github.com/acid-info/logos-docusaurus-plugins/commit/56fa77be212ce8d728db4410a432af5d4dc56e0e)) - -# [1.0.0-alpha.101](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.100...v1.0.0-alpha.101) (2023-09-22) - -### Bug Fixes - -- fix exceptional cases with docusaurus-fathom ([91d60ae](https://github.com/acid-info/logos-docusaurus-plugins/commit/91d60aed3ae0bf7365b692d39ebd16d0e5deee61)) - -### Features - -- add disable prop to docusaurus-fathom ([096ddcf](https://github.com/acid-info/logos-docusaurus-plugins/commit/096ddcf54d446c8dab31b5a662711be90a80ecc9)) -- add valid hostnames to dcosaurus-fathom ([88f9158](https://github.com/acid-info/logos-docusaurus-plugins/commit/88f91589fb10981547d322347deb87c4cfda6a6e)) - -# [1.0.0-alpha.100](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.99...v1.0.0-alpha.100) (2023-09-20) - -### Features - -- allow overriding of default pages and blog plugin options ([37ca5ee](https://github.com/acid-info/logos-docusaurus-plugins/commit/37ca5ee584c7c053ed37fe7b7c14e956d4360d88)) - -# [1.0.0-alpha.99](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.98...v1.0.0-alpha.99) (2023-09-20) - -### Features - -- implement community component ([5c8b0e2](https://github.com/acid-info/logos-docusaurus-plugins/commit/5c8b0e2aa03efe8078f8ad3e8daadfc0d5b88454)) - -# [1.0.0-alpha.98](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.97...v1.0.0-alpha.98) (2023-09-14) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.97](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.96...v1.0.0-alpha.97) (2023-07-21) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.96](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.95...v1.0.0-alpha.96) (2023-07-21) - -### Bug Fixes - -- ensure the mdx scroll button sticks to the bottom of the hero section ([e0e6904](https://github.com/acid-info/logos-docusaurus-plugins/commit/e0e6904ac3b55546a7dd4e400d5652493724193d)) - -# [1.0.0-alpha.95](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.94...v1.0.0-alpha.95) (2023-07-19) - -### Bug Fixes - -- hide ‘Back to main menu’ button when the main menu is empty ([f950f25](https://github.com/acid-info/logos-docusaurus-plugins/commit/f950f2508a9fd4a5be0ca47dcdbd5d0c53142a4b)) - -# [1.0.0-alpha.94](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.93...v1.0.0-alpha.94) (2023-07-18) - -### Bug Fixes - -- render the mdx scroll button after react hydration ([ad03d46](https://github.com/acid-info/logos-docusaurus-plugins/commit/ad03d46ec6854ed4b8db2dd163a94abae3c75b58)) - -# [1.0.0-alpha.93](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.92...v1.0.0-alpha.93) (2023-07-18) - -### Bug Fixes - -- fix the position of mdx scroll to bottom button on mobile ([975f769](https://github.com/acid-info/logos-docusaurus-plugins/commit/975f769b48a96f4c5e6574a3a3ee6f05953d5035)) - -# [1.0.0-alpha.92](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.91...v1.0.0-alpha.92) (2023-07-18) - -### Bug Fixes - -- use website title if page title is empty on the og images ([962ad41](https://github.com/acid-info/logos-docusaurus-plugins/commit/962ad417ca63e00c1f614627d7f8abda2454c887)) - -# [1.0.0-alpha.91](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.90...v1.0.0-alpha.91) (2023-07-17) - -### Bug Fixes - -- use the title in the page front matter for the og image if available ([3d06dde](https://github.com/acid-info/logos-docusaurus-plugins/commit/3d06dde3ef71b0f90390743f4f7c00980c465e04)) - -# [1.0.0-alpha.90](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.89...v1.0.0-alpha.90) (2023-07-17) - -### Bug Fixes - -- **logos-docusaurus-preset:** fix Nomos website url ([112f066](https://github.com/acid-info/logos-docusaurus-plugins/commit/112f0663f8f9cdae9fb8f61bc73c882b1056576c)) - -# [1.0.0-alpha.89](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.88...v1.0.0-alpha.89) (2023-07-17) - -### Bug Fixes - -- use @docusaurus/Link component for CTA links ([7cea51e](https://github.com/acid-info/logos-docusaurus-plugins/commit/7cea51ed7b214a5b921c0c5e621c6d3838cd6c2c)) - -# [1.0.0-alpha.88](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.87...v1.0.0-alpha.88) (2023-07-17) - -### Bug Fixes - -- blog links text decoration style ([9e05dc9](https://github.com/acid-info/logos-docusaurus-plugins/commit/9e05dc92730140c2d7cae8f609aaa3d9ddd23a92)) - -# [1.0.0-alpha.87](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.86...v1.0.0-alpha.87) (2023-07-17) - -### Features - -- custom 404 page, refs [#98](https://github.com/acid-info/logos-docusaurus-plugins/issues/98) ([cad8edc](https://github.com/acid-info/logos-docusaurus-plugins/commit/cad8edc3955fd633786627b12bf6a4aef8339476)) - -# [1.0.0-alpha.86](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.85...v1.0.0-alpha.86) (2023-07-17) - -### Bug Fixes - -- adjust CTA section typography styles ([075f3e5](https://github.com/acid-info/logos-docusaurus-plugins/commit/075f3e5c927fba7fb8bb873a0e4c6b65658aa661)) - -# [1.0.0-alpha.85](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.84...v1.0.0-alpha.85) (2023-07-17) - -### Features - -- upgrade @acid-info/lsd-react & update typography styles ([f795bf1](https://github.com/acid-info/logos-docusaurus-plugins/commit/f795bf141eabb960e61fbf762ca43657019e8435)) - -# [1.0.0-alpha.84](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.83...v1.0.0-alpha.84) (2023-07-17) - -### Bug Fixes - -- make font-weight consistent in mdx components ([b043a9b](https://github.com/acid-info/logos-docusaurus-plugins/commit/b043a9b81775fc55e11030c2194c823b84ce30f7)) - -# [1.0.0-alpha.83](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.82...v1.0.0-alpha.83) (2023-07-17) - -### Bug Fixes - -- set the font-weight of the mdx components to 100 ([ee249fe](https://github.com/acid-info/logos-docusaurus-plugins/commit/ee249fedd98f3b3488c89666f14d7d9a97b022a9)) - -# [1.0.0-alpha.82](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.81...v1.0.0-alpha.82) (2023-07-17) - -### Bug Fixes - -- set the font-weight of the mdx components to 100 ([a64d011](https://github.com/acid-info/logos-docusaurus-plugins/commit/a64d0113dc6bfbb320d73e0aca455bc48ca3a610)) - -# [1.0.0-alpha.81](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.80...v1.0.0-alpha.81) (2023-07-13) - -### Bug Fixes - -- update hero video ([4b9832b](https://github.com/acid-info/logos-docusaurus-plugins/commit/4b9832b71fafd3417d1cd255817e48ee68589eaa)) - -# [1.0.0-alpha.80](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.79...v1.0.0-alpha.80) (2023-07-13) - -### Bug Fixes - -- adjust FeatureList spacing ([8a472e9](https://github.com/acid-info/logos-docusaurus-plugins/commit/8a472e94c50d75b8c225b2819256a401b741a258)) -- update HeroAction text decoration styles ([e3d20dd](https://github.com/acid-info/logos-docusaurus-plugins/commit/e3d20dda0b6fe7bf76d65ae6d13ca5d1305423b8)) - -# [1.0.0-alpha.79](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.78...v1.0.0-alpha.79) (2023-07-13) - -### Bug Fixes - -- fix link decoration styles on mdx pages ([8715a4f](https://github.com/acid-info/logos-docusaurus-plugins/commit/8715a4f0dd7933f11c13aa4ed3418115aedaaf4a)) - -# [1.0.0-alpha.78](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.77...v1.0.0-alpha.78) (2023-07-13) - -### Features - -- add alignment options for feature list and roadmap components ([4053a0b](https://github.com/acid-info/logos-docusaurus-plugins/commit/4053a0b7ba45cd97348e7defee114bede0ac315f)) - -# [1.0.0-alpha.77](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.76...v1.0.0-alpha.77) (2023-07-11) - -### Bug Fixes - -- disable the color mode switch ([8d8f14b](https://github.com/acid-info/logos-docusaurus-plugins/commit/8d8f14bf57b4bd51bfa10d4a44a852ecddcfcb1d)) - -# [1.0.0-alpha.76](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.75...v1.0.0-alpha.76) (2023-07-11) - -### Bug Fixes - -- **docusaurus-og:** fix image meta elements selectors; closes [#97](https://github.com/acid-info/logos-docusaurus-plugins/issues/97) ([7a2701f](https://github.com/acid-info/logos-docusaurus-plugins/commit/7a2701f11f2c23fbaef1a274da9a8f0567130ee5)) - -# [1.0.0-alpha.75](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.74...v1.0.0-alpha.75) (2023-07-10) - -### Bug Fixes - -- fix FeatureList style ([6fa7af4](https://github.com/acid-info/logos-docusaurus-plugins/commit/6fa7af4c72b9f6b2836117d228ef7252f7c8e517)) - -# [1.0.0-alpha.74](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.73...v1.0.0-alpha.74) (2023-07-10) - -### Bug Fixes - -- adjust the size of hero subheader ([6019e0d](https://github.com/acid-info/logos-docusaurus-plugins/commit/6019e0d2782d9b85446035afe84cf8576b02bdb8)) -- fix FeatureList layout ([4e2f413](https://github.com/acid-info/logos-docusaurus-plugins/commit/4e2f4135ab64c1d098deac5ce2f1f6ad453a28e3)) -- update the external link icon ([3eab172](https://github.com/acid-info/logos-docusaurus-plugins/commit/3eab172a0bdc2382c51d41d538c4cfdfb961cfe0)) - -# [1.0.0-alpha.73](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.72...v1.0.0-alpha.73) (2023-07-10) - -### Features - -- set max-height for hero section ([90870a3](https://github.com/acid-info/logos-docusaurus-plugins/commit/90870a3c038ac7aec9366063847de6f58d3b83d7)) - -# [1.0.0-alpha.72](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.71...v1.0.0-alpha.72) (2023-07-10) - -### Features - -- hero video new style ([286dd23](https://github.com/acid-info/logos-docusaurus-plugins/commit/286dd23fa65e0e860e6bbb45e0b09fed6892a80b)) - -# [1.0.0-alpha.71](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.70...v1.0.0-alpha.71) (2023-07-10) - -### Bug Fixes - -- render video after client rehydration; refs [#89](https://github.com/acid-info/logos-docusaurus-plugins/issues/89) ([8bd4415](https://github.com/acid-info/logos-docusaurus-plugins/commit/8bd44157b4935ab3a084e86387a7faf08f00ba67)) - -# [1.0.0-alpha.70](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.69...v1.0.0-alpha.70) (2023-07-10) - -### Bug Fixes - -- correct spacing issue in the FeatureList component ([5098463](https://github.com/acid-info/logos-docusaurus-plugins/commit/509846301e4f4d84f4e1dacc20d1b29db77da11a)) - -### Features - -- support variable number of columns for the showcase component ([a5c4188](https://github.com/acid-info/logos-docusaurus-plugins/commit/a5c4188f67e1fa8ac947be4f6cc7fd1a9ea313c9)) - -# [1.0.0-alpha.69](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.68...v1.0.0-alpha.69) (2023-07-10) - -### Bug Fixes - -- fix the position of the hero placeholder ([7fd9269](https://github.com/acid-info/logos-docusaurus-plugins/commit/7fd926945a1e09e77981c6ad915690a7e30c86aa)) - -# [1.0.0-alpha.68](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.67...v1.0.0-alpha.68) (2023-07-10) - -### Bug Fixes - -- hero video max-width ([ada7b05](https://github.com/acid-info/logos-docusaurus-plugins/commit/ada7b05abdfa6f0ce103de5df7fd57c5ae20d067)) - -# [1.0.0-alpha.67](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.66...v1.0.0-alpha.67) (2023-07-10) - -### Features - -- implement the Roadmap mdx component; refs [#90](https://github.com/acid-info/logos-docusaurus-plugins/issues/90) ([4ecf45f](https://github.com/acid-info/logos-docusaurus-plugins/commit/4ecf45f55d773be09fbbef927a4b83907b75bc03)) - -# [1.0.0-alpha.66](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.65...v1.0.0-alpha.66) (2023-07-07) - -### Bug Fixes - -- adjust the height of hero video to fit in its container; fixes [#91](https://github.com/acid-info/logos-docusaurus-plugins/issues/91) ([207c983](https://github.com/acid-info/logos-docusaurus-plugins/commit/207c983275da19abfb871d9a1971035acc9c7300)) -- remove the fathom plugin from playground ([cb200cc](https://github.com/acid-info/logos-docusaurus-plugins/commit/cb200cc7e3d145016b539451d214dbe8aeebfca7)) -- restore sticky position of the navbar in the landing page; fixes [#95](https://github.com/acid-info/logos-docusaurus-plugins/issues/95) ([182c583](https://github.com/acid-info/logos-docusaurus-plugins/commit/182c5837203f3444923f3052feb9a11e566cae39)) -- update navbar spacing; fixes [#92](https://github.com/acid-info/logos-docusaurus-plugins/issues/92) ([f3eca17](https://github.com/acid-info/logos-docusaurus-plugins/commit/f3eca17482557653553e336f041651f975239859)) -- use LSD default themes in all pages ([8f0a0d3](https://github.com/acid-info/logos-docusaurus-plugins/commit/8f0a0d3b1a93c6df84b812e941a7a3e58b7f7636)) - -### Features - -- optional logo props for Showcase ([0ed10ca](https://github.com/acid-info/logos-docusaurus-plugins/commit/0ed10ca9b7542f43a87b9fbde83b6c92caf603e2)) -- refactor CTA component and implement list variant; fixes [#93](https://github.com/acid-info/logos-docusaurus-plugins/issues/93) ([92d9824](https://github.com/acid-info/logos-docusaurus-plugins/commit/92d9824ad9b0bf04acb079db43db208870936707)) - -# [1.0.0-alpha.65](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.64...v1.0.0-alpha.65) (2023-07-04) - -### Bug Fixes - -- update theme config ([f4f34dc](https://github.com/acid-info/logos-docusaurus-plugins/commit/f4f34dc17539cd15392746e3f11cc5689cb25519)) - -# [1.0.0-alpha.64](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.63...v1.0.0-alpha.64) (2023-07-04) - -### Bug Fixes - -- restore sticky position of sidebar and table of contents ([de2d435](https://github.com/acid-info/logos-docusaurus-plugins/commit/de2d435e653a5abbf5c3abd51162dd5b688f65c9)) - -# [1.0.0-alpha.63](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.62...v1.0.0-alpha.63) (2023-07-04) - -### Bug Fixes - -- fix broken hero video options ([39c0988](https://github.com/acid-info/logos-docusaurus-plugins/commit/39c09883b8f98280f653497ba25e23e7c46485b9)) - -# [1.0.0-alpha.62](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.61...v1.0.0-alpha.62) (2023-06-28) - -### Features - -- landing page redesign ([c6eb842](https://github.com/acid-info/logos-docusaurus-plugins/commit/c6eb842638b613594696a8f80c179069ace35a07)) - -# [1.0.0-alpha.61](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.60...v1.0.0-alpha.61) (2023-06-28) - -### Bug Fixes - -- fix build errors ([0d03f51](https://github.com/acid-info/logos-docusaurus-plugins/commit/0d03f51790c613a43c96925f51caa5e8e346b3fd)) -- remove unnecessary fathom file ([02b3cad](https://github.com/acid-info/logos-docusaurus-plugins/commit/02b3cad4fd1a3897ef09e8648dc789aec0029ae5)) - -### Features - -- implement fathom ([966c6b3](https://github.com/acid-info/logos-docusaurus-plugins/commit/966c6b363686689586b199c0902564e41b79360c)) - -# [1.0.0-alpha.60](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.59...v1.0.0-alpha.60) (2023-06-26) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.59](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.58...v1.0.0-alpha.59) (2023-06-22) - -### Bug Fixes - -- link underline should only appear in hover state closes [#75](https://github.com/acid-info/logos-docusaurus-plugins/issues/75) ([00701b7](https://github.com/acid-info/logos-docusaurus-plugins/commit/00701b7b42c4cc063ecdb59e7dd9e2c9eee7d743)) -- use ThemedImage for marks in the Showcase mdx component, closes [#79](https://github.com/acid-info/logos-docusaurus-plugins/issues/79) ([80c9b36](https://github.com/acid-info/logos-docusaurus-plugins/commit/80c9b36b8986499abf6f9be928aed6a36e403266)) - -# [1.0.0-alpha.58](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.57...v1.0.0-alpha.58) (2023-06-22) - -### Bug Fixes - -- search input's clear button overflow ([fcd4ebf](https://github.com/acid-info/logos-docusaurus-plugins/commit/fcd4ebfc7273c4ea8327480c4e69883482c1f656)) - -# [1.0.0-alpha.57](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.56...v1.0.0-alpha.57) (2023-06-22) - -### Bug Fixes - -- fix the jump issue with navbar ([1301f90](https://github.com/acid-info/logos-docusaurus-plugins/commit/1301f90efd339db99a3b8ce056e080df5ebbd5a4)) -- refactor blog header with context ([d06094e](https://github.com/acid-info/logos-docusaurus-plugins/commit/d06094ee119cfa41fe6ed2c56273676146cecacb)) -- search input's clear button overflow ([88f0557](https://github.com/acid-info/logos-docusaurus-plugins/commit/88f0557a7ca7be893543f3137ba8ed7ad45b9a67)) - -### Features - -- add blog title and description ([6c4c50e](https://github.com/acid-info/logos-docusaurus-plugins/commit/6c4c50ea59021da25fa2888e616456a0d59fc956)) -- update blog post item ([c008b98](https://github.com/acid-info/logos-docusaurus-plugins/commit/c008b98cfe95e22582f1ba2626ea47aa60237f82)) - -# [1.0.0-alpha.56](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.55...v1.0.0-alpha.56) (2023-06-22) - -### Bug Fixes - -- search results broken style ([c20e8c8](https://github.com/acid-info/logos-docusaurus-plugins/commit/c20e8c8785661baa845543eb6217c97dd2a16785)) - -# [1.0.0-alpha.55](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.54...v1.0.0-alpha.55) (2023-06-21) - -### Bug Fixes - -- change code blocks font to monospace ([10e09bd](https://github.com/acid-info/logos-docusaurus-plugins/commit/10e09bd9de3fb82ae07be173d2ca4ce4c46cd5f7)) - -# [1.0.0-alpha.54](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.53...v1.0.0-alpha.54) (2023-06-21) - -### Bug Fixes - -- **docusaurus-og:** fix archive page permalink ([a743b7d](https://github.com/acid-info/logos-docusaurus-plugins/commit/a743b7dec24025ba0192874f343ef80fd96076be)) -- use Inter font in og images ([202e8a2](https://github.com/acid-info/logos-docusaurus-plugins/commit/202e8a2aa9d71d444be07c5118c5fe8ed8996f46)) - -### Features - -- use new marks for og image generator ([0f3a588](https://github.com/acid-info/logos-docusaurus-plugins/commit/0f3a588cb89ff20ddb032cc056cdc17436902c26)) -- use user image in auto-generated preview images ([650fd8c](https://github.com/acid-info/logos-docusaurus-plugins/commit/650fd8c5a4cc187042542ad17518f038ece02adc)) - -# [1.0.0-alpha.53](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.52...v1.0.0-alpha.53) (2023-06-21) - -### Bug Fixes - -- fix navbar size in the image modal ([964bf92](https://github.com/acid-info/logos-docusaurus-plugins/commit/964bf92263cf6eb61527c92c83c73ab6ba74e36d)) - -# [1.0.0-alpha.52](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.51...v1.0.0-alpha.52) (2023-06-20) - -### Bug Fixes - -- **docusaurus-og:** skip blog archive page if the html file does not exist ([7c3cdcf](https://github.com/acid-info/logos-docusaurus-plugins/commit/7c3cdcf95e1b36d96e6dfa87d27c528be2339060)) - -# [1.0.0-alpha.51](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.50...v1.0.0-alpha.51) (2023-06-20) - -### Bug Fixes - -- fix indentation of search results, refs [#58](https://github.com/acid-info/logos-docusaurus-plugins/issues/58) ([0b7ad00](https://github.com/acid-info/logos-docusaurus-plugins/commit/0b7ad009e02bcb98f30447d884c90f80fca2a944)) -- remove the mermaid theme from playground's configuration ([07359f6](https://github.com/acid-info/logos-docusaurus-plugins/commit/07359f675d6bd5715ff79d7029bd214c7fdfed25)) - -### Features - -- add support for custom global generic font family as a theme option closes [#67](https://github.com/acid-info/logos-docusaurus-plugins/issues/67) ([1523be9](https://github.com/acid-info/logos-docusaurus-plugins/commit/1523be91447d64b1da854f6cd0c05a95c36ed27a)) -- enable image/diagram pinch zoom on mobile devices ([1e3375f](https://github.com/acid-info/logos-docusaurus-plugins/commit/1e3375f061ce01ad1a0dcac5d15c81094299bf13)) - -# [1.0.0-alpha.50](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.49...v1.0.0-alpha.50) (2023-06-19) - -### Bug Fixes - -- render version label in og image only if version.badge is set to true ([be12865](https://github.com/acid-info/logos-docusaurus-plugins/commit/be1286529caa8f7e3b495783742b5fcce4f968df)) - -# [1.0.0-alpha.49](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.48...v1.0.0-alpha.49) (2023-06-19) - -### Bug Fixes - -- **logos-docusaurus-theme:** fix image light box invisible backdrop issue ([08f1104](https://github.com/acid-info/logos-docusaurus-plugins/commit/08f110430ef7a74f7e11a750eca01c51e675b91f)) - -# [1.0.0-alpha.48](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2023-06-19) - -### Bug Fixes - -- **docusaurus-og:** fix TypeError 'content is not iterable' in pages plugin ([f3c5e5c](https://github.com/acid-info/logos-docusaurus-plugins/commit/f3c5e5c1b4269ed2ccb1a6286718601402f65495)) - -# [1.0.0-alpha.47](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2023-06-19) - -### Bug Fixes - -- fix dependencies ([0a4fc19](https://github.com/acid-info/logos-docusaurus-plugins/commit/0a4fc19b95879c9c4f440167bbe9afd9877758bd)) - -### Features - -- auto generate opengraph images ([c442f5d](https://github.com/acid-info/logos-docusaurus-plugins/commit/c442f5d46836b0bcb3cb250af27d17a081683d38)) -- implement image lightbox ([344d9f9](https://github.com/acid-info/logos-docusaurus-plugins/commit/344d9f9c5954eb4bbe74666d9f8c835f803ab29d)) - -# [1.0.0-alpha.46](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.45...v1.0.0-alpha.46) (2023-06-15) - -### Bug Fixes - -- server-side build issue ([c65e072](https://github.com/acid-info/logos-docusaurus-plugins/commit/c65e072ef09497ab9f48c9bec25b0cce288849de)) - -# [1.0.0-alpha.45](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.44...v1.0.0-alpha.45) (2023-06-15) - -### Bug Fixes - -- fix bug with breadcrumb home ([10f3b94](https://github.com/acid-info/logos-docusaurus-plugins/commit/10f3b9462d34a2e16d999678302806073cd66fcf)) -- remove console.log ([9229d60](https://github.com/acid-info/logos-docusaurus-plugins/commit/9229d6018c7b0de41fcb002a8b50a42e1078ef17)) - -### Features - -- show breadcrumbs on blog post pages ([c5d75b3](https://github.com/acid-info/logos-docusaurus-plugins/commit/c5d75b35758826807f5c6a09e835aa2e31d68938)) - -# [1.0.0-alpha.44](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.43...v1.0.0-alpha.44) (2023-06-13) - -### Bug Fixes - -- render search bar component regardless of whether any active plugins are found ([339d5bc](https://github.com/acid-info/logos-docusaurus-plugins/commit/339d5bcd912d3a4afcead8aaeb3390417c75e7b4)) - -# [1.0.0-alpha.43](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.42...v1.0.0-alpha.43) (2023-06-13) - -### Bug Fixes - -- type error ([46c3f8b](https://github.com/acid-info/logos-docusaurus-plugins/commit/46c3f8b54c72b2101b9df27df51ba7415f50cc9d)) - -# [1.0.0-alpha.42](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.41...v1.0.0-alpha.42) (2023-06-13) - -### Bug Fixes - -- adjust navbar logo size ([31905b6](https://github.com/acid-info/logos-docusaurus-plugins/commit/31905b6f245ad62a1106932aa1f465b219768304)) -- change the size of icon buttons in the desktop navbar to small ([5c70db8](https://github.com/acid-info/logos-docusaurus-plugins/commit/5c70db88dfea5c40138cc19cff1e72c9785c5304)) - -### Features - -- blog theme ([c3edece](https://github.com/acid-info/logos-docusaurus-plugins/commit/c3edece3f66bb3ca8f9179544c7be24bbfd8a4d0)) - -# [1.0.0-alpha.41](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.40...v1.0.0-alpha.41) (2023-06-12) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.40](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.39...v1.0.0-alpha.40) (2023-06-12) - -### Bug Fixes - -- fix Acid.info favicon ([05ecab8](https://github.com/acid-info/logos-docusaurus-plugins/commit/05ecab874c1dfbfb3c48a49875afe2768d3fa5f6)) - -# [1.0.0-alpha.39](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.38...v1.0.0-alpha.39) (2023-06-12) - -### Bug Fixes - -- fix Acid.info logo path ([6c0e814](https://github.com/acid-info/logos-docusaurus-plugins/commit/6c0e8144724efdd4701e82603d4e6f3ae97f3c68)) - -# [1.0.0-alpha.38](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.37...v1.0.0-alpha.38) (2023-06-12) - -### Features - -- add Acid.info business unit ([8a4c151](https://github.com/acid-info/logos-docusaurus-plugins/commit/8a4c1513d31af99bb9328d9fbb380f64888b2ff9)) - -# [1.0.0-alpha.37](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.36...v1.0.0-alpha.37) (2023-06-12) - -### Bug Fixes - -- fix LSD theme names ([a2c7025](https://github.com/acid-info/logos-docusaurus-plugins/commit/a2c7025f3b9ad3c23542b4c7ac3dd1882ec59623)) - -# [1.0.0-alpha.36](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.35...v1.0.0-alpha.36) (2023-06-12) - -### Bug Fixes - -- prevent screen flash by loading css vars for both dark and light theme in initial load ([f4f4e93](https://github.com/acid-info/logos-docusaurus-plugins/commit/f4f4e93217c5bd1701615897d79c3c57789b9346)) - -# [1.0.0-alpha.35](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.34...v1.0.0-alpha.35) (2023-06-12) - -### Bug Fixes - -- keep the DocItem layout as is when toc is hidden ([baadbfa](https://github.com/acid-info/logos-docusaurus-plugins/commit/baadbfa77976095b472c645093935ab22c79ce5c)) -- prevent screen flash by loading css vars for both dark and light theme in initial load ([e9308bd](https://github.com/acid-info/logos-docusaurus-plugins/commit/e9308bd9f6e58a245523f451b2e150a3eaba8528)) - -# [1.0.0-alpha.34](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.33...v1.0.0-alpha.34) (2023-06-09) - -### Bug Fixes - -- set text-decoration of TOCCollapsible links to none ([7922783](https://github.com/acid-info/logos-docusaurus-plugins/commit/792278395192e3dcef7c9157a313e2b48025b02b)) - -# [1.0.0-alpha.33](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.32...v1.0.0-alpha.33) (2023-06-09) - -### Bug Fixes - -- render mobile toc after page title ([88cc89f](https://github.com/acid-info/logos-docusaurus-plugins/commit/88cc89fceea0cd4401750fe49238c40108248da6)) -- update search result icons ([bee5df3](https://github.com/acid-info/logos-docusaurus-plugins/commit/bee5df33fbb664d48f3d65dfa14e56694031041a)) - -# [1.0.0-alpha.32](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.31...v1.0.0-alpha.32) (2023-06-07) - -### Bug Fixes - -- remove css :has in mobile sidebar to support all browsers ([2d5179c](https://github.com/acid-info/logos-docusaurus-plugins/commit/2d5179c261d972e06eda937314c30c6cc66ce4d5)) - -# [1.0.0-alpha.31](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.30...v1.0.0-alpha.31) (2023-06-07) - -### Bug Fixes - -- mobile sidebar spacing ([12c8c37](https://github.com/acid-info/logos-docusaurus-plugins/commit/12c8c3785aefe08f51441421ec25e26b0bc9bb63)) - -# [1.0.0-alpha.30](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.29...v1.0.0-alpha.30) (2023-06-07) - -### Bug Fixes - -- mobile sidebar layout and spacing ([f8d720a](https://github.com/acid-info/logos-docusaurus-plugins/commit/f8d720a6f4bb339096d5144002f9ce45690ced91)) - -# [1.0.0-alpha.29](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.28...v1.0.0-alpha.29) (2023-06-06) - -### Features - -- auto generated author page ([090813f](https://github.com/acid-info/logos-docusaurus-plugins/commit/090813fdeab8a8f08f863ce3da876ee488ae1970)) - -# [1.0.0-alpha.28](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.27...v1.0.0-alpha.28) (2023-06-06) - -### Bug Fixes - -- adjust DocMetadata mdx component spacing ([e0e2af9](https://github.com/acid-info/logos-docusaurus-plugins/commit/e0e2af9c0275b3ee231f4937726065a7013eda42)) - -# [1.0.0-alpha.27](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.26...v1.0.0-alpha.27) (2023-06-06) - -### Features - -- add DocMetadata mdx component for displaying date and authors ([315cc1d](https://github.com/acid-info/logos-docusaurus-plugins/commit/315cc1d1de2af2eef95ed0c24b03c67aef7654a2)) - -# [1.0.0-alpha.26](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.25...v1.0.0-alpha.26) (2023-06-06) - -### Bug Fixes - -- add favicon.ico for VacResearch BU ([58c8e74](https://github.com/acid-info/logos-docusaurus-plugins/commit/58c8e744c795bc9d6b71d8ccaf51fc0ec48f149e)) - -# [1.0.0-alpha.25](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.24...v1.0.0-alpha.25) (2023-06-06) - -### Bug Fixes - -- fix VacResearch logo url ([5bc5593](https://github.com/acid-info/logos-docusaurus-plugins/commit/5bc5593a8055a5491e71e57b02fce3cbf92facdf)) - -# [1.0.0-alpha.24](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.23...v1.0.0-alpha.24) (2023-06-06) - -### Bug Fixes - -- adjust spacing in FeatureList mdx component ([3c1cd1a](https://github.com/acid-info/logos-docusaurus-plugins/commit/3c1cd1a93f67593a2aaf4e67fcf91a2b7437957d)) - -### Features - -- add "VacResearch" business unit ([74f4d66](https://github.com/acid-info/logos-docusaurus-plugins/commit/74f4d66de953cfd50d81628fd0d463d645749625)) - -# [1.0.0-alpha.23](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.22...v1.0.0-alpha.23) (2023-06-06) - -### Bug Fixes - -- fix Nomos website link in Logos collective footer ([66aa97f](https://github.com/acid-info/logos-docusaurus-plugins/commit/66aa97f2dbe5039818324fff340544d7de4b11a7)) - -# [1.0.0-alpha.22](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.21...v1.0.0-alpha.22) (2023-06-06) - -### Bug Fixes - -- adjust powered by component spacing ([808773c](https://github.com/acid-info/logos-docusaurus-plugins/commit/808773cf23efd856d271cd11fcf081c0b9ad260a)) - -# [1.0.0-alpha.21](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.20...v1.0.0-alpha.21) (2023-06-06) - -### Features - -- add poweredby mdx component ([a993258](https://github.com/acid-info/logos-docusaurus-plugins/commit/a9932589c77ae0a9695ddee48aeaf73906f80b17)) - -# [1.0.0-alpha.20](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.19...v1.0.0-alpha.20) (2023-06-06) - -### Bug Fixes - -- fix hyperlinks underline color ([5c0f169](https://github.com/acid-info/logos-docusaurus-plugins/commit/5c0f16949194c6cbb8333b167baf4b969a5bcc60)) - -# [1.0.0-alpha.19](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.18...v1.0.0-alpha.19) (2023-06-05) - -### Bug Fixes - -- display back to main navbar menu on mobile even if the navbar is empty ([de64169](https://github.com/acid-info/logos-docusaurus-plugins/commit/de64169c7bc28c27106be6f8e8a5cc243a9fe672)) - -# [1.0.0-alpha.18](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.17...v1.0.0-alpha.18) (2023-06-05) - -### Bug Fixes - -- fix typography settings of heading elements ([8a93a03](https://github.com/acid-info/logos-docusaurus-plugins/commit/8a93a032cb9c27e024facc3df6e2be80d02dc510)) -- use lsd's default theme in landing page ([4859e36](https://github.com/acid-info/logos-docusaurus-plugins/commit/4859e36dab941cc705d140c128728b7886a0309d)) - -### Features - -- add support for searching across all docs instances ([b85c3f7](https://github.com/acid-info/logos-docusaurus-plugins/commit/b85c3f7711a7838c1eb6ea607e8e34ac36c231f7)) - -# [1.0.0-alpha.17](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.16...v1.0.0-alpha.17) (2023-06-05) - -### Bug Fixes - -- fix the initial displaying state of dropdown menu ([c6a627d](https://github.com/acid-info/logos-docusaurus-plugins/commit/c6a627dfb69c45869ca575e848bc10d0dc4026d7)) - -# [1.0.0-alpha.16](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.15...v1.0.0-alpha.16) (2023-06-05) - -### Bug Fixes - -- fix dropdown menu style ([d3b0331](https://github.com/acid-info/logos-docusaurus-plugins/commit/d3b033150bee143d1c1f8214d1b58b1b9f243905)) - -# [1.0.0-alpha.15](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.14...v1.0.0-alpha.15) (2023-06-05) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.14](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.13...v1.0.0-alpha.14) (2023-06-02) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.13](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.12...v1.0.0-alpha.13) (2023-06-02) - -### Bug Fixes - -- remove dependency cycle ([fc97f2f](https://github.com/acid-info/logos-docusaurus-plugins/commit/fc97f2f04970adc766e06a2677809faaa5f8423a)) - -# [1.0.0-alpha.12](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.11...v1.0.0-alpha.12) (2023-06-02) - -### Bug Fixes - -- fix cta sections with no link ([7bda975](https://github.com/acid-info/logos-docusaurus-plugins/commit/7bda97503bc71f7e158eb7f12eab4c3530087972)) - -# [1.0.0-alpha.11](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.10...v1.0.0-alpha.11) (2023-06-02) - -### Features - -- add support for custom target prop value in cta link ([9bcbaab](https://github.com/acid-info/logos-docusaurus-plugins/commit/9bcbaab1f94a9ebdb282bfa78db15bcc92e57732)) - -# [1.0.0-alpha.10](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.9...v1.0.0-alpha.10) (2023-06-02) - -### Bug Fixes - -- fix scrolling issues, glitchy navbar, and scroll down button position ([b64e5db](https://github.com/acid-info/logos-docusaurus-plugins/commit/b64e5db68bbef2258bb91ce0699e06acdb264cbd)) - -# [1.0.0-alpha.9](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.8...v1.0.0-alpha.9) (2023-06-02) - -### Features - -- support themed images for showcase mdx component ([a00195f](https://github.com/acid-info/logos-docusaurus-plugins/commit/a00195fbbc7e8c4fd6befd0231e90d9f179380f4)) - -# [1.0.0-alpha.8](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.7...v1.0.0-alpha.8) (2023-06-02) - -### Bug Fixes - -- fix layout padding ([72c39fc](https://github.com/acid-info/logos-docusaurus-plugins/commit/72c39fc6816d1e3b46fd6c9b4634b664f3e68eeb)) - -# [1.0.0-alpha.7](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.6...v1.0.0-alpha.7) (2023-06-01) - -**Note:** Version bump only for package root - -# [1.0.0-alpha.6](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.5...v1.0.0-alpha.6) (2023-06-01) - -### Bug Fixes - -- fix ascii hero model colors ([6ffc959](https://github.com/acid-info/logos-docusaurus-plugins/commit/6ffc9595510fdc45b26f2b0defe78562666ff5a0)) - -# [1.0.0-alpha.5](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.4...v1.0.0-alpha.5) (2023-06-01) - -### Bug Fixes - -- add description for Nomos website ([60270a2](https://github.com/acid-info/logos-docusaurus-plugins/commit/60270a22ec340870f127d4ca73a2fad1482e90dc)) -- adjust mdx components style ([478aa96](https://github.com/acid-info/logos-docusaurus-plugins/commit/478aa9618b01401c84bfcd5afe561d6598c7274d)) -- avoid locking body scroll in active search modal ([fd2cdd5](https://github.com/acid-info/logos-docusaurus-plugins/commit/fd2cdd567007cdd6d493fd1139877234367591ae)) -- fix layout spacing in main pages ([e757aa9](https://github.com/acid-info/logos-docusaurus-plugins/commit/e757aa938e7c0344ea47e867f01e2533526a1e8d)) -- fix search button bug ([d16af2c](https://github.com/acid-info/logos-docusaurus-plugins/commit/d16af2c9b4b1c44558356dff8355de85534929d9)) -- use css !important to override lsd typography styles ([3a8747e](https://github.com/acid-info/logos-docusaurus-plugins/commit/3a8747ee88e215d75a52dbb15abfcce6053f6eee)) - -### Features - -- add a theme option for hiding doc plugin sidebar ([2b04b55](https://github.com/acid-info/logos-docusaurus-plugins/commit/2b04b55741df5b7a2213efdec2ef22356c4a3591)) -- add cta button to feature list ([4b2a2ee](https://github.com/acid-info/logos-docusaurus-plugins/commit/4b2a2eedfd45e1100183a4c240f900fe12611ae1)) -- CTA section new variants ([f33ef07](https://github.com/acid-info/logos-docusaurus-plugins/commit/f33ef0742f36059c575adb994f11acf7630e5cba)) - -# [1.0.0-alpha.4](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.3...v1.0.0-alpha.4) (2023-06-01) - -### Bug Fixes - -- add description for Nomos website ([59d5d7b](https://github.com/acid-info/logos-docusaurus-plugins/commit/59d5d7b653fef51adfe090fe62bd1ccb29305d93)) - -# [1.0.0-alpha.3](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.2...v1.0.0-alpha.3) (2023-06-01) - -### Bug Fixes - -- fix nimbus discord link ([6219112](https://github.com/acid-info/logos-docusaurus-plugins/commit/62191127acb252428ce3b63142e334e7d5de767d)) -- render hero model only in browser ([b6a1a19](https://github.com/acid-info/logos-docusaurus-plugins/commit/b6a1a19780b9a80ff3dc30dc442d36b76ac021a7)) -- update marks & add Nomos BU ([acc4adf](https://github.com/acid-info/logos-docusaurus-plugins/commit/acc4adf8eb6adaa895ed973f2b410caa724518c2)) - -# [1.0.0-alpha.2](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.1...v1.0.0-alpha.2) (2023-06-01) - -### Bug Fixes - -- fix logo size ([4c2a7cd](https://github.com/acid-info/logos-docusaurus-plugins/commit/4c2a7cd565a16f96ba14f40ac817c8beec4c48e2)) -- remove logo image filter ([8db79db](https://github.com/acid-info/logos-docusaurus-plugins/commit/8db79db9008910daebc4c577b4cd8db6385b0aa9)) -- update copyright texts ([9e906b1](https://github.com/acid-info/logos-docusaurus-plugins/commit/9e906b19296fa35386066a9a44ca94cad248de7a)) -- update marks ([6cfd520](https://github.com/acid-info/logos-docusaurus-plugins/commit/6cfd52053589abf7b5c1ea9726ff8e576d067818)) - -### Features - -- add Nimbus business unit ([5bacce8](https://github.com/acid-info/logos-docusaurus-plugins/commit/5bacce86b5414c0c65e472f108ab15cfb3d3cb19)) - -# [1.0.0-alpha.1](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.0...v1.0.0-alpha.1) (2023-06-01) - -### Bug Fixes - -- fix invisible inline codes in TOC ([d2e3cc9](https://github.com/acid-info/logos-docusaurus-plugins/commit/d2e3cc91cba7cb1d19bab14f2373b5ed8e1e6a92)) -- fix order of hero elements ([bb653e4](https://github.com/acid-info/logos-docusaurus-plugins/commit/bb653e447d9bd4f8865da4cb8d9ccd56b4bd755d)) -- fix playground deps ([2d32950](https://github.com/acid-info/logos-docusaurus-plugins/commit/2d32950737e95b43c78e3b7a2a3177231614b6dc)) -- hide external link icon in footer ([ea68109](https://github.com/acid-info/logos-docusaurus-plugins/commit/ea68109dd151185a6fd230389f4e988ce8635b10)) -- use css vars for global spacing and padding, fix footer width overflow on mobile ([0ec93e6](https://github.com/acid-info/logos-docusaurus-plugins/commit/0ec93e6b8c5b45b7b10628e5ae899e5525b0a8ad)) -- use prism css variables in code blocks ([45701ad](https://github.com/acid-info/logos-docusaurus-plugins/commit/45701adbf885ad8808d62f56a1a5601ec01ddcc8)) - -### Features - -- add light prism theme for code blocks ([889e563](https://github.com/acid-info/logos-docusaurus-plugins/commit/889e5633f88bda80009d9e9a20d1b6fc3e64f50e)) -- implement search component ([f6565f3](https://github.com/acid-info/logos-docusaurus-plugins/commit/f6565f321fdae20686043c2c5b9c6a2c16672b5f)) -- inject logos collective footer links into theme config ([75f76a8](https://github.com/acid-info/logos-docusaurus-plugins/commit/75f76a830a4acd20ab4c613e8fe596698880ab7f)) - -# [1.0.0-alpha.0](https://github.com/acid-info/logos-docusaurus-plugins/compare/v0.3.0...v1.0.0-alpha.0) (2023-05-30) - -### Bug Fixes - -- add support for disabled docs plugin ([056796d](https://github.com/acid-info/logos-docusaurus-plugins/commit/056796d03f6ac8f6aba67c9c23c5b624237409e9)) -- avoid rendering search bar if no content plugin is enabled ([6573e73](https://github.com/acid-info/logos-docusaurus-plugins/commit/6573e734ab9f58b266303676ed66aa35c9f1e475)) -- fix Admonition spacing and typography styles ([bbb1ddf](https://github.com/acid-info/logos-docusaurus-plugins/commit/bbb1ddfaa33219f4f3c9bcb8dacf14e4994bc6c9)) -- fix playground config ([c504112](https://github.com/acid-info/logos-docusaurus-plugins/commit/c50411258b693d30418443fe747590089512db96)) -- fix playground's local dependency package version ([f6f66db](https://github.com/acid-info/logos-docusaurus-plugins/commit/f6f66dbc924af08bceb9c66a58f6cc797735b8ab)) -- fix website layout ([5320f7c](https://github.com/acid-info/logos-docusaurus-plugins/commit/5320f7cb5c424c6d68ff94e3832edba2cbad770d)) -- remove hardcoded footer links and ejected components, apply styles in the custom.scss file ([40947d3](https://github.com/acid-info/logos-docusaurus-plugins/commit/40947d3799ec9ee6c3a8c5e222935cb6907e9ec5)) - -### Features - -- add landing page components ([7cf8207](https://github.com/acid-info/logos-docusaurus-plugins/commit/7cf82078c5422b95df64656c0b770edb95e9a6a2)) - -# [0.3.0](https://github.com/acid-info/logos-docusaurus-plugins/compare/v0.2.0...v0.3.0) (2023-03-17) - -### Features - -- make theme configuration more customizable ([e0f47d8](https://github.com/acid-info/logos-docusaurus-plugins/commit/e0f47d8ccd5938cb35ed28ae63603b770c867fc7)) -- support docusaurus's default theme ([46fea42](https://github.com/acid-info/logos-docusaurus-plugins/commit/46fea42c0d40eeb6bbae4b685cf7f39a8b804501)) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 1333ed7..0000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1 +0,0 @@ -TODO diff --git a/README.md b/README.md index 21c343c..1f6f0f0 100644 --- a/README.md +++ b/README.md @@ -1,133 +1,142 @@ -- [Overview](#overview) -- [Quick start](#quick-start) - - [Use a template](#use-a-template) - - [Use with an existing Docusaurus website:](#use-with-an-existing-docusaurus-website) - - [Use the playground](#use-the-playground) -- [Next steps](#next-steps) - - [Working on content](#working-on-content) - - [Configuration](#configuration) - - [Become a contributor](#become-a-contributor) -- [Packages](#packages) -- [License](#license) +# Docusaurus OG -## Overview +Docusaurus OG enables you to automate the generation of custom OpenGraph (OG) images for your Docusaurus website, enhancing the visual representation of your content when shared on social media and other platforms. -This repository contains a set of Docusaurus 2 plugins and themes, initially crafted for Logos websites but versatile enough for use with any Docusaurus website. The collection includes a headless local search, OG image generation, and Fathom Analytics plugins. +This plugin leverages [Vercel's Satori](https://github.com/vercel/satori) to convert your HTML and CSS into images. It lets you define image renderers tailored to each Docusaurus content plugin, allowing you to create unique OG images for your website's content. -## Quick start +## Installation -### Use a template +To get started, simply follow these steps: -Kickstart your website creation with our ready-to-use templates. Choose a template that fits your needs, whether it's a documentation, a blog, or a complete website. - -1. Choose a template: - -- [Website Template](https://github.com/acid-info/logos-website-template) -- [Documentation Website Template](https://github.com/acid-info/logos-documentation-website-template) -- [Blog Template](https://github.com/acid-info/logos-blog-template) - -2. Clone your selected template: +1. Install the plugin: ```bash -# Example: Create a website with a landing page -git clone https://github.com/acid-info/logos-homepage-template.git my-website && cd my-website +yarn add @acid-info/docusaurus-og -# Example: Create a documentation website -git clone https://github.com/acid-info/logos-documentation-website-template.git my-website && cd my-website +# or -# Example: create a blog -git clone https://github.com/acid-info/logos-blog-template.git my-website && cd my-website +npm install @acid-info/docusaurus-og ``` -3. Install the dependencies: - -```bash -yarn install -``` - -4. Run your new website locally: - -```bash -yarn start -``` - -### Use with an existing Docusaurus website: - -1. Install the [Logos Docusaurus preset](./packages/logos-docusaurus-preset/): - -```bash -yarn add @acid-info/logos-docusaurus-preset -``` - -2. Add the preset to your `docusaurus.config.js`: +2. Integrate the plugin into your `docusaurus.config.js`: ```js -presets: [ - [ - '@acid-info/logos-docusaurus-preset', - /** @type {import('@acid-info/logos-docusaurus-preset').PluginOptions} */ - ({ - businessUnit: 'Logos', - }), - ], +plugins: [ + [ + '@acid-info/docusaurus-og', + { + path: './preview-images', // relative to the build directory + imageRenderers: {}, + }, ], - +] ``` -### Use the playground +3. Define your image renderers for the content plugins of your choice. Here's an example: -A playground located in the `packages/docusaurus-playground` of this repository can be used to test the plugins and themes locally. +```js +imageRenderers: { + 'docusaurus-plugin-content-docs': require('./lib/ImageRenderers').docs, + 'docusaurus-plugin-content-pages': require('./lib/ImageRenderers').pages, + 'docusaurus-plugin-content-blog': require('./lib/ImageRenderers').blog, +} +``` -1. Clone the repository: +## Create an Image Renderer + +An image renderer is a function that receives a `data` object representing page data and a `context` object representing the Docusaurus context. This function returns HTML or JSX content, which serves as input for Satori, the image generation tool. Satori processes this content to produce the corresponding OpenGraph image. + +For example, here's an image renderer for the `@docusaurus/plugin-content-docs` plugin: + +```tsx +// src/ImageRenderers.tsx +import type { DocsPageData, ImageRenderer } from '@acid-info/docusaurus-og' +import { readFileSync } from 'fs' +import { join } from 'path' +import React from 'react' + +export const docs: ImageRenderer = (data, context) => [ +
+ {data.metadata.title} +
, + { + width: 1200, + height: 630, + fonts: [ + { + name: 'Inter', + data: readFileSync( + join(__dirname, '../../static/Inter/Inter-Regular.ttf'), + ), + weight: 400, + style: 'normal', + }, + ], + }, +] +``` + +### JSX Support + +If you wish to use JSX within your image renderer, you'll need to compile your code to JavaScript. Here's a TypeScript example: + +1. Create a `tsconfig.client.json` file in your project root to compile your `src` directory: + +```json +// tsconfig.client.json +{ + "compilerOptions": { + "noEmit": false, + "composite": true, + "incremental": true, + "esModuleInterop": true, + "tsBuildInfoFile": "./lib/.tsbuildinfo-client", + "rootDir": "src", + "outDir": "lib", + "module": "CommonJS", + "target": "esnext", + "jsx": "react", + "types": ["node"], + "baseUrl": "./", + "lib": ["DOM"] + }, + "include": ["src"] +} +``` + +2. Add `prestart` and `prebuild` scripts to your `package.json`: + +```json +// package.json +{ + "scripts": { + "prestart": "tsc --project tsconfig.client.json", + "prebuild": "tsc --project tsconfig.client.json" + } +} +``` + +3. Exclude the `lib` directory from your version control by adding it to your `.gitignore` file: ```bash -git clone https://github.com/acid-info/logos-docusaurus-plugins.git +echo "lib" >> .gitignore ``` -2. Install the dependencies: +4. Import your image renderer from the `lib` directory: -```bash -yarn install && yarn link +```js +plugins: [ + [ + '@acid-info/docusaurus-og', + { + path: './preview-images', // relative to the build directory + imageRenderers: { + 'docusaurus-plugin-content-docs': require('./lib/ImageRenderers').docs, + 'docusaurus-plugin-content-pages': require('./lib/ImageRenderers') + .pages, + 'docusaurus-plugin-content-blog': require('./lib/ImageRenderers').blog, + }, + }, + ], +] ``` - -3. Run the playground: - -```bash -yarn start -``` - -## Next steps - -### Working on content - -Our plugins work smoothly with standard Docusaurus features, which you can use to manage and organize content. Learn more on the [Docusaurus website](https://docusaurus.io/docs). For practical guidance on dealing with common use cases, visit our dedicated [Wiki pages](https://github.com/acid-info/logos-docusaurus-plugins/wiki). - -### Configuration - -While it's possible to install and configure our plugins and themes individually, we highly recommend using the [Logos Docusaurus preset](./packages/logos-docusaurus-preset/) for a simplified installation. This preset establishes a default configuration for the plugins and theme and automatically incorporates essential website metadata, logos, and favicons for the selected business unit. For detailed configuration information, please refer to the README file of each package. - -### Become a contributor - -We welcome any kind of contribution, such as reporting issues, suggesting features, writing documentation or fixing bugs. Please read our [contributing guidelines](./CONTRIBUTING.md) on how to get started. - -## Packages - -- **Presets** - - - [Logos Preset](./packages/logos-docusaurus-preset) - A Docusaurus preset for Logos websites. - [![Npm Version](https://img.shields.io/npm/v/@acid-info/logos-docusaurus-preset)](https://www.npmjs.com/package/@acid-info/logos-docusaurus-preset) - -- **Plugins** - - - [Logos Search Local](./packages/logos-docusaurus-search-local) - Headless local search engine for Docusaurus. - [![Npm Version](https://img.shields.io/npm/v/@acid-info/logos-docusaurus-search-local)](https://www.npmjs.com/package/@acid-info/logos-docusaurus-search-local) - - - [Docusaurus OG](./packages/docusaurus-og) - OpenGraph image generator for Docusaurus. - [![Npm Version](https://img.shields.io/npm/v/@acid-info/docusaurus-og)](https://www.npmjs.com/package/@acid-info/docusaurus-og) - - - [Docusaurus Fathom](./packages/docusaurus-fathom) - Fathom Analytics plugin for Docusaurus. - [![Npm Version](https://img.shields.io/npm/v/@acid-info/docusaurus-fathom)](https://www.npmjs.com/package/@acid-info/docusaurus-fathom) - -- **Themes** - - [Logos Theme](./packages/logos-docusaurus-theme) - A customized version of Docusaurus classic theme built with [LSD](https://github.com/acid-info/lsd). - [![Npm Version](https://img.shields.io/npm/v/@acid-info/logos-docusaurus-theme)](https://www.npmjs.com/package/@acid-info/logos-docusaurus-theme) diff --git a/docs.json b/docs.json deleted file mode 100644 index 9e398c4..0000000 --- a/docs.json +++ /dev/null @@ -1,1558 +0,0 @@ -{ - "./packages/logos-docusaurus-theme/src/client/components/mdx/AppCard/AppCard.tsx": [ - { - "description": "A card component for displaying information about an app.\n\n@example\n**Example usage:**\n```jsx\nimport { AppCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx'\n\n\n```\n\n**Grid example:** \n```jsx\nimport { Grid, AppCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx'\n\n\n \n \n \n \n \n \n\n```", - "methods": [], - "displayName": "AppCard", - "props": { - "logoSrc": { - "required": false, - "tsType": { "name": "string" }, - "description": "The source URL for the light logo image" - }, - "logoSrcDark": { - "required": false, - "tsType": { "name": "string" }, - "description": "The source URL for the dark logo image" - }, - "name": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The name of the app" - }, - "description": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The description of the app" - }, - "link": { - "required": false, - "tsType": { "name": "string" }, - "description": "The URL to link to when the card is clicked" - }, - "linkLabel": { - "required": false, - "tsType": { "name": "string" }, - "description": "The label for the link to the app" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/Box/Box.tsx": [ - { - "description": "A box component that can be used to add top and bottom margins with breakpoints.\n@example\n```tsx\nimport { Box } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx'\n\n

This is some content inside the box.

\n
\n```", - "methods": [], - "displayName": "Box", - "props": { - "top": { - "required": false, - "tsType": { - "name": "union", - "raw": "BreakpointsStyle | number", - "elements": [ - { - "name": "signature", - "type": "object", - "raw": "{\n xs?: T\n sm?: T\n md?: T\n lg?: T\n xl?: T\n}", - "signature": { - "properties": [ - { - "key": "xs", - "value": { "name": "number", "required": false } - }, - { - "key": "sm", - "value": { "name": "number", "required": false } - }, - { - "key": "md", - "value": { "name": "number", "required": false } - }, - { - "key": "lg", - "value": { "name": "number", "required": false } - }, - { - "key": "xl", - "value": { "name": "number", "required": false } - } - ] - } - }, - { "name": "number" } - ] - }, - "description": "", - "defaultValue": { "value": "0", "computed": false } - }, - "bottom": { - "required": false, - "tsType": { - "name": "union", - "raw": "BreakpointsStyle | number", - "elements": [ - { - "name": "signature", - "type": "object", - "raw": "{\n xs?: T\n sm?: T\n md?: T\n lg?: T\n xl?: T\n}", - "signature": { - "properties": [ - { - "key": "xs", - "value": { "name": "number", "required": false } - }, - { - "key": "sm", - "value": { "name": "number", "required": false } - }, - { - "key": "md", - "value": { "name": "number", "required": false } - }, - { - "key": "lg", - "value": { "name": "number", "required": false } - }, - { - "key": "xl", - "value": { "name": "number", "required": false } - } - ] - } - }, - { "name": "number" } - ] - }, - "description": "", - "defaultValue": { "value": "0", "computed": false } - }, - "style": { - "defaultValue": { "value": "{}", "computed": false }, - "required": false - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/CallToActionButton/CallToActionButton.tsx": [ - { - "description": "A call-to-action button that can be used in MDX pages.\n\n@example\n```jsx\nimport { CallToActionButton } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n Join our community\n\n```", - "methods": [], - "displayName": "CallToActionButton", - "props": { - "href": { - "required": false, - "tsType": { "name": "string" }, - "description": "The URL to link to when the button is clicked" - }, - "size": { - "required": false, - "tsType": { - "name": "union", - "raw": "'small' | 'medium' | 'large'", - "elements": [ - { "name": "literal", "value": "'small'" }, - { "name": "literal", "value": "'medium'" }, - { "name": "literal", "value": "'large'" } - ] - }, - "description": "The size of the button\n@type {'small' | 'medium' | 'large'}", - "defaultValue": { "value": "'large'", "computed": false } - }, - "variant": { - "required": false, - "tsType": { - "name": "ButtonProps['variant']", - "raw": "ButtonProps['variant']" - }, - "description": "The variant of the button", - "defaultValue": { "value": "'filled'", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/Grid/Grid.tsx": [ - { - "description": "", - "methods": [ - { - "name": "Item", - "docblock": null, - "modifiers": ["static"], - "params": [ - { - "name": "{ children, ...props }", - "optional": false, - "type": null - } - ], - "returns": null - } - ], - "displayName": "Grid" - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/CallToActionSection/CallToActionSection.tsx": [ - { - "description": "A call-to-action section component that can be used in MDX pages.\n\n@example\n```tsx\nimport { CallToActionSection } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n```\n\nWith a list:\n```tsx\nimport { CallToActionSection } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n Follow the detailed
step-by-step guide here\n \n }\n list={[\n {\n title: \"Simple setup\",\n description: \"Run integrated Nimbus Beacon Node and Validator Client together.\"\n },\n {\n title: \"Use Nimbus Beacon node\",\n description: \"Run Nimbus Beacon Node with an alternative validator client.\"\n },\n {\n title: \"Use Nimbus Validator client\",\n description: \"Run Nimbus Validator Client with an alternative Beacon Node\"\n }\n ]}\n label=\"Get Nimbus\"\n target=\"_blank\"\n href=\"https://nimbus.guide/quick-start.html\"\n/>\n```", - "methods": [], - "displayName": "CallToActionSection", - "props": { - "title": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The title of the section" - }, - "description": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The description of the section" - }, - "columns": { - "required": false, - "tsType": { - "name": "union", - "raw": "1 | 2", - "elements": [ - { "name": "literal", "value": "1" }, - { "name": "literal", "value": "2" } - ] - }, - "description": "The number of columns to display the content in", - "defaultValue": { "value": "1", "computed": false } - }, - "href": { - "required": false, - "tsType": { "name": "string" }, - "description": "The URL to link to when the button is clicked" - }, - "label": { - "required": false, - "tsType": { "name": "string" }, - "description": "The label to display on the button" - }, - "target": { - "required": false, - "tsType": { - "name": "ReactAnchorHTMLAttributes['target']", - "raw": "React.AnchorHTMLAttributes['target']" - }, - "description": "The target attribute for the link e.g., `_self`, `_blank`" - }, - "variant": { - "required": false, - "tsType": { - "name": "ButtonProps['variant']", - "raw": "ButtonProps['variant']" - }, - "description": "The variant of the button", - "defaultValue": { "value": "'outlined'", "computed": false } - }, - "list": { - "required": false, - "tsType": { - "name": "Array", - "elements": [ - { - "name": "signature", - "type": "object", - "raw": "{\n /**\n * The title of the list item\n */\n title: React.ReactNode\n /**\n * The description of the list item\n */\n description: React.ReactNode\n}", - "signature": { - "properties": [ - { - "key": "title", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - }, - "description": "The title of the list item" - }, - { - "key": "description", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - }, - "description": "The description of the list item" - } - ] - } - } - ], - "raw": "{\n /**\n * The title of the list item\n */\n title: React.ReactNode\n /**\n * The description of the list item\n */\n description: React.ReactNode\n}[]" - }, - "description": "A list of items to display in the section", - "defaultValue": { "value": "[]", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/Grid/GridItem.tsx": [ - { "description": "", "methods": [], "displayName": "GridItem" } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroActions/HeroActions.tsx": [ - { "description": "", "methods": [], "displayName": "HeroActions" } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/FeatureList/FeatureList.tsx": [ - { - "description": "A component that displays a list of features with titles and descriptions.\n\n@example\n```tsx\nimport { FeatureList } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx'\n\n\n \n Read More\n \n\n```", - "methods": [], - "displayName": "FeatureList", - "props": { - "title": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The title of the feature list.", - "defaultValue": { "value": "'Features'", "computed": false } - }, - "features": { - "required": false, - "tsType": { - "name": "Array", - "elements": [ - { - "name": "signature", - "type": "object", - "raw": "{\n title: React.ReactNode\n description: React.ReactNode\n}", - "signature": { - "properties": [ - { - "key": "title", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - } - }, - { - "key": "description", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - } - } - ] - } - } - ], - "raw": "Feature[]" - }, - "description": "An array of features to be displayed in the list.", - "defaultValue": { "value": "[]", "computed": false } - }, - "alignment": { - "required": false, - "tsType": { - "name": "union", - "raw": "'bottom' | 'top'", - "elements": [ - { "name": "literal", "value": "'bottom'" }, - { "name": "literal", "value": "'top'" } - ] - }, - "description": "The vertical alignment of feature description.", - "defaultValue": { "value": "'bottom'", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroDescription/HeroDescription.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroDescription", - "props": { - "size": { - "required": false, - "tsType": { - "name": "union", - "raw": "'small' | 'medium' | 'large'", - "elements": [ - { "name": "literal", "value": "'small'" }, - { "name": "literal", "value": "'medium'" }, - { "name": "literal", "value": "'large'" } - ] - }, - "description": "" - }, - "uppercase": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "", - "defaultValue": { "value": "false", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroInfo/HeroInfo.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroInfo", - "props": { - "size": { - "required": false, - "tsType": { - "name": "union", - "raw": "'medium' | 'large' | 'small'", - "elements": [ - { "name": "literal", "value": "'medium'" }, - { "name": "literal", "value": "'large'" }, - { "name": "literal", "value": "'small'" } - ] - }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroModel/Ascii.tsx": [ - { - "description": "", - "methods": [], - "displayName": "AsciiRenderer", - "props": { - "characters": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "invert": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - }, - "color": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - }, - "bgColor": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "fgColor": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "resolution": { - "required": false, - "tsType": { "name": "number" }, - "description": "" - }, - "renderIndex": { - "required": false, - "tsType": { "name": "number" }, - "description": "" - }, - "textShadowSize": { - "required": false, - "tsType": { "name": "number" }, - "description": "" - }, - "withTextShadow": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroAction/HeroAction.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroAction", - "props": { - "variant": { - "required": false, - "tsType": { - "name": "ButtonProps['variant']", - "raw": "ButtonProps['variant']" - }, - "description": "", - "defaultValue": { "value": "'outlined'", "computed": false } - }, - "size": { - "required": false, - "tsType": { - "name": "union", - "raw": "'medium' | 'large'", - "elements": [ - { "name": "literal", "value": "'medium'" }, - { "name": "literal", "value": "'large'" } - ] - }, - "description": "", - "defaultValue": { "value": "'large'", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/Hero/Hero.tsx": [ - { - "description": "A hero component that displays a large banner at the top of a page.\n\n@example\n```tsx\nimport {\n Hero,\n HeroTitle,\n HeroDescription,\n HeroVideo,\n HeroActions,\n HeroAction,\n} from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx'\n\n \n \n \n {'Light and Performant Clients, for All Ethereum Validators'}\n \n \n {'Ethereum validators of all sizes trust Nimbus to run their nodes. From large node operators, to solo stakers on a Raspberry Pi.'}\n \n \n \n Get Nimbus\n \n \n \n\n \n \n \n \n\n```", - "methods": [], - "displayName": "Hero", - "props": { - "size": { - "required": false, - "tsType": { - "name": "union", - "raw": "'large' | 'medium' | 'small'", - "elements": [ - { "name": "literal", "value": "'large'" }, - { "name": "literal", "value": "'medium'" }, - { "name": "literal", "value": "'small'" } - ] - }, - "description": "", - "defaultValue": { "value": "'medium'", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroModel/index.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroModel", - "props": { - "modelId": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "preset": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n cameraPos: [number, number, number]\n cameraRot: [number, number, number]\n controlsTarget: [number, number, number]\n}", - "signature": { - "properties": [ - { - "key": "cameraPos", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "cameraRot", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "controlsTarget", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - } - ] - } - }, - "description": "" - }, - "mode": { - "required": false, - "tsType": { - "name": "union", - "raw": "'simple' | 'abstract'", - "elements": [ - { "name": "literal", "value": "'simple'" }, - { "name": "literal", "value": "'abstract'" } - ] - }, - "description": "" - }, - "asciiConfig": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n characters?: string\n invert?: boolean\n color?: boolean\n bgColor?: string\n fgColor?: string\n resolution?: number\n renderIndex?: number\n textShadowSize?: number\n withTextShadow?: boolean\n}", - "signature": { - "properties": [ - { - "key": "characters", - "value": { "name": "string", "required": false } - }, - { - "key": "invert", - "value": { "name": "boolean", "required": false } - }, - { - "key": "color", - "value": { "name": "boolean", "required": false } - }, - { - "key": "bgColor", - "value": { "name": "string", "required": false } - }, - { - "key": "fgColor", - "value": { "name": "string", "required": false } - }, - { - "key": "resolution", - "value": { "name": "number", "required": false } - }, - { - "key": "renderIndex", - "value": { "name": "number", "required": false } - }, - { - "key": "textShadowSize", - "value": { "name": "number", "required": false } - }, - { - "key": "withTextShadow", - "value": { "name": "boolean", "required": false } - } - ] - } - }, - "description": "" - }, - "rotateSpeed": { - "required": false, - "tsType": { "name": "number" }, - "description": "" - }, - "startY": { - "required": false, - "tsType": { - "name": "union", - "raw": "'top' | 'bottom'", - "elements": [ - { "name": "literal", "value": "'top'" }, - { "name": "literal", "value": "'bottom'" } - ] - }, - "description": "" - }, - "enableZoom": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - }, - "enableRotateOnScroll": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - }, - "withParallelEffect": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroTitle/HeroTitle.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroTitle", - "props": { - "size": { - "required": false, - "tsType": { - "name": "union", - "raw": "'medium' | 'large'", - "elements": [ - { "name": "literal", "value": "'medium'" }, - { "name": "literal", "value": "'large'" } - ] - }, - "description": "" - }, - "uppercase": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroVideo/HeroVideo.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroVideo", - "props": { - "placeholderSrc": { - "required": true, - "tsType": { "name": "string" }, - "description": "" - }, - "desktop": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n scale?: string\n height?: string\n minHeight?: string\n offsetY?: string\n}", - "signature": { - "properties": [ - { - "key": "scale", - "value": { "name": "string", "required": false } - }, - { - "key": "height", - "value": { "name": "string", "required": false } - }, - { - "key": "minHeight", - "value": { "name": "string", "required": false } - }, - { - "key": "offsetY", - "value": { "name": "string", "required": false } - } - ] - } - }, - "description": "" - }, - "mobile": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n scale?: string\n height?: string\n minHeight?: string\n offsetY?: string\n}", - "signature": { - "properties": [ - { - "key": "scale", - "value": { "name": "string", "required": false } - }, - { - "key": "height", - "value": { "name": "string", "required": false } - }, - { - "key": "minHeight", - "value": { "name": "string", "required": false } - }, - { - "key": "offsetY", - "value": { "name": "string", "required": false } - } - ] - } - }, - "description": "" - }, - "style": { - "defaultValue": { "value": "{}", "computed": false }, - "required": false - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/PageCard/PageCard.tsx": [ - { - "description": "A card component used in Docusaurus auto-generated category index pages to display page links.\n\n@example\n```tsx\nimport { PageCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n```", - "methods": [], - "displayName": "PageCard", - "props": { - "title": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "description": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "icon": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "", - "defaultValue": { - "value": "", - "computed": false - } - }, - "target": { - "defaultValue": { "value": "'_self'", "computed": false }, - "required": false - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/PoweredBy/PoweredBy.tsx": [ - { - "description": "", - "methods": [], - "displayName": "PoweredBy", - "props": { - "actions": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "items": { - "required": false, - "tsType": { - "name": "Array", - "elements": [ - { - "name": "intersection", - "raw": "React.HTMLProps & {\n /**\n * The source URL for the light logo image\n */\n logoSrc?: string\n /**\n * The source URL for the dark logo image\n */\n logoSrcDark?: string\n /**\n * The name of the app\n */\n name?: React.ReactNode\n /**\n * The description of the app\n */\n description?: React.ReactNode\n /**\n * The URL to link to when the card is clicked\n */\n link?: string\n /**\n * The label for the link to the app\n */\n linkLabel?: string\n}", - "elements": [ - { - "name": "ReactHTMLProps", - "raw": "React.HTMLProps", - "elements": [{ "name": "HTMLDivElement" }] - }, - { - "name": "signature", - "type": "object", - "raw": "{\n /**\n * The source URL for the light logo image\n */\n logoSrc?: string\n /**\n * The source URL for the dark logo image\n */\n logoSrcDark?: string\n /**\n * The name of the app\n */\n name?: React.ReactNode\n /**\n * The description of the app\n */\n description?: React.ReactNode\n /**\n * The URL to link to when the card is clicked\n */\n link?: string\n /**\n * The label for the link to the app\n */\n linkLabel?: string\n}", - "signature": { - "properties": [ - { - "key": "logoSrc", - "value": { "name": "string", "required": false }, - "description": "The source URL for the light logo image" - }, - { - "key": "logoSrcDark", - "value": { "name": "string", "required": false }, - "description": "The source URL for the dark logo image" - }, - { - "key": "name", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": false - }, - "description": "The name of the app" - }, - { - "key": "description", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": false - }, - "description": "The description of the app" - }, - { - "key": "link", - "value": { "name": "string", "required": false }, - "description": "The URL to link to when the card is clicked" - }, - { - "key": "linkLabel", - "value": { "name": "string", "required": false }, - "description": "The label for the link to the app" - } - ] - } - } - ] - } - ], - "raw": "AppCardProps[]" - }, - "description": "", - "defaultValue": { "value": "[]", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/ProfileCard/ProfileCard.tsx": [ - { - "description": "A component used to display team members' profiles, including their name, avatar, and social links.\n\n@example\n```tsx \nimport { ProfileCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n```\n\nExample usage of ProfileCard within a grid:\n\n```tsx\nimport { Grid, ProfileCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n \n \n \n Add more ProfileCard items within the grid \n\n```", - "methods": [], - "displayName": "ProfileCard", - "props": { - "imgSrc": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "name": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "githubUsername": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "githubLink": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "discordUsername": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "discordLink": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/ScrollToBottom/ScrollToBottom.tsx": [ - { "description": "", "methods": [], "displayName": "ScrollToBottom" } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/Roadmap/Roadmap.tsx": [ - { - "description": "", - "methods": [], - "displayName": "Roadmap", - "props": { - "title": { - "required": true, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "description": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "alignment": { - "required": false, - "tsType": { - "name": "union", - "raw": "'top' | 'bottom'", - "elements": [ - { "name": "literal", "value": "'top'" }, - { "name": "literal", "value": "'bottom'" } - ] - }, - "description": "", - "defaultValue": { "value": "'bottom'", "computed": false } - }, - "timeline": { - "required": false, - "tsType": { - "name": "Array", - "elements": [ - { - "name": "Partial", - "elements": [ - { - "name": "intersection", - "raw": "Omit<\n React.HTMLAttributes,\n 'title'\n> & {\n /** The index or label of the timeline item. */\n index: React.ReactNode\n /** The alignment of the timeline item, either 'top' or 'bottom'. (Optional, default: 'top') */\n alignment?: 'top' | 'bottom'\n /** The period or time frame associated with the timeline item. e.g., `2023 Q3` */\n period: React.ReactNode\n /** The description or content of the timeline item. */\n description: React.ReactNode\n /** The border style for the timeline item */\n borderStyle?: 'solid' | 'dashed' | 'none'\n}", - "elements": [ - { - "name": "Omit", - "elements": [ - { - "name": "ReactHTMLAttributes", - "raw": "React.HTMLAttributes", - "elements": [{ "name": "HTMLDivElement" }] - }, - { "name": "literal", "value": "'title'" } - ], - "raw": "Omit<\n React.HTMLAttributes,\n 'title'\n>" - }, - { - "name": "signature", - "type": "object", - "raw": "{\n /** The index or label of the timeline item. */\n index: React.ReactNode\n /** The alignment of the timeline item, either 'top' or 'bottom'. (Optional, default: 'top') */\n alignment?: 'top' | 'bottom'\n /** The period or time frame associated with the timeline item. e.g., `2023 Q3` */\n period: React.ReactNode\n /** The description or content of the timeline item. */\n description: React.ReactNode\n /** The border style for the timeline item */\n borderStyle?: 'solid' | 'dashed' | 'none'\n}", - "signature": { - "properties": [ - { - "key": "index", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - }, - "description": "The index or label of the timeline item." - }, - { - "key": "alignment", - "value": { - "name": "union", - "raw": "'top' | 'bottom'", - "elements": [ - { "name": "literal", "value": "'top'" }, - { "name": "literal", "value": "'bottom'" } - ], - "required": false - }, - "description": "The alignment of the timeline item, either 'top' or 'bottom'. (Optional, default: 'top')" - }, - { - "key": "period", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - }, - "description": "The period or time frame associated with the timeline item. e.g., `2023 Q3`" - }, - { - "key": "description", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - }, - "description": "The description or content of the timeline item." - }, - { - "key": "borderStyle", - "value": { - "name": "union", - "raw": "'solid' | 'dashed' | 'none'", - "elements": [ - { "name": "literal", "value": "'solid'" }, - { "name": "literal", "value": "'dashed'" }, - { "name": "literal", "value": "'none'" } - ], - "required": false - }, - "description": "The border style for the timeline item" - } - ] - } - } - ] - } - ], - "raw": "Partial" - } - ], - "raw": "Partial[]" - }, - "description": "", - "defaultValue": { "value": "[]", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/SectionHeader/SectionHeader.tsx": [ - { - "description": "", - "methods": [], - "displayName": "SectionHeader", - "props": { - "title": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "description": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/DocMetadata/DocMetadata.tsx": [ - { "description": "", "methods": [], "displayName": "DocMetadata" } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/ShowcaseCard/ShowcaseCard.tsx": [ - { - "description": "", - "methods": [], - "displayName": "ShowcaseCard", - "props": { - "logoSrc": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "logoSrcDark": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "name": { - "required": true, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "description": { - "required": true, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/Showcase/Showcase.tsx": [ - { - "description": "", - "methods": [], - "displayName": "Showcase", - "props": { - "actions": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "" - }, - "items": { - "required": false, - "tsType": { - "name": "Array", - "elements": [ - { - "name": "intersection", - "raw": "Omit<\n React.HTMLAttributes,\n 'title'\n> & {\n logoSrc?: string\n logoSrcDark?: string\n name: React.ReactNode\n description: React.ReactNode\n}", - "elements": [ - { - "name": "Omit", - "elements": [ - { - "name": "ReactHTMLAttributes", - "raw": "React.HTMLAttributes", - "elements": [{ "name": "HTMLDivElement" }] - }, - { "name": "literal", "value": "'title'" } - ], - "raw": "Omit<\n React.HTMLAttributes,\n 'title'\n>" - }, - { - "name": "signature", - "type": "object", - "raw": "{\n logoSrc?: string\n logoSrcDark?: string\n name: React.ReactNode\n description: React.ReactNode\n}", - "signature": { - "properties": [ - { - "key": "logoSrc", - "value": { "name": "string", "required": false } - }, - { - "key": "logoSrcDark", - "value": { "name": "string", "required": false } - }, - { - "key": "name", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - } - }, - { - "key": "description", - "value": { - "name": "ReactReactNode", - "raw": "React.ReactNode", - "required": true - } - } - ] - } - } - ] - } - ], - "raw": "ShowcaseCardProps[]" - }, - "description": "", - "defaultValue": { "value": "[]", "computed": false } - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/SocialCard/SocialCard.tsx": [ - { - "description": "A component used for displaying social media or community platform cards with a logo and description.\n\n@example\n```tsx\nimport { SocialCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n```\n\nGrid example:\n```tsx\nimport { Box, Grid, SocialCard } from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx';\n\n\n \n \n \n \n \n \n \n \n\n```", - "methods": [], - "displayName": "SocialCard", - "props": { - "logoSrc": { - "required": false, - "tsType": { "name": "string" }, - "description": "The URL of the logo image for the social media or community platform (light theme)." - }, - "logoSrcDark": { - "required": false, - "tsType": { "name": "string" }, - "description": "The URL of the logo image for the social media or community platform (dark theme)." - }, - "description": { - "required": false, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The description or content associated with the social media or community platform." - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/TimelineItem/TimelineItem.tsx": [ - { - "description": "A component for displaying roadmap items, such as events or milestones, in a timeline layout.\n\n@example\nRoadmap example:\n```tsx\nimport {\n Box,\n Grid,\n TimelineItem,\n SectionHeader,\n CallToActionButton\n} from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx'\n\n\n \n \n Read more\n \n }>\n \n \n \n Add more items here\n \n \n \n \n\n```", - "methods": [], - "displayName": "TimelineItem", - "props": { - "index": { - "required": true, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The index or label of the timeline item." - }, - "alignment": { - "required": false, - "tsType": { - "name": "union", - "raw": "'top' | 'bottom'", - "elements": [ - { "name": "literal", "value": "'top'" }, - { "name": "literal", "value": "'bottom'" } - ] - }, - "description": "The alignment of the timeline item, either 'top' or 'bottom'. (Optional, default: 'top')", - "defaultValue": { "value": "'top'", "computed": false } - }, - "period": { - "required": true, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The period or time frame associated with the timeline item. e.g., `2023 Q3`" - }, - "description": { - "required": true, - "tsType": { "name": "ReactReactNode", "raw": "React.ReactNode" }, - "description": "The description or content of the timeline item." - }, - "borderStyle": { - "required": false, - "tsType": { - "name": "union", - "raw": "'solid' | 'dashed' | 'none'", - "elements": [ - { "name": "literal", "value": "'solid'" }, - { "name": "literal", "value": "'dashed'" }, - { "name": "literal", "value": "'none'" } - ] - }, - "description": "The border style for the timeline item" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroModel/Controls.tsx": [ - { - "description": "", - "methods": [], - "displayName": "Controls", - "props": { - "rotateSpeed": { - "required": false, - "tsType": { "name": "number" }, - "description": "", - "defaultValue": { "value": "0.1", "computed": false } - }, - "enableZoom": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "", - "defaultValue": { "value": "true", "computed": false } - }, - "enableRotateOnScroll": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "", - "defaultValue": { "value": "true", "computed": false } - }, - "preset": { - "required": true, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n cameraPos: [number, number, number]\n cameraRot: [number, number, number]\n controlsTarget: [number, number, number]\n}", - "signature": { - "properties": [ - { - "key": "cameraPos", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "cameraRot", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "controlsTarget", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - } - ] - } - }, - "description": "" - }, - "targetPreset": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n cameraPos: [number, number, number]\n cameraRot: [number, number, number]\n controlsTarget: [number, number, number]\n}", - "signature": { - "properties": [ - { - "key": "cameraPos", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "cameraRot", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "controlsTarget", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - } - ] - } - }, - "description": "" - } - } - } - ], - "./packages/logos-docusaurus-theme/src/client/components/mdx/HeroModel/HeroModel.tsx": [ - { - "description": "", - "methods": [], - "displayName": "HeroModel", - "props": { - "modelId": { - "required": false, - "tsType": { "name": "string" }, - "description": "" - }, - "preset": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n cameraPos: [number, number, number]\n cameraRot: [number, number, number]\n controlsTarget: [number, number, number]\n}", - "signature": { - "properties": [ - { - "key": "cameraPos", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "cameraRot", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - }, - { - "key": "controlsTarget", - "value": { - "name": "tuple", - "raw": "[number, number, number]", - "elements": [ - { "name": "number" }, - { "name": "number" }, - { "name": "number" } - ], - "required": true - } - } - ] - } - }, - "description": "" - }, - "mode": { - "required": false, - "tsType": { - "name": "union", - "raw": "'simple' | 'abstract'", - "elements": [ - { "name": "literal", "value": "'simple'" }, - { "name": "literal", "value": "'abstract'" } - ] - }, - "description": "" - }, - "asciiConfig": { - "required": false, - "tsType": { - "name": "signature", - "type": "object", - "raw": "{\n characters?: string\n invert?: boolean\n color?: boolean\n bgColor?: string\n fgColor?: string\n resolution?: number\n renderIndex?: number\n textShadowSize?: number\n withTextShadow?: boolean\n}", - "signature": { - "properties": [ - { - "key": "characters", - "value": { "name": "string", "required": false } - }, - { - "key": "invert", - "value": { "name": "boolean", "required": false } - }, - { - "key": "color", - "value": { "name": "boolean", "required": false } - }, - { - "key": "bgColor", - "value": { "name": "string", "required": false } - }, - { - "key": "fgColor", - "value": { "name": "string", "required": false } - }, - { - "key": "resolution", - "value": { "name": "number", "required": false } - }, - { - "key": "renderIndex", - "value": { "name": "number", "required": false } - }, - { - "key": "textShadowSize", - "value": { "name": "number", "required": false } - }, - { - "key": "withTextShadow", - "value": { "name": "boolean", "required": false } - } - ] - } - }, - "description": "" - }, - "rotateSpeed": { - "required": false, - "tsType": { "name": "number" }, - "description": "" - }, - "startY": { - "required": false, - "tsType": { - "name": "union", - "raw": "'top' | 'bottom'", - "elements": [ - { "name": "literal", "value": "'top'" }, - { "name": "literal", "value": "'bottom'" } - ] - }, - "description": "" - }, - "enableZoom": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - }, - "enableRotateOnScroll": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - }, - "withParallelEffect": { - "required": false, - "tsType": { "name": "boolean" }, - "description": "" - } - } - } - ] -} diff --git a/lerna.json b/lerna.json deleted file mode 100644 index e705b9f..0000000 --- a/lerna.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "version": "1.0.0-alpha.149", - "npmClient": "yarn", - "useWorkspaces": true, - "$schema": "node_modules/lerna/schemas/lerna-schema.json" -} diff --git a/package.json b/package.json index 3b79977..5921d8a 100644 --- a/package.json +++ b/package.json @@ -1,46 +1,41 @@ { - "name": "root", - "version": "0.0.0", + "name": "@kas-tle/docusaurus-og", + "version": "1.0.0-alpha.132", + "description": "Docusaurus OpenGraph image plugin", + "main": "lib/index.js", + "repository": { + "type": "git", + "url": "https://github.com/acid-info/logos-docusaurus-plugins.git", + "directory": "packages/docusaurus-og" + }, "license": "MIT", - "private": true, - "workspaces": [ - "packages/*" - ], "scripts": { - "bootstrap": "lerna bootstrap", - "watch": "lerna --ignore docusaurus-playground run watch", - "build": "lerna --ignore docusaurus-playground run build", - "start": "lerna --scope docusaurus-playground run start", - "serve": "lerna --scope docusaurus-playground run serve", - "prepare": "husky install", - "prettier": "pretty-quick", - "prettier:staged": "pretty-quick --staged" + "build": "tsc --build", + "watch": "tsc --build --watch", + "prepublishOnly": "yarn build", + "postinstall": "tsc --outDir" + }, + "dependencies": { + "@docusaurus/core": "^2.4.1", + "@docusaurus/module-type-aliases": "^2.4.1", + "@docusaurus/types": "^2.4.1", + "@docusaurus/utils": "^2.4.1", + "@docusaurus/utils-common": "^2.4.1", + "@docusaurus/utils-validation": "^2.4.1", + "lodash": "^4.17.21", + "node-html-parser": "^6.1.5", + "object-hash": "^3.0.0", + "satori": "^0.10.13", + "sharp": "^0.32.1" + }, + "engines": { + "node": ">=16.14" }, "devDependencies": { - "@types/node": "^18.0.3", - "@types/react": "^18.0.15", - "cross-env": "^7.0.3", - "gulp": "^4.0.2", - "gulp-cli": "^2.3.0", - "gulp-replace": "^1.1.3", - "gulp-sass": "^5.1.0", - "gulp-sourcemaps": "^3.0.0", - "gulp-typescript": "^6.0.0-alpha.1", - "husky": "^8.0.1", - "lerna": "^6.0.1", - "merge2": "^1.4.1", - "minimist": "^1.2.7", - "prettier": "^2.7.1", - "pretty-quick": "^3.1.3", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "rimraf": "^3.0.2", - "sync-directory": "^5.1.9", - "typescript": "~4.7.4", - "typescript-transform-paths": "^3.3.1" - }, - "peerDependencies": { - "react": "^16.8.4 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0" + "@docusaurus/plugin-content-blog": "^3.1.1", + "@docusaurus/plugin-content-docs": "^3.1.1", + "@docusaurus/plugin-content-pages": "^3.1.1", + "@types/lodash": "^4.14.186", + "typescript": "^5.4.3" } } diff --git a/packages/docusaurus-fathom/CHANGELOG.md b/packages/docusaurus-fathom/CHANGELOG.md deleted file mode 100644 index 137c64c..0000000 --- a/packages/docusaurus-fathom/CHANGELOG.md +++ /dev/null @@ -1,31 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [1.0.0-alpha.111](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.110...v1.0.0-alpha.111) (2023-10-30) - -**Note:** Version bump only for package @acid-info/docusaurus-fathom - -# [1.0.0-alpha.101](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.100...v1.0.0-alpha.101) (2023-09-22) - -### Bug Fixes - -- fix exceptional cases with docusaurus-fathom ([91d60ae](https://github.com/acid-info/logos-docusaurus-plugins/commit/91d60aed3ae0bf7365b692d39ebd16d0e5deee61)) - -### Features - -- add disable prop to docusaurus-fathom ([096ddcf](https://github.com/acid-info/logos-docusaurus-plugins/commit/096ddcf54d446c8dab31b5a662711be90a80ecc9)) -- add valid hostnames to dcosaurus-fathom ([88f9158](https://github.com/acid-info/logos-docusaurus-plugins/commit/88f91589fb10981547d322347deb87c4cfda6a6e)) - -# [1.0.0-alpha.61](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.60...v1.0.0-alpha.61) (2023-06-28) - -### Bug Fixes - -- fix build errors ([0d03f51](https://github.com/acid-info/logos-docusaurus-plugins/commit/0d03f51790c613a43c96925f51caa5e8e346b3fd)) - -### Features - -- implement fathom ([966c6b3](https://github.com/acid-info/logos-docusaurus-plugins/commit/966c6b363686689586b199c0902564e41b79360c)) - -# Change Log diff --git a/packages/docusaurus-fathom/README.md b/packages/docusaurus-fathom/README.md deleted file mode 100644 index 0a7186d..0000000 --- a/packages/docusaurus-fathom/README.md +++ /dev/null @@ -1,48 +0,0 @@ -# Docusaurus Fathom Plugin - -The Docusaurus Fathom Plugin seamlessly integrates your Docusaurus website with Fathom Analytics. - -## Usage - -1. Install the plugin: - -```bash -yarn add @acid-info/docusaurus-fathom - -# or -npm install @acid-info/docusaurus-fathom -``` - -2. Add the plugin to your `docusaurus.config.js`: - -```javascript -plugins: [ - [ - '@acid-info/docusaurus-fathom', - { - siteId: 'your-site-id', - scriptUrl: 'https://your-fathom-instance.com/script.js', - hostnames: ['mywebsite.com', 'staging.mywebsite.com'], - }, - ], -] -``` - -## Configuration - -**`siteId`** - -- **Type**: `string` (required) -- **Description**: Your Fathom Analytics site ID. - -**`scriptUrl`** - -- **Type**: `string` (required) -- **Description**: this URL is used for downloading and injecting the Fathom script into your website. - -**`hostnames`** - -- **Type**: `string[]` (optional) -- **Default**: `[]` -- **Example**: `['mywebsite.com', 'staging.mywebsite.com']` -- **Description**: A whitelist of hostnames where the Fathom script will be loaded and pageview tracking will occur. If you want the plugin to work on any hostname, you can leave this option empty or omit it from the configuration. diff --git a/packages/docusaurus-fathom/package.json b/packages/docusaurus-fathom/package.json deleted file mode 100644 index c0fc7c1..0000000 --- a/packages/docusaurus-fathom/package.json +++ /dev/null @@ -1,38 +0,0 @@ -{ - "name": "@acid-info/docusaurus-fathom", - "version": "1.0.0-alpha.111", - "description": "Docusaurus fathom plugin", - "main": "lib/index.js", - "types": "src/plugin.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/acid-info/logos-docusaurus-plugins.git", - "directory": "packages/docusaurus-fathom" - }, - "license": "MIT", - "scripts": { - "build": "tsc --build", - "watch": "tsc --build --watch", - "prepublishOnly": "yarn build" - }, - "dependencies": { - "@docusaurus/core": "^2.4.1", - "@docusaurus/module-type-aliases": "^2.4.1", - "@docusaurus/types": "^2.4.1", - "@docusaurus/utils": "^2.4.1", - "@docusaurus/utils-common": "^2.4.1", - "@docusaurus/utils-validation": "^2.4.1", - "lodash": "^4.17.21", - "node-html-parser": "^6.1.5", - "object-hash": "^3.0.0", - "satori": "^0.10.1", - "sharp": "^0.32.1" - }, - "engines": { - "node": ">=16.14" - }, - "devDependencies": { - "@types/lodash": "^4.14.186" - }, - "gitHead": "d2ee08c6c0678f78ad70f5d04183f7f781d11563" -} diff --git a/packages/docusaurus-fathom/src/client/index.ts b/packages/docusaurus-fathom/src/client/index.ts deleted file mode 100644 index 24e3f16..0000000 --- a/packages/docusaurus-fathom/src/client/index.ts +++ /dev/null @@ -1,52 +0,0 @@ -import { - SITE_ID, - SCRIPT_URL, - HOSTNAMES, -} from '@generated/docusaurus-fathom/default/options' -import ExecutionEnvironment from '@docusaurus/ExecutionEnvironment' -import { ClientModule } from '@docusaurus/types/src/clientModule' - -declare global { - interface Window { - fathom: any - } -} - -const main = () => { - if ( - HOSTNAMES.length > 0 - ? !HOSTNAMES.includes(window.location.hostname) - : window.location.hostname === 'localhost' - ) - return - ;(function (f: any, a: any, t: string, h: string) { - a[h] = - a[h] || - function () { - ;(a[h].q = a[h].q || []).push(arguments) - } - const o = f.createElement('script') - const m = f.getElementsByTagName('script')[0] - o.async = 1 - o.src = t - o.id = 'fathom-script' - m.parentNode.insertBefore(o, m) - })(document, window, SCRIPT_URL, 'fathom') - - const { fathom } = window as any - fathom('set', 'siteId', SITE_ID) - fathom('trackPageview') -} - -if (ExecutionEnvironment.canUseDOM) { - main() -} - -export const onRouteDidUpdate: ClientModule['onRouteDidUpdate'] = ({ - location, - previousLocation, -}) => { - if (!!window.fathom && location.pathname !== previousLocation?.pathname) { - window.fathom('trackPageview') - } -} diff --git a/packages/docusaurus-fathom/src/client/types/plugin.types.ts b/packages/docusaurus-fathom/src/client/types/plugin.types.ts deleted file mode 100644 index c4b0ed9..0000000 --- a/packages/docusaurus-fathom/src/client/types/plugin.types.ts +++ /dev/null @@ -1,5 +0,0 @@ -export type PluginOptions = { - siteId: string - scriptUrl: string - hostnames?: string[] -} diff --git a/packages/docusaurus-fathom/src/deps.d.ts b/packages/docusaurus-fathom/src/deps.d.ts deleted file mode 100644 index 0114c79..0000000 --- a/packages/docusaurus-fathom/src/deps.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare module '@generated/docusaurus-fathom/default/options' -declare module '@docusaurus/ExecutionEnvironment' diff --git a/packages/docusaurus-fathom/src/index.ts b/packages/docusaurus-fathom/src/index.ts deleted file mode 100644 index 6b4bd70..0000000 --- a/packages/docusaurus-fathom/src/index.ts +++ /dev/null @@ -1,28 +0,0 @@ -import type { LoadContext, Plugin } from '@docusaurus/types' -import { PluginOptions } from './client/types/plugin.types' -import path from 'path' -import fs from 'fs-extra' - -export default function fathomPlugin( - context: LoadContext, - options: PluginOptions, -): Plugin { - const { siteId, scriptUrl, hostnames = [] } = options - - const dir = path.join(context.generatedFilesDir, 'docusaurus-fathom/default') - fs.ensureDirSync(dir) - - fs.writeFileSync( - path.join(dir, 'options.ts'), - `export const SITE_ID = "${siteId}"\nexport const SCRIPT_URL = "${scriptUrl}"\nexport const HOSTNAMES = ${JSON.stringify( - hostnames, - )}`, - ) - - return { - name: 'docusaurus-fathom', - getClientModules: () => [path.resolve(__dirname, './client/index.js')], - } -} - -export { type PluginOptions } diff --git a/packages/docusaurus-fathom/tsconfig.client.json b/packages/docusaurus-fathom/tsconfig.client.json deleted file mode 100644 index 1085444..0000000 --- a/packages/docusaurus-fathom/tsconfig.client.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "noEmit": false, - "composite": true, - "incremental": true, - "tsBuildInfoFile": "./lib/.tsbuildinfo-client", - "rootDir": "src", - "outDir": "lib", - "module": "esnext", - "target": "esnext", - "lib": ["DOM"] - }, - "include": ["src/client", "src/*.d.ts"], - "exclude": ["**/__tests__/**"] -} diff --git a/packages/docusaurus-fathom/tsconfig.json b/packages/docusaurus-fathom/tsconfig.json deleted file mode 100644 index ac2d96a..0000000 --- a/packages/docusaurus-fathom/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "references": [{ "path": "./tsconfig.client.json" }], - "compilerOptions": { - "noEmit": false, - "incremental": true, - "tsBuildInfoFile": "./lib/.tsbuildinfo", - "rootDir": "src", - "outDir": "lib", - "lib": ["DOM"] - }, - "include": ["src"], - "exclude": ["src/theme", "**/__tests__/**"] -} diff --git a/packages/docusaurus-og/CHANGELOG.md b/packages/docusaurus-og/CHANGELOG.md deleted file mode 100644 index acccbd5..0000000 --- a/packages/docusaurus-og/CHANGELOG.md +++ /dev/null @@ -1,54 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [1.0.0-alpha.131](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.130...v1.0.0-alpha.131) (2023-12-19) - -### Features - -- **docusaurus-og:** pass parsed HTML of all pages as a property to the image renderer for enhanced customizability ([00b860e](https://github.com/acid-info/logos-docusaurus-plugins/commit/00b860e866a9d86673f96b5bb60905a4e8b1c21c)) - -# [1.0.0-alpha.111](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.110...v1.0.0-alpha.111) (2023-10-30) - -**Note:** Version bump only for package @acid-info/docusaurus-og - -# [1.0.0-alpha.108](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.107...v1.0.0-alpha.108) (2023-10-20) - -### Bug Fixes - -- package dependencies ([f462e36](https://github.com/acid-info/logos-docusaurus-plugins/commit/f462e367bb5811bb21a2cecba358942a85dd9b3b)) - -# [1.0.0-alpha.76](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.75...v1.0.0-alpha.76) (2023-07-11) - -### Bug Fixes - -- **docusaurus-og:** fix image meta elements selectors; closes [#97](https://github.com/acid-info/logos-docusaurus-plugins/issues/97) ([7a2701f](https://github.com/acid-info/logos-docusaurus-plugins/commit/7a2701f11f2c23fbaef1a274da9a8f0567130ee5)) - -# [1.0.0-alpha.64](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.63...v1.0.0-alpha.64) (2023-07-04) - -**Note:** Version bump only for package @acid-info/docusaurus-og - -# [1.0.0-alpha.54](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.53...v1.0.0-alpha.54) (2023-06-21) - -### Bug Fixes - -- **docusaurus-og:** fix archive page permalink ([a743b7d](https://github.com/acid-info/logos-docusaurus-plugins/commit/a743b7dec24025ba0192874f343ef80fd96076be)) - -# [1.0.0-alpha.52](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.51...v1.0.0-alpha.52) (2023-06-20) - -### Bug Fixes - -- **docusaurus-og:** skip blog archive page if the html file does not exist ([7c3cdcf](https://github.com/acid-info/logos-docusaurus-plugins/commit/7c3cdcf95e1b36d96e6dfa87d27c528be2339060)) - -# [1.0.0-alpha.48](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.47...v1.0.0-alpha.48) (2023-06-19) - -### Bug Fixes - -- **docusaurus-og:** fix TypeError 'content is not iterable' in pages plugin ([f3c5e5c](https://github.com/acid-info/logos-docusaurus-plugins/commit/f3c5e5c1b4269ed2ccb1a6286718601402f65495)) - -# [1.0.0-alpha.47](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.46...v1.0.0-alpha.47) (2023-06-19) - -### Features - -- auto generate opengraph images ([c442f5d](https://github.com/acid-info/logos-docusaurus-plugins/commit/c442f5d46836b0bcb3cb250af27d17a081683d38)) diff --git a/packages/docusaurus-og/README.md b/packages/docusaurus-og/README.md deleted file mode 100644 index 1f6f0f0..0000000 --- a/packages/docusaurus-og/README.md +++ /dev/null @@ -1,142 +0,0 @@ -# Docusaurus OG - -Docusaurus OG enables you to automate the generation of custom OpenGraph (OG) images for your Docusaurus website, enhancing the visual representation of your content when shared on social media and other platforms. - -This plugin leverages [Vercel's Satori](https://github.com/vercel/satori) to convert your HTML and CSS into images. It lets you define image renderers tailored to each Docusaurus content plugin, allowing you to create unique OG images for your website's content. - -## Installation - -To get started, simply follow these steps: - -1. Install the plugin: - -```bash -yarn add @acid-info/docusaurus-og - -# or - -npm install @acid-info/docusaurus-og -``` - -2. Integrate the plugin into your `docusaurus.config.js`: - -```js -plugins: [ - [ - '@acid-info/docusaurus-og', - { - path: './preview-images', // relative to the build directory - imageRenderers: {}, - }, - ], -] -``` - -3. Define your image renderers for the content plugins of your choice. Here's an example: - -```js -imageRenderers: { - 'docusaurus-plugin-content-docs': require('./lib/ImageRenderers').docs, - 'docusaurus-plugin-content-pages': require('./lib/ImageRenderers').pages, - 'docusaurus-plugin-content-blog': require('./lib/ImageRenderers').blog, -} -``` - -## Create an Image Renderer - -An image renderer is a function that receives a `data` object representing page data and a `context` object representing the Docusaurus context. This function returns HTML or JSX content, which serves as input for Satori, the image generation tool. Satori processes this content to produce the corresponding OpenGraph image. - -For example, here's an image renderer for the `@docusaurus/plugin-content-docs` plugin: - -```tsx -// src/ImageRenderers.tsx -import type { DocsPageData, ImageRenderer } from '@acid-info/docusaurus-og' -import { readFileSync } from 'fs' -import { join } from 'path' -import React from 'react' - -export const docs: ImageRenderer = (data, context) => [ -
- {data.metadata.title} -
, - { - width: 1200, - height: 630, - fonts: [ - { - name: 'Inter', - data: readFileSync( - join(__dirname, '../../static/Inter/Inter-Regular.ttf'), - ), - weight: 400, - style: 'normal', - }, - ], - }, -] -``` - -### JSX Support - -If you wish to use JSX within your image renderer, you'll need to compile your code to JavaScript. Here's a TypeScript example: - -1. Create a `tsconfig.client.json` file in your project root to compile your `src` directory: - -```json -// tsconfig.client.json -{ - "compilerOptions": { - "noEmit": false, - "composite": true, - "incremental": true, - "esModuleInterop": true, - "tsBuildInfoFile": "./lib/.tsbuildinfo-client", - "rootDir": "src", - "outDir": "lib", - "module": "CommonJS", - "target": "esnext", - "jsx": "react", - "types": ["node"], - "baseUrl": "./", - "lib": ["DOM"] - }, - "include": ["src"] -} -``` - -2. Add `prestart` and `prebuild` scripts to your `package.json`: - -```json -// package.json -{ - "scripts": { - "prestart": "tsc --project tsconfig.client.json", - "prebuild": "tsc --project tsconfig.client.json" - } -} -``` - -3. Exclude the `lib` directory from your version control by adding it to your `.gitignore` file: - -```bash -echo "lib" >> .gitignore -``` - -4. Import your image renderer from the `lib` directory: - -```js -plugins: [ - [ - '@acid-info/docusaurus-og', - { - path: './preview-images', // relative to the build directory - imageRenderers: { - 'docusaurus-plugin-content-docs': require('./lib/ImageRenderers').docs, - 'docusaurus-plugin-content-pages': require('./lib/ImageRenderers') - .pages, - 'docusaurus-plugin-content-blog': require('./lib/ImageRenderers').blog, - }, - }, - ], -] -``` diff --git a/packages/docusaurus-og/package.json b/packages/docusaurus-og/package.json deleted file mode 100644 index ef1fdc2..0000000 --- a/packages/docusaurus-og/package.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "name": "@acid-info/docusaurus-og", - "version": "1.0.0-alpha.131", - "description": "Docusaurus OpenGraph image plugin", - "main": "lib/index.js", - "repository": { - "type": "git", - "url": "https://github.com/acid-info/logos-docusaurus-plugins.git", - "directory": "packages/docusaurus-og" - }, - "license": "MIT", - "scripts": { - "build": "tsc --build", - "watch": "tsc --build --watch", - "prepublishOnly": "yarn build" - }, - "dependencies": { - "@docusaurus/core": "^2.4.1", - "@docusaurus/module-type-aliases": "^2.4.1", - "@docusaurus/types": "^2.4.1", - "@docusaurus/utils": "^2.4.1", - "@docusaurus/utils-common": "^2.4.1", - "@docusaurus/utils-validation": "^2.4.1", - "lodash": "^4.17.21", - "node-html-parser": "^6.1.5", - "object-hash": "^3.0.0", - "satori": "^0.10.1", - "sharp": "^0.32.1" - }, - "engines": { - "node": ">=16.14" - }, - "devDependencies": { - "@types/lodash": "^4.14.186" - }, - "gitHead": "d2ee08c6c0678f78ad70f5d04183f7f781d11563" -} diff --git a/packages/docusaurus-og/src/plugin.d.ts b/packages/docusaurus-og/src/plugin.d.ts deleted file mode 100644 index ccd487e..0000000 --- a/packages/docusaurus-og/src/plugin.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type * from './index' diff --git a/packages/docusaurus-og/tsconfig.client.json b/packages/docusaurus-og/tsconfig.client.json deleted file mode 100644 index 0b248a0..0000000 --- a/packages/docusaurus-og/tsconfig.client.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "noEmit": false, - "incremental": true, - "tsBuildInfoFile": "./lib/.tsbuildinfo-client", - "rootDir": "src", - "outDir": "lib", - "module": "esnext", - "target": "esnext", - "lib": ["DOM"] - }, - "include": ["src/client/**/*", "src/*.d.ts"], - "exclude": ["**/__tests__/**"] -} diff --git a/packages/docusaurus-og/tsconfig.json b/packages/docusaurus-og/tsconfig.json deleted file mode 100644 index 771ecd9..0000000 --- a/packages/docusaurus-og/tsconfig.json +++ /dev/null @@ -1,14 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "noEmit": false, - "incremental": true, - "tsBuildInfoFile": "./lib/.tsbuildinfo", - "rootDir": "src", - "outDir": "lib", - "target": "ES3", - "lib": ["DOM"] - }, - "include": ["src"], - "exclude": ["src/theme", "**/__tests__/**"] -} diff --git a/packages/docusaurus-playground/.env b/packages/docusaurus-playground/.env deleted file mode 100644 index 705960f..0000000 --- a/packages/docusaurus-playground/.env +++ /dev/null @@ -1 +0,0 @@ -GITHUB_ACCESS_TOKEN= \ No newline at end of file diff --git a/packages/docusaurus-playground/.gitignore b/packages/docusaurus-playground/.gitignore deleted file mode 100644 index b2d6de3..0000000 --- a/packages/docusaurus-playground/.gitignore +++ /dev/null @@ -1,20 +0,0 @@ -# Dependencies -/node_modules - -# Production -/build - -# Generated files -.docusaurus -.cache-loader - -# Misc -.DS_Store -.env.local -.env.development.local -.env.test.local -.env.production.local - -npm-debug.log* -yarn-debug.log* -yarn-error.log* diff --git a/packages/docusaurus-playground/README.md b/packages/docusaurus-playground/README.md deleted file mode 100644 index aaba2fa..0000000 --- a/packages/docusaurus-playground/README.md +++ /dev/null @@ -1,41 +0,0 @@ -# Website - -This website is built using [Docusaurus 2](https://docusaurus.io/), a modern static website generator. - -### Installation - -``` -$ yarn -``` - -### Local Development - -``` -$ yarn start -``` - -This command starts a local development server and opens up a browser window. Most changes are reflected live without having to restart the server. - -### Build - -``` -$ yarn build -``` - -This command generates static content into the `build` directory and can be served using any static contents hosting service. - -### Deployment - -Using SSH: - -``` -$ USE_SSH=true yarn deploy -``` - -Not using SSH: - -``` -$ GIT_USER= yarn deploy -``` - -If you are using GitHub pages for hosting, this command is a convenient way to build the website and push to the `gh-pages` branch. diff --git a/packages/docusaurus-playground/babel.config.js b/packages/docusaurus-playground/babel.config.js deleted file mode 100644 index 6752648..0000000 --- a/packages/docusaurus-playground/babel.config.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -} diff --git a/packages/docusaurus-playground/docs/Advanced/pages/index.md b/packages/docusaurus-playground/docs/Advanced/pages/index.md deleted file mode 100644 index 7c94d73..0000000 --- a/packages/docusaurus-playground/docs/Advanced/pages/index.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Subpage Group -sidebar_position: 5 ---- - -## Hello World - -```python -print("hello world!") -``` diff --git a/packages/docusaurus-playground/docs/Advanced/pages/subpage2.md b/packages/docusaurus-playground/docs/Advanced/pages/subpage2.md deleted file mode 100644 index a4e16d0..0000000 --- a/packages/docusaurus-playground/docs/Advanced/pages/subpage2.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Subpage2 -sidebar_position: 5 ---- - -## Hello World - -```python -print("hello world!") -``` diff --git a/packages/docusaurus-playground/docs/Advanced/pages/subpage3.md b/packages/docusaurus-playground/docs/Advanced/pages/subpage3.md deleted file mode 100644 index 96e71ce..0000000 --- a/packages/docusaurus-playground/docs/Advanced/pages/subpage3.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Subpage3 -sidebar_position: 6 ---- - -## Hello World - -```python -print("hello world!") -``` diff --git a/packages/docusaurus-playground/docs/Advanced/subpage1.md b/packages/docusaurus-playground/docs/Advanced/subpage1.md deleted file mode 100644 index da1e78d..0000000 --- a/packages/docusaurus-playground/docs/Advanced/subpage1.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Subpage1 -sidebar_position: 4 ---- - -## Hello World - -```python -print("hello world!") -``` diff --git a/packages/docusaurus-playground/docs/Advanced/subpage4.md b/packages/docusaurus-playground/docs/Advanced/subpage4.md deleted file mode 100644 index dade5f3..0000000 --- a/packages/docusaurus-playground/docs/Advanced/subpage4.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -title: Subpage4 -sidebar_position: 7 ---- - -## Hello World - -```python -print("hello world!") -``` diff --git a/packages/docusaurus-playground/docs/architect.md b/packages/docusaurus-playground/docs/architect.md deleted file mode 100644 index 3a075d4..0000000 --- a/packages/docusaurus-playground/docs/architect.md +++ /dev/null @@ -1,48 +0,0 @@ ---- -title: Description and architecture -sidebar_position: 2 ---- - -Waku is a family of protocols that enable private, censorship-resistant communications; a suite of open-source software; and the name of the public, permissionless and decentralized network facilitating generalized messaging. By communications, we mean the exchange of data or messages between two or more entities, whether they are users, devices or nodes. - -Waku was built as open-source public goods infrastructure to serve as the communications layer of the decentralized web. As such, its development focuses on the following: - -- Generalized: Waku's focus on generalized and ephemeral messaging facilitates communication between users, subsystems or nodes according to developers' needs. - -- Peer-to-peer: Waku is implemented via a decentralized p2p network, yielding the advantages of censorship resistance while remaining adaptive and scalable. - -- Runs anywhere: Waku was designed to run in resource-restricted environments—like phones and browsers—enabling users operating lower-spec hardware or with intermittent bandwidth to participate as peers. - -- Privacy first: Waku's strong privacy guarantees strengthen its resistance to censorship and external attack. Waku empowers developers to build apps that cannot harvest users' metadata, removing the need for users to trust that their data is not used without their permission. - -- Modular: Waku's modularity enables developers to make tradeoffs according to their users' privacy expectations and performance demands by implementing only those protocols that are relevant to their applications. While one app might value privacy above all else, another may be willing to make compromises to deliver a more frictionless UX. - -- Platform agnostic: Waku can run on any platform or in any environment making it a suitable messaging solution for decentralized applications regardless of the network on which they're deployed. - -
- -### Network architecture - -The Waku team has developed three clients to run in different environments along with a range of SDKs in Rust, React Native, Kotlin and Swift: - -- nwaku: Waku's reference implementation written in Nim. -- go-waku: An implementation for native integration with Golang applications. -- js-waku: Waku's JavaScript implementation for browser environments. - -Waku is best thought of as a cohesive whole in terms of its capabilities. However, under the hood are three distinct network interaction domains: gossip, discovery and request/response. - -Waku compromises multiple protocols, including but not limited to the following: - -**Waku Relay**: The heart of Waku v2, the relay protocol specifies a pub/sub approach to p2p messaging with a focus on privacy, censorship resistance, security and privacy, and is currently implemented as a minor extension of the libp2p GossipSub protocol. - -**Waku Filter**: A lighter-weight version of the relay protocol for resource-restricted devices, Waku Filter enables light nodes to only receive the messages they want from full nodes. - -**Waku Store**: Enables querying of messages stored by other nodes through Waku Relay. - -**Waku Light Push**: A request/response protocol that enables nodes with short connection windows or limited bandwidth to publish messages to the Waku network - -
- -[Dive into the docs](https://vac.dev/research) - -[Continue reading](/team) diff --git a/packages/docusaurus-playground/docs/community.mdx b/packages/docusaurus-playground/docs/community.mdx deleted file mode 100644 index 3714293..0000000 --- a/packages/docusaurus-playground/docs/community.mdx +++ /dev/null @@ -1,53 +0,0 @@ ---- -title: Join the community ---- - -import { SocialCard, Grid, Box } from '@site/src/components/mdx' - -# Join the community - -Welcome to the Waku community! Whether you are interested in building with Waku, contributing to the network, expanding your knowledge, or staying abreast of our progress, we have something for everyone. - - - - - - - - - - - - - - - - - - - - diff --git a/packages/docusaurus-playground/docs/configuration.md b/packages/docusaurus-playground/docs/configuration.md deleted file mode 100644 index d4ccc38..0000000 --- a/packages/docusaurus-playground/docs/configuration.md +++ /dev/null @@ -1,264 +0,0 @@ ---- -title: Configuration -sidebar_position: 2 ---- - -# Configuration - -import TOCInline from '@theme/TOCInline'; - -:::info - -Check the [**`docusaurus.config.js` API reference**](api/docusaurus.config.js.mdx) for an exhaustive list of options. - -::: - -Docusaurus has a unique take on configurations. We encourage you to congregate information about your site into one place. We guard the fields of this file and facilitate making this data object accessible across your site. - -Keeping a well-maintained `docusaurus.config.js` helps you, your collaborators, and your open source contributors to be able to focus on documentation while still being able to customize the site. - -## Syntax to declare `docusaurus.config.js` {#syntax-to-declare-docusaurus-config} - -The `docusaurus.config.js` file is run in Node.js and should export either: - -- a **config object** -- a **function** that creates the config object - -:::info - -The `docusaurus.config.js` file only supports the [**CommonJS**](https://flaviocopes.com/commonjs/) module system: - -- **Required:** use `module.exports = /* your config*/` to export your Docusaurus config -- **Optional:** use `require("lib")` to import Node.js packages -- **Optional:** use `await import("lib")` (dynamic import) in an async function to import ESM-Only Node.js packages - -::: - -Node.js gives us the ability to declare our Docusaurus configuration in various **equivalent ways**, and all the following config examples lead to the exact same result: - -```js title="docusaurus.config.js" -module.exports = { - title: 'Docusaurus', - url: 'https://docusaurus.io', - // your site config ... -} -``` - -```js title="docusaurus.config.js" -const config = { - title: 'Docusaurus', - url: 'https://docusaurus.io', - // your site config ... -} - -module.exports = config -``` - -```js title="docusaurus.config.js" -module.exports = function configCreator() { - return { - title: 'Docusaurus', - url: 'https://docusaurus.io', - // your site config ... - } -} -``` - -```js title="docusaurus.config.js" -module.exports = async function createConfigAsync() { - return { - title: 'Docusaurus', - url: 'https://docusaurus.io', - // your site config ... - } -} -``` - -:::tip Using ESM-only packages - -Using an async config creator can be useful to import ESM-only modules (notably most Remark plugins). It is possible to import such modules thanks to dynamic imports: - -```js title="docusaurus.config.js" -module.exports = async function createConfigAsync() { - // Use a dynamic import instead of require('esm-lib') - // highlight-next-line - const lib = await import('lib') - - return { - title: 'Docusaurus', - url: 'https://docusaurus.io', - // rest of your site config... - } -} -``` - -::: - -## What goes into a `docusaurus.config.js`? {#what-goes-into-a-docusaurusconfigjs} - -You should not have to write your `docusaurus.config.js` from scratch even if you are developing your site. All templates come with a `docusaurus.config.js` that includes defaults for the common options. - -However, it can be helpful if you have a high-level understanding of how the configurations are designed and implemented. - -The high-level overview of Docusaurus configuration can be categorized into: - - - -### Site metadata {#site-metadata} - -Site metadata contains the essential global metadata such as `title`, `url`, `baseUrl`, and `favicon`. - -They are used in several places such as your site's title and headings, browser tab icon, social sharing (Facebook, Twitter) information or even to generate the correct path to serve your static files. - -### Deployment configurations {#deployment-configurations} - -Deployment configurations such as `projectName`, `organizationName`, and optionally `deploymentBranch` are used when you deploy your site with the `deploy` command. - -It is recommended to check the [deployment docs](deployment.mdx) for more information. - -### Theme, plugin, and preset configurations {#theme-plugin-and-preset-configurations} - -List the [themes](./using-plugins.mdx#using-themes), [plugins](./using-plugins.mdx), and [presets](./using-plugins.mdx#using-presets) for your site in the `themes`, `plugins`, and `presets` fields, respectively. These are typically npm packages: - -```js title="docusaurus.config.js" -module.exports = { - // ... - plugins: [ - '@docusaurus/plugin-content-blog', - '@docusaurus/plugin-content-pages', - ], - themes: ['@docusaurus/theme-classic'], -} -``` - -:::tip - -Docusaurus supports [**module shorthands**](./using-plugins.mdx#module-shorthands), allowing you to simplify the above configuration as: - -```js title="docusaurus.config.js" -module.exports = { - // ... - plugins: ['content-blog', 'content-pages'], - themes: ['classic'], -} -``` - -::: - -They can also be loaded from local directories: - -```js title="docusaurus.config.js" -const path = require('path') - -module.exports = { - // ... - themes: [path.resolve(__dirname, '/path/to/docusaurus-local-theme')], -} -``` - -To specify options for a plugin or theme, replace the name of the plugin or theme in the config file with an array containing the name and an options object: - -```js title="docusaurus.config.js" -module.exports = { - // ... - plugins: [ - [ - 'content-blog', - { - path: 'blog', - routeBasePath: 'blog', - include: ['*.md', '*.mdx'], - // ... - }, - ], - 'content-pages', - ], -} -``` - -To specify options for a plugin or theme that is bundled in a preset, pass the options through the `presets` field. In this example, `docs` refers to `@docusaurus/plugin-content-docs` and `theme` refers to `@docusaurus/theme-classic`. - -```js title="docusaurus.config.js" -module.exports = { - // ... - presets: [ - [ - '@docusaurus/preset-classic', - { - docs: { - sidebarPath: require.resolve('./sidebars.js'), - }, - theme: { - customCss: [require.resolve('./src/css/custom.css')], - }, - }, - ], - ], -} -``` - -:::tip - -The `presets: [['classic', {...}]]` shorthand works as well. - -::: - -For further help configuring themes, plugins, and presets, see [Using Plugins](./using-plugins.mdx). - -### Custom configurations {#custom-configurations} - -Docusaurus guards `docusaurus.config.js` from unknown fields. To add custom fields, define them in `customFields`. - -Example: - -```js title="docusaurus.config.js" -module.exports = { - // ... - // highlight-start - customFields: { - image: '', - keywords: [], - }, - // highlight-end - // ... -} -``` - -## Accessing configuration from components {#accessing-configuration-from-components} - -Your configuration object will be made available to all the components of your site. And you may access them via React context as `siteConfig`. - -Basic example: - -```jsx -import React from 'react' -// highlight-next-line -import useDocusaurusContext from '@docusaurus/useDocusaurusContext' - -const Hello = () => { - // highlight-start - const { siteConfig } = useDocusaurusContext() - // highlight-end - const { title, tagline } = siteConfig - - return
{`${title} · ${tagline}`}
-} -``` - -:::tip - -If you just want to use those fields on the client side, you could create your own JS files and import them as ES6 modules, there is no need to put them in `docusaurus.config.js`. - -::: - -## Customizing Babel Configuration {#customizing-babel-configuration} - -For new Docusaurus projects, we automatically generated a `babel.config.js` in the project root. - -```js title="babel.config.js" -module.exports = { - presets: [require.resolve('@docusaurus/core/lib/babel/preset')], -} -``` - -Most of the time, this configuration will work just fine. If you want to customize your Babel configuration (e.g. to add support for Flow), you can directly edit this file. For your changes to take effect, you need to restart the Docusaurus dev server. diff --git a/packages/docusaurus-playground/docs/getting-started.md b/packages/docusaurus-playground/docs/getting-started.md deleted file mode 100644 index 72f67bf..0000000 --- a/packages/docusaurus-playground/docs/getting-started.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Getting Started -sidebar_position: 3 ---- - -# Tutorial Intro - -Let's discover **Docusaurus in less than 5 minutes**. - -```mermaid -graph TD; - A-->B; - A-->C; - B-->D; - C-->D; -``` - -## Getting Started - -Get started by **creating a new site**. - -Or **try Docusaurus immediately** with **[docusaurus.new](https://docusaurus.new)**. - -### What you'll need - -- [Node.js](https://nodejs.org/en/download/) version 16.14 or above: - - When installing Node.js, you are recommended to check all checkboxes related to dependencies. diff --git a/packages/docusaurus-playground/docs/index.md b/packages/docusaurus-playground/docs/index.md deleted file mode 100644 index 1944abb..0000000 --- a/packages/docusaurus-playground/docs/index.md +++ /dev/null @@ -1,106 +0,0 @@ ---- -title: Introduction -sidebar_position: 1 ---- - -## Generate a new site - -Generate a new Docusaurus site using the **classic template**. - -The classic template will automatically be added to your project after you run the command: - -```bash -npm init docusaurus@latest my-website classic -``` - -You can type this command into Command Prompt, Powershell, Terminal, or any other integrated terminal of your code editor. - -The command also installs all necessary dependencies you need to run Docusaurus. - -```tsx title="docusaurus.config.js" -module.exports = { - // ... - presets: [ - [ - '@docusaurus/preset-classic', - { - docs: { - sidebarPath: require.resolve('./sidebars.js'), - }, - theme: { - customCss: [require.resolve('./src/css/custom.css')], - }, - }, - ], - ], -} -``` - -```tsx -import React from 'react' -import useDocusaurusContext from '@docusaurus/useDocusaurusContext' - -const Hello = () => { - const { siteConfig } = useDocusaurusContext() - const { title, tagline } = siteConfig - - return
{`${title} · ${tagline}`}
-} -``` - -:::note - -The presets: **_ [['classic', {...}]] _** shorthand works as well. - -::: - -:::tip - -Some **content** with _Markdown_ `syntax`. Check [this `api`](#). - -::: - -:::info - -The presets: **_ [['classic', {...}]] _** shorthand works as well. - -::: - -:::caution - -Some **content** with _Markdown_ `syntax`. Check [this `api`](#). - -::: - -:::danger - -The presets: **_ [['classic', {...}]] _** shorthand works as well. - -::: - -## Start your site - -Run the development server: - -```bash -cd my-website -npm run start -``` - -The `cd` command changes the directory you're working with. In order to work with your newly created Docusaurus site, you'll need to navigate the terminal there. - -The `npm run start` command builds your website locally and serves it through a development server, ready for you to view at http://localhost:3000/. - -Open `docs/intro.md` (this page) and edit some lines: the site **reloads automatically** and displays your changes. - -
CLICK ME - -#### yes, even hidden code blocks! - -
- -```python -print("hello world!") -``` - -
diff --git a/packages/docusaurus-playground/docs/powered-by-waku.mdx b/packages/docusaurus-playground/docs/powered-by-waku.mdx deleted file mode 100644 index cea98e8..0000000 --- a/packages/docusaurus-playground/docs/powered-by-waku.mdx +++ /dev/null @@ -1,46 +0,0 @@ ---- -title: Powered by Waku ---- - -Leap into the future with Waku! Revolutionise communication, collaboration, and connectivity. Join us and create something extraordinary! - -import { AppCard, Grid } from '@site/src/components/mdx' - - - - - - - - - - - - - - - diff --git a/packages/docusaurus-playground/docs/test.md b/packages/docusaurus-playground/docs/test.md deleted file mode 100644 index 3b290f0..0000000 --- a/packages/docusaurus-playground/docs/test.md +++ /dev/null @@ -1,163 +0,0 @@ ---- -title: Run a Nwaku Node ---- - -Nwaku is a lightweight and robust Nim client for running a Waku node, equipped with tools to monitor and maintain a running node. Nwaku is highly configurable, enabling operators to select the [protocols](/overview/concepts/protocols) they want to support based on their needs, motivations, and available resources. - -This guide provides detailed steps to download, build, configure, and connect a `nwaku` node to the Waku Network. It also includes interacting with the node and finding its addresses. - -## Get the Binary - -To run a node, you must have the `nwaku` binary. Nwaku provides multiple options for acquiring the node binary: - -#### Download the Binary - -| | Description | Documentation | -| ------------------ | ------------------------------------------------------------- | ---------------------------------------------------------------------------------- | -| Precompiled Binary | Download a precompiled binary of the `nwaku` node | [Download Nwaku Binary](https://github.com/waku-org/nwaku/tags) | -| Nightly Release | Try the latest `nwaku` updates without compiling the binaries | [Download Nightly Release](https://github.com/waku-org/nwaku/releases/tag/nightly) | - -#### Build the Binary - -You can build the node binary directly from the [nwaku source code](https://github.com/waku-org/nwaku). To learn more, please refer to the [Build Nwaku from Source](/guides/nwaku/build-source) guide. - -#### Run the Binary in Docker - -| | Description | Documentation | -| ---------------- | ---------------------------------------- | ----------------------------------------------------------------- | -| Docker Container | Run a `nwaku` node in a Docker Container | [Run Nwaku in a Docker Container](/guides/nwaku/run-docker) | -| Docker Compose | Run a `nwaku` node with Docker Compose | [Run Nwaku with Docker Compose](/guides/nwaku/run-docker-compose) | - -:::tip -You can run the `nwaku` binaries and Docker images on cloud service providers like [Google Cloud](https://cloud.google.com/), [Microsoft Azure](https://azure.microsoft.com/), [Amazon Web Services](https://aws.amazon.com/), and [DigitalOcean](https://www.digitalocean.com/). -::: - -## Run the Node - -Once you have gotten the `nwaku` binary, run it using the [default configuration](/guides/reference/node-config-methods#default-configuration-values): - -```bash -# Run with default configuration -./build/wakunode2 - -# See available command line options -./build/wakunode2 --help -``` - -:::tip -For more advanced configurations like enabling other protocols or maintaining a consistent `PeerID`, please refer to the [Node Configuration Methods](/guides/reference/node-config-methods) guide. -::: - -## Bootstrap the Node - -To join the Waku Network, nodes must [bootstrap](/overview/reference/glossary#bootstrapping) for an entry point before discovering more peers. Nwaku provides multiple [peer discovery](/overview/concepts/peer-discovery) mechanisms: - -| | Description | Documentation | -| ------------- | ------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | -| Static Peers | Configure the bootstrap nodes that `nwaku` should establish connections upon startup | [Configure Static Peers](/guides/nwaku/configure-discovery#configure-static-peers) | -| DNS Discovery | Enable `nwaku` to bootstrap nodes using the [DNS Discovery](/overview/concepts/dns-discovery) mechanism | [Configure DNS Discovery](/guides/nwaku/configure-discovery#configure-dns-discovery) | -| Discv5 | Enable `nwaku` to discover peers using the [Discv5](/overview/concepts/discv5) mechanism | [Configure Discv5](/guides/nwaku/configure-discovery#configure-discv5) | - -:::tip -You can configure a `nwaku` node to use multiple peer discovery mechanisms simultaneously. -::: - -## Interact with the Node - -You can interact with a running `nwaku` node through the [JSON RPC API](https://rfc.vac.dev/spec/16/), such as querying the node information using the `get_waku_v2_debug_v1_info` method: - -```mdx-code-block -import Tabs from '@theme/Tabs'; -import TabItem from '@theme/TabItem'; -``` - - - - -```bash -curl --location --request GET 'http://localhost:8545' \ ---header 'Content-Type: application/json' \ ---data '{ - "jsonrpc": "2.0", - "id": "id", - "method": "get_waku_v2_debug_v1_info", - "params": [] -}' -``` - - - - -```json -{ - "jsonrpc": "2.0", - "id": "id", - "result": { - "listenAddresses": [ - "/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmUbPquFQqje3jiqoB5YoiUbBya59NB4qqEzeiTNGHeA6w" - ], - "enrUri": "enr:-Iu4QCQZXZDb_JsYmLoYor0F5E_95HbIywgO_wgx2rIdDbmCJZkTzmlCr0wmMzV47lgik_tVwww5mIng90Ris83TisMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQPszztG-Ev52ZB7tk0jF8s6Md4KvyY_rhzNZokaaB_ABIN0Y3CC6mCFd2FrdTIB" - } -} -``` - - - - -:::info -The `listenAddresses` field stores the node's listening address(es), while the `enrUri` field stores the discoverable `ENR` URI for peer discovery. -::: - -## Find the Node Addresses - -You can find the addresses of a running node through its logs or by calling the `get_waku_v2_debug_v1_info` method of the [JSON RPC API](https://rfc.vac.dev/spec/16/). - -:::tip -When starting the node, `nwaku` will display all the public listening and discovery addresses at the `INFO` log level. -::: - -### Listening Addresses - -Look for the log entry that begins with `Listening on`, for example: - -```txt title="Nwaku Log Output" -INF 2023-06-15 16:09:54.448+01:00 Listening on topics="waku node" tid=1623445 file=waku_node.nim:922 full=[/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn][/ip4/0.0.0.0/tcp/8000/ws/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn] -``` - -```bash -# Listening TCP transport address -/ip4/0.0.0.0/tcp/60000/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn - -# Listening WebSocket address -/ip4/0.0.0.0/tcp/8000/ws/p2p/16Uiu2HAmQCsH9V81xoqTwGuT3qwkZWbwY1TtTQwpr3DjHU2TSwMn -``` - -### Discoverable ENR Addresses - -A `nwaku` node can encode its addressing information in an [Ethereum Node Record (ENR)](https://eips.ethereum.org/EIPS/eip-778) following the [WAKU2-ENR](https://rfc.vac.dev/spec/31/) specification, primarily for peer discovery. - -#### ENR for DNS discovery - -Look for the log entry that begins with `DNS: discoverable ENR`, for example: - -```txt title="Nwaku Log Output" -INF 2023-06-15 16:09:54.448+01:00 DNS: discoverable ENR topics="waku node" tid=1623445 file=waku_node.nim:923 enr=enr:-Iu4QBKYj8Ovxwz4fIalxZ_1a8dOCU2WC-1LQrcBCCb4Np93f9-UuSZXn3vagJL1S3k3hwRYfOp3JSbW7_VqwtqMIeMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQOrmyV59dAzY4ZKrvrj32VOoZbLby8dCKFnXnqhIdQ0NYN0Y3CC6mCFd2FrdTIB -``` - -```bash -# ENR the node addresses are encoded in -enr:-Iu4QBKYj8Ovxwz4fIalxZ_1a8dOCU2WC-1LQrcBCCb4Np93f9-UuSZXn3vagJL1S3k3hwRYfOp3JSbW7_VqwtqMIeMBgmlkgnY0gmlwhAAAAACJc2VjcDI1NmsxoQOrmyV59dAzY4ZKrvrj32VOoZbLby8dCKFnXnqhIdQ0NYN0Y3CC6mCFd2FrdTIB -``` - -#### ENR for Discv5 - -Look for the log entry that begins with `Discv5: discoverable ENR`, for example: - -```txt title="Nwaku Log Output" -INF 2023-06-15 16:09:54.448+01:00 Discv5: discoverable ENR topics="waku node" tid=1623445 file=waku_node.nim:924 enr=enr:-IO4QDxToTg86pPCK2KvMeVCXC2ADVZWrxXSvNZeaoa0JhShbM5qed69RQz1s1mWEEqJ3aoklo_7EU9iIBcPMVeKlCQBgmlkgnY0iXNlY3AyNTZrMaEDdBHK1Gx6y_zv5DVw5Qb3DtSOMmVHTZO1WSORrF2loL2DdWRwgiMohXdha3UyAw -``` - -```bash -# ENR the node addresses are encoded in -enr:-IO4QDxToTg86pPCK2KvMeVCXC2ADVZWrxXSvNZeaoa0JhShbM5qed69RQz1s1mWEEqJ3aoklo_7EU9iIBcPMVeKlCQBgmlkgnY0iXNlY3AyNTZrMaEDdBHK1Gx6y_zv5DVw5Qb3DtSOMmVHTZO1WSORrF2loL2DdWRwgiMohXdha3UyAw -``` diff --git a/packages/docusaurus-playground/docusaurus.config.js b/packages/docusaurus-playground/docusaurus.config.js deleted file mode 100644 index a02f1f8..0000000 --- a/packages/docusaurus-playground/docusaurus.config.js +++ /dev/null @@ -1,170 +0,0 @@ -// @ts-check - -// Note: type annotations allow type checking and IDEs autocompletion -require('dotenv').config() - -/** @type {import('@docusaurus/types').Config} */ -const config = { - title: 'TITLE', - url: 'https://url', - baseUrl: '/', - - customFields: {}, - markdown: { - mermaid: true, - }, - - // Even if you don't use internalization, 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: [ - [ - '@acid-info/logos-docusaurus-preset', - /** @type {import('@acid-info/logos-docusaurus-preset').PluginOptions} */ - ({ - businessUnit: 'Nimbus', - theme: { - name: 'default', - options: { - customCss: [require.resolve('./src/css/custom.scss')], - docs: { - default: { - sidebar: { - hide: false, - }, - }, - }, - }, - }, - docs: { - id: 'root-pages', - routeBasePath: '/', - path: 'root-pages', - }, - og: {}, - - // Uncomment to fetch new generated data. - /* - generated: { - challenges: { - repoArray: [ - { owner: 'logos-co', repo: 'nomos-node' }, - { owner: 'logos-co', repo: 'nomos-specs' }, - ], - githubAccessToken: process.env.GITHUB_ACCESS_TOKEN, - }, - jobList: { - jobBoard: 'waku', - }, - }, - */ - }), - ], - ], - - plugins: [ - [ - '@acid-info/docusaurus-fathom', - { - siteId: 'TEST', - scriptUrl: 'https://fathom.status.im/tracker.js', - disabled: true, - hostnames: ['localhost', 'waku.org'], - }, - ], - [ - '@docusaurus/plugin-content-docs', - { - id: 'docs', - routeBasePath: '/about', - path: 'docs', - }, - ], - ], - - themeConfig: - /** @type {import('@acid-info/logos-docusaurus-preset').ThemeConfig} */ - ({ - colorMode: { - disableSwitch: false, - respectPrefersColorScheme: true, - }, - navbar: { - items: [ - { - type: 'search', - }, - { - label: 'About', - to: '/about', - }, - { - label: 'Features', - href: '/#features', - }, - { - label: 'Usecases', - href: '/#usecases', - }, - { - href: 'https://github.com/waku-org', - position: 'right', - className: 'header-github-link', - title: 'Waku GitHub repository', - }, - ], - }, - footer: { - copyright: 'Nimbus @2023
All Rights Reserved.', - links: [ - { - items: [ - { - href: 'https://twitter.com/ethnimbus', - label: 'Twitter', - }, - { - href: 'https://discord.gg/EP8DZnXu9y', - label: 'Discord', - }, - { - href: '/', - label: 'Docs', - }, - { - href: '/', - label: 'Github', - }, - ], - }, - { - items: [ - { - href: '/', - label: 'Contact us', - }, - { - href: 'https://jobs.status.im/', - label: 'Work with us', - }, - { - href: '/', - label: 'Privacy policy', - }, - { - href: '/', - label: 'Terms & conditions', - }, - ], - }, - ], - }, - }), -} - -module.exports = config diff --git a/packages/docusaurus-playground/package.json b/packages/docusaurus-playground/package.json deleted file mode 100644 index bb1c7bf..0000000 --- a/packages/docusaurus-playground/package.json +++ /dev/null @@ -1,51 +0,0 @@ -{ - "name": "docusaurus-playground", - "version": "0.0.0", - "private": true, - "scripts": { - "docusaurus": "docusaurus", - "start": "docusaurus start -p 3002", - "build": "docusaurus build", - "swizzle": "docusaurus swizzle", - "deploy": "docusaurus deploy", - "clear": "docusaurus clear", - "serve": "docusaurus serve", - "write-translations": "docusaurus write-translations", - "write-heading-ids": "docusaurus write-heading-ids", - "typecheck": "tsc" - }, - "dependencies": { - "@acid-info/logos-docusaurus-preset": "^1.0.0-alpha.7", - "@docusaurus/core": "2.4.1", - "@docusaurus/preset-classic": "2.4.1", - "@docusaurus/theme-mermaid": "^2.4.1", - "@emotion/react": "^11.11.0", - "@emotion/styled": "^11.11.0", - "@mdx-js/react": "^1.6.22", - "clsx": "^1.2.1", - "prism-react-renderer": "^1.3.5", - "react": "^17.0.2", - "react-dom": "^17.0.2", - "tsdx": "^0.14.1" - }, - "devDependencies": { - "@docusaurus/module-type-aliases": "2.4.1", - "@tsconfig/docusaurus": "^1.0.5", - "typescript": "^4.7.4" - }, - "browserslist": { - "production": [ - ">0.5%", - "not dead", - "not op_mini all" - ], - "development": [ - "last 1 chrome version", - "last 1 firefox version", - "last 1 safari version" - ] - }, - "engines": { - "node": ">=16.14" - } -} diff --git a/packages/docusaurus-playground/rlog/2019-07-19-p2p-data-sync-for-mobile.mdx b/packages/docusaurus-playground/rlog/2019-07-19-p2p-data-sync-for-mobile.mdx deleted file mode 100644 index f106672..0000000 --- a/packages/docusaurus-playground/rlog/2019-07-19-p2p-data-sync-for-mobile.mdx +++ /dev/null @@ -1,176 +0,0 @@ ---- -title: Design better data tables -subtitle: A research log. Reliable and decentralized, pick two. -descrption: Description Test -date: 2023-04-24 12:00:00 -authors: - - name: amir - - name: beachbum - - name: flohxc -published: true -slug: p2p-data-sync-for-mobile -categories: research -tags: ['Release', 'P2P'] - -toc_min_heading_level: 2 -toc_max_heading_level: 5 ---- - -Summary Test - - - -Together with decanus, I've been working on the problem of data sync lately. - -In building p2p messaging systems, one problem you quickly come across is the problem of reliably transmitting data. If there's no central server with high availability guarantees, you can't meaningfully guarantee that data has been transmitted. One way of solving this problem is through a synchronization protocol. - -There are many synchronization protocols out there and I won't go into detail of how they differ with our approach here. Some common examples are Git and Bittorrent, but there are also projects like IPFS, Swarm, Dispersy, Matrix, Briar, SSB, etc. - -## Problem motivation - -Why do we want to do p2p sync for mobilephones in the first place? There are three components to that question. One is on the value of decentralization and peer-to-peer, the second is on why we'd want to reliably sync data at all, and finally why mobilephones and other resource restricted devices. - -### Why p2p? - -For decentralization and p2p, there are both technical and social/philosophical reasons. Technically, having a user-run network means it can scale with the number of users. Data locality is also improved if you query data that's close to you, similar to distributed CDNs. The throughput is also improved if there are more places to get data from. - -Socially and philosophically, there are several ways to think about it. Open and decentralized networks also relate to the idea of open standards, i.e. compare the longevity of AOL with IRC or Bittorrent. One is run by a company and is shut down as soon as it stops being profitable, the others live on. Additionally increasingly control of data and infrastructure is becoming a liability. By having a network with no one in control, everyone is. It's ultimately a form of democratization, more similar to organic social structures pre Big Internet companies. This leads to properties such as censorship resistance and coercion resistance, where we limit the impact a 3rd party might have a voluntary interaction between individuals or a group of people. Examples of this are plentiful in the world of Facebook, Youtube, Twitter and WeChat. - -### Why reliably sync data? - -At risk of stating the obvious, reliably syncing data is a requirement for many problem domains. You don't get this by default in a p2p world, as it is unreliable with nodes permissionslessly join and leave the network. In some cases you can get away with only ephemeral data, but usually you want some kind of guarantees. This is a must for reliable group chat experience, for example, where messages are expected to arrive in a timely fashion and in some reasonable order. The same is true for messages there represent financial transactions, and so on. - -### Why mobilephones? - -Most devices people use daily are mobile phones. It's important to provide the same or at least similar guarantees to more traditional p2p nodes that might run on a desktop computer or computer. The alternative is to rely on gateways, which shares many of the drawbacks of centralized control and prone to censorship, control and surveillence. - -More generally, resource restricted devices can differ in their capabilities. One example is smartphones, but others are: desktop, routers, Raspberry PIs, POS systems, and so on. The number and diversity of devices are exploding, and it's useful to be able to leverage this for various types of infrastructure. The alternative is to centralize on big cloud providers, which also lends itself to lack of democratization and censorship, etc. - -## Minimal Requirements - -For requirements or design goals for a solution, here's what we came up with. - -1. MUST sync data reliably between devices. By reliably we mean having the ability to deal with messages being out of order, dropped, duplicated, or delayed. - -2. MUST NOT rely on any centralized services for reliability. By centralized services we mean any single point of failure that isn’t one of the endpoint devices. - -3. MUST allow for mobile-friendly usage. By mobile-friendly we mean devices that are resource restricted, mostly-offline and often changing network. - -4. MAY use helper services in order to be more mobile-friendly. Examples of helper services are decentralized file storage solutions such as IPFS and Swarm. These help with availability and latency of data for mostly-offline devices. - -5. MUST have the ability to provide casual consistency. By casual consistency we mean the commonly accepted definition in distributed systems literature. This means messages that are casually related can achieve a partial ordering. - -6. MUST support ephemeral messages that don’t need replication. That is, allow for messages that don’t need to be reliabily transmitted but still needs to be transmitted between devices. - -7. MUST allow for privacy-preserving messages and extreme data loss. By privacy-preserving we mean things such as exploding messages (self-destructing messages). By extreme data loss we mean the ability for two trusted devices to recover from a, deliberate or accidental, removal of data. - -8. MUST be agnostic to whatever transport it is running on. It should not rely on specific semantics of the transport it is running on, nor be tightly coupled with it. This means a transport can be swapped out without loss of reliability between devices. - -## MVDS - a minimium viable version - -The first minimum viable version is in an alpha stage, and it has a [specification](https://rfc.vac.dev/spec/2), [implementation](https://github.com/vacp2p/mvds) and we have deployed it in a [console client](https://github.com/status-im/status-console-client) for end to end functionality. It's heavily inspired by [Bramble Sync Protocol](https://code.briarproject.org/briar/briar-spec/blob/master/protocols/BSP.md). - -The spec is fairly minimal. You have nodes that exchange records over some secure transport. These records are of different types, such as `OFFER`, `MESSAGE`, `REQUEST`, and `ACK`. A peer keep tracks of the state of message for each node it is interacting with. There's also logic for message retransmission with exponential delay. The positive ACK and retransmission model is quite similar to how TCP is designed. - -There are two different modes of syncing, interactive and batch mode. See sequence diagrams below. - -Interactive mode: - -Batch mode: - -Which mode should you choose? It's a tradeoff of latency and bandwidth. If you want to minimize latency, batch mode is better. If you care about preserving bandwidth interactive mode is better. The choice is up to each node. - -### Basic simulation - -Initial ad hoc bandwidth and latency testing shows some issues with a naive approach. Running with the [default simulation settings](https://github.com/vacp2p/mvds/): - -- communicating nodes: 2 -- nodes using interactive mode: 2 -- interval between messages: 5s -- time node is offine: 90% -- nodes each node is sharing with: 2 - -we notice a [huge overhead](https://notes.status.im/7QYa4b6bTH2wMk3HfAaU0w#). More specifically, we see a ~5 minute latency overhead and a bandwidth multiplier of x100-1000, i.e. 2-3 orders of magnitude just for receiving a message with interactive mode, without acks. - -Now, that seems terrible. A moment of reflection will reveal why that is. If each node is offline uniformly 90% of the time, that means that each record will be lost 90% of the time. Since interactive mode requires offer, request, payload (and then ack), that's three links just for Bob to receive the actual message. - -Each failed attempt implies another retransmission. That means we have `(1/0.1)^3 = 1000` expected overhead to receive a message in interactive mode. The latency follows naturally from that, with the retransmission logic. - -### Mostly-offline devices - -The problem above hints at the requirements 3 and 4 above. While we did get reliable syncing (requirement 1), it came at a big cost. - -There are a few ways of getting around this issue. One is having a _store and forward_ model, where some intermediary node picks up (encrypted) messages and forwards them to the recipient. This is what we have in production right now at Status. - -Another, arguably more pure and robust, way is having a _remote log_, where the actual data is spread over some decentralized storage layer, and you have a mutable reference to find the latest messages, similar to DNS. - -What they both have in common is that they act as a sort of highly-available cache to smooth over the non-overlapping connection windows between two endpoints. Neither of them are _required_ to get reliable data transmission. - -### Basic calculations for bandwidth multiplier - -While we do want better simulations, and this is a work in progress, we can also look at the above scenarios using some basic calculations. This allows us to build a better intuition and reason about the problem without having to write code. Let's start with some assumptions: - -- two nodes exchanging a single message in batch mode -- 10% uniformly random uptime for each node -- in HA cache case, 100% uptime of a piece of infrastructure C -- retransmission every epoch (with constant or exponential backoff) -- only looking at average (p50) case - -#### First case, no helper services - -A sends a message to B, and B acks it. - -``` -A message -> B (10% chance of arrival) -A <- ack B (10% chance of arrival) -``` - -With a constant backoff, A will send messages at epoch `1, 2, 3, ...`. With exponential backoff and a multiplier of 2, this would be `1, 2, 4, 8, ...`. Let's assume constant backoff for now, as this is what will influence the success rate and thus the bandwidth multiplier. - -There's a difference between _time to receive_ and _time to stop sending_. Assuming each send attempt is independent, it takes on average 10 epochs for A's message to arrive with B. Furthermore: - -1. A will send messages until it receives an ACK. -2. B will send ACK if it receives a message. - -To get an average of one ack through, A needs to send 100 messages, and B send on average 10 acks. That's a multiplier of roughly a 100. That's roughly what we saw with the simulation above for receiving a message in interactive mode. - -#### Second case, high-availability caching layer - -Let's introduce a helper node or piece of infrastructure, C. Whenever A or B sends a message, it also sends it to C. Whenever A or B comes online, it queries for messages with C. - -``` -A message -> B (10% chance of arrival) -A message -> C (100% chance of arrival) -B <- req/res -> C (100% chance of arrival) -A <- ack B (10% chance of arrival) -C <- ack B (100% chance of arrival) -A <- req/res -> C (100% chance of arrival) -``` - -What's the probability that A's messages will arrive at B? Directly, it's still 10%. But we can assume it's 100% that C picks up the message. (Giving C a 90% chance success rate doesn't materially change the numbers). - -B will pick up A's message from C after an average of 10 epochs. Then B will send ack to A, which will also be picked up by C 100% of the time. Once A comes online again, it'll query C and receive B's ack. - -Assuming we use exponential backoff with a multiplier of 2, A will send a message directly to B at epoch `1, 2, 4, 8` (assuming it is online). At this point, epoch `10`, B will be online in the average case. These direct sends will likely fail, but B will pick the message up from C and send one ack, both directly to A and to be picked up by C. Once A comes online, it'll query C and receive the ack from B, which means it won't do any more retransmits. - -How many messages have been sent? Not counting interactions with C, A sends 4 (at most) and B 1. Depending on if the interaction with C is direct or indirect (i.e. multicast), the factor for interaction with C will be ~2. This means the total bandwidth multiplier is likely to be `<10`, which is a lot more acceptable. - -Since the syncing semantics are end-to-end, this is without relying on the reliablity of C. - -#### Caveat - -Note that both of these are probabilistic argument. They are also based on heuristics. More formal analysis would be desirable, as well as better simulations to experimentally verify them. In fact, the calculations could very well be wrong! - -## Future work - -There are many enhancements that can be made and are desirable. Let's outline a few. - -1. Data sync clients. Examples of actual usage of data sync, with more interesting domain semantics. This also includes usage of sequence numbers and DAGs to know what content is missing and ought to be synced. - -2. Remote log. As alluded to above, this is necessary. It needs a more clear specification and solid proof of concepts. - -3. More efficient ways of syncing with large number of nodes. When the number of nodes goes up, the algorithmic complexity doesn't look great. This also touches on things such as ambient content discovery. - -4. More robust simulations and real-world deployments. Exisiting simulation is ad hoc, and there are many improvements that can be made to gain more confidence and identify issues. Additionally, better formal analysis. - -5. Example usage over multiple transports. Including things like sneakernet and meshnets. The described protocol is designed to work over unstructured, structured and private p2p networks. In some cases it can leverage differences in topology, such as multicast, or direct connections. diff --git a/packages/docusaurus-playground/rlog/2019-08-02-vac-overview.mdx b/packages/docusaurus-playground/rlog/2019-08-02-vac-overview.mdx deleted file mode 100644 index 513acc9..0000000 --- a/packages/docusaurus-playground/rlog/2019-08-02-vac-overview.mdx +++ /dev/null @@ -1,92 +0,0 @@ ---- -layout: post -name: 'Vac - A Rough Overview' -title: 'Vac - A Rough Overview' -date: 2019-08-02 12:00:00 -authors: amir -published: true -slug: vac-overview -categories: research -tags: ['Something'] ---- - -Vac is a **modular peer-to-peer messaging stack, with a focus on secure messaging**. What does that mean? Let's unpack it a bit. - - - -## Basic terms - -_messaging stack_. While the initial focus is on [data sync](https://vac.dev/p2p-data-sync-for-mobile), we are concerned with all layers in the stack. That means all the way from underlying transports, p2p overlays and routing, to initial trust establishment and semantics for things like group chat. The ultimate goal is to give application developers the tools they need to provide secure messaging for their users, so they can focus on their domain expertise. - -_modular_. Unlike many other secure messaging applications, our goal is not to have a tightly coupled set of protocols, nor is it to reinvent the wheel. Instead, we aim to provide options at each layer in the stack, and build on the shoulders of giants, putting a premimum on interoperability. It's similar in philosophy to projects such as [libp2p](https://libp2p.io/) or [Substrate](https://www.parity.io/substrate/) in that regard. Each choice comes with different trade-offs, and these look different for different applications. - -_peer-to-peer_. The protocols we work on are pure p2p, and aim to minimize centralization. This too is in opposition to many initiatives in the secure messaging space. - -_messaging_. By messaging we mean messaging in a generalized sense. This includes both human to human communication, as well machine to machine communication. By messaging we also mean something more fundamental than text messages, we also include things like transactions (state channels, etc) under this moniker. - -_secure messaging_. Outside of traditional notions of secure messaging, such as ensuring end to end encryption, forward secrecy, avoiding MITM-attacks, etc, we are also concerned with two other forms of secure messaging. We call these _private messaging_ and _censorship-resistance_. Private messaging means viewing privacy as a security property, with all that entails. Censorship resistance ties into being p2p, but also in terms of allowing for transports and overlays that can't easily be censored by port blocking, traffic analysis, and similar. - -_Vāc_. Is a Vedic goddess of speech. It also hints at being a vaccine. - -## Protocol stack - -What does this stack look like? We take inspiration from [core](https://tools.ietf.org/html/rfc793) [internet architecture](https://www.ietf.org/rfc/rfc1122.txt), existing [survey work](https://css.csail.mit.edu/6.858/2020/readings/secure-messaging.pdf) and other [efforts](https://code.briarproject.org/briar/briar/wikis/A-Quick-Overview-of-the-Protocol-Stack) that have been done to decompose the problem into orthogonal pieces. Each layer provides their own set of properties and only interact with the layers it is adjacent to. Note that this is a rough sketch. - -| Layer / Protocol | Purpose | Examples | -| ------------------- | --------------------------------- | -------------------- | -| Application layer | End user semantics | 1:1 chat, group chat | -| Data Sync | Data consistency | MVDS, BSP | -| Secure Transport | Confidentiality, PFS, etc | Double Ratchet, MLS | -| Transport Privacy | Transport and metadata protection | Whisper, Tor, Mixnet | -| P2P Overlay | Overlay routing, NAT traversal | devp2p, libp2p | -| | | -| Trust Establishment | Establishing end-to-end trust | TOFU, web of trust | - -As an example, end user semantics such as group chat or moderation capabilities can largely work regardless of specific choices further down the stack. Similarly, using a mesh network or Tor doesn't impact the use of Double Ratchet at the Secure Transport layer. - -Data Sync plays a similar role to what TCP does at the transport layer in a traditional Internet architecture, and for some applications something more like UDP is likely to be desirable. - -In terms of specific properties and trade-offs at each layer, we'll go deeper down into them as we study them. For now, this is best treated as a rough sketch or mental map. - -## Problems and rough priorities - -With all the pieces involved, this is quite an undertaking. Luckily, a lot of pieces are already in place and can be either incorporated as-is or iterated on. In terms of medium and long term, here's a rough sketch of priorities and open problems. - -1. **Better data sync.** While the current [MVDS](https://rfc.vac.dev/spec/2/) works, it is lacking in a few areas: - -- Lack of remote log for mostly-offline offline devices -- Better scalability for multi-user chat contexts -- Better usability in terms of application layer usage and supporting more transports - -2. **Better transport layer support.** Currently MVDS runs primarily over Whisper, which has a few issues: - -- scalability, being able to run with many nodes -- spam-resistance, proof of work is a poor mechanism for heterogeneous devices -- no incentivized infrastructure, leading to centralized choke points - -In addition to these most immediate concerns, there are other open problems. Some of these are overlapping with the above. - -3. **Adaptive nodes.** Better support for resource restricted devices and nodes of varying capabilities. Light connection strategy for resources and guarantees. Security games to outsource processing with guarantees. - -4. **Incentivized and spam-resistant messaging.** Reasons to run infrastructure and not relying on altruistic nodes. For spam resistance, in p2p multicast spam is a big attack vector due to amplification. There are a few interesting directions here, such as EigenTrust, proof of burn with micropayments, and leveraging zero-knowledge proofs. - -5. **Strong privacy guarantees at transport privacy layer**. More rigorous privacy guarantees and explicit trade-offs for metadata protection. Includes Mixnet. -6. **Censorship-resistant and robust P2P overlay**. NAT traversal; running in the browser; mesh networks; pluggable transports for traffic obfuscation. - -7. **Scalable and decentralized secure conversational security.** Strong security guarantees such as forward secrecy, post compromise security, for large group chats. Includes projects such MLS and extending Double Ratchet. - -8. **Better trust establishment and key handling**. Avoiding MITM attacks while still enabling a good user experience. Protecting against ghost users in group chat and providing better ways to do key handling. - -There is also a set of more general problems, that touch multiple layers: - -9. **Ensuring modularity and interoperability**. Providing interfaces that allow for existing and new protocols to be at each layer of the stack. - -10. **Better specifications**. Machine-readable and formally verified specifications. More rigorous analysis of exact guarantees and behaviors. Exposing work in such a way that it can be analyzed by academics. - -11. **Better simulations**. Providing infrastructure and tooling to be able to test protocols in adverse environments and at scale. - -12. **Enabling excellent user experience**. A big reason for the lack of widespread adoption of secure messaging is the fact that more centralized, insecure methods provide a better user experience. Given that incentives can align better for users interested in secure messaging, providing an even better user experience should be doable. - ---- - -We got some work to do. Come help us if you want. See you in the next update! diff --git a/packages/docusaurus-playground/rlog/authors.yml b/packages/docusaurus-playground/rlog/authors.yml deleted file mode 100644 index db36ca4..0000000 --- a/packages/docusaurus-playground/rlog/authors.yml +++ /dev/null @@ -1,10 +0,0 @@ -amir: - name: 'Amir' - twitter: 'vacp2p' - github: 'thecirce' - -beachbum: - name: 'Beachbum' - -flohxc: - name: 'Flohxc' diff --git a/packages/docusaurus-playground/root-pages/events/index.mdx b/packages/docusaurus-playground/root-pages/events/index.mdx deleted file mode 100644 index d1cd98f..0000000 --- a/packages/docusaurus-playground/root-pages/events/index.mdx +++ /dev/null @@ -1,125 +0,0 @@ ---- -title: Events -description: List of all Waku events -hide_table_of_contents: true -hude_title: true ---- - -import { - EventCardList, - EventCTASection, - Grid, - Box, -} from '@site/src/components/mdx' - -# Events - -List of all Waku events - - - - - - - - - - - - - - - - - diff --git a/packages/docusaurus-playground/root-pages/events/test.mdx b/packages/docusaurus-playground/root-pages/events/test.mdx deleted file mode 100644 index e52f3ac..0000000 --- a/packages/docusaurus-playground/root-pages/events/test.mdx +++ /dev/null @@ -1,153 +0,0 @@ ---- -title: Meet Waku -description: Uncompromising Web3 Communication at Scale -hide_table_of_contents: true -hide_title: true ---- - -import { - Box, - EventBanner, - EventInfo, - EventAbout, - EventProfileList, - EventCTA, - EventCTASection, - EventHeader, - Grid, -} from '@site/src/components/mdx' - - - - - - - - - - - - - - - - - - - - - - - -Waku is a suite of generalised messaging protocols aiming to be the communication standard for the decentralised web. It enables private and secure human-to-human, machine-to-machine, and human-to-machine communication without reliance on centralised intermediaries. Messaging through Waku is possible from one-to-one to many-to-many. - -
- -Waku serves as the communications layer of the Logos tech stack. Alongside the trustless agreement layer, Nomos, and the storage layer, Codex, it is one of the Logos Collective's foundational projects. - -
- -Motive: -Today's internet is increasingly controlled by a small number of tech giants. Google, Amazon, Meta, and a few others dictate what we see and with whom we can communicate. Their influence is almost limitless, and their actions shape global public opinion and even geopolitics. - -
- -To anyone that understands the internet's present architecture, this outcome should be expected. The centralised entities through which we communicate have privileged access to reams of data that we, as internet users, produce daily, presenting an opportunity for the kind of surveillance that was once confined to the pages of science-fiction literature. Thinking that the most powerful commercial and political institutions would not leverage this would be naive. - -
- -Yet, it doesn't have to be this way. Advances in cryptography, peer-to-peer networking, and decentralised technologies provide an alternate path forward. - -
-
- - - - - - - - - - - - - - - - - - - diff --git a/packages/docusaurus-playground/src/components/mdx/index.tsx b/packages/docusaurus-playground/src/components/mdx/index.tsx deleted file mode 100644 index dc01fbf..0000000 --- a/packages/docusaurus-playground/src/components/mdx/index.tsx +++ /dev/null @@ -1 +0,0 @@ -export * from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx' diff --git a/packages/docusaurus-playground/src/css/custom.scss b/packages/docusaurus-playground/src/css/custom.scss deleted file mode 100644 index 5614e40..0000000 --- a/packages/docusaurus-playground/src/css/custom.scss +++ /dev/null @@ -1,30 +0,0 @@ -:root { -} - -body, -html { - overflow-x: hidden; -} - -.theme-doc-breadcrumbs { - display: none; -} - -.mdx-hero > .mdx-hero-image > img { - position: absolute; - right: 0; - top: 0; - margin-top: -65%; -} - -@media screen and (min-width: 996px) { - .mdx-hero > .mdx-hero-image > img { - position: absolute; - right: 0; - top: 0; - transform: rotate(170deg); - margin-right: -300px; - margin-top: -78%; - scale: 0.95; - } -} diff --git a/packages/docusaurus-playground/src/pages/index.mdx b/packages/docusaurus-playground/src/pages/index.mdx deleted file mode 100644 index 506bf43..0000000 --- a/packages/docusaurus-playground/src/pages/index.mdx +++ /dev/null @@ -1,632 +0,0 @@ -import { - Hero, - HeroTitle, - HeroDescription, - HeroActions, - HeroImage, - HeroAction, - CallToActionSection, - CallToActionButton, - FeatureList, - Showcase, - HeroInfo, - Box, - Grid, - ProfileCard, - Roadmap, - SectionHeader, - InputCTASection, - ShowcaseCard, - JobsPerDepartment, - GithubChallenges, - LogoCarousel, -} from '../components/mdx' -import * as jobData from '/generated/jobs.json' -import * as challengesData from '/generated/challenges.json' - - - - - Light and High Performing Ethereum Clients - - - Run Nimbus on lightweight devices or enterprise-grade servers with equal - ease and peace of mind. Trusted by solo stakers and node operators alike. - - - - Get Involved - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Follow the detailed -
- step-by-step guide here - - } - description={<>Run Nimbus in one of three setups} - border={false} - list={[ - { - title: 'Simple setup', - description: - 'Run integrated Nimbus Beacon Node and Validator Client together.', - href: 'https://nimbus.guide/quick-start.html', - target: '_blank', - }, - { - title: 'Beacon setup', - description: - 'Use Nimbus Beacon Node with an alternative validator client.', - href: 'https://nimbus.guide/quick-start.html', - target: '_blank', - }, - { - title: 'Validator setup', - description: - 'Use Nimbus Validator Client with an alternative Beacon Node', - href: 'https://nimbus.guide/quick-start.html', - target: '_blank', - }, - ]} - label="Get Nimbus" - target="_blank" - href="https://nimbus.guide/quick-start.html" - /> -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Nimbus is part of the Logos Network State Ecosystem. Logos is a - grassroots movement to provide trust-minimised, corruption-resistant - governing services and social institutions to peaceful people worldwide. -
-
- Learn more about our ambitious vision. - - } - label="Explore Logos" - href="https://logos.co/" - target="_blank" - /> -
- - - - - - - - - - - - - - "RAILGUN contributors selected Waku to run its relayer network as an early-stage but promising product of the privacy-centric status.im ecosystem. We have not been disappointed. The developers are extremely professional and responsive, and continue to strive to understand and meet our needs as a communication layer for relaying private transactions.", - }, - { - name: 'The Graph', - logo: '/showcase/the-graph-mark-black.svg', - logoDark: '/showcase/the-graph-mark-white.svg', - description: - `"Our experience with Waku has been transformative, proving to be a valuable tool that reveals the potential of peer-to-peer communication technologies. We are excited to continue using Waku's advanced features and contribute to the growth of Graphcast and the broader Graph ecosystem."`, - } - ]} - /> - - Build on Waku - - - - - - - - - - - - - "RAILGUN contributors selected Waku to run its relayer network as an - early-stage but promising product of the privacy-centric{' '} - - status.im - {' '} - ecosystem. We have not been disappointed. The developers are - extremely professional and responsive, and continue to strive to - understand and meet our needs as a communication layer for relaying - private transactions." - - } - /> - - - - - - - Build on Waku - - - - - - - - - - - - - - - diff --git a/packages/docusaurus-playground/src/pages/xyz.tsx b/packages/docusaurus-playground/src/pages/xyz.tsx deleted file mode 100644 index c9b8399..0000000 --- a/packages/docusaurus-playground/src/pages/xyz.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import { SubscriptionPage } from '@acid-info/logos-docusaurus-theme/lib/client/theme/SubscriptionPage' -import Head from '@docusaurus/Head' -import Layout from '@theme/Layout' -import React from 'react' - -export default () => { - return ( - - - - - - - - ) -} diff --git a/packages/docusaurus-playground/static/generated/challenges.json b/packages/docusaurus-playground/static/generated/challenges.json deleted file mode 100644 index a21e8ea..0000000 --- a/packages/docusaurus-playground/static/generated/challenges.json +++ /dev/null @@ -1,943 +0,0 @@ -[ - { - "logos-co/nomos-node": [ - { - "id": "I_kwDOITdFfs5Zappx", - "title": "Mock NetworkBackend", - "url": "https://github.com/logos-co/nomos-node/issues/31", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["enhancement", "help wanted"], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": null, - "created_at": "2022-12-16T12:51:53Z", - "updated_at": "2022-12-19T11:17:44Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5Zat-A", - "title": "MockNetwork Backend (Preloaded version)", - "url": "https://github.com/logos-co/nomos-node/issues/32", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": null, - "created_at": "2022-12-16T13:06:07Z", - "updated_at": "2022-12-16T13:06:49Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5ZauYy", - "title": "MockNetwork Backend (Service Based version)", - "url": "https://github.com/logos-co/nomos-node/issues/33", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOITdFfs5Qv7jr", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "Mock network implementation (service based version): https://github.com/logos-co/nomos-research/issues/31", - "createdAt": "2022-12-16T13:08:52Z" - } - ], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": null, - "created_at": "2022-12-16T13:07:33Z", - "updated_at": "2022-12-16T13:09:04Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5ZavIa", - "title": "Consensus mocknetwork adapter", - "url": "https://github.com/logos-co/nomos-node/issues/34", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": null, - "created_at": "2022-12-16T13:09:55Z", - "updated_at": "2022-12-16T13:12:50Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5ZavJ3", - "title": "Mempool mocknetwork adapter", - "url": "https://github.com/logos-co/nomos-node/issues/35", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": null, - "created_at": "2022-12-16T13:10:00Z", - "updated_at": "2022-12-16T13:13:52Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5dOnjg", - "title": "Mempool network adapter unique identifier", - "url": "https://github.com/logos-co/nomos-node/issues/59", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["Mempool", "network", "idea"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": null, - "created_at": "2023-01-31T11:14:38Z", - "updated_at": "2023-01-31T11:14:38Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5eiHIB", - "title": "Message storage consideration", - "url": "https://github.com/logos-co/nomos-node/issues/76", - "user": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": null, - "created_at": "2023-02-15T14:54:40Z", - "updated_at": "2023-02-15T14:54:40Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5gQVVY", - "title": "Carnot execution simulation application", - "url": "https://github.com/logos-co/nomos-node/issues/92", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["consensus", "simulation"], - "commentCount": 2, - "comments": [ - { - "id": "IC_kwDOITdFfs5XAq_2", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "This is the initial list of things to do. @al8n @bacv, please edit the list as completed or add new items as needed.\r\nThe relate the PRs, or create tasks in the board for each item you take. 🚀 ", - "createdAt": "2023-03-08T09:02:44Z" - }, - { - "id": "IC_kwDOITdFfs5YY5BM", - "author": { - "login": "bacv", - "avatarUrl": "https://avatars.githubusercontent.com/u/2364987?v=4" - }, - "body": "Notes regarding next tasks:\r\n- [x] Warding - Analyze simulation state and implement the stopping of simulation.\r\n - [x] The difference minimum view and and maximum view in the individual nodes need to be tracked. #108\r\n - [x] Track stalled nodes (e.g incoming queue is empty, the node doesn't write to other queues). #109 \r\n- [x] Output processor - Gather states from every node during each step. Data needs to be per view. #111 \r\n- [x] Runners\r\n - [x] Synchronous runner - track the state and decide when to dump the data #111 \r\n - [x] Asynchronous runner - track the state and decide when to dump the data #111 \r\n - [x] A cache that stores the view number and the vector of nodeids and state. #119\r\n - [x] `Update` method - updates node state for that view #119\r\n - [x] Integrate cache withing the runners #119\r\n- [x] Mock Carnot node - every step will increment the view count. #114 \r\n- [x] Carnot node settings:\r\n - [x] Configurable network behavior. #110 \r\n - [x] Layout per view, accessible withing the node. #114 \r\n- [ ] Overlay trait needs to accept `seed` parameter when the layout is generated. https://github.com/logos-co/nomos-node/pull/122#discussion_r1187134287\r\n- [ ] Investigate if ViewId + ViewOverlay pairs need to be shared state. Nodes should recreate an overlay from seed. (Mentioned in https://github.com/logos-co/nomos-research/pull/114#discussion_r1159808313)", - "createdAt": "2023-03-24T14:43:51Z" - } - ], - "assignees": [], - "milestone": "Simulation App", - "created_at": "2023-03-08T08:59:56Z", - "updated_at": "2023-06-19T13:27:17Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5gxj8x", - "title": "Mempool Disccusion", - "url": "https://github.com/logos-co/nomos-node/issues/95", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["Mempool"], - "commentCount": 3, - "comments": [ - { - "id": "IC_kwDOITdFfs5Xg4Ay", - "author": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "body": "If we decide that blocks only contain transactions hashes, then we need a way to retrieve transactions. \r\nIt's not too different from how a node that joins the network later has to download blocks actually.\r\n\r\nI think it could be valuable to have committed transactions in a coldish storage and conflate storage of pending transactions and transactions in blocks not yet committed, as we might have to access both", - "createdAt": "2023-03-14T14:45:05Z" - }, - { - "id": "IC_kwDOITdFfs5XhAe1", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "> If we decide that blocks only contain transactions hashes, then we need a way to retrieve transactions. It's not too different from how a node that joins the network later has to download blocks actually.\r\n> \r\n> I think it could be valuable to have committed transactions in a coldish storage and conflate storage of pending transactions and transactions in blocks not yet committed, as we might have to access both\r\n\r\nThat way we make the mempool work only over the transactions ids right? So if retrieving a transaction it should be from this storage?", - "createdAt": "2023-03-14T15:01:35Z" - }, - { - "id": "IC_kwDOITdFfs5Xm0oT", - "author": { - "login": "alvatar", - "avatarUrl": "https://avatars.githubusercontent.com/u/191694?u=4555197dea5ea4db76f8649f7b189db96301d887&v=4" - }, - "body": "The mempool is subject to further research at this point. We cannot make an informed decision yet.\r\nFor now, the simplest mempool will do, and then we will work on this from a research perspective.\r\nTo clarify a few points:\r\n- Codex cannot be used for the mempool. It can be used for archival nodes, but that's a different use case.\r\n- The mempool will have a focus on privacy, likely being threshold-encrypted. \r\n- Ideally, the mempool guarantees data availability (ie like Narwhal), and the consensus will operate on the hashes of the mempool.\r\n", - "createdAt": "2023-03-15T11:00:57Z" - } - ], - "assignees": [], - "milestone": null, - "created_at": "2023-03-14T14:30:52Z", - "updated_at": "2023-03-15T11:15:31Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5gyh8x", - "title": "Remove block_transactions function in `Mempool` trait", - "url": "https://github.com/logos-co/nomos-node/issues/96", - "user": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "labels": ["Mempool"], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOITdFfs5Xkr9G", - "author": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "body": "Reopen this issue, because I think it auto-closed by the merge but we do not actually fix this issue.", - "createdAt": "2023-03-15T02:58:05Z" - } - ], - "assignees": [], - "milestone": null, - "created_at": "2023-03-14T16:31:00Z", - "updated_at": "2023-03-15T02:58:06Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5k3Xw1", - "title": "Block and Votes validation", - "url": "https://github.com/logos-co/nomos-node/issues/132", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["bug", "consensus"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Carnot Implementation", - "created_at": "2023-05-02T11:19:18Z", - "updated_at": "2023-05-02T11:19:28Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5k3aKB", - "title": "Remove TimeoutQc from NewView votes", - "url": "https://github.com/logos-co/nomos-node/issues/134", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["enhancement", "consensus"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Carnot Implementation", - "created_at": "2023-05-02T11:26:29Z", - "updated_at": "2023-05-02T11:26:29Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5lU0Ri", - "title": "Simulation metadata", - "url": "https://github.com/logos-co/nomos-node/issues/142", - "user": { - "login": "bacv", - "avatarUrl": "https://avatars.githubusercontent.com/u/2364987?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": null, - "created_at": "2023-05-08T10:05:58Z", - "updated_at": "2023-05-11T09:28:39Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5n1pPI", - "title": "Node consensus safe net", - "url": "https://github.com/logos-co/nomos-node/issues/171", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["consensus", "testing"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Carnot safe net", - "created_at": "2023-06-05T16:15:49Z", - "updated_at": "2023-06-26T09:37:38Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5n1pTj", - "title": "Carnot node long running tests", - "url": "https://github.com/logos-co/nomos-node/issues/174", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["consensus", "testing"], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOITdFfs5gBmbZ", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "@AlbertoSoutullo This is the issue for tracking the long running tests with kurtosis", - "createdAt": "2023-06-28T08:59:45Z" - } - ], - "assignees": [ - { - "login": "AlbertoSoutullo", - "avatarUrl": "https://avatars.githubusercontent.com/u/23367096?u=908f327cf3085a462d5e5a013446e465e1d54f73&v=4" - } - ], - "milestone": "Carnot safe net", - "created_at": "2023-06-05T16:16:02Z", - "updated_at": "2023-06-28T08:59:51Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5ouExR", - "title": "Reduce public API from consensus service", - "url": "https://github.com/logos-co/nomos-node/issues/190", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": null, - "created_at": "2023-06-14T13:25:52Z", - "updated_at": "2023-06-14T13:31:17Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5pfaOc", - "title": "Node panics on unexpected block", - "url": "https://github.com/logos-co/nomos-node/issues/220", - "user": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "labels": [], - "commentCount": 3, - "comments": [ - { - "id": "IC_kwDOITdFfs5fiGUy", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "\"No parent\" means that the parent is not present, not that the block comes without the parent field right?", - "createdAt": "2023-06-22T14:48:11Z" - }, - { - "id": "IC_kwDOITdFfs5fk5oa", - "author": { - "login": "youngjoon-lee", - "avatarUrl": "https://avatars.githubusercontent.com/u/5462944?u=fbb2556cd66f7852f2bc526ce4e39369f834f3b6&v=4" - }, - "body": "> \"No parent\" means that the parent is not present\r\n\r\nIf so, I have a feeling that some other `assert!()` in consensus-engine may be also potential attack points. What do you think about changing assertions to Err?", - "createdAt": "2023-06-23T01:29:28Z" - }, - { - "id": "IC_kwDOITdFfs5fyK40", - "author": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "body": "> \"No parent\" means that the parent is not present, not that the block comes without the parent field right?\r\n\r\nExactly\r\n\r\n\r\n> If so, I have a feeling that some other assert!() in consensus-engine may be also potential attack points. What do you think about changing assertions to Err?\r\n\r\nThe asserts are there to verify the public API contract is respected (i.e. some functions have preconditions that allow you to call them only when certain statements are true). We could also make them errors instead, the important thing is that we filter those cases at some point (either before feeding them to the engine or at the engine by returning errors instead). ", - "createdAt": "2023-06-26T08:42:42Z" - } - ], - "assignees": [], - "milestone": null, - "created_at": "2023-06-22T14:46:17Z", - "updated_at": "2023-06-26T08:42:42Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5qA6vn", - "title": "Simulation: support specifying node to network region in configuration.", - "url": "https://github.com/logos-co/nomos-node/issues/235", - "user": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "labels": ["enhancement", "simulation"], - "commentCount": 3, - "comments": [ - { - "id": "IC_kwDOITdFfs5gCIpO", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "They should be assigned based in some specific distribution. I think everything is calculated here: https://github.com/logos-co/nomos-node/blob/224a3a53f5c164cd5dec147f49177bc8f65a634a/simulations/src/network/regions.rs#L123", - "createdAt": "2023-06-28T10:40:24Z" - }, - { - "id": "IC_kwDOITdFfs5gCK3p", - "author": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "body": "> They should be assigned based in some specific distribution. I think everything is calculated here: https://github.com/logos-co/nomos-node/blob/224a3a53f5c164cd5dec147f49177bc8f65a634a/simulations/src/network/regions.rs#L123\n\nYeah, but in the logs we cannot know such node belongs to which region. Then, I think we can assign the region information to the node, and then we can easily see a node belongs to which region from logs and analyze.", - "createdAt": "2023-06-28T10:47:46Z" - }, - { - "id": "IC_kwDOITdFfs5gCLqr", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "> > They should be assigned based in some specific distribution. I think everything is calculated here: https://github.com/logos-co/nomos-node/blob/224a3a53f5c164cd5dec147f49177bc8f65a634a/simulations/src/network/regions.rs#L123\r\n> \r\n> Yeah, but in the logs we cannot know such node belongs to which region. Then, I think we can assign the region information to the node, and then we can easily see a node belongs to which region from logs and analyze.\r\n\r\nYeah. The way to go here IMO would be to log or dump the final distribution (regions map). No need to go too fancy here. ", - "createdAt": "2023-06-28T10:50:35Z" - } - ], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": "Simulation App", - "created_at": "2023-06-28T10:06:06Z", - "updated_at": "2023-06-28T10:50:36Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5qZ3mN", - "title": "Network layer rewrite", - "url": "https://github.com/logos-co/nomos-node/issues/236", - "user": { - "login": "youngjoon-lee", - "avatarUrl": "https://avatars.githubusercontent.com/u/5462944?u=fbb2556cd66f7852f2bc526ce4e39369f834f3b6&v=4" - }, - "labels": ["network"], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOITdFfs5lEXUN", - "author": { - "login": "youngjoon-lee", - "avatarUrl": "https://avatars.githubusercontent.com/u/5462944?u=fbb2556cd66f7852f2bc526ce4e39369f834f3b6&v=4" - }, - "body": "The first iteration is done. The folowing bullet points need to be done in the future.\r\n\r\n> - libp2p transports (TCP, QUIC, or both)\r\n> - libp2p transport authentication (Noise)\r\n> - libp2p gossipsub message signing", - "createdAt": "2023-08-28T12:49:40Z" - } - ], - "assignees": [], - "milestone": "Carnot Implementation", - "created_at": "2023-07-03T02:29:59Z", - "updated_at": "2023-08-28T12:49:40Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5qeEMi", - "title": "Consensus starts when there are no valid peers", - "url": "https://github.com/logos-co/nomos-node/issues/239", - "user": { - "login": "AlbertoSoutullo", - "avatarUrl": "https://avatars.githubusercontent.com/u/23367096?u=908f327cf3085a462d5e5a013446e465e1d54f73&v=4" - }, - "labels": [], - "commentCount": 4, - "comments": [ - { - "id": "IC_kwDOITdFfs5gfgb5", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "@Zeegomo didn't we had this issue with the end-to-end tests?\r\n", - "createdAt": "2023-07-03T16:44:39Z" - }, - { - "id": "IC_kwDOITdFfs5ggNUI", - "author": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "body": "> Unless I am doing something wrong, it looks like the consensus starts with no valid peers, and it gets \"stuck\" even tho I succesfully add new peers afterwards, here is a screenshot of the log\r\n\r\nThis is likely because the node doesn't wait for the network to be ready before sending the first message, and if enough of those messages get lost the round cannot advance.\r\nThis occurrence was very rare in testing and those rare occasions should have been fixed by https://github.com/logos-co/nomos-node/commit/b884e1ceca1a1148f23babb6e062c5487b70548b.\r\n\r\nFor reference, we always start the leader for view 1 first (should be the first node in the config list) and put it in the `initial_peers` section of other nodes. \r\n\r\n> and it gets \"stuck\" even tho I succesfully add new peers afterwards,\r\n\r\nthis is kind of expected as the node does not attempt to resend messages. It should actually trigger the unhappy path procedure to restore the network but as that has not been tested (working on it atm) it's possible it's not working", - "createdAt": "2023-07-03T19:39:45Z" - }, - { - "id": "IC_kwDOITdFfs5gmLWv", - "author": { - "login": "AlbertoSoutullo", - "avatarUrl": "https://avatars.githubusercontent.com/u/23367096?u=908f327cf3085a462d5e5a013446e465e1d54f73&v=4" - }, - "body": "> > Unless I am doing something wrong, it looks like the consensus starts with no valid peers, and it gets \"stuck\" even tho I succesfully add new peers afterwards, here is a screenshot of the log\r\n> \r\n> This is likely because the node doesn't wait for the network to be ready before sending the first message, and if enough of those messages get lost the round cannot advance. This occurrence was very rare in testing and those rare occasions should have been fixed by [b884e1c](https://github.com/logos-co/nomos-node/commit/b884e1ceca1a1148f23babb6e062c5487b70548b).\r\n> \r\n> For reference, we always start the leader for view 1 first (should be the first node in the config list) and put it in the `initial_peers` section of other nodes.\r\n> \r\n> > and it gets \"stuck\" even tho I succesfully add new peers afterwards,\r\n> \r\n> this is kind of expected as the node does not attempt to resend messages. It should actually trigger the unhappy path procedure to restore the network but as that has not been tested (working on it atm) it's possible it's not working\r\n\r\nThanks for answering! Do I wait then until new instructions?", - "createdAt": "2023-07-04T18:50:01Z" - }, - { - "id": "IC_kwDOITdFfs5gqgmQ", - "author": { - "login": "AlbertoSoutullo", - "avatarUrl": "https://avatars.githubusercontent.com/u/23367096?u=908f327cf3085a462d5e5a013446e465e1d54f73&v=4" - }, - "body": "Looks like it's working with PR #245 \r\n\r\nFeel free to close this issue if you want!", - "createdAt": "2023-07-05T13:25:30Z" - } - ], - "assignees": [], - "milestone": null, - "created_at": "2023-07-03T14:12:16Z", - "updated_at": "2023-07-05T13:25:30Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5tB6vC", - "title": "mixnet_delay in sim configuration", - "url": "https://github.com/logos-co/nomos-node/issues/276", - "user": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "labels": ["simulation"], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - } - ], - "milestone": "Simulation App", - "created_at": "2023-07-31T13:39:51Z", - "updated_at": "2023-07-31T13:41:04Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5tQhn1", - "title": "Tailor cache size per-message type", - "url": "https://github.com/logos-co/nomos-node/issues/284", - "user": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": null, - "created_at": "2023-08-02T12:02:41Z", - "updated_at": "2023-08-02T12:02:41Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5vw5H9", - "title": "Nomos playground (testnet)", - "url": "https://github.com/logos-co/nomos-node/issues/348", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-08-31T08:57:53Z", - "updated_at": "2023-09-18T13:35:22Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5vw5O6", - "title": "Coordination layer transactions", - "url": "https://github.com/logos-co/nomos-node/issues/352", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-08-31T08:58:11Z", - "updated_at": "2023-08-31T09:00:53Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5vw5WN", - "title": "Nomos node docker", - "url": "https://github.com/logos-co/nomos-node/issues/357", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-08-31T08:58:28Z", - "updated_at": "2023-08-31T09:02:40Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5vw5XF", - "title": "Mixnet node docker", - "url": "https://github.com/logos-co/nomos-node/issues/358", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-08-31T08:58:31Z", - "updated_at": "2023-08-31T09:02:48Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5vw5YO", - "title": "Nomos config", - "url": "https://github.com/logos-co/nomos-node/issues/359", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-08-31T08:58:33Z", - "updated_at": "2023-08-31T09:03:15Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5vw5ZK", - "title": "Mixnet config", - "url": "https://github.com/logos-co/nomos-node/issues/360", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-08-31T08:58:36Z", - "updated_at": "2023-08-31T09:03:36Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5wsw6f", - "title": "Measure the quality of unobservability", - "url": "https://github.com/logos-co/nomos-node/issues/391", - "user": { - "login": "youngjoon-lee", - "avatarUrl": "https://avatars.githubusercontent.com/u/5462944?u=fbb2556cd66f7852f2bc526ce4e39369f834f3b6&v=4" - }, - "labels": ["mixnet"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Mixnet", - "created_at": "2023-09-11T15:38:26Z", - "updated_at": "2023-11-06T06:25:16Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs5yKJJA", - "title": "Document and standardize API", - "url": "https://github.com/logos-co/nomos-node/issues/444", - "user": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "labels": ["documentation"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-09-27T10:52:28Z", - "updated_at": "2023-09-27T10:52:34Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs51Q4rb", - "title": "API Documentation: `utoipa` does not support generics", - "url": "https://github.com/logos-co/nomos-node/issues/491", - "user": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "labels": ["documentation", "enhancement"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-10-30T02:45:03Z", - "updated_at": "2023-10-30T02:45:03Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs51j3ID", - "title": "Handle service state update events in `nomos-node-api`", - "url": "https://github.com/logos-co/nomos-node/issues/500", - "user": { - "login": "al8n", - "avatarUrl": "https://avatars.githubusercontent.com/u/42351146?u=f9252ee6a123643f6b4ddbc54852581fc8b99ecd&v=4" - }, - "labels": ["enhancement"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-11-01T12:59:55Z", - "updated_at": "2023-11-01T13:00:30Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs51rpaL", - "title": "Investigate why tests fail if we include the block id during serialization", - "url": "https://github.com/logos-co/nomos-node/issues/506", - "user": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "labels": ["bug"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": null, - "created_at": "2023-11-02T14:24:37Z", - "updated_at": "2023-11-02T14:24:37Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs52dRiG", - "title": "Add a tighter feature gate for metrics functionality", - "url": "https://github.com/logos-co/nomos-node/issues/523", - "user": { - "login": "bacv", - "avatarUrl": "https://avatars.githubusercontent.com/u/2364987?v=4" - }, - "labels": ["metrics"], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "bacv", - "avatarUrl": "https://avatars.githubusercontent.com/u/2364987?v=4" - } - ], - "milestone": null, - "created_at": "2023-11-10T10:50:11Z", - "updated_at": "2023-11-10T10:50:11Z", - "projects": [] - }, - { - "id": "I_kwDOITdFfs52gnOo", - "title": "Mixnode HOL blocking", - "url": "https://github.com/logos-co/nomos-node/issues/526", - "user": { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - }, - "labels": ["bug", "mixnet", "testnet"], - "commentCount": 0, - "comments": [], - "assignees": [], - "milestone": "Nomos testnet (playground)", - "created_at": "2023-11-10T19:31:50Z", - "updated_at": "2023-11-10T19:32:54Z", - "projects": [] - } - ] - }, - { - "logos-co/nomos-specs": [ - { - "id": "I_kwDOJL6gRs5llikO", - "title": "Review Random Beacon Spec being implemented by dev", - "url": "https://github.com/logos-co/nomos-specs/issues/25", - "user": { - "login": "MForensic", - "avatarUrl": "https://avatars.githubusercontent.com/u/33738574?v=4" - }, - "labels": [], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOJL6gRs5b8bKe", - "author": { - "login": "MForensic", - "avatarUrl": "https://avatars.githubusercontent.com/u/33738574?v=4" - }, - "body": "Couldn't link the pull request, but mentioning it here. https://github.com/logos-co/nomos-specs/pull/24/files", - "createdAt": "2023-05-10T17:30:21Z" - } - ], - "assignees": [ - { - "login": "MForensic", - "avatarUrl": "https://avatars.githubusercontent.com/u/33738574?v=4" - } - ], - "milestone": null, - "created_at": "2023-05-10T17:17:15Z", - "updated_at": "2023-05-11T23:13:37Z", - "projects": [] - }, - { - "id": "I_kwDOJL6gRs5mtQf1", - "title": "Carnot from genesis block", - "url": "https://github.com/logos-co/nomos-specs/issues/26", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": [], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOJL6gRs5dAkUI", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "Related comment on bumping view when adding genesis: https://github.com/logos-co/nomos-specs/pull/24#discussion_r1200718234", - "createdAt": "2023-05-24T04:05:58Z" - } - ], - "assignees": [ - { - "login": "zeegomo", - "avatarUrl": "https://avatars.githubusercontent.com/u/21265557?u=ea50ee0cd3b6ef42d1d3adb59688134155639045&v=4" - } - ], - "milestone": null, - "created_at": "2023-05-24T04:05:11Z", - "updated_at": "2023-05-24T04:05:58Z", - "projects": [] - }, - { - "id": "I_kwDOJL6gRs5mtRfc", - "title": "Construct `EntropyOverlay` from entropy", - "url": "https://github.com/logos-co/nomos-specs/issues/27", - "user": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "labels": ["enhancement"], - "commentCount": 1, - "comments": [ - { - "id": "IC_kwDOJL6gRs5dAlLw", - "author": { - "login": "danielSanchezQ", - "avatarUrl": "https://avatars.githubusercontent.com/u/1133113?v=4" - }, - "body": "Coming from here: https://github.com/logos-co/nomos-specs/pull/24#discussion_r1200702385", - "createdAt": "2023-05-24T04:12:07Z" - } - ], - "assignees": [], - "milestone": null, - "created_at": "2023-05-24T04:11:37Z", - "updated_at": "2023-05-24T04:12:07Z", - "projects": [] - }, - { - "id": "I_kwDOJL6gRs5n16NA", - "title": "Writing unit tests for PoS attestation mechanism Carnot", - "url": "https://github.com/logos-co/nomos-specs/issues/32", - "user": { - "login": "MForensic", - "avatarUrl": "https://avatars.githubusercontent.com/u/33738574?v=4" - }, - "labels": [], - "commentCount": 0, - "comments": [], - "assignees": [ - { - "login": "MForensic", - "avatarUrl": "https://avatars.githubusercontent.com/u/33738574?v=4" - } - ], - "milestone": null, - "created_at": "2023-06-05T17:04:32Z", - "updated_at": "2023-06-05T17:05:04Z", - "projects": [] - } - ] - } -] diff --git a/packages/docusaurus-playground/static/generated/jobs.json b/packages/docusaurus-playground/static/generated/jobs.json deleted file mode 100644 index dd201d9..0000000 --- a/packages/docusaurus-playground/static/generated/jobs.json +++ /dev/null @@ -1,289 +0,0 @@ -{ - "departments": [ - { - "id": 87842, - "name": "App", - "parent_id": 43806, - "child_ids": [87847, 87852, 87850, 87848, 45530, 87849], - "jobs": [] - }, - { - "id": 54504, - "name": "Brand Design Studio", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 45532, - "name": "Business Development", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 87841, - "name": "Codex", - "parent_id": 43806, - "child_ids": [], - "jobs": [] - }, - { - "id": 84549, - "name": "Communications", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 45531, - "name": "Design", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 87847, - "name": "Desktop", - "parent_id": 87842, - "child_ids": [], - "jobs": [] - }, - { - "id": 87852, - "name": "Documentation", - "parent_id": 87842, - "child_ids": [], - "jobs": [] - }, - { - "id": 45547, - "name": "Engineering ", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 49925, - "name": "Finance", - "parent_id": 87845, - "child_ids": [], - "jobs": [] - }, - { - "id": 87854, - "name": "Infrastructure", - "parent_id": 43806, - "child_ids": [], - "jobs": [] - }, - { - "id": 87853, - "name": "Insights", - "parent_id": 87845, - "child_ids": [], - "jobs": [] - }, - { - "id": 87850, - "name": "Keycard", - "parent_id": 87842, - "child_ids": [], - "jobs": [] - }, - { - "id": 145838, - "name": "Leadership", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 74156, - "name": "Legal", - "parent_id": 87845, - "child_ids": [], - "jobs": [] - }, - { - "id": 91698, - "name": "Logos", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 43807, - "name": "Marketing", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 87848, - "name": "Mobile", - "parent_id": 87842, - "child_ids": [], - "jobs": [] - }, - { - "id": 87843, - "name": "Nimbus", - "parent_id": 43806, - "child_ids": [], - "jobs": [] - }, - { - "id": 144866, - "name": "Nomos", - "parent_id": 43806, - "child_ids": [], - "jobs": [] - }, - { - "id": 45548, - "name": "People Operations", - "parent_id": 87845, - "child_ids": [], - "jobs": [] - }, - { - "id": 45530, - "name": "Product Design", - "parent_id": 87842, - "child_ids": [], - "jobs": [] - }, - { - "id": 90941, - "name": "Program Management", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 43806, - "name": "Research & Development", - "parent_id": null, - "child_ids": [ - 87842, 87841, 87854, 87843, 144866, 87846, 87981, 87847, 87852, 87850, - 87848, 45530, 87849 - ], - "jobs": [] - }, - { - "id": 87851, - "name": "Security", - "parent_id": 87845, - "child_ids": [], - "jobs": [] - }, - { - "id": 87845, - "name": "Services", - "parent_id": null, - "child_ids": [49925, 87853, 74156, 45548, 87851], - "jobs": [] - }, - { - "id": 91697, - "name": "Status App ", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 54783, - "name": "Technical Writing ", - "parent_id": null, - "child_ids": [], - "jobs": [] - }, - { - "id": 87846, - "name": "Vac", - "parent_id": 43806, - "child_ids": [], - "jobs": [] - }, - { - "id": 87981, - "name": "Waku", - "parent_id": 43806, - "child_ids": [], - "jobs": [ - { - "absolute_url": "https://boards.greenhouse.io/waku/jobs/5499678", - "data_compliance": [ - { - "type": "gdpr", - "requires_consent": false, - "requires_processing_consent": false, - "requires_retention_consent": false, - "retention_period": null - } - ], - "internal_job_id": 2707470, - "location": { "name": "Remote (Worldwide)" }, - "metadata": null, - "id": 5499678, - "updated_at": "2023-11-10T10:02:59-05:00", - "requisition_id": "WAK-GL-1", - "title": "Growth Lead" - }, - { - "absolute_url": "https://boards.greenhouse.io/waku/jobs/5453098", - "data_compliance": [ - { - "type": "gdpr", - "requires_consent": false, - "requires_processing_consent": false, - "requires_retention_consent": false, - "retention_period": null - } - ], - "internal_job_id": 1830496, - "location": { "name": "Remote, Worldwide" }, - "metadata": null, - "id": 5453098, - "updated_at": "2023-10-20T07:01:13-04:00", - "requisition_id": "PROV-Sec-3", - "title": "Protocol Researcher (Distributed Systems)" - }, - { - "absolute_url": "https://boards.greenhouse.io/waku/jobs/5453103", - "data_compliance": [ - { - "type": "gdpr", - "requires_consent": false, - "requires_processing_consent": false, - "requires_retention_consent": false, - "retention_period": null - } - ], - "internal_job_id": 2694724, - "location": { "name": "Remote (Worldwide)" }, - "metadata": null, - "id": 5453103, - "updated_at": "2023-10-20T13:12:19-04:00", - "requisition_id": "WAK-BD-1", - "title": "Technical Business Development Lead " - } - ] - }, - { - "id": 87849, - "name": "Web", - "parent_id": 87842, - "child_ids": [], - "jobs": [] - }, - { - "id": 0, - "name": "No Department", - "parent_id": null, - "child_ids": [], - "jobs": [] - } - ] -} diff --git a/packages/docusaurus-playground/static/hero/architecture01/hi.glb b/packages/docusaurus-playground/static/hero/architecture01/hi.glb deleted file mode 100644 index b07454d..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture01/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture01/lo.glb b/packages/docusaurus-playground/static/hero/architecture01/lo.glb deleted file mode 100644 index b07454d..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture01/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture02/hi.glb b/packages/docusaurus-playground/static/hero/architecture02/hi.glb deleted file mode 100644 index 77d2ce7..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture02/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture02/lo.glb b/packages/docusaurus-playground/static/hero/architecture02/lo.glb deleted file mode 100644 index 77d2ce7..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture02/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture03/hi.glb b/packages/docusaurus-playground/static/hero/architecture03/hi.glb deleted file mode 100644 index f0cdb2b..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture03/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture03/lo.glb b/packages/docusaurus-playground/static/hero/architecture03/lo.glb deleted file mode 100644 index f0cdb2b..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture03/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture04/hi.glb b/packages/docusaurus-playground/static/hero/architecture04/hi.glb deleted file mode 100644 index f3139c6..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture04/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture04/lo.glb b/packages/docusaurus-playground/static/hero/architecture04/lo.glb deleted file mode 100644 index bebb2e7..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture04/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture05/hi.glb b/packages/docusaurus-playground/static/hero/architecture05/hi.glb deleted file mode 100644 index 8a925be..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture05/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture05/lo.glb b/packages/docusaurus-playground/static/hero/architecture05/lo.glb deleted file mode 100644 index b8b7ddb..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture05/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture06/hi.glb b/packages/docusaurus-playground/static/hero/architecture06/hi.glb deleted file mode 100644 index caaefde..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture06/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture06/lo.glb b/packages/docusaurus-playground/static/hero/architecture06/lo.glb deleted file mode 100644 index caaefde..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture06/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture07/hi.glb b/packages/docusaurus-playground/static/hero/architecture07/hi.glb deleted file mode 100644 index 697f119..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture07/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/architecture07/lo.glb b/packages/docusaurus-playground/static/hero/architecture07/lo.glb deleted file mode 100644 index 697f119..0000000 Binary files a/packages/docusaurus-playground/static/hero/architecture07/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/atlas/hi.glb b/packages/docusaurus-playground/static/hero/atlas/hi.glb deleted file mode 100644 index 0adfed0..0000000 Binary files a/packages/docusaurus-playground/static/hero/atlas/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/atlas/lo.glb b/packages/docusaurus-playground/static/hero/atlas/lo.glb deleted file mode 100644 index 0adfed0..0000000 Binary files a/packages/docusaurus-playground/static/hero/atlas/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/atlas02-1080x1080-placeholder.png b/packages/docusaurus-playground/static/hero/atlas02-1080x1080-placeholder.png deleted file mode 100644 index 40b793e..0000000 Binary files a/packages/docusaurus-playground/static/hero/atlas02-1080x1080-placeholder.png and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/atlas02-2048x2048-24fps-1M.mov b/packages/docusaurus-playground/static/hero/atlas02-2048x2048-24fps-1M.mov deleted file mode 100644 index 0e16474..0000000 Binary files a/packages/docusaurus-playground/static/hero/atlas02-2048x2048-24fps-1M.mov and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/atlas02-2048x2048-24fps-1M.webm b/packages/docusaurus-playground/static/hero/atlas02-2048x2048-24fps-1M.webm deleted file mode 100644 index 20fea1b..0000000 Binary files a/packages/docusaurus-playground/static/hero/atlas02-2048x2048-24fps-1M.webm and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/bust01/hi.glb b/packages/docusaurus-playground/static/hero/bust01/hi.glb deleted file mode 100644 index 2eedb60..0000000 Binary files a/packages/docusaurus-playground/static/hero/bust01/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/bust01/lo.glb b/packages/docusaurus-playground/static/hero/bust01/lo.glb deleted file mode 100644 index 2eedb60..0000000 Binary files a/packages/docusaurus-playground/static/hero/bust01/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/bust02/hi.glb b/packages/docusaurus-playground/static/hero/bust02/hi.glb deleted file mode 100644 index 00955a2..0000000 Binary files a/packages/docusaurus-playground/static/hero/bust02/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/bust02/lo.glb b/packages/docusaurus-playground/static/hero/bust02/lo.glb deleted file mode 100644 index e67bfe1..0000000 Binary files a/packages/docusaurus-playground/static/hero/bust02/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/bust03/hi.glb b/packages/docusaurus-playground/static/hero/bust03/hi.glb deleted file mode 100644 index 77b847e..0000000 Binary files a/packages/docusaurus-playground/static/hero/bust03/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/bust03/lo.glb b/packages/docusaurus-playground/static/hero/bust03/lo.glb deleted file mode 100644 index a449f7d..0000000 Binary files a/packages/docusaurus-playground/static/hero/bust03/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/default/hi.glb b/packages/docusaurus-playground/static/hero/default/hi.glb deleted file mode 100644 index b7473d7..0000000 Binary files a/packages/docusaurus-playground/static/hero/default/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/default/lo.glb b/packages/docusaurus-playground/static/hero/default/lo.glb deleted file mode 100644 index 4847345..0000000 Binary files a/packages/docusaurus-playground/static/hero/default/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/discobolus/hi.glb b/packages/docusaurus-playground/static/hero/discobolus/hi.glb deleted file mode 100644 index ea2ec28..0000000 Binary files a/packages/docusaurus-playground/static/hero/discobolus/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/discobolus/lo.glb b/packages/docusaurus-playground/static/hero/discobolus/lo.glb deleted file mode 100644 index f3c80c0..0000000 Binary files a/packages/docusaurus-playground/static/hero/discobolus/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/flower/hi.glb b/packages/docusaurus-playground/static/hero/flower/hi.glb deleted file mode 100644 index 0d94412..0000000 Binary files a/packages/docusaurus-playground/static/hero/flower/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/flower/lo.glb b/packages/docusaurus-playground/static/hero/flower/lo.glb deleted file mode 100644 index 77d2ce7..0000000 Binary files a/packages/docusaurus-playground/static/hero/flower/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/hand/hi.glb b/packages/docusaurus-playground/static/hero/hand/hi.glb deleted file mode 100644 index 5492ee5..0000000 Binary files a/packages/docusaurus-playground/static/hero/hand/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/hand/lo.glb b/packages/docusaurus-playground/static/hero/hand/lo.glb deleted file mode 100644 index 5492ee5..0000000 Binary files a/packages/docusaurus-playground/static/hero/hand/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/hero-image.png b/packages/docusaurus-playground/static/hero/hero-image.png deleted file mode 100644 index 55522df..0000000 Binary files a/packages/docusaurus-playground/static/hero/hero-image.png and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/logos.glb b/packages/docusaurus-playground/static/hero/logos.glb deleted file mode 100644 index 33cf645..0000000 Binary files a/packages/docusaurus-playground/static/hero/logos.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/vase01/hi.glb b/packages/docusaurus-playground/static/hero/vase01/hi.glb deleted file mode 100644 index 30f50f0..0000000 Binary files a/packages/docusaurus-playground/static/hero/vase01/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/vase01/lo.glb b/packages/docusaurus-playground/static/hero/vase01/lo.glb deleted file mode 100644 index 30f50f0..0000000 Binary files a/packages/docusaurus-playground/static/hero/vase01/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/venus/hi.glb b/packages/docusaurus-playground/static/hero/venus/hi.glb deleted file mode 100644 index a9fe31e..0000000 Binary files a/packages/docusaurus-playground/static/hero/venus/hi.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/hero/venus/lo.glb b/packages/docusaurus-playground/static/hero/venus/lo.glb deleted file mode 100644 index 2df429a..0000000 Binary files a/packages/docusaurus-playground/static/hero/venus/lo.glb and /dev/null differ diff --git a/packages/docusaurus-playground/static/img/event-banner.png b/packages/docusaurus-playground/static/img/event-banner.png deleted file mode 100644 index baa85f2..0000000 Binary files a/packages/docusaurus-playground/static/img/event-banner.png and /dev/null differ diff --git a/packages/docusaurus-playground/static/img/logo_white.svg b/packages/docusaurus-playground/static/img/logo_white.svg deleted file mode 100644 index 826be49..0000000 --- a/packages/docusaurus-playground/static/img/logo_white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/nwaku-compose-dashboard.png b/packages/docusaurus-playground/static/img/nwaku-compose-dashboard.png deleted file mode 100644 index ce852d5..0000000 Binary files a/packages/docusaurus-playground/static/img/nwaku-compose-dashboard.png and /dev/null differ diff --git a/packages/docusaurus-playground/static/img/profile-image.png b/packages/docusaurus-playground/static/img/profile-image.png deleted file mode 100644 index 16bd213..0000000 Binary files a/packages/docusaurus-playground/static/img/profile-image.png and /dev/null differ diff --git a/packages/docusaurus-playground/static/img/railgun-mark-black.svg b/packages/docusaurus-playground/static/img/railgun-mark-black.svg deleted file mode 100644 index 40a9ac6..0000000 --- a/packages/docusaurus-playground/static/img/railgun-mark-black.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/railgun-mark-white.svg b/packages/docusaurus-playground/static/img/railgun-mark-white.svg deleted file mode 100644 index 096cd4f..0000000 --- a/packages/docusaurus-playground/static/img/railgun-mark-white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/status-mark-black.svg b/packages/docusaurus-playground/static/img/status-mark-black.svg deleted file mode 100644 index 2c90d94..0000000 --- a/packages/docusaurus-playground/static/img/status-mark-black.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/status-mark-white.svg b/packages/docusaurus-playground/static/img/status-mark-white.svg deleted file mode 100644 index 62eade2..0000000 --- a/packages/docusaurus-playground/static/img/status-mark-white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/the-graph-mark-black.svg b/packages/docusaurus-playground/static/img/the-graph-mark-black.svg deleted file mode 100644 index 018a500..0000000 --- a/packages/docusaurus-playground/static/img/the-graph-mark-black.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/the-graph-mark-white.svg b/packages/docusaurus-playground/static/img/the-graph-mark-white.svg deleted file mode 100644 index b742361..0000000 --- a/packages/docusaurus-playground/static/img/the-graph-mark-white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/img/waku-create-app-demo.gif b/packages/docusaurus-playground/static/img/waku-create-app-demo.gif deleted file mode 100644 index 340a6dd..0000000 Binary files a/packages/docusaurus-playground/static/img/waku-create-app-demo.gif and /dev/null differ diff --git a/packages/docusaurus-playground/static/img/xmtp-mark-black.svg b/packages/docusaurus-playground/static/img/xmtp-mark-black.svg deleted file mode 100644 index 0c0ce0c..0000000 --- a/packages/docusaurus-playground/static/img/xmtp-mark-black.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/docusaurus-playground/static/img/xmtp-mark-white.svg b/packages/docusaurus-playground/static/img/xmtp-mark-white.svg deleted file mode 100644 index be6f26b..0000000 --- a/packages/docusaurus-playground/static/img/xmtp-mark-white.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/docusaurus-playground/static/showcase/railgun-mark-black.svg b/packages/docusaurus-playground/static/showcase/railgun-mark-black.svg deleted file mode 100644 index 40a9ac6..0000000 --- a/packages/docusaurus-playground/static/showcase/railgun-mark-black.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/showcase/railgun-mark-white.svg b/packages/docusaurus-playground/static/showcase/railgun-mark-white.svg deleted file mode 100644 index 096cd4f..0000000 --- a/packages/docusaurus-playground/static/showcase/railgun-mark-white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/showcase/status-mark-black.svg b/packages/docusaurus-playground/static/showcase/status-mark-black.svg deleted file mode 100644 index 2c90d94..0000000 --- a/packages/docusaurus-playground/static/showcase/status-mark-black.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/showcase/status-mark-white.svg b/packages/docusaurus-playground/static/showcase/status-mark-white.svg deleted file mode 100644 index 62eade2..0000000 --- a/packages/docusaurus-playground/static/showcase/status-mark-white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/showcase/the-graph-mark-black.svg b/packages/docusaurus-playground/static/showcase/the-graph-mark-black.svg deleted file mode 100644 index 018a500..0000000 --- a/packages/docusaurus-playground/static/showcase/the-graph-mark-black.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/showcase/the-graph-mark-white.svg b/packages/docusaurus-playground/static/showcase/the-graph-mark-white.svg deleted file mode 100644 index b742361..0000000 --- a/packages/docusaurus-playground/static/showcase/the-graph-mark-white.svg +++ /dev/null @@ -1,3 +0,0 @@ - - - diff --git a/packages/docusaurus-playground/static/showcase/xmtp-mark-black.svg b/packages/docusaurus-playground/static/showcase/xmtp-mark-black.svg deleted file mode 100644 index 0c0ce0c..0000000 --- a/packages/docusaurus-playground/static/showcase/xmtp-mark-black.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/docusaurus-playground/static/showcase/xmtp-mark-white.svg b/packages/docusaurus-playground/static/showcase/xmtp-mark-white.svg deleted file mode 100644 index be6f26b..0000000 --- a/packages/docusaurus-playground/static/showcase/xmtp-mark-white.svg +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/packages/docusaurus-playground/tsconfig.json b/packages/docusaurus-playground/tsconfig.json deleted file mode 100644 index 6f47569..0000000 --- a/packages/docusaurus-playground/tsconfig.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - // This file is not used in compilation. It is here just for a nice editor experience. - "extends": "@tsconfig/docusaurus/tsconfig.json", - "compilerOptions": { - "baseUrl": "." - } -} diff --git a/packages/docusaurus-remote-content/CHANGELOG.md b/packages/docusaurus-remote-content/CHANGELOG.md deleted file mode 100644 index 5d97fad..0000000 --- a/packages/docusaurus-remote-content/CHANGELOG.md +++ /dev/null @@ -1,24 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [1.0.0-alpha.128](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.127...v1.0.0-alpha.128) (2023-12-13) - -### Features - -- **docusaurus-remote-content:** extend cli and add a command for downloading remote content ([5bc2ad4](https://github.com/acid-info/logos-docusaurus-plugins/commit/5bc2ad4c8354bddf48f17851982e14b8c9c22bd5)) - -# [1.0.0-alpha.124](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.123...v1.0.0-alpha.124) (2023-11-24) - -### Bug Fixes - -- **docusaurus-remote-content:** more plugin option names more explicit ([0bfc28d](https://github.com/acid-info/logos-docusaurus-plugins/commit/0bfc28d43b420e11aa056783905f274bf4a19765)) - -# [1.0.0-alpha.123](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.122...v1.0.0-alpha.123) (2023-11-24) - -### Features - -- implement brand-guidelines theme and remote-content plugin ([de2704f](https://github.com/acid-info/logos-docusaurus-plugins/commit/de2704f7e52918648eb542156c5a8d6acb48cc07)) - -# Change Log diff --git a/packages/docusaurus-remote-content/README.md b/packages/docusaurus-remote-content/README.md deleted file mode 100644 index 1263c98..0000000 --- a/packages/docusaurus-remote-content/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# Docusaurus Local Search - -TODO. diff --git a/packages/docusaurus-remote-content/package.json b/packages/docusaurus-remote-content/package.json deleted file mode 100644 index a76f7f7..0000000 --- a/packages/docusaurus-remote-content/package.json +++ /dev/null @@ -1,39 +0,0 @@ -{ - "name": "@acid-info/docusaurus-remote-content", - "version": "1.0.0-alpha.128", - "description": "Docusaurus remote content", - "main": "lib/index.js", - "types": "src/plugin.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/acid-info/logos-docusaurus-plugins.git", - "directory": "packages/docusaurus-remote-content" - }, - "license": "MIT", - "scripts": { - "build": "tsc --build", - "watch": "tsc --build --watch", - "prepublishOnly": "yarn build" - }, - "dependencies": { - "axios": "^1.6.2", - "fast-glob": "^3.3.2", - "lodash": "^4.17.21", - "tmp": "^0.2.1", - "unzipper": "^0.10.14" - }, - "engines": { - "node": ">=16.14" - }, - "devDependencies": { - "@docusaurus/core": "2.4.1", - "@docusaurus/module-type-aliases": "2.4.1", - "@docusaurus/types": "2.4.1", - "@docusaurus/utils": "2.4.1", - "@docusaurus/utils-common": "2.4.1", - "@docusaurus/utils-validation": "2.4.1", - "@types/lodash": "^4.14.186", - "@types/tmp": "^0.2.6", - "@types/unzipper": "^0.10.9" - } -} diff --git a/packages/docusaurus-remote-content/src/deps.d.ts b/packages/docusaurus-remote-content/src/deps.d.ts deleted file mode 100644 index e69de29..0000000 diff --git a/packages/docusaurus-remote-content/src/index.ts b/packages/docusaurus-remote-content/src/index.ts deleted file mode 100644 index 874cf80..0000000 --- a/packages/docusaurus-remote-content/src/index.ts +++ /dev/null @@ -1,192 +0,0 @@ -import logger from '@docusaurus/logger' -import type { LoadContext, Plugin } from '@docusaurus/types' -import axios from 'axios' -import * as fg from 'fast-glob' -import * as fs from 'fs' -import * as fsp from 'fs/promises' -import * as path from 'path' -import * as tmp from 'tmp' -import unzipper from 'unzipper' - -const copyFile = async (src: string, dest: string) => { - const dirname = path.dirname(dest) - if (!fs.existsSync(dirname)) { - await fsp.mkdir(dirname, { recursive: true }) - } - - await fsp.copyFile(src, dest) -} - -const copyContent = async ( - src: string, - dest: string, - options?: { - keep?: string[] - exclude?: string[] - }, -) => { - const { keep = [], exclude = [] } = options || {} - - const tmpDir = tmp.dirSync({ unsafeCleanup: true }) - - if (!fs.existsSync(dest)) await fsp.mkdir(dest, { recursive: true }) - - { - const filenames = fg.sync(['**/*'], { - cwd: src, - ignore: exclude, - absolute: false, - }) - - for (const filename of filenames) { - const absPath = path.join(src, filename) - const stat = await fsp.stat(absPath) - - if (stat.isDirectory()) { - await fsp.mkdir(path.join(tmpDir.name, filename), { - recursive: true, - }) - } else await copyFile(absPath, path.join(tmpDir.name, filename)) - } - } - - { - const filenames = fg.sync(keep, { - cwd: dest, - }) - - for (const filename of filenames) { - const absPath = path.join(dest, filename) - const stat = await fsp.stat(absPath) - - if (stat.isDirectory()) { - await fsp.mkdir(path.join(tmpDir.name, filename), { - recursive: true, - }) - } else await copyFile(absPath, path.join(tmpDir.name, filename)) - } - } - - await fsp.rm(dest, { recursive: true, force: true }) - await fsp.cp(tmpDir.name, dest, { recursive: true }) - - tmpDir.removeCallback() -} - -const downloadRemoteContent = async ( - context: LoadContext, - options: PluginOptions, -) => { - const tempDir = tmp.dirSync({ unsafeCleanup: true }) - const repoDir = path.join(tempDir.name, 'repo') - const zipDir = path.join(tempDir.name, 'zip') - - const downloadContent = async () => { - const { remote, sourceDir, outDir } = options - - if (remote.type === 'zip') { - const zip = await axios - .get(remote.url, { responseType: 'stream' }) - .then((res) => res.data) - const dest = unzipper.Extract({ path: zipDir }) - - await new Promise((resolve, reject) => { - zip.pipe(dest) - - dest.on('close', resolve) - dest.on('error', reject) - }) - - if (remote.dir) { - await fsp.rename(path.join(zipDir, remote.dir), repoDir) - } else await fsp.rename(zipDir, repoDir) - } - } - - const copyRemoteContent = async () => { - const { - remote, - sourceDir, - outDir, - excludeRemote = [], - keepLocal = [], - } = options - - logger.info("Copying remote content to local site's content directory") - await copyContent( - path.join(repoDir, sourceDir), - path.join(context.siteDir, outDir), - { - exclude: excludeRemote, - keep: keepLocal, - }, - ) - - logger.info("Copying remote static files to local site's static directory") - await copyContent( - path.join(repoDir, 'static'), - path.join(context.siteDir, 'static'), - { - exclude: [], - keep: options.keepStatic ?? [], - }, - ) - } - - try { - logger.info`Downloading remote content from ${options.remote.url}` - await downloadContent() - await copyRemoteContent() - tempDir.removeCallback() - } catch (error) { - tempDir.removeCallback() - console.error(error) - logger.error`Failed to download remote content from ${options.remote.url}` - - process.exit(1) - } -} - -type PluginOptions = { - remote: { - type: 'zip' - url: string - dir?: string - } - - // The directory in the remote repository containing the content to be copied - sourceDir: string - - // The directory in the local site to copy the content to - outDir: string - - // Exclude files matching these glob patterns - excludeRemote?: string[] - - // Keep local files matching these glob patterns - keepLocal?: string[] - - // Keep local static files matching these glob patterns - keepStatic?: string[] -} - -export default async function remoteContentPlugin( - context: LoadContext, - options: PluginOptions, -): Promise> { - return { - name: 'docusaurus-remote-content', - extendCli(cli) { - cli - .command('remote-content') - .description('Download remote content') - .action(() => {}) - .command('download') - .action(async (...args) => { - await downloadRemoteContent(context, options) - }) - }, - } -} - -export { type PluginOptions } diff --git a/packages/docusaurus-remote-content/src/plugin.d.ts b/packages/docusaurus-remote-content/src/plugin.d.ts deleted file mode 100644 index ccd487e..0000000 --- a/packages/docusaurus-remote-content/src/plugin.d.ts +++ /dev/null @@ -1 +0,0 @@ -export type * from './index' diff --git a/packages/docusaurus-remote-content/tsconfig.json b/packages/docusaurus-remote-content/tsconfig.json deleted file mode 100644 index af48de9..0000000 --- a/packages/docusaurus-remote-content/tsconfig.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "extends": "../../tsconfig.json", - "compilerOptions": { - "noEmit": false, - "incremental": true, - "tsBuildInfoFile": "./lib/.tsbuildinfo", - "rootDir": "src", - "outDir": "lib", - "lib": ["DOM"] - }, - "include": ["src"], - "exclude": ["src/theme", "**/__tests__/**"] -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/CHANGELOG.md b/packages/logos-docusaurus-brand-guidelines-theme/CHANGELOG.md deleted file mode 100644 index 71d8eaf..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/CHANGELOG.md +++ /dev/null @@ -1,22 +0,0 @@ -# Change Log - -All notable changes to this project will be documented in this file. -See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. - -# [1.0.0-alpha.139](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.138...v1.0.0-alpha.139) (2024-01-18) - -### Bug Fixes - -- fix broken ImageGrid square mode layout ([f243086](https://github.com/acid-info/logos-docusaurus-plugins/commit/f243086542c3caa16db56489a19bcd786064ef6e)) - -# [1.0.0-alpha.130](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.129...v1.0.0-alpha.130) (2023-12-15) - -### Bug Fixes - -- adjust typography styles ([28c7a24](https://github.com/acid-info/logos-docusaurus-plugins/commit/28c7a24605108b94a92568f039a9815d0318e56c)) - -# [1.0.0-alpha.123](https://github.com/acid-info/logos-docusaurus-plugins/compare/v1.0.0-alpha.122...v1.0.0-alpha.123) (2023-11-24) - -### Features - -- implement brand-guidelines theme and remote-content plugin ([de2704f](https://github.com/acid-info/logos-docusaurus-plugins/commit/de2704f7e52918648eb542156c5a8d6acb48cc07)) diff --git a/packages/logos-docusaurus-brand-guidelines-theme/README.md b/packages/logos-docusaurus-brand-guidelines-theme/README.md deleted file mode 100644 index 89c5277..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/README.md +++ /dev/null @@ -1 +0,0 @@ -# Logos Docusaurus Brand Guidelines Theme diff --git a/packages/logos-docusaurus-brand-guidelines-theme/gulpfile.js b/packages/logos-docusaurus-brand-guidelines-theme/gulpfile.js deleted file mode 100644 index d7b3f88..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/gulpfile.js +++ /dev/null @@ -1,88 +0,0 @@ -const _ = require('lodash') - -const gulp = require('gulp') -const path = require('path') -const merge = require('merge2') -const rimraf = require('rimraf') -const ts = require('gulp-typescript') -const TscWatch = require('tsc-watch/client') -const sourcemaps = require('gulp-sourcemaps') -const syncDirectory = require('sync-directory') -const { replaceTscAliasPaths } = require('tsc-alias') - -const project = ts.createProject('./tsconfig.client.json', { - declaration: true, - isolatedModules: false, -}) - -const SOURCE_DIR = project.config.compilerOptions.rootDir ?? 'src' -const OUT_DIR = project.config.compilerOptions.outDir ?? 'lib' - -const sourceDir = path.resolve('./', SOURCE_DIR) -const outDir = path.resolve('./', OUT_DIR) - -const clean = async (cb) => { - rimraf(outDir, cb) -} - -const build = (cb) => { - return gulp.series(buildClient, copyFiles, postBuild, buildServer)(cb) -} - -const buildClient = () => { - const compiled = project.src().pipe(sourcemaps.init()).pipe(project()) - - return merge(compiled.dts, compiled.js.pipe(sourcemaps.write())).pipe( - gulp.dest(outDir), - ) -} - -const replaceTsAliasPaths = () => - replaceTscAliasPaths({ - configFile: './tsconfig.client.json', - }) - -const postBuild = (done) => - gulp.series((cb) => replaceTsAliasPaths().finally(cb))(done) - -const buildServer = () => { - const project = ts.createProject('./tsconfig.json', { - isolatedModules: false, - }) - - const compiled = project.src().pipe(project()) - - return merge(compiled.dts, compiled.js).pipe(gulp.dest(outDir)) -} - -const syncDirectories = async (watch = false) => { - syncDirectory.async(sourceDir, outDir, { - watch, - verbose: 1, - exclude: [/.*\.(ts|tsx)$/], - }) -} - -const watch = async () => { - syncDirectories(true) - - const watch = new TscWatch() - - watch.on('success', async () => { - await postBuild() - }) - - watch.start('--build') -} - -const copyFiles = (cb) => { - syncDirectories(false).finally(cb) -} - -gulp.task('build', build) -gulp.task('watch', watch) -gulp.task('clean', clean) -gulp.task('build-server', buildServer) -gulp.task('build-client', buildClient) -gulp.task('post-build', postBuild) -gulp.task('copy-files', copyFiles) diff --git a/packages/logos-docusaurus-brand-guidelines-theme/package.json b/packages/logos-docusaurus-brand-guidelines-theme/package.json deleted file mode 100644 index 18f6957..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "@acid-info/logos-docusaurus-brand-guidelines-theme", - "version": "1.0.0-alpha.139", - "description": "", - "main": "lib/index.js", - "types": "src/theme.d.ts", - "repository": { - "type": "git", - "url": "https://github.com/acid-info/logos-docusaurus-plugins.git", - "directory": "packages/logos-docusaurus-brand-guidelines-theme" - }, - "license": "MIT", - "scripts": { - "clean": "yarn gulp clean", - "prebuild": "yarn clean", - "build": "yarn gulp build", - "watch": "yarn gulp watch", - "build:client": "yarn gulp build-client", - "build:server": "yarn gulp build-server", - "prepublishOnly": "yarn clean && yarn build" - }, - "devDependencies": { - "@acid-info/logos-docusaurus-theme": "1.0.0-alpha.121", - "@types/lodash": "^4.14.186", - "@types/mdx-js__react": "^1.5.5", - "@types/three": "^0.152.1", - "glob": "^10.3.10", - "react-docgen": "^7.0.0", - "react-docgen-markdown-renderer": "^2.1.3", - "sass": "^1.55.0", - "tsc-alias": "^1.7.0", - "tsc-watch": "^5.0.3" - }, - "peerDependencies": { - "@acid-info/logos-docusaurus-theme": "1.0.0-alpha.121", - "react": "^16.8.4 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.4 || ^17.0.0 || ^18.0.0" - }, - "engines": { - "node": ">=16.14" - } -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/ColorCard.module.scss b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/ColorCard.module.scss deleted file mode 100644 index 24583bc..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/ColorCard.module.scss +++ /dev/null @@ -1,28 +0,0 @@ -.root { - width: 100px; - border: 1px solid rgb(var(--lsd-border-primary)); -} - -.root.fullWidth { - width: 100%; -} - -.root .color { - width: 100%; - height: 130px; - border-bottom: 1px solid rgb(var(--lsd-border-primary)); -} - -.root .info { - padding: 16px; -} - -.root .title { - margin-bottom: 16px; -} - -.root .variables { - display: grid; - gap: 8px 16px; - grid-template: auto / auto 1fr; -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/ColorCard.tsx b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/ColorCard.tsx deleted file mode 100644 index 212145c..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/ColorCard.tsx +++ /dev/null @@ -1,55 +0,0 @@ -import React from 'react' -import styles from './ColorCard.module.scss' -import clsx from 'clsx' -import { Typography } from '@acid-info/lsd-react' - -export type ColorCardProps = Omit< - React.HTMLProps, - 'title' | 'color' -> & { - color: string - title: React.ReactNode - fullWidth?: boolean - variables?: { - name: string - value: string - }[] -} - -export const ColorCard: React.FC = ({ - title, - color, - fullWidth, - variables = [], - ...props -}) => { - return ( -
-
-
- - {title} - -
- {variables.map((variable, index) => ( - - {variable.name} - {variable.value} - - ))} -
-
-
- ) -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/index.ts b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/index.ts deleted file mode 100644 index 66eddf2..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ColorCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ColorCard' diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/ComponentCard.module.scss b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/ComponentCard.module.scss deleted file mode 100644 index c484d17..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/ComponentCard.module.scss +++ /dev/null @@ -1,42 +0,0 @@ -.root { - width: 100%; - height: auto; - border: 1px solid rgb(var(--lsd-border-primary)); - display: flex; - flex-direction: column; - position: relative; - text-decoration: none; - text-decoration: none !important; - - aspect-ratio: 1 / 1; -} - -.root .title { - padding: 16px; - font-size: 16px; - font-style: normal; - font-weight: 400; - line-height: 24px; -} - -.root .image { -} - -.root .imageContainer { - position: absolute; - top: 0; - left: 0; - width: 100%; - height: 100%; - padding: 0 48px; - display: flex; - align-items: center; - justify-content: center; - - img { - width: auto; - height: auto; - object-fit: cover; - user-select: none; - } -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/ComponentCard.tsx b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/ComponentCard.tsx deleted file mode 100644 index 503fd45..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/ComponentCard.tsx +++ /dev/null @@ -1,41 +0,0 @@ -import { Typography } from '@acid-info/lsd-react' -import ThemedImage from '@theme/ThemedImage' -import clsx from 'clsx' -import React from 'react' -import styles from './ComponentCard.module.scss' -import Link, { Props as LinkProps } from '@docusaurus/Link' - -export type ComponentCardProps = Omit & { - title: React.ReactNode - imageSrc?: string - imageDarkSrc?: string - imageWidth?: string | number - imageHeight?: string | number -} - -export const ComponentCard: React.FC = ({ - title, - imageSrc, - imageDarkSrc, - imageWidth, - imageHeight, - ...props -}) => { - return ( - - - {title} - -
- -
- - ) -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/index.ts b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/index.ts deleted file mode 100644 index 18313fd..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentCard/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ComponentCard' diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/ComponentGrid.module.scss b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/ComponentGrid.module.scss deleted file mode 100644 index 803aaa2..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/ComponentGrid.module.scss +++ /dev/null @@ -1,24 +0,0 @@ -@use '@acid-info/logos-docusaurus-theme/lib/client/css/utils'; - -.root { -} - -@include utils.responsive('md', 'up') { - .root .item { - &:nth-child(even) > a { - border-left: none; - } - - &:not(.lastRow) > a { - border-bottom: none; - } - } -} - -@include utils.responsive('md', 'down') { - .root .item { - &:not(:last-child) > a { - border-bottom: none; - } - } -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/ComponentGrid.tsx b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/ComponentGrid.tsx deleted file mode 100644 index 0bcd7dd..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/ComponentGrid.tsx +++ /dev/null @@ -1,38 +0,0 @@ -import { - Grid, - GridProps, -} from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx' -import React from 'react' -import { ComponentCard, ComponentCardProps } from '../ComponentCard' -import styles from './ComponentGrid.module.scss' -import clsx from 'clsx' - -export type ComponentGridProps = GridProps & { - list: ComponentCardProps[] -} - -export const ComponentGrid: React.FC = ({ - list = [], - ...props -}) => { - return ( - - {list.map((props, idx) => ( - = list.length - 2 && styles.lastRow, - )} - > - - - ))} - - ) -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/index.ts b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/index.ts deleted file mode 100644 index b3f9ff8..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ComponentGrid/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ComponentGrid' diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/Image.module.scss b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/Image.module.scss deleted file mode 100644 index fe5c36e..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/Image.module.scss +++ /dev/null @@ -1,46 +0,0 @@ -@use '@acid-info/logos-docusaurus-theme/lib/client/css/utils'; - -.overlay { - position: fixed; - top: 0; - left: 0; - - width: 100vw; - height: 100vh; - - background-color: rgb(var(--lsd-theme-secondary)); - display: flex; - justify-content: center; - align-items: center; - z-index: 10000; -} - -.thumbnail { - cursor: pointer; -} - -.enlarged { - position: fixed; - - top: 50%; - left: 50%; - transform: translate(-50%, -50%); - - max-height: 90vh; - max-width: 90vw; - - display: block; - object-fit: contain; -} - -.closeButton { - position: fixed; - top: 18px; - right: 16px; - - background-color: rgb(var(--lsd-theme-secondary)) !important; - - cursor: pointer; - - z-index: 1001; -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/Image.tsx b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/Image.tsx deleted file mode 100644 index 3701f4e..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/Image.tsx +++ /dev/null @@ -1,116 +0,0 @@ -import { LightBoxWrapper } from '@acid-info/logos-docusaurus-theme/lib/client/containers/LightBox' -import { CloseIcon, IconButton } from '@acid-info/lsd-react' -import clsx from 'clsx' -import React, { useEffect, useMemo, useState } from 'react' -import styles from './Image.module.scss' - -export type LoadedImage = { - preSrc: string - width: number - height: number - placeholder: any - src: string - srcSet: string - images: { - width: number - height: number - path: string - }[] -} - -export type ImageProps = Omit< - React.ImgHTMLAttributes, - 'src' -> & { - src?: string - img?: LoadedImage | undefined | null - minWidth?: number -} - -export const Image: React.FC = ({ - minWidth = 0, - src, - img, - ...rest -}) => { - const [enlarged, setEnlarged] = useState(false) - const singleImage = !img?.images || img.images.length === 0 - - const originalImage = { - src: src, - width: rest.width, - height: rest.height, - } - - const images = img?.images || [] - - const sorted = useMemo( - () => - [...images] - .sort((a, b) => a.width - b.width) - .filter((img) => img.width >= minWidth), - [images], - ) - - const [smallest] = [sorted[0] ?? originalImage] - .map( - (img) => - img && { - width: img.width, - height: img.height, - src: 'src' in img ? img.src : 'path' in img ? img.path : '', - }, - ) - .filter((img) => !!img) - - useEffect(() => { - const handleKeyDown = (event: KeyboardEvent) => { - if (event.key === 'Escape') { - setEnlarged(false) - } - } - - document.addEventListener('keydown', handleKeyDown) - - return () => { - document.removeEventListener('keydown', handleKeyDown) - } - }, []) - - const imageElement = ( - !singleImage && setEnlarged(true)} - {...rest} - className={clsx( - styles.image, - !singleImage && styles.thumbnail, - rest.className, - )} - /> - ) - - return ( - <> - {img ? imageElement : {imageElement}} - {enlarged && ( -
- setEnlarged(false)} - className={styles.closeButton} - > - - - -
- )} - - ) -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/index.ts b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/index.ts deleted file mode 100644 index 072b161..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/Image/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './Image' diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/ImageGrid.module.scss b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/ImageGrid.module.scss deleted file mode 100644 index 90d5d07..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/ImageGrid.module.scss +++ /dev/null @@ -1,62 +0,0 @@ -@use '@acid-info/logos-docusaurus-theme/lib/client/css/utils'; - -.thumbnailImageContainer { - display: flex; - justify-content: center; - align-items: center; - - height: 100%; -} - -.thumbnailImage { - width: 100%; - height: auto; - object-fit: cover; -} - -.masonry .thumbnailImageContainer { - flex-direction: column; - margin-bottom: 16px; - height: auto; // overrides the height: 100% from the default thumbnailImageContainer -} - -.squareThumbnails .thumbnailImageContainer { - overflow: hidden; - aspect-ratio: 1 / 1; -} - -// Overlay and expanded image styles. -.overlay { - position: fixed; - top: 0; - left: 0; - - width: 100vw; - height: 100vh; - - background-color: rgb(var(--lsd-theme-secondary)); - display: flex; - justify-content: center; - align-items: center; - z-index: 10000; -} - -.closeButton { - position: fixed; - top: 18px; - right: 16px; - - background-color: rgb(var(--lsd-theme-secondary)) !important; - - cursor: pointer; - - z-index: 1001; -} - -// Single column image galleries on mobile don't have spacing between them. -// The following padding bottom fixes that. -@include utils.responsive('md', 'down') { - .thumbnailImageContainer { - padding-bottom: 16px; - } -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/ImageGrid.tsx b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/ImageGrid.tsx deleted file mode 100644 index 9c2cb80..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/ImageGrid.tsx +++ /dev/null @@ -1,104 +0,0 @@ -import { - Grid, - GridProps, -} from '@acid-info/logos-docusaurus-theme/lib/client/components/mdx' -import clsx from 'clsx' -import React from 'react' -import { Image, LoadedImage } from '../Image/Image' -import styles from './ImageGrid.module.scss' - -type ImageType = { - img?: { src: LoadedImage } - alt?: string - src: string -} - -type MasonryModeProps = { - firstColumnSize: number - images: ImageType[] -} - -// Masonry mode only has 2 columns with 1 item each. -const MasonryMode: React.FC = ({ - firstColumnSize, - images, -}) => { - const firstColumnImages = images.slice(0, firstColumnSize) - const secondColumnImages = images.slice(firstColumnSize) - - return ( - <> - - {firstColumnImages.map((image, index) => ( -
- {image.alt -
- ))} -
- - {secondColumnImages.map((image, index) => ( -
- {image.alt -
- ))} -
- - ) -} - -export type ImageGridProps = GridProps & { - images: ImageType[] - mode?: 'masonry' | 'regular' | 'square-thumbnails' - firstColumnSize?: number -} - -export const ImageGrid: React.FC = ({ - mode = 'regular', - images, - firstColumnSize = 0, - ...props -}) => { - return ( - <> - - {mode === 'masonry' ? ( - - ) : ( - images.map((image, index) => ( - - {image.alt - - )) - )} - - - ) -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/index.ts b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/index.ts deleted file mode 100644 index 46b8437..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/ImageGrid/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './ImageGrid' diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/StorybookDemo/StoryBookDemo.module.scss b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/StorybookDemo/StoryBookDemo.module.scss deleted file mode 100644 index 9c8ad66..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/StorybookDemo/StoryBookDemo.module.scss +++ /dev/null @@ -1,13 +0,0 @@ -.root { -} - -.iframeContainer { - width: 100%; - margin-top: 8px; - - iframe { - transform: translateY(-20px); - width: 100%; - background-color: transparent; - } -} diff --git a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/StorybookDemo/StorybookDemo.tsx b/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/StorybookDemo/StorybookDemo.tsx deleted file mode 100644 index a94f734..0000000 --- a/packages/logos-docusaurus-brand-guidelines-theme/src/client/components/mdx/StorybookDemo/StorybookDemo.tsx +++ /dev/null @@ -1,184 +0,0 @@ -import { Dropdown } from '@acid-info/lsd-react' -import { useColorMode } from '@docusaurus/theme-common' -import clsx from 'clsx' -import React, { useMemo, useRef, useState } from 'react' -import styles from './StoryBookDemo.module.scss' - -const onIframeLoad = (iframe: HTMLIFrameElement) => { - const handleIframeMessage = (event: MessageEvent) => { - if ( - typeof event.data === 'string' && - event.data.includes('storyRendered') - ) { - // XXX: This if() block executes when storybook has finished rendering. - // So if we ever want to implement a loading screen, this if() block may help. - requestHeightFromIframe() - } else if (event.data && event.data.type === 'iframeHeightResponse') { - iframe.style.height = `${event.data.height}px` - } - } - - // Request height from the iframe - const requestHeightFromIframe = () => { - if (!iframe || !iframe.contentWindow) { - return - } - - iframe.contentWindow.postMessage( - { - type: 'requestHeight', - }, - '*', - ) - } - - window.addEventListener('message', handleIframeMessage) - - // The following setInterval is just a safety mechanism for the very unlikely case - // of the iframe not sending a storyRendered message. - setInterval(() => { - requestHeightFromIframe() - }, 1000) -} - -type GlobalType = { - name: string - description: string - defaultValue: string - toolbar: { - icon: string - items: { title: string; value: string }[] - } -} - -type ComponentProperty = { - name: string - type: { - name: 'enum' - value: string[] - } - defaultValue?: string -} - -export type GlobalControls = 'themeFont' | 'themeColor' - -export type StorybookDemoProps = { - name: string - docId: string - storyId: string - storybookUrl: string - globalTypes: Record - componentProperties: ComponentProperty[] - globalControls?: GlobalControls[] -} - -export const StorybookDemo: React.FC = ({ - name, - docId, - storyId, - storybookUrl, - globalTypes, - globalControls = ['themeColor', 'themeFont'], - componentProperties = [], -}) => { - const colorMode = useColorMode() - - const iframeRef = useRef(null) - - const [globalProps, setGlobalProps] = useState( - Object.fromEntries( - Object.entries(globalTypes).map(([name, prop]) => [ - name, - name === 'themeColor' - ? colorMode.colorMode.slice(0, 1).toUpperCase() + - colorMode.colorMode.slice(1) - : prop.defaultValue, - ]), - ), - ) - - const [props, setProps] = useState( - Object.fromEntries( - componentProperties.map((prop) => [prop.name, prop.defaultValue]), - ), - ) - - const embedUrl = useMemo(() => { - const el = iframeRef.current - - const url = el?.src - ? new URL(el.src) - : new URL('/iframe.html', storybookUrl as string) - - url.searchParams.set('id', docId) - storyId && url.searchParams.set('storyId', storyId) - url.searchParams.set('globals', 'themeColor:Dark;themeFont:sans-serif') - url.searchParams.set('embedded', 'true') - url.searchParams.set( - 'hide', - 'title,subtitle,toolbar' + - (storyId ? ',description,canvas-border,code' : ''), - ) - url.searchParams.set( - 'globalControls', - globalControls && globalControls.length - ? globalControls.join(',') - : 'false', - ) - - return url.toString() - }, [docId, storyId, globalProps, globalControls, props]) - - return ( -
-
- {Object.entries(globalTypes).map(([name, prop]) => ( - - setGlobalProps((state) => ({ ...state, [name]: value as string })) - } - options={prop.toolbar.items.map((i) => ({ - name: i.title, - value: i.value, - }))} - triggerLabel={prop.name} - label={prop.name} - /> - ))} - {componentProperties.map((prop) => ( - - setProps((state) => ({ ...state, [prop.name]: value as string })) - } - options={prop.type.value.map((i) => ({ - name: i, - value: i, - }))} - triggerLabel={prop.name} - label={prop.name} - /> - ))} -
-
-