mirror of
https://activitypub.software/TransFem-org/sfm-js
synced 2024-11-21 21:55:09 +00:00
wip
This commit is contained in:
parent
9099f54bde
commit
1a6f927b83
1 changed files with 66 additions and 0 deletions
66
src/index.ts
66
src/index.ts
|
@ -12,6 +12,72 @@ export function parsePlain(input: string): MfmNode[] {
|
|||
return nodes;
|
||||
}
|
||||
|
||||
function nodeStringify(node: MfmNode): string {
|
||||
switch(node.type) {
|
||||
// block
|
||||
case 'quote': {
|
||||
return toString(node.children).split('\n').map(line => `>${line}`).join('\n');
|
||||
}
|
||||
case 'search': {
|
||||
break;
|
||||
}
|
||||
case 'blockCode': {
|
||||
break;
|
||||
}
|
||||
case 'mathBlock': {
|
||||
break;
|
||||
}
|
||||
case 'center': {
|
||||
break;
|
||||
}
|
||||
// inline
|
||||
case 'emoji': {
|
||||
break;
|
||||
}
|
||||
case 'bold': {
|
||||
break;
|
||||
}
|
||||
case 'small': {
|
||||
break;
|
||||
}
|
||||
case 'italic': {
|
||||
break;
|
||||
}
|
||||
case 'strike': {
|
||||
break;
|
||||
}
|
||||
case 'inlineCode': {
|
||||
break;
|
||||
}
|
||||
case 'mathInline': {
|
||||
break;
|
||||
}
|
||||
case 'mention': {
|
||||
break;
|
||||
}
|
||||
case 'hashtag': {
|
||||
break;
|
||||
}
|
||||
case 'url': {
|
||||
break;
|
||||
}
|
||||
case 'link': {
|
||||
break;
|
||||
}
|
||||
case 'fn': {
|
||||
break;
|
||||
}
|
||||
case 'text': {
|
||||
return node.props.text;
|
||||
}
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
export function toString(nodes: MfmNode[]): string {
|
||||
return nodes.map(node => nodeStringify(node)).join('');
|
||||
}
|
||||
|
||||
export {
|
||||
MfmNode,
|
||||
MfmBlock,
|
||||
|
|
Loading…
Reference in a new issue