Transform deprecated styling attributes on HAST table cells to inline styles


200.2.04 months ago3 years agoMinified + gzip package size for @mapbox/hast-util-table-cell-style in KB



Build Status

Transform deprecated styling attributes on HAST table cells to inline styles.


HAST is the abstract syntax (AST) tree representing HTML that rehype uses.

If you use remark to process Markdown as GitHub Flavored Markdown, you may find that your table cell elements end up with align attributes. However, align on these elements was deprecated in HTML5: the suggestion is to use a style attribute that sets text-align, instead.

This matters because more recent syntaxes might altogether ignore align or other deprecated styling attributes. React, for example, does not support align attributes; so if you try to transform Markdown to React elements, you'll lose your align values. (remark-react had to confront this issue.)

This simple utility transforms the following deprecated styling attributes on <td>, <th>, and <tr> elements to equivalent inline styles:

  • align
  • valign
  • width
  • height


npm install @mapbox/hast-util-table-cell-style


const tableCellStyle = require('@mapbox/hast-util-table-cell-style');

// Use rehype to get an AST.
const transformed = tableCellStyle(ast);

Mutates the HAST AST you pass in, and returns it.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.