在EmEditor中插入UBB代码
作者: 实验小白鼠 日期: 2008-04-20 21:09
记不清自己是从什么时候起用EmEditor了,现在都更新到了7.0。
EmEdtior方便、简单、易用,可以说是记事本的加强版,可惜这款日本开发却是付费软件,不过在网上可以找到XXOO版。
众多的插件也扩展了EmEditor的使用功能。
经常用EmEdtior写点东西然后发到论坛上,可是EmEdtior不支持WYSWYG,而且我也不是太常用WYSWYG,UBB就是我最佳的选择。
不过呢,EmEditor没有UBB的插件,只有插入HTML的插件,于是想自己照着这些插件写。想拿源码却没得下载,作者也没开源。
在官方网站上搜到论坛中的一帖,讨论的就是HTML的这个插件,而有一朋友回复,说可以不使用插件,就用EmEdtior自带的宏功能,就可以完成,然后贴了一大段宏代码:
这段宏的意思就是,选定一段文字或不选定,点击宏→功能项,就完成插入代码、文字功能。功能项在下说明。
如1:我是鼠。选定鼠字,然后点击宏→功能项(内容为['实验小白','','']),就变成了:我是实验小白鼠。
如2:我是小白,选定小白两字,然后点击宏→功能项(内容为['实验','鼠',''],就变成了:我是实验小白鼠。
就这么简单。
TAGS有三个部分:HTML_TAGS、TXT_TAGS、UNIVERSAL_TAGS。
HTML_TAGS是HTML语言标识符,只有文件扩展名为HTML时,才会显示。
TXT_TAGS是文本标题符,只有文本文件时,才会显示。
UNIVERSAL_TAGS是通用标题符,不管扩展名,都会显示。
代码的格式为:[左标识符,右标识符,菜单文字]
上面也举例说明了这段代码的使用,在此不具体说了。
明白代码格式后,照葫芦画瓢,把UBB代码写出来:
PS:请删掉[code、[quote后的空格。
按个人需要,把这段代码加到*_TAGS内就行了。注明最后的,。
当然,这段代码只是部分的UBB代码,更多的按个人需要自行添加。
使用时,最好把宏工具栏显示出来,然后,自定义宏,选择TAGGER.JSEE这个文件。

搞定后就显示在工具栏上了

测试一下

Oh yeah!一直想让EmEditor支持UBB的,终于实现了。
不过呢,就光用这个宏还不能完全实现全部的UBB功能,比如颜色,这个就需要取色器插件了。
网上有EmEditor的插件汉化包下载,里面就有,或到官方网站下载 。
2008-4-20 21:8:46
EmEdtior方便、简单、易用,可以说是记事本的加强版,可惜这款日本开发却是付费软件,不过在网上可以找到XXOO版。
众多的插件也扩展了EmEditor的使用功能。
经常用EmEdtior写点东西然后发到论坛上,可是EmEdtior不支持WYSWYG,而且我也不是太常用WYSWYG,UBB就是我最佳的选择。
不过呢,EmEditor没有UBB的插件,只有插入HTML的插件,于是想自己照着这些插件写。想拿源码却没得下载,作者也没开源。
在官方网站上搜到论坛中的一帖,讨论的就是HTML的这个插件,而有一朋友回复,说可以不使用插件,就用EmEdtior自带的宏功能,就可以完成,然后贴了一大段宏代码:
下载: Tagger.jsee
- // TAGGER.JSEE -- tagger and clip library, inserts strings around selected text or at the cursor.
- // Usage: modify tables of tags at the start of file as you see fit.
- // To add tags for other configurations: add new tables of tags and edit switch statement at the end.
- // format: [string to insert before selection, string to insert after selection, optional menu label]
- ////////////////////////////////
- HTML_TAGS = [
- ['<br>', '', ''],
- ['<p>', '</p>', ''],
- [' ', '', 'space'],
- ['', '<hr>', ''],
- ['<!-- ', ' -->', 'comment'],
- ['', '', '-----------'], //menu separator
- ['<b>', '</b>', 'bold'],
- ['<i>', '</i>', 'italic'],
- ['<u>', '</u>', 'underline'],
- ['<pre>', '</pre>', ''],
- ['<blockquote>', '</blockquote>', 'blockquote'],
- ['<big>', '</big>', 'big'],
- ['<small>', '</small>', 'small'],
- ['<sup>', '</sup>', 'superscript'],
- ['<sub>', '</sub>', 'subscript'],
- ['<center>', '</center>', 'center'],
- ['', '', '-----------------'],
- ['<a href="#">', '</a>', 'Link'],
- ['<a name="">', '</a>', 'Mark'],
- ['<img src="" alt="" width="" height="">', '', 'Image'],
- ['', '', '--------------'],
- ['<table>', '</table>', 'table'],
- ['<tr>', '</tr>', ''],
- ['<td>', '</td>', ''],
- ['<ul>n', 'n</ul>', 'unorderd list'],
- ['<ol>n', 'n</ol>', 'orderd list'],
- ['<li>', '', ''],
- ['<dl>n', 'n<dl>', 'definition list'],
- ['<dt>', '', ''],
- ['<dd>', '', ''],
- ['', '', ''], //these are ignored
- ['', '', ''],
- ['', '', ''],
- ['', '', '']
- ];
- ////////////////////////////////
- TEXT_TAGS = [
- ['Dear Collector:', '', ''],
- ['I would like to sell my kidney.', '', ''],
- ['Which way is to the soup kitchen?', '', ''],
- ['', '', ''],
- ['', '', '']
- ];
- ////////////////////////////////
- UNIVERSAL_TAGS = [ //these should always be available
- ['', '', '--------------------'],
- ['/*', '*/', '/**/'],
- ['u03B2', '', 'beta'],
- ['', '', '']
- ];
- /////////////////////////////////////////////////////////////////
- function createMenu(tags) {
- tags = tags.concat(UNIVERSAL_TAGS);
- menu = CreatePopupMenu();
- //populate menu
- L = tags.length;
- for (i=0; i<L; i++) {
- if (tags<i>.length!=3 || (tags[i][0]=="" && tags[i][1]=="" && tags[i][2]=="")) continue;
- if (tags[i][2].slice(0,6)=="------")
- menu.Add( '', 0, eeMenuSeparator );
- else
- menu.Add( tags[i][2] || tags[i][0] || tags[i][1], i+1 );
- }
- //display menu
- result = menu.Track(0);
- //insert tags
- if (result!=0) insertTags(tags[result-1][0], tags[result-1][1]);
- }
- function insertTags(text_before, text_after) {
- document.selection.Text = text_before + document.selection.Text + text_after;
- // to do: restore selection
- }
- switch( document.ConfigName ) {
- case("HTML"):
- createMenu(HTML_TAGS);
- break;
- case("Text"):
- createMenu(TEXT_TAGS);
- break;
- default:
- createMenu(HTML_TAGS);
- }
这段宏的意思就是,选定一段文字或不选定,点击宏→功能项,就完成插入代码、文字功能。功能项在下说明。
如1:我是鼠。选定鼠字,然后点击宏→功能项(内容为['实验小白','','']),就变成了:我是实验小白鼠。
如2:我是小白,选定小白两字,然后点击宏→功能项(内容为['实验','鼠',''],就变成了:我是实验小白鼠。
就这么简单。
TAGS有三个部分:HTML_TAGS、TXT_TAGS、UNIVERSAL_TAGS。
HTML_TAGS是HTML语言标识符,只有文件扩展名为HTML时,才会显示。
TXT_TAGS是文本标题符,只有文本文件时,才会显示。
UNIVERSAL_TAGS是通用标题符,不管扩展名,都会显示。
代码的格式为:[左标识符,右标识符,菜单文字]
上面也举例说明了这段代码的使用,在此不具体说了。
明白代码格式后,照葫芦画瓢,把UBB代码写出来:
下载: ubb.txt
- ['<b>', '</b>', '粗体'],
- ['[I]', '</i>', '斜体'],
- ['<u>', '</u>', '下划线'],
- ['[color=]', '[/color]', '颜色'],
- ['[backcolor=]', '[/backcolor]', '背景'],
- ['<div align=left>', '</div>', '左对齐'],
- ['<div align=center>', '</div>', '居中'],
- ['<div align=right>', '</div>', '右对齐'],
- ['<img src=', '>', '图片'],
- ['[url]', '[/url]', '链接'],
- ['[url=]', '[/url]', '自定义链接'],
- ['[code ]', '[/code]', '代码'],
- ['[quote ]', '[/quote]', '引用'],
PS:请删掉[code、[quote后的空格。
按个人需要,把这段代码加到*_TAGS内就行了。注明最后的,。
当然,这段代码只是部分的UBB代码,更多的按个人需要自行添加。
使用时,最好把宏工具栏显示出来,然后,自定义宏,选择TAGGER.JSEE这个文件。

搞定后就显示在工具栏上了

测试一下

Oh yeah!一直想让EmEditor支持UBB的,终于实现了。
不过呢,就光用这个宏还不能完全实现全部的UBB功能,比如颜色,这个就需要取色器插件了。
网上有EmEditor的插件汉化包下载,里面就有,或到官方网站下载 。
2008-4-20 21:8:46
评论: 0 |
引用: 0 |
阅读: 698
加入网摘
显示Tag关联文章
EmEditor的功能,我用到的还很少 (2008-11-02 19:47)
openCanvas 4.5.10 plus 汉化修正版版发布 (2008-02-15 03:59)
openCanvas 4.5.10 plus 汉化版发布 (2008-02-10 23:05)
搜索&下载 (2008-02-06 19:25)
openCanvas4.5.10 plus即将发布 (2008-02-06 03:36)
[转]如何使FrameToon延长使用期限 (2008-01-21 12:40)
Frametoon的汉化问题 (2008-01-16 21:33)
openCanvas 4.5.04汉化版发布 (2007-11-29 15:06)
openCanvas 4.5.03汉化预览版 (2007-11-25 15:34)
重新汉化openCanvas (2007-11-24 23:11)
openCanvas 4.5.10 plus 汉化修正版版发布 (2008-02-15 03:59)
openCanvas 4.5.10 plus 汉化版发布 (2008-02-10 23:05)
搜索&下载 (2008-02-06 19:25)
openCanvas4.5.10 plus即将发布 (2008-02-06 03:36)
[转]如何使FrameToon延长使用期限 (2008-01-21 12:40)
Frametoon的汉化问题 (2008-01-16 21:33)
openCanvas 4.5.04汉化版发布 (2007-11-29 15:06)
openCanvas 4.5.03汉化预览版 (2007-11-25 15:34)
重新汉化openCanvas (2007-11-24 23:11)
发表评论
订阅
上一篇
返回
下一篇
