加载中…
个人资料
善用佳软
善用佳软 新浪个人认证
  • 博客等级:
  • 博客积分:0
  • 博客访问:15,530
  • 关注人气:3,357
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

分享:Nvu/KompoZer格式化Html源码的问题及解决

(2008-01-29 18:25:05)
标签:

it

分类: 网络相关

出自:善用佳软  更新:2008-02-18  参见:网页编辑器,我推荐Nvu

分享:Nvu/KompoZer格式化Html源码的问题及解决1. 背景:Nvu来自Mozilla套件,是相当优秀的可视化的网页编辑器。但已停止了开发。后续改进软件为KompoZer(开源)。

2. Nvu作为可视化编辑器,形成的html源代码格式比较混乱。此问题看起来很简单,但长久以来,困扰着国内国外的众多用户。Nvu/KompoZer始终未解决。追求完美的用户只能采取间接手段。

3. 当然,对大多数不关注源代码格式的用户,这算不上一个问题。

4. 对西方语系的用户,源码格式问题已基本完美解决。使用扩展HandCoder,虽然要手工点一下按钮(也可以设为保存时自动处理),但最终的效果已经很好。
主页:http://fabiwan.kenobi.free.fr/HandCoder/  
HandCoder,是基于HTML Tidy的Nvu/KompoZer扩展。可以实现Nvu与Vim共同编辑html(但后者保存,在前者中只能第一次更新),且对源代码进行tidy格式化。需下载html tidy程序。
http://fabiwan.kenobi.free.fr/HandCoder/images/Tidy.png

5. 但Nvu+HandCoder,对中文网页仍有问题。
- 偶有乱码。GB2312基本可以,UTF-8乱码稍多。但注意一下,似乎也可以避免。
- Nvu散乱的换行在经HandCoder整合时,会加入空格(如同Vim的J合并一样)。对英文这是必须(单词之间要空格),但对中文是不必要、错误的。
如,
Total
Commander
需要整合为“Total Commander”,要加空格。但
星星
之火,可以燎原
不应该整合为“星星 之火,可以燎原”。

6. 本质上,Nvu的“自动格式化”(其实就是自动分行)水平很低,所以,还不如不做。也就是说,默认的72字符自动换行,应该允许用户进行设定。

7. 在软件的设置中,有一项“保存时不重新格式化”。但此设置没什么用处。

8. 再一项可能的解决是:修改editor.js中的
pref("editor.htmlWrapColumn", 72);
语句。这应该是解决办法——但,仍然无效。也就是说,这一语句可能从Mozilla中继承了下来,但程序并没有读取。

9. 最终解决办法:直接在Java控制台设定此值。
Tools→JavaScript Console→输入
top.opener.GetCurrentEditor().wrapWidth = 9999
这时,查看Nvu源代码,发现不自动折行了。但是,如果你新开一个文件或做过其他动作,有可能需要再次设定。

10. 结论:如果用Nvu/KZ编辑中文网页,建议用GB2312编码,然后top.opener.GetCurrentEditor().wrapWidth = 9999,保存,再用HandCoder格式化,效果会很好。(更新:2008-01-29)

补充一段视频:

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有