Skip to content

Conversation

@sanyuan0704
Copy link
Contributor

@sanyuan0704 sanyuan0704 commented May 19, 2023

Summary

  1. 将 medium-zoom 作为插件外置,并增加 doc.mediumZoom 配置
  2. 插件初始化逻辑优化

🤖 Generated by Copilot at 439880b

This pull request adds a new plugin for medium-zoom functionality in the documentation system of @modern-js/doc-core. It refactors the plugin loading mechanism and the global UI components and styles hooks in the core package. It also updates the default theme and the doc config interface to support the new plugin. It creates a new package for @modern-js/doc-plugin-medium-zoom with the necessary files and configuration.

Details

🤖 Generated by Copilot at 439880b

  • Add @modern-js/doc-plugin-medium-zoom as a new package to provide the medium-zoom feature for doc images (F10-F19)
    • Add @modern-js/doc-plugin-medium-zoom as a workspace dependency and remove medium-zoom as a direct dependency (link, link)
    • Add a mediumZoom option to the DocConfig interface to enable or disable the feature or customize the selector (link)
    • Replace the getPlugins function with the loadPlugins function in hooks.ts to asynchronously import the pluginLastUpdated and the pluginMediumZoom based on the config options, and also push the user-defined plugins to the docPlugins array (link)
    • Remove the import and call of getPlugins in the beforeBuild, afterBuild, extendPageData, and addPages hooks, since the docPlugins array is already initialized by the loadPlugins function (link, link, link, link, link)
    • Add two new hooks, globalUIComponents and globalStyles, to collect the global UI components and global styles from the docPlugins array and return them as arrays of strings (link)
    • Replace the inline logic of collecting the global styles and global UI components from the config and the plugins with the call to the globalStyles and globalUIComponents hooks in the globalStylesVMPlugin and globalUIComponentsVMPlugin functions in the globalStyles.ts and globalUIComponents.ts files (link, link)
    • Remove the import of medium-zoom and the DocContent component from the index.tsx file of theme-default/layout/DocLayout, since they are now handled by the plugin (link, link)
    • Replace the DocContent component with the Content component in the DocLayout component (link)
    • Remove the CSS rules for the medium-zoom overlay and image from the base.css file of theme-default/styles, since they are now provided by the plugin (link)
    • Call the loadPlugins function before the build and dev processes in the build.ts and dev.ts files (link, link)

Related Issue

Checklist

  • I have added changeset via pnpm run change.
  • I have updated the documentation.
  • I have added tests to cover my changes.

@changeset-bot
Copy link

changeset-bot bot commented May 19, 2023

🦋 Changeset detected

Latest commit: b12399b

The changes in this PR will be included in the next version bump.

This PR includes changesets to release 207 packages
Name Type
@modern-js/doc-core Patch
@modern-js/plugin-module-doc Patch
@modern-js/doc-tools Patch
integration-module-doc Patch
@modern-js/builder-doc Patch
@modern-js/doc-tools-doc Patch
@modern-js/main-doc Patch
@modern-js/module-tools-docs Patch
simple-doc-template Patch
i18n-doc Patch
doc-plugin Patch
simple-doc-production Patch
@modern-js/babel-preset-app Patch
@modern-js/babel-preset-base Patch
@modern-js/babel-preset-lib Patch
@modern-js/core Patch
@modern-js/doc-plugin-auto-sidebar Patch
@modern-js/doc-plugin-medium-zoom Patch
@modern-js/plugin-bff Patch
@modern-js/plugin-changeset Patch
@modern-js/plugin-data-loader Patch
@modern-js/plugin-i18n Patch
@modern-js/plugin-lint Patch
@modern-js/plugin-proxy Patch
@modern-js/plugin-ssg Patch
@modern-js/plugin-storybook Patch
@modern-js/plugin-swc Patch
@modern-js/plugin-tailwindcss Patch
@modern-js/plugin-garfish Patch
@modern-js/plugin-router-v5 Patch
@modern-js/runtime Patch
@modern-js/plugin-testing Patch
@modern-js/new-action Patch
@modern-js-app/eslint-config Patch
@modern-js/eslint-config Patch
@modern-js/tsconfig Patch
@modern-js/bff-core Patch
@modern-js/bff-runtime Patch
@modern-js/server-core Patch
@modern-js/create-request Patch
@modern-js/plugin-express Patch
@modern-js/plugin-koa Patch
@modern-js/plugin-polyfill Patch
@modern-js/plugin-server Patch
@modern-js/plugin-worker Patch
@modern-js/prod-server Patch
@modern-js/server Patch
@modern-js/server-utils Patch
@modern-js/builder-rspack-provider Patch
@modern-js/builder-shared Patch
@modern-js/builder-webpack-provider Patch
@modern-js/builder Patch
@modern-js/builder-plugin-esbuild Patch
@modern-js/builder-plugin-image-compress Patch
@modern-js/builder-plugin-node-polyfill Patch
@modern-js/builder-plugin-stylus Patch
@modern-js/builder-plugin-swc-base Patch
@modern-js/builder-plugin-swc Patch
@modern-js/plugin-module-babel Patch
@modern-js/plugin-module-banner Patch
@modern-js/plugin-module-import Patch
@modern-js/plugin-module-main-fields Patch
@modern-js/plugin-module-node-polyfill Patch
@modern-js/plugin-module-polyfill Patch
@modern-js/plugin-module-target Patch
@modern-js/app-tools Patch
@modern-js/module-tools Patch
@modern-js/monorepo-tools Patch
@modern-js/create Patch
@modern-js/e2e Patch
@modern-js/node-bundle-require Patch
@modern-js/plugin Patch
@modern-js/remark-container Patch
@modern-js/types Patch
@modern-js/upgrade Patch
@modern-js/utils Patch
@modern-js/babel-compiler Patch
@scripts/build Patch
@scripts/check-changeset Patch
@scripts/codemod Patch
@scripts/jest-config Patch
@scripts/lint-package-json Patch
@scripts/prebundle Patch
@scripts/update-codesmith Patch
@scripts/vitest-config Patch
tests Patch
@integration-test/alias-set Patch
api-service-koa Patch
app-docmuent Patch
integration-dev-asset-prefix Patch
integration-asset-prefix Patch
async-entry-test Patch
bff-express Patch
bff-koa Patch
integration-register-builder-plugins Patch
integration-builder-plugins Patch
builder-rspack Patch
integration-clean-dist-path Patch
integration-copy-public-html Patch
integration-copy-assets Patch
composes-basic Patch
composes-external Patch
dev-module Patch
global-module Patch
prod-module Patch
css Patch
antd-less Patch
bad-nested-npm-import Patch
bad-npm-import Patch
base-import Patch
disable-source-map Patch
exclude-less Patch
exclude-sass Patch
import-common-css Patch
less-import Patch
less-inline-js Patch
less-npm-import Patch
multi-css Patch
multi-less Patch
multi-sass Patch
nested-npm-import Patch
npm-import Patch
integration-tailwindcss-v2 Patch
integration-tailwindcss-v3 Patch
twin-macro-v2 Patch
twin-macro-v3 Patch
css-modules Patch
integration-custom-render Patch
integration-custom-template Patch
dev-server Patch
doc-tools Patch
legacy-esbuild-minify-js Patch
esbuild-transform-and-minify Patch
esbuild-integration Patch
@cypress-test/garfish-dashboard-router-v6 Patch
@cypress-test/garfish-dashboard Patch
@cypress-test/garfish-main-router-v6 Patch
@cypress-test/garfish-main-rspack Patch
@cypress-test/garfish-main Patch
@cypress-test/garfish-table Patch
integration-config-async-config-test Patch
integration-basic-local-config Patch
integration-config-function-params Patch
integration-local-config-function Patch
integration-load-config Patch
tmp Patch
routes Patch
file-based-router Patch
use-loader Patch
runtime Patch
select-mul-entry-test Patch
select-one-entry-test Patch
entry Patch
server-config Patch
server-middleware Patch
server-hook-reqeust Patch
server-hook-response Patch
server-hook-router Patch
@integration-test/server-hook-reqeust Patch
server-prod Patch
ssg-fixtures-simple Patch
ssg-fixtures-web-server Patch
ssg Patch
ssr-base-json-test Patch
ssr-base-test Patch
init Patch
ssr-streaming-test Patch
ssr Patch
swc-minify-css Patch
swc-minify-js Patch
transform-fail Patch
swc-integration Patch
tmp-dir Patch
worker-test Patch
@e2e/webpack-builder-css-modules Patch
@e2e/webpack-builder-image-compress Patch
@e2e/webpack-builder-import-antd-v4 Patch
@e2e/webpack-builder-import-antd-v5 Patch
@e2e/webpack-builder-node-polyfill Patch
@e2e/builder-plugin-import Patch
@e2e/builder Patch
@modern-js/generator-common Patch
@modern-js/generator-plugin Patch
@modern-js/generator-utils Patch
@modern-js/bff-generator Patch
@modern-js/dependence-generator Patch
@modern-js/doc-generator Patch
@modern-js/entry-generator Patch
@modern-js/generator-generator Patch
@modern-js/module-generator Patch
@modern-js/module-test-generator Patch
@modern-js/monorepo-generator Patch
@modern-js/mwa-generator Patch
@modern-js/router-v5-generator Patch
@modern-js/rspack-generator Patch
@modern-js/ssg-generator Patch
@modern-js/storybook-generator Patch
@modern-js/test-generator Patch
@modern-js/upgrade-generator Patch
@modern-js/generator-plugin-plugin Patch
@modern-js/repo-generator Patch
@modern-js/generator-cases Patch
@modern-js/base-generator Patch
@modern-js/changeset-generator Patch
@modern-js/packages-generator Patch
@modern-js/server-generator Patch
@modern-js/tailwindcss-generator Patch

Not sure what this means? Click here to learn what changesets are.

Click here if you're a maintainer who wants to add another changeset to this PR

@sanyuan0704 sanyuan0704 requested a review from chenjiahan May 19, 2023 08:55
@sanyuan0704 sanyuan0704 force-pushed the feat/medium-zoom-plugin branch 2 times, most recently from 12bb415 to ece295c Compare May 19, 2023 09:04
@chenjiahan chenjiahan changed the title feat: add medium zoom feat(doc-tools): add doc medium-zoom plugin May 19, 2023
chenjiahan
chenjiahan previously approved these changes May 19, 2023
@chenjiahan chenjiahan enabled auto-merge (squash) May 19, 2023 09:12
@sanyuan0704 sanyuan0704 force-pushed the feat/medium-zoom-plugin branch from 3f605a5 to b12399b Compare May 19, 2023 12:01
@codecov
Copy link

codecov bot commented May 19, 2023

Codecov Report

Patch coverage has no change and project coverage change: +0.52 🎉

Comparison is base (99693f0) 57.59% compared to head (b12399b) 58.12%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3716      +/-   ##
==========================================
+ Coverage   57.59%   58.12%   +0.52%     
==========================================
  Files         672      643      -29     
  Lines       17794    17173     -621     
  Branches     3876     3757     -119     
==========================================
- Hits        10249     9982     -267     
+ Misses       6934     6589     -345     
+ Partials      611      602       -9     

see 257 files with indirect coverage changes

☔ View full report in Codecov by Sentry.
📢 Do you have feedback about the report comment? Let us know in this issue.

@sanyuan0704 sanyuan0704 requested a review from chenjiahan May 19, 2023 12:35
@chenjiahan chenjiahan merged commit 8007951 into main May 19, 2023
@chenjiahan chenjiahan deleted the feat/medium-zoom-plugin branch May 19, 2023 12:43
@caohuilin caohuilin mentioned this pull request May 25, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants