📜  whatsapp 组的文本模式生成器 (1)

📅  最后修改于: 2023-12-03 15:21:08.620000             🧑  作者: Mango

WhatsApp 组的文本模式生成器

简介

WhatsApp 组的文本模式生成器是一个用于生成 WhatsApp 组的 Markdown 文本的工具。该工具可以帮助程序员快速生成包含代码块、引用、图像等丰富文本的 WhatsApp 组消息。

特点
  • 快速生成 Markdown 文本;
  • 支持代码块、引用、图像等丰富文本;
  • 自动生成代码片段;
  • 支持自定义主题。
使用方法

该工具可以通过以下方式使用:

安装

你可以通过以下命令在你的项目中安装 WhatsApp 组的文本模式生成器:

npm install whatsapp-group-text-generator --save
引入

在需要使用 WhatsApp 组的文本模式生成器的文件中,可以按如下方式引入:

const WhatsAppGenerator = require('whatsapp-group-text-generator');
const generator = new WhatsAppGenerator();
生成 WhatsApp 组文本
const message = generator.generate({
    title: '代码片段示例',
    description: '下面是一段代码片段',
    code: {
        language: 'javascript',
        content: 'console.log(\'Hello World\');'
    }
});
console.log(message);
生成的 Markdown 文本
## 代码片段示例

下面是一段代码片段

```javascript
console.log('Hello World');

## 自定义主题

该生成器支持自定义主题,以下是一个自定义主题的示例:

```javascript
const theme = {
    title: {
        font: '28px Arial',
        color: '#f00',
        margin: '20px 0'
    },
    code: {
        background: '#ddd',
        padding: '5px',
        color: '#333',
        margin: '10px 0'
    }
};

const generator = new WhatsAppGenerator(theme);
代码片段:
class WhatsAppGenerator {
    constructor(theme = {}) {
        this.theme = {
            title: {
                font: '20px Arial',
                color: '#000',
                margin: '20px 0'
            },
            code: {
                background: '#eee',
                padding: '5px',
                color: '#333',
                margin: '10px 0'
            },
            ...theme
        };
    }

    _renderTitle(title) {
        const { font, color, margin } = this.theme.title;

        return `## <span style="font: ${font}; color: ${color}; margin: ${margin};">${title}</span>\n\n`;
    }

    _renderDescription(description) {
        if (!description) {
            return '';
        }

        return `${description}\n\n`
    }

    _renderCode(code) {
        if (!code) {
            return '';
        }

        const { background, padding, color, margin } = this.theme.code;

        return `\`\`\`${code.language}\n`
            + `${code.content}\n`
            + `\`\`\`\n\n`;
    }

    generate({ title, description, code }) {
        let message = '';
        message += this._renderTitle(title);
        message += this._renderDescription(description);
        message += this._renderCode(code);

        return message;
    }
}

const theme = {
    title: {
        font: '28px Arial',
        color: '#f00',
        margin: '20px 0'
    },
    code: {
        background: '#ddd',
        padding: '5px',
        color: '#333',
        margin: '10px 0'
    }
};

const generator = new WhatsAppGenerator(theme);
const message = generator.generate({
    title: '代码片段示例',
    description: '下面是一段代码片段',
    code: {
        language: 'javascript',
        content: 'console.log(\'Hello World\');'
    }
});
console.log(message);