【条件样式】 以自定义内容为开头或者是结尾的特殊句子样式

加佳 2022-2-22 796

本来是一个需求贴,hardy回答了就改成心得帖吧

代码用JS安装

代码看hardy的回复

 

快速回复
最新回复 (3)
  • Hardy 2022-2-24
    0 2
    NHook.add({
    	after_nodeView_parseOriText(parsing) {
            // 颜色
            const patterns = {
                // 绿色
                "#5cb85c": [
                    /^Re_\d+/i,   // 以 Re_数字 开始
                    /^!.+/,        //以感叹号开始整句标绿
                    /warning$/,         //以 warning 结尾
                ],
                            
                // 红色
                "#d9534f": [
                    /^试一试/,    // 以“试一试”为开始
                ]
            };
            
            Object.entries(patterns).forEach(([color, regs]) => {
            	regs.forEach(reg => {
                    parsing = parsing.replace(reg, `<span style='color:${color}'>$&</span>`)
                });
            });
           
        	return parsing;
        }
    });

     

    请按照自己的需要, 修改以上的颜色以及需要设置颜色的字符, 上面用的是正则表达式, 如果不懂得正则表达式, 就简单地使用两个斜杆将要加颜色的文字括起来就行, 如: /关键词/

    效果如下图:

     

     

  • 加佳 2022-2-24
    0 3
    谢谢hardy!!
  • ddwewe 2022-2-25
    0 4

    正好有用,感谢。在每日写东西时会记录时间点和时长,在这个代码基础上试着改了下,可以呈现下面的效果。

    /********************************************
    /**
     * @title 局部字体颜色加颜色
     * @author hardy
     */
    NHook.add({
     after_nodeView_parseOriText(parsing) {
            // 颜色
            const patterns = {
                // 绿色( "#5cb85c")
                "#5cb85c": [
                    /^\d.+\m】/,   // 以数字开头,m】结尾
                    /^\d.+\h】/,   // 以数字开头,h】结尾
                ],  
            };
            Object.entries(patterns).forEach(([color, regs]) => {
             regs.forEach(reg => {
                    parsing = parsing.replace(reg, `<span style='color:${color}'>$&</span>`)
                });
            });
           
         return parsing;
        }
    });

返回