一个Word到Trac Wiki的转换脚本
在Trac的wiki中写文档,没有可视化的界面,输入的格式都要自己添加格式标注,不直观。
可不可以先通过Word编写文档,然后通过工具将Word文档转化为Wiki格式文档呢。
网上搜索了一下,发现有这样的转化脚本。
Word2MoinV2.bas
使用时只要:
1.打开Word
2.用Alt+F11打开VBA编辑器
3.在VBA编辑器中 通过菜单 文件=>导入文件 装入该.bas脚本,退出VBA编辑器,
4.在Word中按 Alt+F8 运行刚刚加载的脚本
可以看到对打开的文档的转化,然后将转化后的文本拷贝出来粘贴到 Wiki 系统中就好了。
使用了一下,除了对表格的支持不怎么好外,其他的格式转换还行,比找到的另外几个脚本的效果好多了。
Popularity: 4% [?]
Related
为 Tracd 服务编写一个启动脚本
这儿写了怎么安装配置Trac 服务http://www.sunnyu.com/?p=86
为了做trac配置时的参数调整重新启动,特别做了这个启动脚本。
可以传入参数
stop 停止旧有服务
auth 以密码验证方式启动。
可以修改开始部分的port,tracenv和type几个参数值来达到启动方式的控制
当使用密码验证方式时,注意修改basic-auth选项使用过的 密码文件名称
-
#!/bin/sh
-
-
port=8081
-
tracenv=/var/trac
-
type=noauth
-
-
#first stop old running
-
pid=`ps -fe |grep tracd |awk '{if ($3 == 1) print $2}'`
-
-
if [ -n "$pid" ]; then
-
echo "killing old tracd: $pid …."
-
kill $pid
-
fi
-
-
echo "starting tracd …."
-
-
case $1 in
-
"auth")
-
echo "using basic auth"
-
LD_LIBRARY_PATH=/usr/local/ssl/lib /usr/local/bin/tracd -d \
-
–basic-auth=*,/var/trac/.passwd,trac \
-
–port $port -e $tracenv >/dev/null 2>&1
-
;;
-
-
"stop")
-
;;
-
-
-
*)
-
echo "not using auth"
-
LD_LIBRARY_PATH=/usr/local/ssl/lib /usr/local/bin/tracd -d \
-
–port $port -e $tracenv >/dev/null 2>&1
-
esac
-
echo "done"
Popularity: 4% [?]
Related
修改Trac的默认Wiki页面显示
在Trac中可以通过trac.ini中的mainnav节的设置来做导航wiki地址的自定义
[mainnav] wiki.href=/wiki/ZhWikiStart
可以设置导航上的wiki连接地址为/wiki/ZhWikiStart,不过打开Trac后的默认wiki页还是没有变,还是使用的WikiStart。
有没有办法将登陆Trac后的默认页面也可以做定制设置,这样就既可以保留原有Trac的Wiki内容,又可以默认显示自己的期望的首页Wiki页面。
方法是有的,只要修改Trac-0.11.1的wiki目录下web_ui.py文件的下面一些地方就可以达到目的了。
首先在前面的import部分添加一行
-
from trac.config import Option
给trac.ini中的wiki节添加一个default_wiki配置项,在
-
PAGE_TEMPLATES_PREFIX = 'PageTemplates/'
-
DEFAULT_PAGE_TEMPLATE = 'DefaultPage'
后添加一行代码修改为
-
PAGE_TEMPLATES_PREFIX = 'PageTemplates/'
-
DEFAULT_PAGE_TEMPLATE = 'DefaultPage'
-
-
_default_wiki = Option('wiki','default_wiki','WikiStart')
再将
-
def _wiki_ctxtnav(self, req, page):
-
"""Add the normal wiki ctxtnav entries."""
-
add_ctxtnav(req, _('Start Page'), req.href.wiki('WikiStart'))
-
add_ctxtnav(req, _('Index'), req.href.wiki('TitleIndex'))
修改为
-
def _wiki_ctxtnav(self, req, page):
-
"""Add the normal wiki ctxtnav entries."""
-
add_ctxtnav(req, _('Start Page'), req.href.wiki(self._default_wiki))
-
add_ctxtnav(req, _('Index'), req.href.wiki('TitleIndex'))
最后将
-
def process_request(self, req):
-
action = req.args.get('action', 'view')
-
pagename = req.args.get('page', 'WikiStart')
修改为
-
def process_request(self, req):
-
action = req.args.get('action', 'view')
-
pagename = req.args.get('page', self._default_wiki)
修改trac.ini配置文件,给wiki节添加配置default_wiki配置项,设置自己期望的默认页面
[wiki] default_wiki=myStart
重新启动tracd看效果,一切都如自己所希望的
Popularity: 4% [?]
Related
Trac的PeerReview插件中文乱码解决
为Trac安装了PeerReview插件,安装过程见http://www.sunnyu.com/?p=90,使用过程中发现在browse文件内容显示中的中文显示又是乱码了,于是看了 peerReview的代码,发现只要稍作修改就可以解决。
在 peerReviewBrowser.py 和 peerReviewPerform.py 文件中搜索代码
-
mime_type=node.content_type
将其修改为
-
mimeview = Mimeview(self.env)
-
mime_type = mimeview.get_mimetype(node.name)
peerReviewBrowser.py 是在 def _render_file(self, req, context, repos, node, rev=None):函数中
peerReviewPerform.py 是在 def process_request(self, req): 函数中
修改后重新安装插件,再次打开文件内容,中文显示正常。
Popularity: 4% [?]
Related
为Python2.5安装Trac添加PeerReview插件时需要的ClearSilver模板引擎
为Trac 0.11.1安装了PeerReview插件,PeerReview是一个平级代码审查的插件,
首先重网站上下载
-
unzip peerreviewplugin.zip
-
cd peerreviewplugin/0.11
-
python setup.py install
修改trac.ini
添加如下
[components] codereview.* = enabled
修改 mainnav 的项目,添加 peerReviewMain 项
mainnav = wiki,timeline,roadmap,browser,peerReviewMain,tickets,newticket,search
最后对 envpath 做升级
-
trac-admin /var/trac/test upgrade
结果配置好运行后重新启动 Tracd,点击 peerReview 连接提示
“AssertionError: HDF dataset not available. Check your clearsilver installation“,
缺少ClearSilver插件。
于是到 http://trac.edgewall.org/wiki/ClearSilver 查看相关信息,根据提供地址下载clearsilver和补丁安装
-
wget http://www.clearsilver.net/downloads/clearsilver-0.10.1.tar.gz
-
tar -xzvf clearsilver-0.10.1.tar.gz
-
patch -p 0 < diff.pach
-
cd clearsilver-0.10.1
-
./configure –with-python=/usr/local/bin/python \
-
–disable-ruby –disable-java –disable-perl \
-
–disable-apache –disable-csharp
-
make
-
cp ./python/neo_cgi.so /usr/local/lib/python2.5/lib-dynload/
再次执行PeerReview功能运行正常
安装过程中碰到问题
1. clearSilver的patch 不完全
经过补丁后,./configure 会提示如下一个错误
-
"Traceback (most recent call last):
-
File "", line 1, in
-
AttributeError: 'module' object has no attribute 'sitedirs'
再次编辑 configure 文件,找到 288 行,将
-
import site; print site.sitedirs[[0]]
修改为
-
import sys; print [path for path in sys.path if path.find('site-packages') != -1][0]
再次 ./configure 正常
2.在make install 有错
提示 /usr/local/lib/python2.5/site-packages/setuptool-0.6c8-py2.5.egg 已经存在不是一个目录
直接用
-
cp ./python/neo_cgi.so /usr/local/lib/python2.5/lib-dynload/
将 python目录下生成的neo_cgi.so 复制到python的库路径解决.
———————–安装后记—————————-
安装后发现其实不用装ClearSilver的,PeerReview已经有对Trac新版本使用的Genshi模板引擎的修订,就是tags/2.1-toddler-rc1这个版本。
对这个版本的说明 有一条就是: all the templates have been rewritten from ClearSilver to Genshi (now fully compatible with Trac 0.11)
Popularity: 4% [?]
Related
Trac中文显示乱码再解决
之前安装好了Trac,Perforce+Trac 0.11安装笔记(附一些问题解决方法如中文乱码问题)
设置default_charset=utf-8 使默认的版本库中的源码文件以utf-8编码显示中文,但是还有一些类型的文件是使用gbk编码的,这样就对这部分文件中的中文就显示不正常了,出现乱码。
经过对Trac源码的研究,发现Trac输出版本库中文件内容时采用的是 mimeviewer 插件,而mimeviewer插件是可以对mime类型做设置的,这样我们就可以通过mime类型来设置文件的字符编码类型。
在trac.ini 中添加如下内容
[mimeviewer] #mime_map=text/plain; charset=gbk:c:txt:TXT, mime_map=text/x-php; charset=utf-8:php tab_width=4
这样就将c,txt,TXt为后缀的文件以gbk编码方式显示,而php文件以utf-8编码方式显示
有了以上的认识,我们可以对trac做如下策略的配置:
可以将大多格式的编码格式通过默认的default_charset来设置
针对个别扩展名文件的字符集通过mimeviewer设置来指定的字符集。
当然,如果相同扩展名的文件的既有utf-8的又有gbk的,那就不行了。
附mimeviewer识别字符集的顺序
1.首先看有没有对应的mime_map设置,如果有,并且有在mime_map中有该类型的charset设置,则使用设定的charset
2.如果1不满足,则自动探测是否是unicode文件,通过文件的头两个字节来识别,如果是,则返回对应的unicode字符类别
\xff\xfe 开头对应 utf-16-le \xfe\xff 开头对应 utf-16-be \xef\xbb\xbf 开头对应 utf-8
3.如果1,2不满足,则返回default_charset中设置的字符集
Popularity: 4% [?]
Related
给Trac添加几个管理用插件
开始尝试Trac的使用,在有些地方感觉使用不方便,但是还好,Trac有插件来解决问题。
官方插件列表页面 http://trac.edgewall.org/wiki/TracPlugins
更多第三方插件http://trac-hacks.org/wiki
WebAdmin
首先是管理,trac-admin 的命令行管理方式多有不便,于是有WebAdmin插件,可以通过Web页面来管理
-
svn export http://svn.edgewall.com/repos/trac/sandbox/webadmin/
-
python setup.py bdst_egg
-
python setup.py install
在trac.ini中添加
[components] webadmin.* = enabled
添加 TRAC_ADMIN 权限到一个账号上。
-
trac-admin /var/trac/test permission add test TRAC_ADMIN
AccountManager
再是账号管理AccountManager
可以方便添加,修改,删除账号,同时可以通过html方式来登陆而不是通过http的auth方式,增加了灵活性。
-
svn co http://trac-hacks.org/svn/accountmanagerplugin/trunk
-
python setup.py install
用管理员账号登陆后在admin页面先做插件的设置,然后在管理面板的Account页做账号管理
在plugin设置中我选择了如下一些功能模块
- AccountManagerAdminPage
- AccountManager
- HtPasswdStroe
- HtPasswdHashMethod
- AccountModule
- LoginModule
管理员账号管理
acct_mgr.admin
acc_mgr.api
账号管理
acct_mgr.htfile
密码存放文件,采用htpasswd格式
acct_mgr.pwhash
保存密码的hash方法,和前面HtPasswdStore对应
acct_mgr.web_ui
账号模块,用户可以在这儿修改自己的密码
acct_mgr.web_ui
Web页面方式的登陆模块,替代原先的httpauth方式,使用他首先要禁止掉trac.web.auth.LoginModule,要不然不起作用,可以在plugin维护中将Trac的这个模块禁用掉。
如下一个参考配置
[components] trac.web.auth.LoginModule = disabled acct_mgr.web_ui.LoginModule = enabled
再在Administrator页面的Account=>Config下面,设置好密码文件的名称,我这边使用的是/var/trac/.passwd 保存
修改tracd的启动方式,去掉 –basic-auth参数,重新启动tracd,启用新的账号验证机制
Popularity: 4% [?]
Related
Perforce+Trac 0.11安装笔记(附一些问题解决方法如中文乱码问题)
网上有很多svn+Trac的安装配置文档,但是有人给做了Trac的后端版本控制扩展,是Trac的应用不再限于svn版本库,在这儿就尝试着给Trac安装一个Perforce后端版本库一下。
Trac是使用Python编写的,因此首先要个机器安装Python环境
安装Python
-
wget http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
-
tar -xzvf Python-2.5.2.tgz
-
cd Python-2.5.2
-
./configure
-
make
-
make install
为Python安装easyinstall
-
wget http://peak.telecommunity.com/dist/ez_setup.py
-
python ez_setup.py
安装PyProtocol
-
wget http://peak.telecommunity.com/dist/PyProtocols-0.9.3.tar.gz
-
tar -xzvf PyProtocols-0.9.3.tar.gz
-
cd PyProtocols-0.9.3
-
python setup.py install
安装SQLite3
-
wget http://www.sqlite.org/sqlite-amalgamation-3.6.2.tar.gz
-
tar -xzvf sqlite-amalgamation-3.6.2.tar.gz
-
cd sqlite-3.6.2/
-
./configure
-
make
-
make install
安装 PySqlite
-
wget http://oss.itsystementwicklung.de/download/pysqlite/2.5/2.5.0/pysqlite-2.5.0.tar.gz
-
tar -xzvf pysqlite-2.5.0.tar.gz
-
cd pysqlite-2.5.0
-
python setup.py install
安装Trac
-
wget http://ftp.edgewall.com/pub/trac/Trac-0.11.1.tar.gz
-
tar -xzvf Trac-0.11.1.tar.gz
-
cd Trac-0.11.1
-
python setup.py install
官方安装配置页面 http://trac.edgewall.org/wiki/TracInstall
采用简单的独立服务启动,没有使用mod_python和fastcgi等方式
-
trac-admin /var/trac/test initenv
-
tracd –port 8080 /var/trac/test
可以测试trac运行正常
-
svn co http://trac-hacks.org/svn/zoomquiettranslation/trunk/0.11.x
-
trac-admin /var/trac/test wiki load default-pages/
-
cp ZhTracGuideToc.py /var/trac/test/plugins
在trac.ini中添加如下内容
[mainnav] wiki.href = /wiki/ZhWikiStart [metanav] help.href = /wiki/ZhTracGuide
添加Perforce版本库支持
Python的Perforce支持PyPerforce
-
wget http://downloads.sourceforge.net/pyperforce/PyPerforce-0.4.zip?modtime=1186240132&big_mirror=0
-
unzip PyPerforce-0.4.zip
-
cd PyPerforce-0.4
-
python setup.py install
-
LD_LIBRARY_PATH=/usr/local/ssl/lib python setup.py install
下载安装Perforce Plugin
-
unzip perforceplugin_trunk.zip
-
cd perforceplugin/trunk
-
python setup.py bdist_egg
-
python setup.py install
配置PerforcePlugin
修改 /var/trac/test/conf/trac.ini 文件,在trac这一节中添加如下一些内容
[trac] repository_type = perforce repository_dir = / [perforce] port = perforce:1666 user = p4trac password = test unicode = 0
建议在 Perforce 的配置中添加一个 只读权限并且不过期的账号,然后在Trac的配置中使用这个账号,并使用Perforce的Ticket来替代Password验证,达到不透露账号密码做保护的目的。
安装过程碰到的问题以及解决
- 安装Python包过程中碰到 ImportError: No module named _md5
- 安装Trac是碰到global name ‘sqlite’ is not defined
- 使用Perforce时提示 Unsupported version control system “perforce”
- Trac 显示中文乱码
-
cs = CharSet(self._connection.charset)
-
if cs is CharSet.UTF_8:
-
self._codec = 'utf8'
-
elif cs is CharSet.NOCONV:
-
self._codec = 'iso-8859-1'
-
else:
-
raise NotImplementedError("Charset '%s' not supported" % str(cs))
-
cs = CharSet(self._connection.charset)
-
if cs is CharSet.UTF_8:
-
self._codec = 'utf8'
-
elif cs is CharSet.NOCONV:
-
self._codec = 'gbk'
-
else:
-
raise NotImplementedError("Charset '%s' not supported" % str(cs))
- 单击数字rev号时,提示previous_rev() takes exactly 2 arguments (3 given)
-
def previous_rev(self, rev, path=''):
-
if self.has_linear_changesets:
-
return self._next_prev_rev('<', rev, path)
-
else:
-
return self.repos.previous_rev(rev, path)
-
def previous_rev(self, rev, path=''):
-
if self.has_linear_changesets:
-
return self._next_prev_rev('<', rev, path)
-
else:
-
return self.repos.previous_rev(rev)
- 登陆时提示Authentication information not available.
-
/usr/local/apache/bin/htpasswd -c /var/trac/.passwd test
-
tracd –port 8080 –basic-auth=*,/var/trac/.passwd,test.com /var/trac/test
网上查找问题,发现是openssl 版本低的原因(0.9.7a),升级Openssl 库到0.9.8g,修改 /etc/ld.so.conf 文件,添加一行 /usr/local/ssl/lib ,ldconfig -v 问题解决 缺少ld的搜索路径,修改 /etc/ld.so.conf 文件,添加一行 /usr/local/lib ,然后再 ldconfig -v 一下,正常 经过n多次尝试和网上查找资料后发现只要在trac.ini中添加如下一段,正常。 1. 文件中的中文乱码 2. Browse 中的文件名列表和changelist中的中文文字乱码 替换成
然后重新安装一下perforceplugin,不要忘记将trac工作环境重新做一下,要不然修订信息还会是乱码,为了这个折腾了我好长时间(我的猜想:这个应该和sqlite中存放的数据编码格式有关系)。 将Trac的versioncontrol目录下cache.py中 修改为
为了不重新安装Trac,可以直接修改site-packages目录下的Trac中的文件 lib/python2.5/lib/site-packages\Trac-0.1….egg/trac/versioncontrol/cache.py 因为是StandAlone的Tracd运行,缺少apache那样的basic auth,所以要按照Tracd的要求来建立验证文件。 修改Trac的启动命令,添加basic_auth参数
官方完整的tracd配置说明
LD_LIBRARY_PATH=/usr/local/ssl/lib python setup.py install
[components]
p4trac.* = enabled
通过修改 trac.ini 中过的 default_charset = utf-8 就可以了,当然如果自己的文件是其他格式的,则需要修改为其他编码,如果文件内容中的编码有两种以上,那就比较麻烦了。
修改perforceplugin的repos.py文件,将
使用apache的htpasswd制作验证文件
Popularity: 4% [?]