Mercurial > piecrust2
annotate piecrust/processing/pygments_style.py @ 550:6f216c1ab6b1
bake: Add a flag to know which record entries got collapsed from last run.
This makes it possible to find entries for things that were actually baked
during the current run, as opposed to skipped because they were "clean".
author | Ludovic Chabant <ludovic@chabant.com> |
---|---|
date | Tue, 04 Aug 2015 21:22:30 -0700 |
parents | ee3fe63cc51d |
children | 727110ea112a |
rev | line source |
---|---|
507
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
1 import yaml |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
2 from pygments.formatters import HtmlFormatter |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
3 from piecrust.processing.base import SimpleFileProcessor |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
4 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
5 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
6 class PygmentsStyleProcessor(SimpleFileProcessor): |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
7 PROCESSOR_NAME = 'pygments_style' |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
8 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
9 def __init__(self): |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
10 super(PygmentsStyleProcessor, self).__init__({'pygstyle': 'css'}) |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
11 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
12 def _doProcess(self, in_path, out_path): |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
13 with open(in_path, 'r') as fp: |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
14 config = yaml.load(fp) |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
15 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
16 style_name = config.get('style', 'default') |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
17 class_name = config.get('class', '.highlight') |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
18 fmt = HtmlFormatter(style=style_name).get_style_defs(class_name) |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
19 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
20 with open(out_path, 'w') as fp: |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
21 fp.write(fmt) |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
22 |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
23 return True |
ee3fe63cc51d
bake: Add a processor to generate a Pygments style CSS file.
Ludovic Chabant <ludovic@chabant.com>
parents:
diff
changeset
|
24 |