Mercurial > piecrust2
annotate piecrust/plugins/builtin.py @ 1188:a7c43131d871
bake: Fix file write flushing problem with Python 3.8+
Writing the cache files fails in Python 3.8 because it looks like flushing
behaviour has changed. We need to explicitly flush. And even then, in very
rare occurrences, it looks like it can still run into racing conditions,
so we do a very hacky and ugly "retry" loop when fetching cached data :(
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 15 Jun 2021 22:36:23 -0700 |
parents | 74c0c7483986 |
children |
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] |