由于默认的ashx在ReviewBoard显示时,无代码风格,而其他的结尾的代码及js结尾的代码显示的格式也不是太明显;
在官网上,查看到ReviewBoard使用到了pygments模块(Python的语法高亮模块),在配置界面中未发现可以配置;
故想着通过修改部分代码,来实现修改显示风格的效果。
1.通过了解django的机制,加上显示页面样式的url:/r/60/diff/#0;
2.查找到对应的文件chunk_generator.py,进而查找到def _apply_pygments(self, data, filename);
3.通过实验,发现此函数返回html格式的字符串,其中每个关键词均含有相应的class;
4.通过审查元素,查找到对应的css文件(reviews.min.d2ed9dae1d71.css)
5.在http://pygments.org/demo/页面中,获取标准的vs风格的css代码,复制到第四步中的css中
6.由于pygments对于ASP的渲染,有bug,故将.ashx及.aspx结尾的文件,重定向为.cs,这样就能使用C#的风格进行渲染
filename = filename.replace(".ashx", ".cs")
filename = filename.replace(".aspx", ".html")
7.通过上面的几个步骤,即可修改ReviewBoard的代码风格显示
在官网上,查看到ReviewBoard使用到了pygments模块(Python的语法高亮模块),在配置界面中未发现可以配置;
故想着通过修改部分代码,来实现修改显示风格的效果。
1.通过了解django的机制,加上显示页面样式的url:/r/60/diff/#0;
2.查找到对应的文件chunk_generator.py,进而查找到def _apply_pygments(self, data, filename);
3.通过实验,发现此函数返回html格式的字符串,其中每个关键词均含有相应的class;
4.通过审查元素,查找到对应的css文件(reviews.min.d2ed9dae1d71.css)
5.在http://pygments.org/demo/页面中,获取标准的vs风格的css代码,复制到第四步中的css中
6.由于pygments对于ASP的渲染,有bug,故将.ashx及.aspx结尾的文件,重定向为.cs,这样就能使用C#的风格进行渲染
filename = filename.replace(".ashx", ".cs")
filename = filename.replace(".aspx", ".html")
7.通过上面的几个步骤,即可修改ReviewBoard的代码风格显示