How to use the simple-markdown.defaultRules.text function in simple-markdown

To help you get started, we’ve selected a few simple-markdown examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github deltachat / deltachat-desktop / src / renderer / components / message / MessageMarkdown.js View on Github external
//     match: anyScopeRegex(rule.match.regex)
//   })
// }

// function ignoreScopeAssign (rule, order, object = {}) {
//   return ignoreScope(assign(rule, order, object))
// }

const previewRules = {
  Array: defaultRules.Array,
  // strong: ignoreScopeAssign(defaultRules.strong, 1), // bold
  // em: ignoreScopeAssign(defaultRules.em, 1), // italics
  // ubold: assign(ignoreScope(defaultRules.u), 2, { react: defaultRules.strong.react }),
  // del: ignoreScopeAssign(defaultRules.del, 3),
  // inlineCode: ignoreScopeAssign(defaultRules.inlineCode, 12),
  text: assign(defaultRules.text, 100)
}
const rules = Object.assign({
  // new mailto (open chat in dc?)
  // blockQuote ? (requires css; could be used for replies)
  // mentions? (this component requires somekind of access to the chat memberlist)
  // codeBlock: assign(defaultRules.codeBlock, 11, {
  //   react: function (node, output, state) {
  //     var className = node.lang
  //       ? 'markdown-code markdown-code-' + node.lang
  //       : undefined
  //     // code with syntax highlighting (?)
  //     return <code>
  //       {node.content}
  //     </code>
  //   }
  // }),
github jaylineko / discohook / src / markup / parseMarkup.tsx View on Github external
},
  autolink: {
    ...defaultRules.autolink,
    match: anyScopeRegex(/^&lt;(https?:\/\/[^ &gt;]+)&gt;/),
  },
  url: defaultRules.url,
  strong: defaultRules.strong,
  em: defaultRules.em,
  underline: defaultRules.u,
  inlineCode: {
    ...defaultRules.inlineCode,
    react: (node, _, state) =&gt; <code>{node.content}</code>,
  },
  shrug: {
    // Edge case for shrug emoji getting parsed as markup.
    order: defaultRules.text.order,
    match: inlineRegex(/^¯\\_\(ツ\)_\/¯/),
    parse: capture =&gt; ({
      type: "text",
      content: capture[0],
    }),
    react: null,
  },
  emoji: {
    order: defaultRules.text.order,
    match: inlineRegex(/^:([^\s:]+?(?:::skin-tone-\d)?):/),
    parse: capture =&gt;
      nameToEmoji.has(capture[1])
        ? {
            name: capture[1],
            surrogate: nameToEmoji.get(capture[1]),
            src: getEmojiUrl(nameToEmoji.get(capture[1]) ?? ""),
github jaylineko / discohook / src / markup / parseMarkup.tsx View on Github external
}),
    react: (node, _, state) =&gt; (
      {node.content}
    ),
  },
  roleMention: {
    order: defaultRules.text.order,
    match: inlineRegex(/^&lt;@&amp;\d+&gt;/),
    parse: () =&gt; ({
      type: "mention",
      content: "@unknown-role",
    }),
    react: null,
  },
  channelMention: {
    order: defaultRules.text.order,
    match: inlineRegex(/^&lt;#\d+&gt;/),
    parse: () =&gt; ({
      type: "mention",
      content: "#unknown-channel",
    }),
    react: null,
  },
}

const parseInline = parserFor(inlineRules, { inline: true })
const parseBlock = parserFor(blockRules, { inline: true })
const reactOutput = outputFor({ ...inlineRules, ...blockRules }, "react")

const ellipsize = (text: string, length: number) =&gt; {
  const shortenedText = text.replace(/\s+/g, " ")
  return shortenedText.length &lt;= length