summaryrefslogtreecommitdiff
path: root/sphinx/writers/html.py
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2011-01-06 19:00:50 +0100
committerGeorg Brandl <georg@python.org>2011-01-06 19:00:50 +0100
commit0691cc7eb64e85cdbaacc56aa639b8841bfd5803 (patch)
treeb7a371ae619ac3bb4ed59b5e0e7c5df3ddbecae9 /sphinx/writers/html.py
parentf6959db125a2464c5198716735608b9be25352b3 (diff)
downloadsphinx-0691cc7eb64e85cdbaacc56aa639b8841bfd5803.tar.gz
#259: HTML table rows now have even/odd CSS classes to enable "Zebra styling".
Diffstat (limited to 'sphinx/writers/html.py')
-rw-r--r--sphinx/writers/html.py27
1 files changed, 27 insertions, 0 deletions
diff --git a/sphinx/writers/html.py b/sphinx/writers/html.py
index 57d7a7d5..f62b4e25 100644
--- a/sphinx/writers/html.py
+++ b/sphinx/writers/html.py
@@ -503,6 +503,33 @@ class HTMLTranslator(BaseTranslator):
BaseTranslator.depart_title(self, node)
+ # overwritten to add even/odd classes
+
+ def visit_table(self, node):
+ self._table_row_index = 0
+ return BaseTranslator.visit_table(self, node)
+
+ def visit_row(self, node):
+ self._table_row_index += 1
+ if self._table_row_index % 2 == 0:
+ node['classes'].append('row-even')
+ else:
+ node['classes'].append('row-odd')
+ self.body.append(self.starttag(node, 'tr', ''))
+ node.column = 0
+
+ def visit_field_list(self, node):
+ self._fieldlist_row_index = 0
+ return BaseTranslator.visit_field_list(self, node)
+
+ def visit_field(self, node):
+ self._fieldlist_row_index += 1
+ if self._fieldlist_row_index % 2 == 0:
+ node['classes'].append('field-even')
+ else:
+ node['classes'].append('field-odd')
+ self.body.append(self.starttag(node, 'tr', '', CLASS='field'))
+
def unknown_visit(self, node):
raise NotImplementedError('Unknown node: ' + node.__class__.__name__)