annotate piecrust/plugins/builtin.py @ 1145:e94737572542

serve: Fix an issue where false positive matches were rendered as the requested page. Now we try to render the page, but also try to detect for the most common "empty" pages.
author Ludovic Chabant <ludovic@chabant.com>
date Tue, 05 Jun 2018 22:08:51 -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]