|
46 | 46 | has_rst2html5 = False
|
47 | 47 |
|
48 | 48 | from nikola.plugin_categories import PageCompiler
|
49 |
| -from nikola.utils import get_logger, makedirs, req_missing, write_metadata |
| 49 | +from nikola.utils import unicode_str, get_logger, makedirs, write_metadata, STDERR_HANDLER |
50 | 50 |
|
51 | 51 |
|
52 | 52 | class CompileRestHTML5(PageCompiler):
|
@@ -135,22 +135,25 @@ def create_post(self, path, **kw):
|
135 | 135 | fd.write(content)
|
136 | 136 |
|
137 | 137 | def set_site(self, site):
|
| 138 | + """Set Nikola site.""" |
| 139 | + super(CompileRestHTML5, self).set_site(site) |
138 | 140 | self.config_dependencies = []
|
139 |
| - for plugin_info in site.plugin_manager.getPluginsOfCategory("RestExtension"): |
140 |
| - if plugin_info.name in site.config['DISABLED_PLUGINS']: |
141 |
| - site.plugin_manager.removePluginFromCategory(plugin_info, "RestExtension") |
142 |
| - continue |
143 |
| - |
144 |
| - site.plugin_manager.activatePluginByName(plugin_info.name) |
| 141 | + for plugin_info in self.get_compiler_extensions(): |
145 | 142 | self.config_dependencies.append(plugin_info.name)
|
146 |
| - plugin_info.plugin_object.set_site(site) |
147 | 143 | plugin_info.plugin_object.short_help = plugin_info.description
|
148 | 144 |
|
149 |
| - self.logger = get_logger('compile_rest', site.loghandlers) |
| 145 | + self.logger = get_logger('compile_rest', STDERR_HANDLER) |
150 | 146 | if not site.debug:
|
151 | 147 | self.logger.level = 4
|
152 | 148 |
|
153 |
| - return super(CompileRestHTML5, self).set_site(site) |
| 149 | + def get_compiler_extensions(self): |
| 150 | + """This plugin uses rest compiler extensions.""" |
| 151 | + plugins = [] |
| 152 | + for plugin_info in self.site.compiler_extensions: |
| 153 | + if plugin_info.plugin_object.compiler_name == 'rest': |
| 154 | + plugins.append(plugin_info) |
| 155 | + return plugins |
| 156 | + |
154 | 157 |
|
155 | 158 |
|
156 | 159 | def get_observer(settings):
|
|
0 commit comments