1
0
mirror of https://github.com/laurent22/joplin.git synced 2024-12-21 09:38:01 +02:00
joplin/packages/turndown-plugin-gfm
wljince007 c7e3a31ed8
Desktop: Make table in HTML format horizontally scrollable (#11198)
Co-authored-by: Laurent Cozic <laurent22@users.noreply.github.com>
2024-12-13 13:57:23 +01:00
..
config Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
src Desktop: Make table in HTML format horizontally scrollable (#11198) 2024-12-13 13:57:23 +01:00
test Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
.gitignore Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
.travis.yml Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
build_for_test.sh Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
LICENSE Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
package.json Releasing sub-packages 2024-12-12 16:40:09 +01:00
publish.sh Clipper: Fixes #4105: Handle certain types of code block 2020-12-02 15:43:44 +00:00
README.md add typecript information regarding turndown-plugin-gfm (#11153) 2024-10-11 22:14:05 +01:00

turndown-plugin-gfm

A Turndown plugin which adds GitHub Flavored Markdown extensions.

This is a fork of the original turndown-plugin-gfm for use with Joplin. The changes are:

  • New: Always render tables even if they don't have a header.
  • New: Don't render the border of tables that contain other tables (frequent for websites that do the layout using tables). Only render the inner tables, if any, and if they also don't contain other tables.
  • New: Replace newlines (\n) with <br> inside table cells so that multi-line content is displayed correctly as Markdown.
  • New: Table cells are at least three characters long (padded with spaces) so that they render correctly in GFM-compliant renderers.
  • New: Handle colspan in TD tags
  • Fixed: Ensure there are no blank lines inside tables (due for example to an empty <tr> tag)
  • Fixed: Fixed importing tables that contain pipes.

Installation

npm:

npm install @joplin/turndown-plugin-gfm

Usage

// For Node.js
var TurndownService = require('@joplin/turndown')
var turndownPluginGfm = require('@joplin/turndown-plugin-gfm')

var gfm = turndownPluginGfm.gfm
var turndownService = new TurndownService()
turndownService.use(gfm)
var markdown = turndownService.turndown('<strike>Hello world!</strike>')

turndown-plugin-gfm is a suite of plugins which can be applied individually. The available plugins are as follows:

  • strikethrough (for converting <strike>, <s>, and <del> elements)
  • tables
  • taskListItems
  • gfm (which applies all of the above)

So for example, if you only wish to convert tables:

var tables = require('@joplin/turndown-plugin-gfm').tables
var turndownService = new TurndownService()
turndownService.use(tables)

Typescript

To use this in a typescript project, add this to a declarations.d.ts file, as described in https://www.npmjs.com/package/@joplin/turndown, and then add:

declare module "@joplin/turndown-plugin-gfm" {
  export const gfm: any;
  // Add other named exports if necessary
}

License

turndown-plugin-gfm is copyright © 2017+ Dom Christie and released under the MIT license.