sphinx_storymaker/sphinx_storymaker/__init__.py

68 lines
1.5 KiB
Python
Raw Normal View History

2020-06-27 02:10:10 +02:00
#!/usr/bin/env python3
2020-07-08 01:25:39 +02:00
from sphinx.domains import Domain
from .escoria_builder import EscoriaBuilder
from .character import CharacterDirective
from .scene import EpisodeDirective
from .scene import SceneDirective
from .scene import PlaceDirective
from .scene import SettingDirective
from .universe import ItemDirective
from .universe import KnowledgeDirective
from .universe import AbilityDirective
from .timeline import EventDirective
from .timeline import ActionDirective
from .timeline import UpdateDirective
from .dialogue import DialogueDirective
from .dialogue import DlineDirective
version = (0, 1, 0)
class StoryMakerDomain(Domain):
""" StoryMaker domain """
name = "story"
label = "StoryMaker"
directives = {
'character': CharacterDirective,
'scene': SceneDirective,
'place': PlaceDirective,
'setting': SettingDirective,
'item': ItemDirective,
'knowledge': KnowledgeDirective,
'ability': AbilityDirective,
'event': EventDirective,
'action': ActionDirective,
'dialogue': DialogueDirective,
'dline': DlineDirective,
'episode': EpisodeDirective,
'update': UpdateDirective,
}
def setup(app):
app.add_config_value('STORY_BUILD_ANNEXES', True, 'env')
app.add_config_value('STORY_BUILD_GRAPHS', True, 'env')
app.add_domain(StoryMakerDomain)
app.add_builder(EscoriaBuilder)
return {
'version': version,
'parallel_read_safe': True,
'parallel_write_safe': True
}