opengrok源代码在线阅读平台搭建及字体修改
服务搭建
我所编写的
docker-compose.yml
如下,成功运行后将源码目录移动至
/data/opengrok/src
,重启容器使得opengrok快速更新索引
services:
opengrok:
container_name: opengrok
# 1.6版本在使用中还算稳定
image: opengrok/docker:1.6.9
init: true
ports:
- "$WEB_PORT:8080/tcp"
# REST_PORT在关掉了远程同步后实际没有效果
- "127.0.0.1:5000:5000/tcp"
environment:
# 索引刷新的间隔时间
SYNC_PERIOD_MINUTES: 10
# REST_PORT在关掉了远程同步后实际没有效果
REST_PORT: 5000
# 我关掉了git远程同步和历史搜索 根据硬件性能调整 --thread 1 --memory 512
INDEXER_OPT: '--verbose --thread 1 --memory 512 --renamedHistory off --leadingWildCards on --remote off'
# 根据硬件性能调整 WORKERS: 1
WORKERS: 1
NOMIRROR: 'TRUE'
CHECK_INDEX: 'TRUE'
volumes:
# 将源码目录移动至 /data/opengrok/src 重启容器使得opengrok快速更新索引
- '/data/opengrok/src/:/opengrok/src/'
- '/data/opengrok/etc/:/opengrok/etc/'
- '/data/opengrok/data/:/opengrok/data/'
修改字体
修改网页代码的字体显示
默认的字体是Serif,想修改为Console
# 进入容器并查找容器中war位置
docker exec -it $CONTAIN_ID /bin/bash
# 修改的目标war文件是 /opengrok/lib/source.war
# 可以根据重启容器后 war文件的修改时间判断war原始文件
find / -name "*.war"
# 修改
vim source/list.jsp
# 解压缩war
unzip source.war -d source
# 重新打包war
jar -cvfM0 source.war -C source .
修改对比
--- list.jsp.bak 2024-03-05 19:17:24.287951123 +0800
+++ list.jsp 2024-03-05 21:27:27.000000000 +0800
@@ -293,7 +293,8 @@
if (xrefFile != null) {
%>
<div id="src" data-navigate-window-enabled="<%= navigateWindowEnabled %>">
- <pre><%
+ <pre style="font-family:Consolas;!important;">
+<%
boolean compressed = xrefFile.getName().endsWith(".gz");
Util.dumpXref(out, xrefFile, compressed, request.getContextPath());
%></pre>
重启容器后新字体生效