mirror of
https://github.com/plankanban/planka.git
synced 2025-12-27 09:14:59 +03:00
27
client/src/utils/markdown-to-text.js
Normal file
27
client/src/utils/markdown-to-text.js
Normal file
@@ -0,0 +1,27 @@
|
||||
/*!
|
||||
* Copyright (c) 2024 PLANKA Software GmbH
|
||||
* Licensed under the Fair Use License: https://github.com/plankanban/planka/blob/master/LICENSE.md
|
||||
*/
|
||||
|
||||
import transform from '@diplodoc/transform';
|
||||
|
||||
import plugins from '../configs/markdown-plugins';
|
||||
|
||||
export default (markdown) => {
|
||||
const tokens = transform(markdown, {
|
||||
plugins,
|
||||
tokens: true,
|
||||
});
|
||||
|
||||
return tokens
|
||||
.flatMap((token) => {
|
||||
if (!token.children) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return token.children
|
||||
.flatMap((childrenToken) => (childrenToken.type === 'text' ? childrenToken.content : []))
|
||||
.join('');
|
||||
})
|
||||
.join('\n');
|
||||
};
|
||||
Reference in New Issue
Block a user