/** * code * 代码块简易修饰 */ layui.define(['lay', 'util'], function(exports){ "use strict"; var $ = layui.$; var util = layui.util; var ELEM_TITLE = 'layui-code-title'; // 默认参数项 var config = { elem: '.layui-code', // 元素选择器 title: '</>', // 标题 about: '', // 右上角信息 ln: true // 是否显示行号 }; var trim = function(str){ return $.trim(str).replace(/^\n|\n$/, ''); }; // export api exports('code', function(options){ var opts = options = $.extend({}, config, options); // 目标元素是否存在 options.elem = $(options.elem); if(!options.elem[0]) return; // 从内至外渲染 layui.each(options.elem.get().reverse(), function(index, item){ var othis = $(item); var html = trim(othis.html()); // 合并属性上的参数,并兼容旧版本属性写法 lay-* var options = $.extend({}, opts, lay.options(item), function(obj){ var attrs = ['title', 'height', 'encode', 'skin', 'about']; layui.each(attrs, function(i, attr){ var value = othis.attr('lay-'+ attr); if(typeof value === 'string'){ obj[attr] = value; } }) return obj; }({})); // 有序或无序列表 var listTag = options.ln ? 'ol' : 'ul'; var listElem = $('<'+ listTag +' class="layui-code-'+ listTag +'">'); // header var headerElem = $('