wxParse 小程序富文本编辑

  • G3_761335
    了解作者
  • 303.6KB
    文件大小
  • zip
    文件格式
  • 0
    收藏次数
  • VIP专享
    资源类型
  • 0
    下载次数
  • 2022-04-10 01:24
    上传日期
wxParse 修改了 点击图片查看图片bug 修改了 图片适配手机界面问题 修改console.dir 函数bug
wxParse.zip
  • wxParse
  • emojis
  • 120.gif
    1008B
  • 104.gif
    2.1KB
  • 91.gif
    654B
  • 123.gif
    1KB
  • 111.gif
    1KB
  • 17.gif
    3.3KB
  • 103.gif
    2.1KB
  • 119.gif
    1.1KB
  • 58.gif
    2.5KB
  • 61.gif
    1.1KB
  • 29.gif
    5.7KB
  • 40.gif
    9.9KB
  • 118.gif
    1012B
  • 132.gif
    936B
  • 27.gif
    2.8KB
  • 50.gif
    3KB
  • 51.gif
    3.6KB
  • 125.gif
    1013B
  • 55.gif
    1.5KB
  • 100.gif
    1.7KB
  • 86.gif
    1.5KB
  • 63.gif
    971B
  • 20.gif
    1.8KB
  • 121.gif
    1KB
  • 134.gif
    968B
  • 38.gif
    1.6KB
  • 56.gif
    1.1KB
  • 47.gif
    3.6KB
  • 107.gif
    1KB
  • 79.gif
    1.5KB
  • 23.gif
    1.9KB
  • 126.gif
    1KB
  • 98.gif
    1.6KB
  • 131.gif
    945B
  • 65.gif
    5.2KB
  • 45.gif
    4.6KB
  • 37.gif
    1.2KB
  • 92.gif
    1.3KB
  • 67.gif
    2.7KB
  • 70.gif
    1.1KB
  • 02.gif
    1.8KB
  • 116.gif
    996B
  • 73.gif
    2.1KB
  • 33.gif
    4.2KB
  • 130.gif
    980B
  • 76.gif
    1.2KB
  • 115.gif
    1KB
  • 22.gif
    2.9KB
  • 106.gif
    1KB
  • 83.gif
    1.6KB
  • 41.gif
    3.3KB
  • 11.gif
    7.8KB
  • 93.gif
    1.1KB
  • 95.gif
    2.9KB
  • 26.gif
    3.9KB
  • 72.gif
    3.6KB
  • 133.gif
    1012B
  • 53.gif
    2KB
  • 54.gif
    2.3KB
  • 68.gif
    4.1KB
  • 35.gif
    13.1KB
  • 18.gif
    7.9KB
  • 03.gif
    1.8KB
  • 59.gif
    1.5KB
  • 19.gif
    7.9KB
  • 81.gif
    1.6KB
  • 90.gif
    2.7KB
  • 28.gif
    3.2KB
  • 87.gif
    1.5KB
  • 07.gif
    3.8KB
  • 75.gif
    1.2KB
  • 64.gif
    988B
  • 128.gif
    1022B
  • 105.gif
    1.2KB
  • 34.gif
    2.1KB
  • 110.gif
    1.1KB
  • 89.gif
    1.2KB
  • 09.gif
    3.2KB
  • 06.gif
    3.5KB
  • 05.gif
    1.8KB
  • 97.gif
    5.2KB
  • 04.gif
    1.9KB
  • 36.gif
    1.4KB
  • 14.gif
    3.9KB
  • 30.gif
    1.7KB
  • 49.gif
    6.2KB
  • 12.gif
    2.2KB
  • 10.gif
    3.6KB
  • 01.gif
    1.5KB
  • 77.gif
    1.1KB
  • 99.gif
    2.2KB
  • 78.gif
    1.5KB
  • 00.gif
    1.8KB
  • 127.gif
    956B
  • 112.gif
    1.1KB
  • 13.gif
    1.7KB
  • 124.gif
    1022B
  • 108.gif
    1KB
内容介绍
/** * * showdown: https://github.com/showdownjs/showdown * * author: Di (微信小程序开发工程师) * organization: WeAppDev(微信小程序开发论坛)(http://weappdev.com) * 垂直微信小程序开发交流社区 * * github地址: https://github.com/icindy/wxParse * * for: 微信小程序富文本解析 * detail : http://weappdev.com/t/wxparse-alpha0-1-html-markdown/184 */ function getDefaultOpts(simple) { 'use strict'; var defaultOptions = { omitExtraWLInCodeBlocks: { defaultValue: false, describe: 'Omit the default extra whiteline added to code blocks', type: 'boolean' }, noHeaderId: { defaultValue: false, describe: 'Turn on/off generated header id', type: 'boolean' }, prefixHeaderId: { defaultValue: false, describe: 'Specify a prefix to generated header ids', type: 'string' }, headerLevelStart: { defaultValue: false, describe: 'The header blocks level start', type: 'integer' }, parseImgDimensions: { defaultValue: false, describe: 'Turn on/off image dimension parsing', type: 'boolean' }, simplifiedAutoLink: { defaultValue: false, describe: 'Turn on/off GFM autolink style', type: 'boolean' }, literalMidWordUnderscores: { defaultValue: false, describe: 'Parse midword underscores as literal underscores', type: 'boolean' }, strikethrough: { defaultValue: false, describe: 'Turn on/off strikethrough support', type: 'boolean' }, tables: { defaultValue: false, describe: 'Turn on/off tables support', type: 'boolean' }, tablesHeaderId: { defaultValue: false, describe: 'Add an id to table headers', type: 'boolean' }, ghCodeBlocks: { defaultValue: true, describe: 'Turn on/off GFM fenced code blocks support', type: 'boolean' }, tasklists: { defaultValue: false, describe: 'Turn on/off GFM tasklist support', type: 'boolean' }, smoothLivePreview: { defaultValue: false, describe: 'Prevents weird effects in live previews due to incomplete input', type: 'boolean' }, smartIndentationFix: { defaultValue: false, description: 'Tries to smartly fix identation in es6 strings', type: 'boolean' } }; if (simple === false) { return JSON.parse(JSON.stringify(defaultOptions)); } var ret = {}; for (var opt in defaultOptions) { if (defaultOptions.hasOwnProperty(opt)) { ret[opt] = defaultOptions[opt].defaultValue; } } return ret; } /** * Created by Tivie on 06-01-2015. */ // Private properties var showdown = {}, parsers = {}, extensions = {}, globalOptions = getDefaultOpts(true), flavor = { github: { omitExtraWLInCodeBlocks: true, prefixHeaderId: 'user-content-', simplifiedAutoLink: true, literalMidWordUnderscores: true, strikethrough: true, tables: true, tablesHeaderId: true, ghCodeBlocks: true, tasklists: true }, vanilla: getDefaultOpts(true) }; /** * helper namespace * @type {{}} */ showdown.helper = {}; /** * TODO LEGACY SUPPORT CODE * @type {{}} */ showdown.extensions = {}; /** * Set a global option * @static * @param {string} key * @param {*} value * @returns {showdown} */ showdown.setOption = function (key, value) { 'use strict'; globalOptions[key] = value; return this; }; /** * Get a global option * @static * @param {string} key * @returns {*} */ showdown.getOption = function (key) { 'use strict'; return globalOptions[key]; }; /** * Get the global options * @static * @returns {{}} */ showdown.getOptions = function () { 'use strict'; return globalOptions; }; /** * Reset global options to the default values * @static */ showdown.resetOptions = function () { 'use strict'; globalOptions = getDefaultOpts(true); }; /** * Set the flavor showdown should use as default * @param {string} name */ showdown.setFlavor = function (name) { 'use strict'; if (flavor.hasOwnProperty(name)) { var preset = flavor[name]; for (var option in preset) { if (preset.hasOwnProperty(option)) { globalOptions[option] = preset[option]; } } } }; /** * Get the default options * @static * @param {boolean} [simple=true] * @returns {{}} */ showdown.getDefaultOptions = function (simple) { 'use strict'; return getDefaultOpts(simple); }; /** * Get or set a subParser * * subParser(name) - Get a registered subParser * subParser(name, func) - Register a subParser * @static * @param {string} name * @param {function} [func] * @returns {*} */ showdown.subParser = function (name, func) { 'use strict'; if (showdown.helper.isString(name)) { if (typeof func !== 'undefined') { parsers[name] = func; } else { if (parsers.hasOwnProperty(name)) { return parsers[name]; } else { throw Error('SubParser named ' + name + ' not registered!'); } } } }; /** * Gets or registers an extension * @static * @param {string} name * @param {object|function=} ext * @returns {*} */ showdown.extension = function (name, ext) { 'use strict'; if (!showdown.helper.isString(name)) { throw Error('Extension \'name\' must be a string'); } name = showdown.helper.stdExtName(name); // Getter if (showdown.helper.isUndefined(ext)) { if (!extensions.hasOwnProperty(name)) { throw Error('Extension named ' + name + ' is not registered!'); } return extensions[name]; // Setter } else { // Expand extension if it's wrapped in a function if (typeof ext === 'function') { ext = ext(); } // Ensure extension is an array if (!showdown.helper.isArray(ext)) { ext = [ext]; } var validExtension = validate(ext, name); if (validExtension.valid) { extensions[name] = ext; } else { throw Error(validExtension.error); } } }; /** * Gets all extensions registered * @returns {{}} */ showdown.getAllExtensions = function () { 'use strict'; return extensions; }; /** * Remove an extension * @param {string} name */ showdown.removeExtension = function (name) { 'use strict'; delete extensions[name]; }; /** * Removes all extensions */ showdown.resetExtensions = function () { 'use strict'; extensions = {}; }; /** * Validate extension * @param {array} extension * @param {string} name * @returns {{valid: boolean, error: string}} */ function validate(extension, name) { 'use strict'; var errMsg = (name) ? 'Error in ' + name + ' extension->' : 'Error in unnamed extension', ret = { valid: true, error: '' }; if (!showdown.helper.isArray(extension)) { extension = [extension]; } for (var i = 0; i < extension.length; ++i) { var baseMsg = errMsg + ' sub-extension ' + i + ': ', ext = extension[i]; if (typeof ext !== 'object') { ret.valid = false; ret.error = baseMsg + 'must be an object, but ' + typeof ext + ' given'; return ret; } if (!showdown.helper.isString(ext.type)) { ret.valid = false; ret.error = baseMsg + 'property "type" must be a string, but ' + typeof ext.type + ' given'; return ret; } var type = ext.type = ext.type.toLowerCase(); // normalize extension type if (type === 'language') { type = ext.type = 'lang'; } if (type === 'html') { type = ext.type = 'output'; } if (type !== 'lang' && type !== 'output' && type !== 'listener') { ret.valid = false; ret.error = baseMsg + 'type ' + type + ' is not recognized. Valid values: "lang/language", "output/html" or "listener"'; return ret; }
评论
    相关推荐
    • 大学手机课程表程序 J2ME小程序
      这一款课程表辅助软件,适合学生和辅导员使用。 它可以记录多个班级的课程表,并且可对课程内容进行修改 说明: 1.本软件根据涉外上课时间设计,即...修正少量BUG /*2008.12 v1.0 *1.完成整体设计 *2.修正大量BUG */
    • vc 贪吃蛇小程序
      贪吃蛇小程序,又添加了背景音乐和开始暂停功能,按空格键暂停,w a s d 键分别控制蛇的上下左右行走, 程序还有部分bug
    • 基于Socket的Winform聊天小程序
      基于Socket的Winform聊天程序,代码简单易懂,非常适合初学者参考使用。使用时请先启动ChatDemo\ChatDemo\bin\Debug\ChatDemo.exe,再启动ChatDemo\SocketClient\bin\Debug\SocketClient.exe
    • 在线订单小程序
      前台显示页order.asp,上面有直接登陆后台的连接,后台用户和密码直接是admin,密码可以后台修改,防止注入
    • 微信小程序
      微信小程序源码可直接套用。。。。。。。。。。。。。。
    • 截图小程序
      只是实现了截图功能 还有许多BUG哦! 只是做参考哦
    • c语言小程序
      详细完整的c语言小程序开发demo,需要的库都包含了,解压一下加入一下库就可以了。
    • 微信小程序
      基于微信小程序的毕业设计项目于微信小程序的毕业设计项目
    • 小程序的富文本插件
      小程序的富文本插件,已经修改了点击富文本中的图片不能显示的BUG
    • GaussDB_100_1.0.1-DATABASE-REDHAT-64bit.tar.gz
      guassdb100在redhat上安装包,单机部署的包,安装步骤请看我的文中介绍,经过大量实验搭建总结出来的文档