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 |
