opengrok源代码在线阅读平台搭建及字体修改

服务搭建

我所编写的docker-compose.yml如下,成功运行后将源码目录移动至 /data/opengrok/src ,重启容器使得opengrok快速更新索引

yaml 复制代码
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

bash 复制代码
# 进入容器并查找容器中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 .

修改对比

diff 复制代码
--- 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>

重启容器后新字体生效