diff options
| author | 2014-03-09 03:14:40 +0100 | |
|---|---|---|
| committer | 2014-03-09 03:14:40 +0100 | |
| commit | fa50632a9d87c3989566fed3e49c160a132e0d14 (patch) | |
| tree | 81f58cc0dcfbb34710856b59c034bc47c53d91dc /nikola/plugins/compile/rest/listing.py | |
| parent | 2828399ba5cbb14502b023d4de1ba02f13dd5055 (diff) | |
Imported Upstream version 6.4.0upstream/6.4.0
Diffstat (limited to 'nikola/plugins/compile/rest/listing.py')
| -rw-r--r-- | nikola/plugins/compile/rest/listing.py | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/nikola/plugins/compile/rest/listing.py b/nikola/plugins/compile/rest/listing.py index ecf885f..d70e02d 100644 --- a/nikola/plugins/compile/rest/listing.py +++ b/nikola/plugins/compile/rest/listing.py @@ -56,6 +56,18 @@ except ImportError: # docutils < 0.9 (Debian Sid For The Loss) from nikola.plugin_categories import RestExtension +# Add sphinx compatibility option +CodeBlock.option_spec['linenos'] = directives.unchanged + + +class FlexibleCodeBlock(CodeBlock): + + def run(self): + if 'linenos' in self.options: + self.options['number-lines'] = self.options['linenos'] + return super(FlexibleCodeBlock, self).run() +CodeBlock = FlexibleCodeBlock + class Plugin(RestExtension): @@ -71,6 +83,10 @@ class Plugin(RestExtension): directives.register_directive('listing', Listing) return super(Plugin, self).set_site(site) +# Add sphinx compatibility option +listing_spec = Include.option_spec +listing_spec['linenos'] = directives.unchanged + class Listing(Include): """ listing directive: create a highlighted block of code from a file in listings/ @@ -84,6 +100,7 @@ class Listing(Include): has_content = False required_arguments = 1 optional_arguments = 1 + option_spec = listing_spec def run(self): fname = self.arguments.pop(0) @@ -91,6 +108,8 @@ class Listing(Include): fpath = os.path.join('listings', fname) self.arguments.insert(0, fpath) self.options['code'] = lang + if 'linenos' in self.options: + self.options['number-lines'] = self.options['linenos'] with codecs_open(fpath, 'rb+', 'utf8') as fileobject: self.content = fileobject.read().splitlines() self.state.document.settings.record_dependencies.add(fpath) |
