annotate piecrust/plugins/builtin.py @ 1144:9f3e702a8a69

bake: Give unique source specs to each taxonomy or blog archive page. This prevents caching issues in some situations, leading to one tag page reusing the data from a previous tag page.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 05 Jun 2018 22:05:46 -0700
parents 986ecdaa2a36
children 74c0c7483986
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
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
18 from piecrust.commands.builtin.scaffolding import PrepareCommand
879
58ae026b4c31 chef: Optimize startup time.
Ludovic Chabant <ludovic@chabant.com>
parents: 854
diff changeset
19 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
20 from piecrust.commands.builtin.tasks import TasksCommand
879
58ae026b4c31 chef: Optimize startup time.
Ludovic Chabant <ludovic@chabant.com>
parents: 854
diff changeset
21 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
22 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
23 InitCommand, PurgeCommand, ImportCommand)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
24
1
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
25 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
26 InitCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
27 ImportCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
28 HelpCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
29 RootCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
30 PurgeCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
31 ShowConfigCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
32 FindCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
33 PrepareCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
34 ShowSourcesCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
35 ShowRoutesCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
36 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
37 UrlCommand(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
38 ThemesCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
39 PluginsCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
40 BakeCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
41 ShowRecordCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
42 ServeCommand(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
43 AdministrationPanelCommand(),
1114
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
44 PublishCommand(),
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
45 TasksCommand()
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
46 ]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
47
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
48 def getCommandExtensions(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
49 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
50 DefaultPrepareTemplatesCommandExtension,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
51 UserDefinedPrepareTemplatesCommandExtension,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
52 DefaultPrepareTemplatesHelpTopic)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
53
100
69d5eecfa449 Better `prepare` command, with templates and help topics.
Ludovic Chabant <ludovic@chabant.com>
parents: 76
diff changeset
54 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
55 DefaultPrepareTemplatesCommandExtension(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
56 UserDefinedPrepareTemplatesCommandExtension(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
57 DefaultPrepareTemplatesHelpTopic()]
1
aaa8fb7c8918 Re-arranged modules to reduce dependencies to builtin stuff.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff changeset
58
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
59 def getSources(self):
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
60 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
61 AutoConfigContentSource, OrderedContentSource)
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
62 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
63 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
64 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
65 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
66 FlatPostsSource, ShallowPostsSource, HierarchyPostsSource)
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.prose import ProseSource
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
68 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
69
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
70 return [
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
71 AutoConfigContentSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
72 BlogArchivesSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
73 DefaultContentSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
74 FSContentSource,
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
75 FlatPostsSource,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
76 HierarchyPostsSource,
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
77 OrderedContentSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
78 ProseSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
79 ShallowPostsSource,
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
80 TaxonomySource]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
81
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
82 def getPipelines(self):
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
83 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
84 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
85 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
86 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
87
711
ab5c6a8ae90a bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents: 694
diff changeset
88 return [
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
89 PagePipeline,
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
90 AssetPipeline,
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
91 TaxonomyPipeline,
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
92 BlogArchivesPipeline]
711
ab5c6a8ae90a bake: Replace hard-coded taxonomy support with "generator" system.
Ludovic Chabant <ludovic@chabant.com>
parents: 694
diff changeset
93
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
94 def getDataProviders(self):
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
95 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
96 PageIteratorDataProvider
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
97 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
98
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
99 return [
854
08e02c2a2a1a core: Keep refactoring, this time to prepare for generator sources.
Ludovic Chabant <ludovic@chabant.com>
parents: 852
diff changeset
100 PageIteratorDataProvider,
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
101 BlogDataProvider]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
102
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
103 def getTemplateEngines(self):
1012
576f7ebcd9c0 templating: Add Inukshuk template engine.
Ludovic Chabant <ludovic@chabant.com>
parents: 885
diff changeset
104 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
105 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
106 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
107
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
108 return [
1012
576f7ebcd9c0 templating: Add Inukshuk template engine.
Ludovic Chabant <ludovic@chabant.com>
parents: 885
diff changeset
109 InukshukTemplateEngine(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
110 JinjaTemplateEngine(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
111 PystacheTemplateEngine()]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
112
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
113 def getFormatters(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
114 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
115 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
116 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
117 SmartyPantsFormatter)
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
118
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
119 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
120 MarkdownFormatter(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
121 SmartyPantsFormatter(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
122 TextileFormatter()]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
123
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
124 def getProcessors(self):
1038
7487e2df8a56 bake: Add support for Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents: 1012
diff changeset
125 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
126 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
127 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
128 CleanCssProcessor, UglifyJSProcessor)
852
4850f8c21b6e core: Start of the big refactor for PieCrust 3.0.
Ludovic Chabant <ludovic@chabant.com>
parents: 823
diff changeset
129 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
130 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
131 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
132 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
133 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
134 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
135 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
136
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
137 return [
1038
7487e2df8a56 bake: Add support for Browserify.
Ludovic Chabant <ludovic@chabant.com>
parents: 1012
diff changeset
138 BrowserifyProcessor(),
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
139 CopyFileProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
140 ConcatProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
141 PygmentsStyleProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
142 CompassProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
143 LessProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
144 SassProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
145 RequireJSProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
146 SitemapProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
147 CleanCssProcessor(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
148 UglifyJSProcessor()]
3
f485ba500df3 Gigantic change to basically make PieCrust 2 vaguely functional.
Ludovic Chabant <ludovic@chabant.com>
parents: 1
diff changeset
149
60
6e60e0fef2be Add `import` command, Jekyll importer.
Ludovic Chabant <ludovic@chabant.com>
parents: 34
diff changeset
150 def getImporters(self):
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
151 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
152 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
153 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
154
60
6e60e0fef2be Add `import` command, Jekyll importer.
Ludovic Chabant <ludovic@chabant.com>
parents: 34
diff changeset
155 return [
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
156 PieCrust1Importer(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
157 JekyllImporter(),
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
158 WordpressXmlImporter()]
60
6e60e0fef2be Add `import` command, Jekyll importer.
Ludovic Chabant <ludovic@chabant.com>
parents: 34
diff changeset
159
613
e2e955a3bb25 publish: Add publish command.
Ludovic Chabant <ludovic@chabant.com>
parents: 588
diff changeset
160 def getPublishers(self):
885
13e8b50a2113 publish: Fix publishers API and add a simple "copy" publisher.
Ludovic Chabant <ludovic@chabant.com>
parents: 879
diff changeset
161 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
162 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
163 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
164 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
165
613
e2e955a3bb25 publish: Add publish command.
Ludovic Chabant <ludovic@chabant.com>
parents: 588
diff changeset
166 return [
885
13e8b50a2113 publish: Fix publishers API and add a simple "copy" publisher.
Ludovic Chabant <ludovic@chabant.com>
parents: 879
diff changeset
167 CopyPublisher,
823
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
168 ShellCommandPublisher,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
169 SftpPublisher,
ad12a942cadd internal: Import things in the builtin plugin only when needed.
Ludovic Chabant <ludovic@chabant.com>
parents: 758
diff changeset
170 RsyncPublisher]
613
e2e955a3bb25 publish: Add publish command.
Ludovic Chabant <ludovic@chabant.com>
parents: 588
diff changeset
171
1114
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
172 def getTaskRunners(self):
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
173 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
174
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
175 return [
8af2ea1f5c34 tasks: Add new `tasks` command and infrastructure, with `mention` task.
Ludovic Chabant <ludovic@chabant.com>
parents: 1061
diff changeset
176 MentionTaskRunner]