From: Nicolas R. <Nic...@in...> - 2014-05-25 19:27:05
|
Hi everybody, I'm trying to have a specific class for a row in a list table. While the parser seems happy with the following rst test, the "active" class does not make it to the <tr> tag (using the html parser). Any idea how to fix it ? .. list-table:: :widths: 50 50 :class: table * - # - Column heading * .. class:: active - 1 - Column content |
From: Guenter M. <mi...@us...> - 2014-05-26 11:54:32
|
On 2014-05-25, Nicolas Rougier wrote: > Hi everybody, > I'm trying to have a specific class for a row in a list table. While > the parser seems happy with the following rst test, the "active" class > does not make it to the <tr> tag (using the html parser). Actually, you are using the Docutils "rst" parser and the "html" writer. However, it seems the class argument does not make it to the Doctree (the internal representation after parsing), so the parser is to blame. > Any idea how to fix it ? You will need to fix the list-table directive adding some "class-pass-on" mechanism that transfers the class argument from a list to whatever becomes out of the list. See docutils/docutils/parsers/rst/directives/tables.py:353:class ListTable(Table): You may also have to fix the html writer to properly write the class argument, but this may also work out of the box... Günter |
From: Nicolas R. <Nic...@in...> - 2014-05-26 19:38:25
|
Thanks, just found how to do it: This line is responsible for "losing" the class table_node = self.build_table_from_list(table_data, col_widths, header_rows, stub_columns) Just replaced it by: table_node = self.build_table_from_list(node[0], col_widths, header_rows, stub_columns) and in build_table_from_list(): ... for row in table_data: row_node = nodes.row() row_node['classes'] = row[0]['classes'] for cell in row[0]: ... Is it worth a patch ? Nicolas On 26 May 2014, at 13:54, Guenter Milde <mi...@us...> wrote: > On 2014-05-25, Nicolas Rougier wrote: > > >> Hi everybody, > >> I'm trying to have a specific class for a row in a list table. While >> the parser seems happy with the following rst test, the "active" class >> does not make it to the <tr> tag (using the html parser). > > Actually, you are using the Docutils "rst" parser and the "html" writer. > > However, it seems the class argument does not make it to the Doctree (the > internal representation after parsing), so the parser is to blame. > >> Any idea how to fix it ? > > You will need to fix the list-table directive adding some "class-pass-on" > mechanism that transfers the class argument from a list to whatever > becomes out of the list. > > See docutils/docutils/parsers/rst/directives/tables.py:353:class ListTable(Table): > > You may also have to fix the html writer to properly write the class > argument, but this may also work out of the box... > > Günter > > > ------------------------------------------------------------------------------ > The best possible search technologies are now affordable for all companies. > Download your FREE open source Enterprise Search Engine today! > Our experts will assist you in its installation for $59/mo, no commitment. > Test it for FREE on our Cloud platform anytime! > http://pubads.g.doubleclick.net/gampad/clk?id=145328191&iu=/4140/ostg.clktrk > _______________________________________________ > Docutils-develop mailing list > Doc...@li... > https://lists.sourceforge.net/lists/listinfo/docutils-develop > > Please use "Reply All" to reply to the list. |
From: Guenter M. <mi...@us...> - 2014-06-03 14:30:22
|
Dear Nicolas, On 2014-05-26, Nicolas Rougier wrote: > This line is responsible for "losing" the class > table_node = self.build_table_from_list(table_data, col_widths, > header_rows, stub_columns) > Just replaced it by: > table_node = self.build_table_from_list(node[0], col_widths, > header_rows, stub_columns) > and in build_table_from_list(): > ... > for row in table_data: > row_node = nodes.row() > row_node['classes'] = row[0]['classes'] > for cell in row[0]: > ... > Is it worth a patch ? I think so. If the patch comes with a test case in docutils/test/test_writers/test_html4css1_misc.py and entry in HISTORY.txt, chances for fast inclusion are enhanced. Thank you for sharing, Günter |