[PR #6864] [MERGED] feat: support markdown syntax in ai writer block #7613

Closed
opened 2026-03-23 23:20:26 +00:00 by mirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/AppFlowy-IO/AppFlowy/pull/6864
Author: @LucasXu0
Created: 11/27/2024
Status: Merged
Merged: 11/27/2024
Merged by: @LucasXu0

Base: mainHead: ai_writer_v3


📝 Commits (8)

  • 72ccb7c feat: support markdown syntax in ai writer block
  • d0c4bff feat: support nested list
  • 6629246 test: add markdown text robot tests
  • 5b3671b feat: support in-memory update in ai-writer block
  • 03aaa35 feat: support markdown in ask ai block
  • 6bc7d63 feat: render ai result with appflowy_editor
  • 82f8f21 feat: support markdown syntax in ask ai block
  • 7b61ea8 fix: selection after replace

📊 Changes

21 files changed (+1517 additions, -891 deletions)

View changed files

📝 frontend/appflowy_flutter/integration_test/desktop/cloud/document/document_ai_writer_test.dart (+2 -2)
📝 frontend/appflowy_flutter/lib/plugins/document/application/editor_transaction_adapter.dart (+2 -2)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_configuration.dart (+6 -6)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_page.dart (+1 -1)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/markdown_text_robot.dart (+136 -0)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/util/ask_ai_node_extension.dart (+67 -0)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ai_writer_block_component.dart (+370 -0)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ai_writer_block_operations.dart (+112 -0)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ai_writer_block_widgets.dart (+104 -0)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_action.dart (+24 -24)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_action_bloc.dart (+87 -46)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_block_component.dart (+34 -141)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_block_widgets.dart (+112 -0)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_toolbar_item.dart (+28 -44)
frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/auto_completion_node_widget.dart (+0 -566)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/plugins.dart (+7 -7)
📝 frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/slash_menu/slash_menu_items.dart (+1 -1)
📝 frontend/appflowy_flutter/lib/user/application/ai_service.dart (+6 -6)
📝 frontend/appflowy_flutter/lib/workspace/presentation/settings/pages/settings_billing_view.dart (+1 -2)
📝 frontend/appflowy_flutter/test/bloc_test/ask_ai_test/ask_ai_action_bloc_test.dart (+43 -43)

...and 1 more files

📄 Description

Feature Preview

closes https://github.com/AppFlowy-IO/AppFlowy/issues/6797

  • support markdown syntax in ai writer block
    • support markdown syntax, text format ...
    • support nested list
  • test
    • support markdown syntax, text format ...
    • support nested list
  • support markdown syntax in "ask ai"
    • replace
    • insert below
    • ask ai with markdown format
  • test
  • support rendering markdown in "ask ai" preview (no test required)

https://github.com/user-attachments/assets/861174bd-56d6-44ba-a1ab-4c7bea24a477


PR Checklist

  • My code adheres to AppFlowy's Conventions
  • I've listed at least one issue that this PR fixes in the description above.
  • I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes.
  • All existing tests are passing.

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/AppFlowy-IO/AppFlowy/pull/6864 **Author:** [@LucasXu0](https://github.com/LucasXu0) **Created:** 11/27/2024 **Status:** ✅ Merged **Merged:** 11/27/2024 **Merged by:** [@LucasXu0](https://github.com/LucasXu0) **Base:** `main` ← **Head:** `ai_writer_v3` --- ### 📝 Commits (8) - [`72ccb7c`](https://github.com/AppFlowy-IO/AppFlowy/commit/72ccb7c513ff1120eefc469fe19b004fb20aa412) feat: support markdown syntax in ai writer block - [`d0c4bff`](https://github.com/AppFlowy-IO/AppFlowy/commit/d0c4bff43ac0fde97ee199f90d436c55c243219f) feat: support nested list - [`6629246`](https://github.com/AppFlowy-IO/AppFlowy/commit/6629246a15d610bcb351c1dad0c60d1cc0972cf8) test: add markdown text robot tests - [`5b3671b`](https://github.com/AppFlowy-IO/AppFlowy/commit/5b3671b9312e2bcb8e49e288b4ab6f071e1e1b81) feat: support in-memory update in ai-writer block - [`03aaa35`](https://github.com/AppFlowy-IO/AppFlowy/commit/03aaa350188747e848e94d730a1e88a7a673c4a3) feat: support markdown in ask ai block - [`6bc7d63`](https://github.com/AppFlowy-IO/AppFlowy/commit/6bc7d63105d1c41574a1b8b08407279dbea3b4aa) feat: render ai result with appflowy_editor - [`82f8f21`](https://github.com/AppFlowy-IO/AppFlowy/commit/82f8f21a23838bb52e4cb56461cb85fb51800146) feat: support markdown syntax in ask ai block - [`7b61ea8`](https://github.com/AppFlowy-IO/AppFlowy/commit/7b61ea8422f742daab0a5b31042b00503dd7b134) fix: selection after replace ### 📊 Changes **21 files changed** (+1517 additions, -891 deletions) <details> <summary>View changed files</summary> 📝 `frontend/appflowy_flutter/integration_test/desktop/cloud/document/document_ai_writer_test.dart` (+2 -2) 📝 `frontend/appflowy_flutter/lib/plugins/document/application/editor_transaction_adapter.dart` (+2 -2) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_configuration.dart` (+6 -6) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_page.dart` (+1 -1) ➕ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/base/markdown_text_robot.dart` (+136 -0) ➕ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/util/ask_ai_node_extension.dart` (+67 -0) ➕ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ai_writer_block_component.dart` (+370 -0) ➕ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ai_writer_block_operations.dart` (+112 -0) ➕ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ai_writer_block_widgets.dart` (+104 -0) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_action.dart` (+24 -24) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_action_bloc.dart` (+87 -46) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_block_component.dart` (+34 -141) ➕ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_block_widgets.dart` (+112 -0) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/ask_ai_toolbar_item.dart` (+28 -44) ➖ `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/openai/widgets/auto_completion_node_widget.dart` (+0 -566) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/plugins.dart` (+7 -7) 📝 `frontend/appflowy_flutter/lib/plugins/document/presentation/editor_plugins/slash_menu/slash_menu_items.dart` (+1 -1) 📝 `frontend/appflowy_flutter/lib/user/application/ai_service.dart` (+6 -6) 📝 `frontend/appflowy_flutter/lib/workspace/presentation/settings/pages/settings_billing_view.dart` (+1 -2) 📝 `frontend/appflowy_flutter/test/bloc_test/ask_ai_test/ask_ai_action_bloc_test.dart` (+43 -43) _...and 1 more files_ </details> ### 📄 Description <!--- Thank you for submitting a pull request to AppFlowy. The team will dedicate their best efforts to reviewing and approving your pull request. If you have any questions about the project or feedback for us, please join our [Discord](https://discord.gg/wdjWUXXhtw). --> <!--- If your pull request adds a new feature, please drag and drop a video into this section to showcase what you've done! If not, you may delete this section. --> ### Feature Preview closes https://github.com/AppFlowy-IO/AppFlowy/issues/6797 - [x] support markdown syntax in ai writer block - [x] support markdown syntax, text format ... - [x] support nested list - [x] test - [x] support markdown syntax, text format ... - [x] support nested list - [x] support markdown syntax in "ask ai" - [x] replace - [x] insert below - [x] ask ai with markdown format - [x] test - [x] support rendering markdown in "ask ai" preview (no test required) https://github.com/user-attachments/assets/861174bd-56d6-44ba-a1ab-4c7bea24a477 <!--- List at least one issue here that this PR addresses. If it fixes the issue, please use the [fixes](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/using-keywords-in-issues-and-pull-requests) keyword to close the issue. For example: fixes https://github.com/AppFlowy-IO/AppFlowy/pull/2106 --> --- <!--- Before you mark this PR ready for review, run through this checklist! --> #### PR Checklist - [x] My code adheres to [AppFlowy's Conventions](https://docs.appflowy.io/docs/documentation/software-contributions/conventions) - [x] I've listed at least one issue that this PR fixes in the description above. - [x] I've added a test(s) to validate changes in this PR, or this PR only contains semantic changes. - [x] All existing tests are passing. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
mirror 2026-03-23 23:20:26 +00:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
AppFlowy-IO/AppFlowy#7613
No description provided.