annotate piecrust/plugins/builtin.py @ 1166:d8167cbee2f5

cm: Add new pytest cache dirs to hgignore.
author Ludovic Chabant <ludovic@chabant.com>
date Fri, 04 Oct 2019 09:01:41 -0700
parents 74c0c7483986
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
1 from piecrust.plugins.base import PieCrustPlugin
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
2
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
3
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
4 class BuiltInPlugin(PieCrustPlugin):
305
9ae23409d6e9 plugins: Change how plugins are loaded. Add a `plugins` command.
Ludovic Chabant <ludovic@chabant.com>
parents: 302
diff changeset
5 name = '__builtin__'
1
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
6
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
7 def getCommands(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
8 from piecrust.commands.base import HelpCommand
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
9 from piecrust.commands.builtin.admin import AdministrationPanelCommand
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
10 from piecrust.commands.builtin.baking import (
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
11 BakeCommand, ShowRecordCommand)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
12 from piecrust.commands.builtin.info import (
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
13 RootCommand, ShowConfigCommand,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
14 FindCommand, ShowSourcesCommand, ShowRoutesCommand,
1134
986ecdaa2a36 url: New `url` command to get the URL of a page from its path.
Ludovic Chabant <ludovic@chabant.com>
parents: 1114
diff changeset
15 ShowPathsCommand, UrlCommand)
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
16 from piecrust.commands.builtin.plugins import PluginsCommand
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
17 from piecrust.commands.builtin.publishing import PublishCommand
1152
74c0c7483986 copyasset: Add `copyasset` command.
Ludovic Chabant <ludovic@chabant.com>
parents: 1134
diff changeset
18 from piecrust.commands.builtin.scaffolding import (
74c0c7483986 copyasset: Add `copyasset` command.
Ludovic Chabant <ludovic@chabant.com>
parents: 1134
diff changeset
19 PrepareCommand, CopyAssetCommand)
879
58ae026b4c31 chef: Optimize startup time.
Ludovic Chabant <ludovic@chabant.com>
parents: 854
diff changeset
20 from piecrust.commands.builtin.serving import ServeCommand
1114
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
21 from piecrust.commands.builtin.tasks import TasksCommand
879
58ae026b4c31 chef: Optimize startup time.
Ludovic Chabant <ludovic@chabant.com>
parents: 854
diff changeset
22 from piecrust.commands.builtin.themes import ThemesCommand
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
23 from piecrust.commands.builtin.util import (
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
24 InitCommand, PurgeCommand, ImportCommand)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
25
1
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
26 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
27 InitCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
28 ImportCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
29 HelpCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
30 RootCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
31 PurgeCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
32 ShowConfigCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
33 FindCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
34 PrepareCommand(),
1152
74c0c7483986 copyasset: Add `copyasset` command.
Ludovic Chabant <ludovic@chabant.com>
parents: 1134
diff changeset
35 CopyAssetCommand(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
36 ShowSourcesCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
37 ShowRoutesCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
38 ShowPathsCommand(),
1134
986ecdaa2a36 url: New `url` command to get the URL of a page from its path.
Ludovic Chabant <ludovic@chabant.com>
parents: 1114
diff changeset
39 UrlCommand(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
40 ThemesCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
41 PluginsCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
42 BakeCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
43 ShowRecordCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
44 ServeCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
45 AdministrationPanelCommand(),
1114
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
46 PublishCommand(),
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
47 TasksCommand()
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
48 ]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
49
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
50 def getCommandExtensions(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
51 from piecrust.commands.builtin.scaffolding import (
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
52 DefaultPrepareTemplatesCommandExtension,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
53 UserDefinedPrepareTemplatesCommandExtension,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
54 DefaultPrepareTemplatesHelpTopic)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
55
100
69d5eecfa449 Better `prepare` command, with templates and help topics.
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
56 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
57 DefaultPrepareTemplatesCommandExtension(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
58 UserDefinedPrepareTemplatesCommandExtension(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
59 DefaultPrepareTemplatesHelpTopic()]
1
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
60
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
61 def getSources(self):
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
62 from piecrust.sources.autoconfig import (
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
63 AutoConfigContentSource, OrderedContentSource)
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
64 from piecrust.sources.blogarchives import BlogArchivesSource
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
65 from piecrust.sources.default import DefaultContentSource
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
66 from piecrust.sources.fs import FSContentSource
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
67 from piecrust.sources.posts import (
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
68 FlatPostsSource, ShallowPostsSource, HierarchyPostsSource)
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
69 from piecrust.sources.prose import ProseSource
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
70 from piecrust.sources.taxonomy import TaxonomySource
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
71
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
72 return [
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
73 AutoConfigContentSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
74 BlogArchivesSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
75 DefaultContentSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
76 FSContentSource,
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
77 FlatPostsSource,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
78 HierarchyPostsSource,
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
79 OrderedContentSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
80 ProseSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
81 ShallowPostsSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
82 TaxonomySource]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
83
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
84 def getPipelines(self):
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
85 from piecrust.pipelines.page import PagePipeline
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
86 from piecrust.pipelines.asset import AssetPipeline
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
87 from piecrust.sources.taxonomy import TaxonomyPipeline
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
88 from piecrust.sources.blogarchives import BlogArchivesPipeline
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
89
711
ab5c6a8ae90a bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents: 694
diff changeset
90 return [
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
91 PagePipeline,
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
92 AssetPipeline,
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
93 TaxonomyPipeline,
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
94 BlogArchivesPipeline]
711
ab5c6a8ae90a bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents: 694
diff changeset
95
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
96 def getDataProviders(self):
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
97 from piecrust.dataproviders.pageiterator import \
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
98 PageIteratorDataProvider
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
99 from piecrust.dataproviders.blog import BlogDataProvider
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
100
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
101 return [
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
102 PageIteratorDataProvider,
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
103 BlogDataProvider]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
104
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
105 def getTemplateEngines(self):
1012
576f7ebcd9c0 templating: Add Inukshuk template engine.
Ludovic Chabant <ludovic@chabant.com>
parents: 885
diff changeset
106 from piecrust.templating.inukshukengine import InukshukTemplateEngine
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
107 from piecrust.templating.jinjaengine import JinjaTemplateEngine
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
108 from piecrust.templating.pystacheengine import PystacheTemplateEngine
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
109
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
110 return [
1012
576f7ebcd9c0 templating: Add Inukshuk template engine.
Ludovic Chabant <ludovic@chabant.com>
parents: 885
diff changeset
111 InukshukTemplateEngine(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
112 JinjaTemplateEngine(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
113 PystacheTemplateEngine()]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
114
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
115 def getFormatters(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
116 from piecrust.formatting.markdownformatter import MarkdownFormatter
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
117 from piecrust.formatting.textileformatter import TextileFormatter
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
118 from piecrust.formatting.smartypantsformatter import (
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
119 SmartyPantsFormatter)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
120
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
121 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
122 MarkdownFormatter(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
123 SmartyPantsFormatter(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
124 TextileFormatter()]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
125
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
126 def getProcessors(self):
1038
7487e2df8a56 bake: Add support for Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents: 1012
diff changeset
127 from piecrust.processing.browserify import BrowserifyProcessor
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
128 from piecrust.processing.compass import CompassProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
129 from piecrust.processing.compressors import (
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
130 CleanCssProcessor, UglifyJSProcessor)
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
131 from piecrust.processing.copy import CopyFileProcessor
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
132 from piecrust.processing.less import LessProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
133 from piecrust.processing.pygments_style import PygmentsStyleProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
134 from piecrust.processing.requirejs import RequireJSProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
135 from piecrust.processing.sass import SassProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
136 from piecrust.processing.sitemap import SitemapProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
137 from piecrust.processing.util import ConcatProcessor
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
138
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
139 return [
1038
7487e2df8a56 bake: Add support for Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents: 1012
diff changeset
140 BrowserifyProcessor(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
141 CopyFileProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
142 ConcatProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
143 PygmentsStyleProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
144 CompassProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
145 LessProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
146 SassProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
147 RequireJSProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
148 SitemapProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
149 CleanCssProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
150 UglifyJSProcessor()]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
151
60
6e60e0fef2be Add `import` command, Jekyll importer.
Ludovic Chabant <ludovic@chabant.com>
parents: 34
diff changeset
152 def getImporters(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
153 from piecrust.importing.jekyll import JekyllImporter
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
154 from piecrust.importing.piecrust import PieCrust1Importer
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
155 from piecrust.importing.wordpress import WordpressXmlImporter
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
156
60
6e60e0fef2be Add `import` command, Jekyll importer.
Ludovic Chabant <ludovic@chabant.com>
parents: 34
diff changeset
157 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
158 PieCrust1Importer(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
159 JekyllImporter(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
160 WordpressXmlImporter()]
60
6e60e0fef2be Add `import` command, Jekyll importer.
Ludovic Chabant <ludovic@chabant.com>
parents: 34
diff changeset
161
613
e2e955a3bb25 publish: Add publish command.
Ludovic Chabant <ludovic@chabant.com>
parents: 588
diff changeset
162 def getPublishers(self):
885
13e8b50a2113 publish: Fix publishers API and add a simple "copy" publisher.
Ludovic Chabant <ludovic@chabant.com>
parents: 879
diff changeset
163 from piecrust.publishing.copy import CopyPublisher
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
164 from piecrust.publishing.sftp import SftpPublisher
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
165 from piecrust.publishing.shell import ShellCommandPublisher
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
166 from piecrust.publishing.rsync import RsyncPublisher
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
167
613
e2e955a3bb25 publish: Add publish command.
Ludovic Chabant <ludovic@chabant.com>
parents: 588
diff changeset
168 return [
885
13e8b50a2113 publish: Fix publishers API and add a simple "copy" publisher.
Ludovic Chabant <ludovic@chabant.com>
parents: 879
diff changeset
169 CopyPublisher,
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
170 ShellCommandPublisher,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
171 SftpPublisher,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
172 RsyncPublisher]
613
e2e955a3bb25 publish: Add publish command.
Ludovic Chabant <ludovic@chabant.com>
parents: 588
diff changeset
173
1114
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
174 def getTaskRunners(self):
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
175 from piecrust.tasks.mentions import MentionTaskRunner
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
176
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
177 return [
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
178 MentionTaskRunner]