-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Description
Implement plugin architecture to support multiple wiki formats and output types.
Goals
- Support MediaWiki, Confluence, Notion exports without core changes
- Easy to add PDF, EPUB, LaTeX output formats
- Community can contribute plugins
Tasks
- Design plugin interface (ABC classes)
- Create SourcePlugin base class
- Create FormatPlugin base class
- Create ProcessorPlugin base class
- Implement plugin discovery and loading
- Refactor DokuWiki as a plugin
- Create plugin documentation/template
- Add plugin CLI commands (
wikiaccess plugins list/install) - Set up plugins_contrib/ directory
Plugin Interface
class SourcePlugin(ABC):
@abstractmethod
def fetch_page(self, page_id: str) -> Document:
pass
@property
@abstractmethod
def supported_features(self) -> Set[str]:
return {'images', 'math', 'tables'}Success Criteria
- DokuWiki refactored as plugin
- At least one additional source plugin (MediaWiki)
- Plugin installation via pip
- Clear plugin development guide
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request