Mercurial > piecrust2
comparison piecrust/plugins/builtin.py @ 823:ad12a942cadd
internal: Import things in the builtin plugin only when needed.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Fri, 03 Feb 2017 20:08:04 -0800 |
parents | 6abb436fea5b |
children | 4850f8c21b6e |
comparison
equal
deleted
inserted
replaced
821:70f722a1f447 | 823:ad12a942cadd |
---|---|
1 from piecrust.commands.base import HelpCommand | |
2 from piecrust.commands.builtin.admin import AdministrationPanelCommand | |
3 from piecrust.commands.builtin.baking import ( | |
4 BakeCommand, ShowRecordCommand) | |
5 from piecrust.commands.builtin.info import ( | |
6 RootCommand, ShowConfigCommand, | |
7 FindCommand, ShowSourcesCommand, ShowRoutesCommand, ShowPathsCommand) | |
8 from piecrust.commands.builtin.plugins import PluginsCommand | |
9 from piecrust.commands.builtin.publishing import PublishCommand | |
10 from piecrust.commands.builtin.scaffolding import ( | |
11 PrepareCommand, | |
12 DefaultPrepareTemplatesCommandExtension, | |
13 UserDefinedPrepareTemplatesCommandExtension, | |
14 DefaultPrepareTemplatesHelpTopic) | |
15 from piecrust.commands.builtin.serving import (ServeCommand) | |
16 from piecrust.commands.builtin.themes import (ThemesCommand) | |
17 from piecrust.commands.builtin.util import ( | |
18 InitCommand, PurgeCommand, ImportCommand) | |
19 from piecrust.data.provider import (IteratorDataProvider, BlogDataProvider) | |
20 from piecrust.formatting.hoedownformatter import HoedownFormatter | |
21 from piecrust.formatting.markdownformatter import MarkdownFormatter | |
22 from piecrust.formatting.textileformatter import TextileFormatter | |
23 from piecrust.formatting.smartypantsformatter import SmartyPantsFormatter | |
24 from piecrust.generation.blogarchives import BlogArchivesPageGenerator | |
25 from piecrust.generation.taxonomy import TaxonomyPageGenerator | |
26 from piecrust.importing.jekyll import JekyllImporter | |
27 from piecrust.importing.piecrust import PieCrust1Importer | |
28 from piecrust.importing.wordpress import WordpressXmlImporter | |
29 from piecrust.plugins.base import PieCrustPlugin | 1 from piecrust.plugins.base import PieCrustPlugin |
30 from piecrust.processing.base import CopyFileProcessor | |
31 from piecrust.processing.compass import CompassProcessor | |
32 from piecrust.processing.compressors import ( | |
33 CleanCssProcessor, UglifyJSProcessor) | |
34 from piecrust.processing.less import LessProcessor | |
35 from piecrust.processing.pygments_style import PygmentsStyleProcessor | |
36 from piecrust.processing.requirejs import RequireJSProcessor | |
37 from piecrust.processing.sass import SassProcessor | |
38 from piecrust.processing.sitemap import SitemapProcessor | |
39 from piecrust.processing.util import ConcatProcessor | |
40 from piecrust.publishing.sftp import SftpPublisher | |
41 from piecrust.publishing.shell import ShellCommandPublisher | |
42 from piecrust.publishing.rsync import RsyncPublisher | |
43 from piecrust.sources.default import DefaultPageSource | |
44 from piecrust.sources.posts import ( | |
45 FlatPostsSource, ShallowPostsSource, HierarchyPostsSource) | |
46 from piecrust.sources.autoconfig import ( | |
47 AutoConfigSource, OrderedPageSource) | |
48 from piecrust.sources.prose import ProseSource | |
49 from piecrust.templating.jinjaengine import JinjaTemplateEngine | |
50 from piecrust.templating.pystacheengine import PystacheTemplateEngine | |
51 | 2 |
52 | 3 |
53 class BuiltInPlugin(PieCrustPlugin): | 4 class BuiltInPlugin(PieCrustPlugin): |
54 name = '__builtin__' | 5 name = '__builtin__' |
55 | 6 |
56 def getCommands(self): | 7 def getCommands(self): |
8 from piecrust.commands.base import HelpCommand | |
9 from piecrust.commands.builtin.admin import AdministrationPanelCommand | |
10 from piecrust.commands.builtin.baking import ( | |
11 BakeCommand, ShowRecordCommand) | |
12 from piecrust.commands.builtin.info import ( | |
13 RootCommand, ShowConfigCommand, | |
14 FindCommand, ShowSourcesCommand, ShowRoutesCommand, | |
15 ShowPathsCommand) | |
16 from piecrust.commands.builtin.plugins import PluginsCommand | |
17 from piecrust.commands.builtin.publishing import PublishCommand | |
18 from piecrust.commands.builtin.scaffolding import PrepareCommand | |
19 from piecrust.commands.builtin.serving import (ServeCommand) | |
20 from piecrust.commands.builtin.themes import (ThemesCommand) | |
21 from piecrust.commands.builtin.util import ( | |
22 InitCommand, PurgeCommand, ImportCommand) | |
23 | |
57 return [ | 24 return [ |
58 InitCommand(), | 25 InitCommand(), |
59 ImportCommand(), | 26 ImportCommand(), |
60 HelpCommand(), | 27 HelpCommand(), |
61 RootCommand(), | 28 RootCommand(), |
62 PurgeCommand(), | 29 PurgeCommand(), |
63 ShowConfigCommand(), | 30 ShowConfigCommand(), |
64 FindCommand(), | 31 FindCommand(), |
65 PrepareCommand(), | 32 PrepareCommand(), |
66 ShowSourcesCommand(), | 33 ShowSourcesCommand(), |
67 ShowRoutesCommand(), | 34 ShowRoutesCommand(), |
68 ShowPathsCommand(), | 35 ShowPathsCommand(), |
69 ThemesCommand(), | 36 ThemesCommand(), |
70 PluginsCommand(), | 37 PluginsCommand(), |
71 BakeCommand(), | 38 BakeCommand(), |
72 ShowRecordCommand(), | 39 ShowRecordCommand(), |
73 ServeCommand(), | 40 ServeCommand(), |
74 AdministrationPanelCommand(), | 41 AdministrationPanelCommand(), |
75 PublishCommand()] | 42 PublishCommand()] |
76 | 43 |
77 def getCommandExtensions(self): | 44 def getCommandExtensions(self): |
45 from piecrust.commands.builtin.scaffolding import ( | |
46 DefaultPrepareTemplatesCommandExtension, | |
47 UserDefinedPrepareTemplatesCommandExtension, | |
48 DefaultPrepareTemplatesHelpTopic) | |
49 | |
78 return [ | 50 return [ |
79 DefaultPrepareTemplatesCommandExtension(), | 51 DefaultPrepareTemplatesCommandExtension(), |
80 UserDefinedPrepareTemplatesCommandExtension(), | 52 UserDefinedPrepareTemplatesCommandExtension(), |
81 DefaultPrepareTemplatesHelpTopic()] | 53 DefaultPrepareTemplatesHelpTopic()] |
82 | 54 |
83 def getSources(self): | 55 def getSources(self): |
56 from piecrust.sources.default import DefaultPageSource | |
57 from piecrust.sources.posts import ( | |
58 FlatPostsSource, ShallowPostsSource, HierarchyPostsSource) | |
59 from piecrust.sources.autoconfig import ( | |
60 AutoConfigSource, OrderedPageSource) | |
61 from piecrust.sources.prose import ProseSource | |
62 | |
84 return [ | 63 return [ |
85 DefaultPageSource, | 64 DefaultPageSource, |
86 FlatPostsSource, | 65 FlatPostsSource, |
87 ShallowPostsSource, | 66 ShallowPostsSource, |
88 HierarchyPostsSource, | 67 HierarchyPostsSource, |
89 AutoConfigSource, | 68 AutoConfigSource, |
90 OrderedPageSource, | 69 OrderedPageSource, |
91 ProseSource] | 70 ProseSource] |
92 | 71 |
93 def getPageGenerators(self): | 72 def getPageGenerators(self): |
73 from piecrust.generation.blogarchives import BlogArchivesPageGenerator | |
74 from piecrust.generation.taxonomy import TaxonomyPageGenerator | |
75 | |
94 return [ | 76 return [ |
95 TaxonomyPageGenerator, | 77 TaxonomyPageGenerator, |
96 BlogArchivesPageGenerator] | 78 BlogArchivesPageGenerator] |
97 | 79 |
98 def getDataProviders(self): | 80 def getDataProviders(self): |
81 from piecrust.data.provider import ( | |
82 IteratorDataProvider, BlogDataProvider) | |
83 | |
99 return [ | 84 return [ |
100 IteratorDataProvider, | 85 IteratorDataProvider, |
101 BlogDataProvider] | 86 BlogDataProvider] |
102 | 87 |
103 def getTemplateEngines(self): | 88 def getTemplateEngines(self): |
89 from piecrust.templating.jinjaengine import JinjaTemplateEngine | |
90 from piecrust.templating.pystacheengine import PystacheTemplateEngine | |
91 | |
104 return [ | 92 return [ |
105 JinjaTemplateEngine(), | 93 JinjaTemplateEngine(), |
106 PystacheTemplateEngine()] | 94 PystacheTemplateEngine()] |
107 | 95 |
108 def getFormatters(self): | 96 def getFormatters(self): |
97 from piecrust.formatting.hoedownformatter import HoedownFormatter | |
98 from piecrust.formatting.markdownformatter import MarkdownFormatter | |
99 from piecrust.formatting.textileformatter import TextileFormatter | |
100 from piecrust.formatting.smartypantsformatter import ( | |
101 SmartyPantsFormatter) | |
102 | |
109 return [ | 103 return [ |
110 HoedownFormatter(), | 104 HoedownFormatter(), |
111 MarkdownFormatter(), | 105 MarkdownFormatter(), |
112 SmartyPantsFormatter(), | 106 SmartyPantsFormatter(), |
113 TextileFormatter()] | 107 TextileFormatter()] |
114 | 108 |
115 def getProcessors(self): | 109 def getProcessors(self): |
110 from piecrust.processing.base import CopyFileProcessor | |
111 from piecrust.processing.compass import CompassProcessor | |
112 from piecrust.processing.compressors import ( | |
113 CleanCssProcessor, UglifyJSProcessor) | |
114 from piecrust.processing.less import LessProcessor | |
115 from piecrust.processing.pygments_style import PygmentsStyleProcessor | |
116 from piecrust.processing.requirejs import RequireJSProcessor | |
117 from piecrust.processing.sass import SassProcessor | |
118 from piecrust.processing.sitemap import SitemapProcessor | |
119 from piecrust.processing.util import ConcatProcessor | |
120 | |
116 return [ | 121 return [ |
117 CopyFileProcessor(), | 122 CopyFileProcessor(), |
118 ConcatProcessor(), | 123 ConcatProcessor(), |
119 PygmentsStyleProcessor(), | 124 PygmentsStyleProcessor(), |
120 CompassProcessor(), | 125 CompassProcessor(), |
121 LessProcessor(), | 126 LessProcessor(), |
122 SassProcessor(), | 127 SassProcessor(), |
123 RequireJSProcessor(), | 128 RequireJSProcessor(), |
124 SitemapProcessor(), | 129 SitemapProcessor(), |
125 CleanCssProcessor(), | 130 CleanCssProcessor(), |
126 UglifyJSProcessor()] | 131 UglifyJSProcessor()] |
127 | 132 |
128 def getImporters(self): | 133 def getImporters(self): |
134 from piecrust.importing.jekyll import JekyllImporter | |
135 from piecrust.importing.piecrust import PieCrust1Importer | |
136 from piecrust.importing.wordpress import WordpressXmlImporter | |
137 | |
129 return [ | 138 return [ |
130 PieCrust1Importer(), | 139 PieCrust1Importer(), |
131 JekyllImporter(), | 140 JekyllImporter(), |
132 WordpressXmlImporter()] | 141 WordpressXmlImporter()] |
133 | 142 |
134 def getPublishers(self): | 143 def getPublishers(self): |
144 from piecrust.publishing.sftp import SftpPublisher | |
145 from piecrust.publishing.shell import ShellCommandPublisher | |
146 from piecrust.publishing.rsync import RsyncPublisher | |
147 | |
135 return [ | 148 return [ |
136 ShellCommandPublisher, | 149 ShellCommandPublisher, |
137 SftpPublisher, | 150 SftpPublisher, |
138 RsyncPublisher] | 151 RsyncPublisher] |
139 | 152 |