Coverage for src/coursebook/__init__.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.17.0, created at 2026-10-31 22:06 +0000

1"""Turns markdown files into coursebooks, slides, and teaching notes. 

2 

3Contents: 

4 Book: style for a book with accompanying slides. 

5 Coursebook: style for a coursebook with slides and teaching notes. 

6 ExportOptions: options shared by every exporter. 

7 Formatting: formatting of the text and notes. 

8 HtmlExporter: exports a document to a single HTML file. 

9 Exporter: base class for exporters. 

10 LawReview: style for a law review article with accompanying slides. 

11 Outline: the entries of a project in order. 

12 OutlineEntry: a single entry in an outline. 

13 PdfExporter: exports a document to a PDF file. 

14 PowerPointExporter: exports a slide deck to a PowerPoint file. 

15 Project: the settings, outline, sources, and style of a project. 

16 Settings: the options in the "Project" section of a project file. 

17 Source: the front matter and sections of a source file. 

18 Style: base class for styles. 

19 WordExporter: exports a document to a Word file. 

20 build: builds the files of the project in a folder. 

21 get_exporter: returns the exporter with a name. 

22 get_style: returns the style with a name. 

23 

24""" 

25 

26from __future__ import annotations 

27 

28__version__ = '0.1.0' 

29 

30__author__: str = 'Corey Rayburn Yung' 

31 

32__all__: list[str] = [ 

33 'Book', 

34 'Coursebook', 

35 'ExportOptions', 

36 'Exporter', 

37 'Formatting', 

38 'HtmlExporter', 

39 'LawReview', 

40 'Outline', 

41 'OutlineEntry', 

42 'PdfExporter', 

43 'PowerPointExporter', 

44 'Project', 

45 'Settings', 

46 'Source', 

47 'Style', 

48 'WordExporter', 

49 'build', 

50 'get_exporter', 

51 'get_style'] 

52 

53from .exporters import ( 

54 ExportOptions, 

55 Exporter, 

56 HtmlExporter, 

57 PdfExporter, 

58 PowerPointExporter, 

59 WordExporter, 

60 get_exporter, 

61) 

62from .outline import Outline, OutlineEntry 

63from .project import Project, build 

64from .settings import Settings 

65from .sources import Source 

66from .styles import Book, Coursebook, Formatting, LawReview, Style, get_style