This pelican plugin modifies article and page html to use bootstrap's default classes. This is especially handy if you want to write tables in markdown, since the attr_list extension does not play nice with tables.
- Beautifulsoup4 - install via
pip install beautifulsoup4
- Adds
table table-stripedto all<table>elements. - Adds
img-fluidto all<img>elements. - Use
BOOTSTRAPIFYin your Pelican configuration file to pass a{'css-selector': ['list-of-classes']}dictionary to the plugin. Bootstrapify will appendlist-of-classesto all tags that matchcss-selector. The selector can be as simple as a tag name (tableorp) or as complicated asa.menu:nth-of-type(3)(see the Beautifulsoup4 documentation).
- Write your table in markdown
| Protocol | Contact Information
|:-------------- |:-----------------------------------------------------|
| jabber/xmpp | [winlu@jabber.at](winlu@jabber.at) |
| email | [derwinlu@gmail.com](mailto:derwinlu@gmail.com) |
| IRC - freenode | winlu |- there is no step 2, the plugin adds the needed classes to the
<table>node, resulting in the following output:
<table class="table table-striped table-hover">
<thead>
<tr>
<th align="left">Protocol</th>
<th align="left">Contact Information</th>
</tr>
</thead>
<tbody>
<tr>
<td align="left">jabber/xmpp</td>
<td align="left"><a href="winlu@jabber.at">winlu@jabber.at</a></td>
</tr>
<tr>
<td align="left">email</td>
<td align="left"><a href="mailto:derwinlu@gmail.com">derwinlu@gmail.com</a></td>
</tr>
<tr>
<td align="left"><span class="caps">IRC</span> - freenode</td>
<td align="left">winlu</td>
</tr>
</tbody>
</table>- plugin seems not to fire for drafts
- not enough customization possible, maybe read article,page metadata for more options