name: epub-studio description: EPUB电子书生成器。Use when user wants to create professional EPUB ebooks from Markdown, text, or structured content. Supports chapters, TOC, cover image, metadata. 电子书、EPUB制作。 version: 1.0.0 license: MIT-0 metadata: {"openclaw": {"emoji": "📚", "requires": {"bins": ["python3"], "env": []}}} dependencies: "pip install ebooklib"
专业EPUB电子书生成器,支持Markdown转EPUB、多章节、目录、封面。
import os from ebooklib import epub class EpubGenerator: def __init__(self, title, author='Unknown', language='zh'): self.book = epub.EpubBook() self.book.set_title(title) self.book.set_language(language) self.book.add_author(author) self.chapters = [] def add_chapter(self, title, content, filename=None): """Add a chapter""" if filename is None: filename = f'chapter_{len(self.chapters)+1}.xhtml' chapter = epub.EpubHtml(title=title, file_name=filename) chapter.content = f'<h1>{title}</h1>{content}' self.book.add_item(chapter) self.chapters.append(chapter) return chapter def add_markdown_chapters(self, markdown_content): """Split markdown into chapters""" sections = markdown_content.split('\n# ') for i, section in enumerate(sections): if not section.strip(): continue lines = section.split('\n') title = lines[0].replace('#', '').strip() content = '<br>'.join(lines[1:]) self.add_chapter(title, content) def add_cover(self, image_path): """Add cover image""" with open(image_path, 'rb') as f: cover_image = f.read() self.book.set_cover('cover.jpg', cover_image) def set_toc(self): """Generate table of contents""" self.book.toc = self.chapters # Add navigation self.book.add_item(epub.EpubNcx()) self.book.add_item(epub.EpubNav()) def add_spine(self): """Set reading order""" self.book.spine = ['nav'] + self.chapters def save(self, output_path): """Save EPUB file""" self.set_toc() self.add_spine() epub.write_epub(output_path, self.book, {}) return output_path # Example gen = EpubGenerator('My Book', author='Author Name') gen.add_chapter('Chapter 1', '<p>Content here...</p>') gen.add_chapter('Chapter 2', '<p>More content...</p>') gen.save('output.epub')更多技能请访问小葱技能站7w4.net。
User: "帮我把这篇Markdown做成电子书"
Agent: 使用 EpubGenerator 生成EPUB
User: "创建一本3章的电子书"
Agent: 分章生成EPUB
这个Skill质量中等偏上,做得好的地方是功能明确、文档清晰,能满足基本的EPUB生成需求。不足之处是实现比较简单,功能相对单一,缺少详细的配置选项和错误处理,对于复杂文档可能支持不够完善。适合对EPUB格式要求不高的简单场景使用。