[原创]Discuz!NT1.1高亮代码插件1.5稳定版!

2023-11-18

Discuz!NT 1.1高亮代码插件FOR .NET2.0
作者:winson
版本:1.5稳定版
支持网站: http://bbs.szblogs.com
功能:
为论坛增加高亮代码显示,类似cnblogs的形式

一、1.5版修复的问题:

        之前发布的版本由于并未做具体的过滤处理,因此只有以牺牲论坛安全性(去掉了HTML过滤)
为前提的条件下使用,同时为了让代码显示,还将论坛的一些UBB代码功能取消了(如在可视化编辑
状态下不能增加换行),就是在代码编辑状态下,会出现很多HTML代码,让人看起来非常乱

        现已对上面问题进行了修复,在完全不影响论坛正常UBB代码和安全性下,也可达到很好的
高亮代码显示效果。因此现在也可以在可视化编辑状态下任意修改或者增加其他页面内容了 smile.gif

        同时也修复了一个小BUG,就是有时发代码帖多时,会出现“存储空间不足,无法完成此操作”
的JS错误,虽然不影响正常使用,但看着也不爽,呵呵

        但最后一点比较遗憾的就是,现在还没办法在编辑状态中显示代码效果,只有发布后才能显示

二、新增功能:

    主要是增加了可记忆上次所选择的代码语言功能,像cnblogs那样,即只要你选择了一个语言后,
下次进来会自动定位到该语言的选中状态

三、安装:

1、全新安装:
1)进入相应的模板,然后修改 _editor 模板

2)、搜索“插入表格”,找到以下代码段:

None.gif < td >< div class ="editor_buttonnormal" id ="posteditor_cmd_table" onclick ="discuzcode('table')" onMouseOver ="buttonContext(this, 'mouseover')" onMouseOut ="buttonContext(this, 'mouseout')" >< img src ="editor/images/table.gif" width ="21" height ="20" title ="插入表格" alt ="插入表格" /></ div ></ td >


在其下添加:

None.gif < td >< div class ="editor_buttonnormal" id ="posteditor_cmd_wrap0_code" onclick ="discuzcode('mycode')" onMouseOver ="buttonContext(this, 'mouseover')" onMouseOut ="buttonContext(this, 'mouseout')" >< img src ="editor/images/insertcode.gif" width ="21" height ="20" title ="插入高亮代码" alt ="插入高亮代码" ></ div ></ td >


3)修改 showtopic模板,在此模板第一行下加入

ExpandedBlockStart.gif ContractedBlock.gif <% ... namespace Discuz.Plugin %>


4)提交此模板的修改,然后更新 editpost、postreply、posttopic、showtopic四个模板文件,即对这几个模板生成新的页面

5)修改生成好的showtopic.aspx文件,在你模板的目录下,找到

None.gif post["message"].ToString().Trim()


改为:

None.gif Writer.OutputCode(post["message"].ToString().Trim())


这里需要说明的一点是,我已原此 OutputCode方法做了重载,如果你同时安装了LEE的 手写板插件,此方法只需再添加一个模板ID的参数即可,具体方法看手写板插件说明吧 smile.gif

6)修改web.config文件,在< configuration >后面添加以下代码:

None.gif <!-- 配置代码高亮插件 -->
None.gif
< configSections >
None.gif
< section name ="codeHighlighter" requirePermission ="false" type ="ActiproSoftware.CodeHighlighter.CodeHighlighterConfigurationSectionHandler, ActiproSoftware.CodeHighlighter.Net20" />
None.gif
</ configSections >
None.gif
<!-- 定义代码高亮插件 -->
None.gif
< codeHighlighter >
None.gif
< cache languageTimeout ="3" />
None.gif
< keywordLinking enabled ="true" target ="_blank" defaultKeywordCollectionKey ="ActiproKeywords" >
None.gif
< keywordCollection key ="ActiproKeywords" >
None.gif
< explicitKeyword tokenKey ="IdentifierToken" patternValue ="Actipro" url ="http://www.actiprosoftware.com" caseSensitive ="false" />
None.gif
< explicitKeyword tokenKey ="IdentifierToken" patternValue ="CodeHighlighter" url ="http://www.codehighlighter.com" caseSensitive ="false" />
None.gif
</ keywordCollection >
None.gif
</ keywordLinking >
None.gif
< languages >
None.gif
< language key ="BatchFile" definitionPath ="~/Languages/Lexers/ActiproSoftware.BatchFile.xml" />
None.gif
< language key ="C#" definitionPath ="~/Languages/Lexers/ActiproSoftware.CSharp.xml" />
None.gif
< language key ="CSS" definitionPath ="~/Languages/Lexers/ActiproSoftware.CSS.xml" />
None.gif
< language key ="HTML" definitionPath ="~/Languages/Lexers/ActiproSoftware.HTML.xml" />
None.gif
< language key ="INIFile" definitionPath ="~/Languages/Lexers/ActiproSoftware.INIFile.xml" />
None.gif
< language key ="Java" definitionPath ="~/Languages/Lexers/ActiproSoftware.Java.xml" />
None.gif
< language key ="JScript" definitionPath ="~/Languages/Lexers/ActiproSoftware.JScript.xml" />
None.gif
< language key ="Lua" definitionPath ="~/Languages/Lexers/ActiproSoftware.Lua.xml" />
None.gif
< language key ="Pascal" definitionPath ="~/Languages/Lexers/ActiproSoftware.Pascal.xml" />
None.gif
< language key ="Perl" definitionPath ="~/Languages/Lexers/ActiproSoftware.Perl.xml" />
None.gif
< language key ="PHP" definitionPath ="~/Languages/Lexers/ActiproSoftware.PHP.xml" />
None.gif
< language key ="Python" definitionPath ="~/Languages/Lexers/ActiproSoftware.Python.xml" />
None.gif
< language key ="SQL" definitionPath ="~/Languages/Lexers/ActiproSoftware.SQL.xml" />
None.gif
< language key ="VB.NET" definitionPath ="~/Languages/Lexers/ActiproSoftware.VBDotNet.xml" />
None.gif
< language key ="VBScript" definitionPath ="~/Languages/Lexers/ActiproSoftware.VBScript.xml" />
None.gif
< language key ="XML" definitionPath ="~/Languages/Lexers/ActiproSoftware.XML.xml" />
None.gif
</ languages >
None.gif
< lineNumberMargin foreColor ="Teal" paddingCharacter =" " visible ="true" />
None.gif
< outlining enabled ="true" imagesPath ="~/Images/OutliningIndicators/" />
None.gif
< spacesInTabs count ="4" />
None.gif
</ codeHighlighter >


5)将附件中 全新安装目录里的文件均上传到你的论坛目录就OK啦!

2、升级安装:

1)先按上面全新安装的3-5的步骤安装,同时可以删除在_editor模板之前版本所增加的JS代码:

ExpandedBlockStart.gif ContractedBlock.gif < script type ="text/javascript" > ...
InBlock.gif
var message=document.getElementById('posteditor_textarea').value;
InBlock.gif
if(message.indexOf("id=bbs.szblogs.com")>0)
InBlock.gif document.getElementById(
'iscode').value='1';
ExpandedBlockEnd.gif
</ script >


2)恢复原来论坛的安全性,你可将论坛默认的Discuz.ForumPage.dll、bbcode.js复盖你的文件,或者使用我的附件里 升级安装目录里的文件

3)将 升级安装目录里的文件上传到你的论坛相应目录,安装完成!


另附件还有一个 Discuz.Plugin.CodeHighWrite 项目,即生成Discuz.Plugin.Write.dll文件的,可自行根据需要修改,有什么问题欢迎到本论坛提出lol.gif

下载:
http://files.cnblogs.com/winsonet/CodeHigh.rar

转载于:https://www.cnblogs.com/winsonet/archive/2007/08/09/849169.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[原创]Discuz!NT1.1高亮代码插件1.5稳定版! 的相关文章

随机推荐

  • 揭秘闲鱼赚钱项目的高端玩法

    一个行业项目存在越久 它被挖掘出来的东西也就越多 自媒体 电商 网赚项目有许许多多 但真正赚到钱的却没几个人 究其原因还是项目操作门槛的问题 项目的操作门槛越低 竞争也就越激烈 要是人人都可以轻松操作 能够赚得到的利润就更加的少 最后真正赚
  • python 数组操作中的 “:” “:: ” “, ” python 中的 [:-1] 和 [::-1] [-1:-2:-1] [

    使用python版本3 7 首先先了解下python3 7中的下标 python下标有两套 一套是正的 一套是负的 引入负坐标的意义应该是方便将数组中的数据从右往左访问 a python 中的python 的下标描述如下 组 p y t h
  • 2019ICPC上海Spanning Tree Removal构造题

    刚打完2021杭电多校6 有个构造 当时没有做 回头看了一波巨佬的博客学了一手 在这里记录一下 题目链接 链接 https ac nowcoder com acm contest 4370 D 来源 牛客网 spj 题目描述 Bob has
  • SpringBoot项目多数据源的数据库连接池的启动

    Maven部分配置
  • 03-信息收集

    信息搜集 全面了解系统 什么是信息收集 信息收集是指通过各种方式获取所需要的信息 信息收集是信息得以利用的第一步 也是关键的一步 信息收集工作的好坏 会影响整个渗透测试流程的进行 收集的信息越多后期可进行测试的目标就越多 信息收集包含资产收
  • python中items的作用_什么是python items函数?怎么使用它?

    这篇文章我们来学习一下关于python字典之中的python items函数的相关知识 items函数是什么意思 这个函数有什么作用都将会在接下来的文章之中得到解答 描述 Python 字典 Dictionary items 函数以列表返回
  • vue3 watch 监听多值以及深度监听用法

    1 监听单个值 引入 import watch from vue import useRouter from vue router export default setup const route useRouter 获取当前路由地址 wa
  • linux kernel file_open

    内核空间与用户空间 在vfs read和vfs write函数中 其参数buf指向的用户空间的内存地址 如果我们直接使用内核空间的指针 则会返回 EFALUT 这是因为使用的缓冲区超过了用户空间的地址范围 一般系统调用会要求你使用的缓冲区不
  • Qt VTK ITK安装与测试(三)ITK的安装与测试

    ITK的安装与测试 安装简介 本部分讲述使用cmake加VS2010编译 安装ITK库 基本步骤和VTK安装时相同 而后测试VTK与ITK的联合开发 VTK安装步骤 1 资源下载 资源下载网址 http www itk org ITK re
  • 【笔记】python中的for循环(遍历列表)、for循环中的一些缩进问题

    文章目录 一 for循环 遍历列表 在for循环中执行更多的操作 二 for循环中的一些缩进问题 一 for循环 遍历列表 我们经常需要遍历列表的所有元素 对每个元素执行相同的操作 这种情况下 我们就需要使用for循环 下面我们举几个栗子来
  • 专业CPU信息检测工具:CPU-Z

    今天小编为大家测试了一款轻量级的CPU处理器的测试工具 可以查看CPU的详细信息 以供各位同学们学习 一 简单介绍 CPU Z是一款非常流行的CPU检测软件 被广大用户所熟知 它是目前最受欢迎的CPU检测软件之一 除了Intel和AMD自带
  • SQLi-LABS Less-29到Less-31

    Less 29题目 Less 29的题目提到了WAF 看题目的意思应该是一个保护网站的东西 百度了一下 WAF就是Web Application Firewall 主要功能是拦截入侵尝试 比如SQL Injection XSS 路径遍历 窃
  • Java中insert()方法的使用

    insert 函数表示在字符串中插入字符串 StringBuffer insert int index String str 在Java中最常用instert方法的是这两个类型StringBuffer和StringBuilder 首先需要先
  • elementui的文件上传功能-.上传文件-带参数-手动

    elementui的文件上传功能 上传文件 带参数 手动
  • JS函数(二)基础 return 返回值

    创建函数 function 函数名 形参变量列表 函数体 return 返回值 return 1 什么是 返回 return语句将终止当前函数并返回当前函数的值 2 为什么要用 我们先来看一组代码
  • matlab矩阵(一)--如何控制矩阵中小数点的位数

    format 设置输出格式对浮点性变量 缺省为format short format并不影响matlab如何计算和存储变量的值 对浮点型变量的计算 即单精度或双精度 按合适的浮点精度进行 而不论变量是如何显示的 对整型变量采用整型数据 整型
  • 汤姆·克鲁斯 - 电影全集

    1 熄灯号 Taps 1981 导演 哈诺德 贝克编剧 Darryl Ponicsan Devery Freeman James Lineberger主演 乔治 C 斯科特 蒂莫西 赫顿 罗尼 考克斯 西恩 潘 汤姆 克鲁斯 伊万 汉德勒
  • HLS图像处理系列——在ZEDBoard搭建DDR图像处理通路

    ZYNQ芯片内包含一个丰富特性的基于双核ARM Cortex A9的处理子系统 Processing System PS 和Xilinx 28nm可编程逻辑 Programmable Logic PL PS除了核心外还包括片上存储器 外部存
  • 端口扫描程序nmap使用手册

    摘要 nmap是一个网络探测和安全扫描程序 系统管理者和个人可以使用这个软件扫描大型的网络 获取那台主机正在运行以及提供什么服务等信息 nmap支持很多扫描技术 例如 UDP TCP connect TCP SYN 半开扫描 ftp代理 b
  • [原创]Discuz!NT1.1高亮代码插件1.5稳定版!

    Discuz NT 1 1高亮代码插件FOR NET2 0 作者 winson 版本 1 5稳定版 支持网站 http bbs szblogs com 功能 为论坛增加高亮代码显示 类似cnblogs的形式 一 1 5版修复的问题 之前发布