opentiny / fluent-editor

Fluent Editor is a rich text editor based on Quill 2.0, which extends rich modules and formats on the basis of Quill. It is powerful and out-of-the-box. Fluent Editor 是一个基于 Quill 2.0 的富文本编辑器,在 Quill 基础上扩展了丰富的模块和格式,功能强大、开箱即用。
https://opentiny.github.io/fluent-editor/
MIT License
148 stars 17 forks source link

feat: default enable add protocol https for link #101

Closed zzxming closed 1 month ago

zzxming commented 1 month ago

PR

PR Checklist

Please check if your PR fulfills the following requirements:

PR Type

What kind of change does this PR introduce?

What is the current behavior?

Issue Number: close #87

What is the new behavior?

Does this PR introduce a breaking change?

Other information

Summary by CodeRabbit

Release Notes

These updates aim to improve user experience by ensuring better link handling and clearer code structure.

coderabbitai[bot] commented 1 month ago

Walkthrough

The pull request introduces modifications to the fluent-editor package, primarily adding a new optional property autoProtocol to the IEditorConfig interface. Changes are also made to the Link and Tooltip classes, including updates to import statements, method signatures, and the addition of default values for parameters. These adjustments aim to streamline the code structure and enhance type safety without altering existing functionalities significantly.

Changes

File Path Change Summary
.../editor-config.interface.ts Added optional property autoProtocol?: boolean | string to IEditorConfig interface.
.../link/formats/link.ts Updated import statement for Inline, removed statics and domNode properties, refined methods.
.../link/index.ts Changed import method for Quill modules, added // @ts-expect-error comment before extendToolbar.
.../link/modules/tooltip.ts Updated import for Range, modified method signatures for edit and addHttpProtocol, added options property with autoProtocol.

Assessment against linked issues

Objective Addressed Explanation
Ensure links without protocols function correctly (#87)

Possibly related PRs

Suggested labels

bug

Suggested reviewers

Poem

🐇 In the meadow, links do play,
With autoProtocol here to stay.
Simplified code, a joyful cheer,
Now protocols won't bring us fear!
Hopping through code, we find delight,
Making sure links shine bright! 🌟


📜 Recent review details **Configuration used: CodeRabbit UI** **Review profile: CHILL**
📥 Commits Files that changed from the base of the PR and between 1a56fda6f31b39f32c9d22e1fa99fc549afbc1c1 and 3cb0875dfc02d4d96d2ecec50761b1d1f95ecf59.
📒 Files selected for processing (2) * packages/fluent-editor/src/config/types/editor-config.interface.ts (1 hunks) * packages/fluent-editor/src/link/modules/tooltip.ts (5 hunks)
🚧 Files skipped from review as they are similar to previous changes (2) * packages/fluent-editor/src/config/types/editor-config.interface.ts * packages/fluent-editor/src/link/modules/tooltip.ts
--- Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
❤️ Share - [X](https://twitter.com/intent/tweet?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A&url=https%3A//coderabbit.ai) - [Mastodon](https://mastodon.social/share?text=I%20just%20used%20%40coderabbitai%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20the%20proprietary%20code.%20Check%20it%20out%3A%20https%3A%2F%2Fcoderabbit.ai) - [Reddit](https://www.reddit.com/submit?title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&text=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code.%20Check%20it%20out%3A%20https%3A//coderabbit.ai) - [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fcoderabbit.ai&mini=true&title=Great%20tool%20for%20code%20review%20-%20CodeRabbit&summary=I%20just%20used%20CodeRabbit%20for%20my%20code%20review%2C%20and%20it%27s%20fantastic%21%20It%27s%20free%20for%20OSS%20and%20offers%20a%20free%20trial%20for%20proprietary%20code)
🪧 Tips ### Chat There are 3 ways to chat with [CodeRabbit](https://coderabbit.ai): - Review comments: Directly reply to a review comment made by CodeRabbit. Example: - `I pushed a fix in commit , please review it.` - `Generate unit testing code for this file.` - `Open a follow-up GitHub issue for this discussion.` - Files and specific lines of code (under the "Files changed" tab): Tag `@coderabbitai` in a new review comment at the desired location with your query. Examples: - `@coderabbitai generate unit testing code for this file.` - `@coderabbitai modularize this function.` - PR comments: Tag `@coderabbitai` in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples: - `@coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.` - `@coderabbitai read src/utils.ts and generate unit testing code.` - `@coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.` - `@coderabbitai help me debug CodeRabbit configuration file.` Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. ### CodeRabbit Commands (Invoked using PR comments) - `@coderabbitai pause` to pause the reviews on a PR. - `@coderabbitai resume` to resume the paused reviews. - `@coderabbitai review` to trigger an incremental review. This is useful when automatic reviews are disabled for the repository. - `@coderabbitai full review` to do a full review from scratch and review all the files again. - `@coderabbitai summary` to regenerate the summary of the PR. - `@coderabbitai resolve` resolve all the CodeRabbit review comments. - `@coderabbitai configuration` to show the current CodeRabbit configuration for the repository. - `@coderabbitai help` to get help. ### Other keywords and placeholders - Add `@coderabbitai ignore` anywhere in the PR description to prevent this PR from being reviewed. - Add `@coderabbitai summary` to generate the high-level summary at a specific location in the PR description. - Add `@coderabbitai` anywhere in the PR title to generate the title automatically. ### CodeRabbit Configuration File (`.coderabbit.yaml`) - You can programmatically configure CodeRabbit by adding a `.coderabbit.yaml` file to the root of your repository. - Please see the [configuration documentation](https://docs.coderabbit.ai/guides/configure-coderabbit) for more information. - If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: `# yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json` ### Documentation and Community - Visit our [Documentation](https://coderabbit.ai/docs) for detailed information on how to use CodeRabbit. - Join our [Discord Community](http://discord.gg/coderabbit) to get help, request features, and share feedback. - Follow us on [X/Twitter](https://twitter.com/coderabbitai) for updates and announcements.
kagol commented 1 month ago

@zzxming 我先合入了,不过还有个小问题,就是目前通过工具栏设置的超链接没问题了,但是初始化渲染时的超链接没有生效。

<div #editor>
 <p>Hello <a href="opentiny.github.io/fluent-editor">Fluent Editor</a></p>
</div>

以上内容渲染到富文本编辑器中的超链接,没有自动带上 https:// 前缀。

zzxming commented 1 month ago

@zzxming 我先合入了,不过还有个小问题,就是目前通过工具栏设置的超链接没问题了,但是初始化渲染时的超链接没有生效。

<div #editor>
 <p>Hello <a href="opentiny.github.io/fluent-editor">Fluent Editor</a></p>
</div>

以上内容渲染到富文本编辑器中的超链接,没有自动带上 https:// 前缀。

理论上这个算是数据问题了,正常通过编辑器得到的应该是正常的。但如果这样是预期的话,我提交了一个修复pr #104