From 6a6417376129e445261a19fa3f3a65e09d9a8319 Mon Sep 17 00:00:00 2001 From: ztygod <2739022972@qq.com> Date: Mon, 10 Aug 2026 17:35:14 +0800 Subject: [PATCH] feat: move render to documnet --- src/noteforge/core/pipeline.py | 3 +-- src/noteforge/document/__init__.py | 4 ++++ src/noteforge/document/renderers/__init__.py | 5 +++++ .../{renderer => document/renderers}/markdown.py | 2 +- src/noteforge/{renderer => document}/writer.py | 2 +- src/noteforge/renderer/__init__.py | 6 ------ tests/{renderer => document}/test_markdown_renderer.py | 8 ++++++-- 7 files changed, 18 insertions(+), 12 deletions(-) create mode 100644 src/noteforge/document/renderers/__init__.py rename src/noteforge/{renderer => document/renderers}/markdown.py (97%) rename src/noteforge/{renderer => document}/writer.py (93%) delete mode 100644 src/noteforge/renderer/__init__.py rename tests/{renderer => document}/test_markdown_renderer.py (96%) diff --git a/src/noteforge/core/pipeline.py b/src/noteforge/core/pipeline.py index 023b2f9..73825d3 100644 --- a/src/noteforge/core/pipeline.py +++ b/src/noteforge/core/pipeline.py @@ -17,7 +17,7 @@ PipelineStatus, null_event_handler, ) -from noteforge.document import generate_document +from noteforge.document import MarkdownRenderer, generate_document, write_markdown from noteforge.exceptions import ( NoteForgeError, PipelineErrorContext, @@ -41,7 +41,6 @@ LLMToolResponse, ) from noteforge.media.models import VideoResource -from noteforge.renderer import MarkdownRenderer, write_markdown VideoCollector = Callable[..., VideoResource] diff --git a/src/noteforge/document/__init__.py b/src/noteforge/document/__init__.py index 8bf659c..f8be29f 100644 --- a/src/noteforge/document/__init__.py +++ b/src/noteforge/document/__init__.py @@ -3,10 +3,14 @@ from noteforge.document.builder import KnowledgeDocumentBuilder from noteforge.document.generator import generate_document from noteforge.document.models import DocumentSection, LearningDocument +from noteforge.document.renderers import MarkdownRenderer +from noteforge.document.writer import write_markdown __all__ = [ "DocumentSection", "KnowledgeDocumentBuilder", "LearningDocument", + "MarkdownRenderer", "generate_document", + "write_markdown", ] diff --git a/src/noteforge/document/renderers/__init__.py b/src/noteforge/document/renderers/__init__.py new file mode 100644 index 0000000..19a383d --- /dev/null +++ b/src/noteforge/document/renderers/__init__.py @@ -0,0 +1,5 @@ +"""学习文档的不同输出格式渲染器。""" + +from noteforge.document.renderers.markdown import MarkdownRenderer + +__all__ = ["MarkdownRenderer"] diff --git a/src/noteforge/renderer/markdown.py b/src/noteforge/document/renderers/markdown.py similarity index 97% rename from src/noteforge/renderer/markdown.py rename to src/noteforge/document/renderers/markdown.py index 1dc5d42..c8156b4 100644 --- a/src/noteforge/renderer/markdown.py +++ b/src/noteforge/document/renderers/markdown.py @@ -2,7 +2,7 @@ import re -from noteforge.document import LearningDocument +from noteforge.document.models import LearningDocument from noteforge.knowledge.extraction import KnowledgePoint _MARKDOWN_SPECIAL_CHARACTERS = re.compile(r"([\\`*_{}\[\]()#+.!|>\-])") diff --git a/src/noteforge/renderer/writer.py b/src/noteforge/document/writer.py similarity index 93% rename from src/noteforge/renderer/writer.py rename to src/noteforge/document/writer.py index b672c07..9a2afb3 100644 --- a/src/noteforge/renderer/writer.py +++ b/src/noteforge/document/writer.py @@ -1,4 +1,4 @@ -"""Markdown 文件输出工具。""" +"""学习文档文件输出工具。""" from pathlib import Path diff --git a/src/noteforge/renderer/__init__.py b/src/noteforge/renderer/__init__.py deleted file mode 100644 index f294a22..0000000 --- a/src/noteforge/renderer/__init__.py +++ /dev/null @@ -1,6 +0,0 @@ -"""学习文档的输出格式转换与文件写入工具。""" - -from noteforge.renderer.markdown import MarkdownRenderer -from noteforge.renderer.writer import write_markdown - -__all__ = ["MarkdownRenderer", "write_markdown"] diff --git a/tests/renderer/test_markdown_renderer.py b/tests/document/test_markdown_renderer.py similarity index 96% rename from tests/renderer/test_markdown_renderer.py rename to tests/document/test_markdown_renderer.py index 67ee916..efd4a5d 100644 --- a/tests/renderer/test_markdown_renderer.py +++ b/tests/document/test_markdown_renderer.py @@ -2,12 +2,16 @@ import pytest -from noteforge.document import DocumentSection, LearningDocument +from noteforge.document import ( + DocumentSection, + LearningDocument, + MarkdownRenderer, + write_markdown, +) from noteforge.knowledge.chunker import RawChunk from noteforge.knowledge.extraction import KnowledgePoint, KnowledgePointType from noteforge.knowledge.preprocessor import PreprocessedChunk from noteforge.knowledge.semantic import SemanticChunk, SemanticChunkType -from noteforge.renderer import MarkdownRenderer, write_markdown def make_point(