Skip to content

Instantly share code, notes, and snippets.

@shimizukawa shimizukawa/
Last active Aug 25, 2017

What would you like to do?
Sphinx column directive extension コラムディレクティブ拡張 for sphinx-1.6 or later LICENSE: CC BY
# -- directive/role definition ------------------------------------------------>
from docutils.parsers.rst.directives.admonitions import BaseAdmonition
from docutils import nodes
class NamedNoteDirective(BaseAdmonition):
node_class = nodes.admonition
css_class = 'note'
#required_arguments = 1
required_arguments = 0
optional_arguments = 1
def run(self):
title = u''
if self.arguments:
title += self.arguments[0]
if 'class' in self.options:
self.options['class'] = [self.css_class]
node = self.node_class('\n'.join(self.content))
node += nodes.title(title, title)
node['classes'] += self.options['class']
node['name'] =
self.state.nested_parse(self.content, self.content_offset, node)
return [node]
class ColumnDirective(NamedNoteDirective):
css_class = 'column'
def setup(app):
app.add_directive('column', ColumnDirective)
div.column {
background-color: #eee;
border: 1px solid #ccc;
.. reStructuredText sample
Sphinx column directive extension: usage
.. column:: this is column title
tihs is column body.
If you want to use this with older sphinx, please refer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.