Mercurial > piecrust2
comparison piecrust/plugins/builtin.py @ 852:4850f8c21b6e
core: Start of the big refactor for PieCrust 3.0.
* Everything is a `ContentSource`, including assets directories.
* Most content sources are subclasses of the base file-system source.
* A source is processed by a "pipeline", and there are 2 built-in pipelines,
one for assets and one for pages. The asset pipeline is vaguely functional,
but the page pipeline is completely broken right now.
* Rewrite the baking process as just running appropriate pipelines on each
content item. This should allow for better parallelization.
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Wed, 17 May 2017 00:11:48 -0700 |
parents | ad12a942cadd |
children | 08e02c2a2a1a |
comparison
equal
deleted
inserted
replaced
851:2c7e57d80bba | 852:4850f8c21b6e |
---|---|
51 DefaultPrepareTemplatesCommandExtension(), | 51 DefaultPrepareTemplatesCommandExtension(), |
52 UserDefinedPrepareTemplatesCommandExtension(), | 52 UserDefinedPrepareTemplatesCommandExtension(), |
53 DefaultPrepareTemplatesHelpTopic()] | 53 DefaultPrepareTemplatesHelpTopic()] |
54 | 54 |
55 def getSources(self): | 55 def getSources(self): |
56 from piecrust.sources.default import DefaultPageSource | 56 from piecrust.sources.autoconfig import ( |
57 AutoConfigContentSource, OrderedContentSource) | |
58 from piecrust.sources.blogarchives import BlogArchivesSource | |
59 from piecrust.sources.default import DefaultContentSource | |
60 from piecrust.sources.fs import FSContentSource | |
57 from piecrust.sources.posts import ( | 61 from piecrust.sources.posts import ( |
58 FlatPostsSource, ShallowPostsSource, HierarchyPostsSource) | 62 FlatPostsSource, ShallowPostsSource, HierarchyPostsSource) |
59 from piecrust.sources.autoconfig import ( | |
60 AutoConfigSource, OrderedPageSource) | |
61 from piecrust.sources.prose import ProseSource | 63 from piecrust.sources.prose import ProseSource |
64 from piecrust.sources.taxonomy import TaxonomySource | |
62 | 65 |
63 return [ | 66 return [ |
64 DefaultPageSource, | 67 AutoConfigContentSource, |
68 BlogArchivesSource, | |
69 DefaultContentSource, | |
70 FSContentSource, | |
65 FlatPostsSource, | 71 FlatPostsSource, |
72 HierarchyPostsSource, | |
73 OrderedContentSource, | |
74 ProseSource, | |
66 ShallowPostsSource, | 75 ShallowPostsSource, |
67 HierarchyPostsSource, | 76 TaxonomySource] |
68 AutoConfigSource, | |
69 OrderedPageSource, | |
70 ProseSource] | |
71 | 77 |
72 def getPageGenerators(self): | 78 def getPipelines(self): |
73 from piecrust.generation.blogarchives import BlogArchivesPageGenerator | 79 from piecrust.pipelines.page import PagePipeline |
74 from piecrust.generation.taxonomy import TaxonomyPageGenerator | 80 from piecrust.pipelines.asset import AssetPipeline |
75 | 81 |
76 return [ | 82 return [ |
77 TaxonomyPageGenerator, | 83 PagePipeline, |
78 BlogArchivesPageGenerator] | 84 AssetPipeline] |
79 | 85 |
80 def getDataProviders(self): | 86 def getDataProviders(self): |
81 from piecrust.data.provider import ( | 87 from piecrust.data.provider import ( |
82 IteratorDataProvider, BlogDataProvider) | 88 IteratorDataProvider, BlogDataProvider) |
83 | 89 |
105 MarkdownFormatter(), | 111 MarkdownFormatter(), |
106 SmartyPantsFormatter(), | 112 SmartyPantsFormatter(), |
107 TextileFormatter()] | 113 TextileFormatter()] |
108 | 114 |
109 def getProcessors(self): | 115 def getProcessors(self): |
110 from piecrust.processing.base import CopyFileProcessor | |
111 from piecrust.processing.compass import CompassProcessor | 116 from piecrust.processing.compass import CompassProcessor |
112 from piecrust.processing.compressors import ( | 117 from piecrust.processing.compressors import ( |
113 CleanCssProcessor, UglifyJSProcessor) | 118 CleanCssProcessor, UglifyJSProcessor) |
119 from piecrust.processing.copy import CopyFileProcessor | |
114 from piecrust.processing.less import LessProcessor | 120 from piecrust.processing.less import LessProcessor |
115 from piecrust.processing.pygments_style import PygmentsStyleProcessor | 121 from piecrust.processing.pygments_style import PygmentsStyleProcessor |
116 from piecrust.processing.requirejs import RequireJSProcessor | 122 from piecrust.processing.requirejs import RequireJSProcessor |
117 from piecrust.processing.sass import SassProcessor | 123 from piecrust.processing.sass import SassProcessor |
118 from piecrust.processing.sitemap import SitemapProcessor | 124 from piecrust.processing.sitemap import SitemapProcessor |