A JSX lexer for Pygments
Project description
A JSX lexer for Pygments
Installation
$ pip install jsx-lexer
Usage with Sphinx
To use within Sphinx, simply specify jsx for your code-block:
.. code-block:: jsx const BlogTitle = ({ children }) => ( <h3>{children}</h3> ); // class component class BlogPost extends React.Component { renderTitle(title) { return <BlogTitle>{title}</BlogTitle> }; render() { return ( <div className="blog-body"> {this.renderTitle(this.props.title)} <p>{this.props.body}</p> </div> ); } }
Usage with mkdocs
First, you need to create the CSS for the highlighting:
$ pygmentize -S default -f html -a .codehilite > code/pygments.css
Then, add the following to your mkdocs.yml:
markdown_extensions:
- codehilite
extra_css: [pygments.css]
Now, you can use jsx in your code blocks:
```jsx const BlogTitle = ({ children }) => ( <h3>{children}</h3> ); // class component class BlogPost extends React.Component { renderTitle(title) { return <BlogTitle>{title}</BlogTitle> }; render() { return ( <div className="blog-body"> {this.renderTitle(this.props.title)} <p>{this.props.body}</p> </div> ); } } ```
Usage with Overleaf
First, add the minted package in your main file:
\usepackage{minted}
Then, download the lexer.py file from this project, and place it in your root folder in Overleaf.
Now, you can use {lexer.py:JsxLexer -x} in front of your minted code blocks:
\begin{minted}{lexer.py:JsxLexer -x}
const BlogTitle = ({ children }) => (
<h3>{children}</h3>
);
// class component
class BlogPost extends React.Component {
renderTitle(title) {
return <BlogTitle>{title}</BlogTitle>
};
render() {
return (
<div className="blog-body">
{this.renderTitle(this.props.title)}
<p>{this.props.body}</p>
</div>
);
}
}
\end{minted}
You can find an example of the lexer in use on Overleaf here: https://www.overleaf.com/read/xvsytqzkvdjb
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
jsx-lexer-2.0.0.tar.gz
(3.7 kB
view hashes)
Built Distribution
Close
Hashes for jsx_lexer-2.0.0-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bff51c2a2faa2c682cbc9a0f360b8c65e4153eb1df06988e8dad34373d3f9995 |
|
MD5 | b3aab8f1acef88a101ac74d2f8a930ae |
|
BLAKE2b-256 | 47211cc5356dafeb424f9aab2c7e3ab2941b0dfe379c83eb0f00dd4faed584c6 |