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>
重启容器后新字体生效
opengrok源代码在线阅读平台搭建及字体修改的更多相关文章
- 在线教育平台搭建 预览和models
一.前言 1.1.项目介绍 在线演示地址:mxonline.mtianyan.cn 开发环境: python:3.6.4 Django:2.0.2 后台管理:xadmin 系统概括: 系统具有完整的用 ...
- android源代码在线阅读
http://grepcode.com/project/repository.grepcode.com/java/ext/com.google.android/android/
- 【原创】Windows平台搭建Kafka源代码开发环境(Eclipse版本)
最近在研究Kafka源代码,需要自己搭建一个开发环境.官网上给出的提示略显简单,照着做了一遍也碰到了一些问题.特此记录下来. 开发环境: Oracle Java 1.7_u71 + Eclipse 4 ...
- 高级PHP开发:利用PHPEMS搭建在线考试平台
今天给大家分享一个小技巧,就是利用PHP ems搭建在线考试平台:希望能给你给予帮助: 在给大家分享之前,这里推荐下我自己建的PHP开发-VIP资料出售平台 :638965404,不管你是小白还是大牛 ...
- Storm on Yarn :原理分析+平台搭建
Storm on YARN: Storm on YARN被视为大规模Web应用与传统企业应用之间的桥梁.它将Storm事件处理平台与YARN(Yet Another Resource Negotiat ...
- LAMP平台搭建菜鸟入门级实验
LAMP平台搭建(菜鸟入门级) mysql 安装: (1)二进制安装 二进制安装 ,执行解压配置即可.无须执行三布安装. (2)源码编译安装 安装准备工作: (1)查看系统配置:#uname -a/ ...
- xss小结-从xss平台搭建到csp规则
0x00前言 xss是跨站脚本攻击,利用嵌入js代码达到‘控制’对方浏览器的作用,测试的时候我们是用alert(1)弹窗,而做CTF也好,实际中的漏洞利用也好一般是用xss获取管理员的cookie 0 ...
- 使用FlashPaper 实现JSP在线阅读[转]
http://cuisuqiang.iteye.com/blog/1841452 使用FlashPaper 实现JSP在线阅读 FlashPaper 是Macromedia推出的一款电子文档类工具,通 ...
- 「C语言」在Windows平台搭建C语言开发环境的多种方式
新接触C语言,如何在Windows下进行C语言开发环境的搭建值得思考并整理. 以下多种开发方式择一即可(DEV C++无须环境准备). 注:本文知识来源于 Windows 平台搭建C语言集成开发环境 ...
- Atitit rss没落以及替代品在线阅读器
Atitit rss没落以及替代品在线阅读器 1.1. 对RSS的疯狂追逐,在2005年达到了一个高峰.1 1.2. Rss的问题,支持支rss,不支持url1 1.3. ,博客受到社交网络的冲击.s ...
随机推荐
- K8s控制器---Replicaset(7)
一.Replicaset(目前少用了) 1.1 控制器管理pod 什么是控制器?前面我们学习了 Pod,那我们在定义 pod 资源时,可以直接创建一个 kind:Pod 类型的自主式 pod,但是这存 ...
- 设计模式之装饰器-AOP
HelloWorld简单例子如下:此例子好好体会下继承 is a和组合 has a的异同. using System; using System.Runtime.InteropServices; na ...
- 一个开源轻量级的C#代码格式化工具(支持VS和VS Code)
前言 C#代码格式化工具除了ReSharper和CodeMaid,还有一款由.NET开源.免费(MIT License).轻量级的C#语言代码格式化工具:CSharpier. 工具介绍 CSharpi ...
- linux网络管理及常用网络工具详解
linux网络管理及常用网络工具详解 目录 linux网络管理及常用网络工具详解 1. linux网络管理 1.1 centos网卡命名规则 1.2 域名解析配置文件 1.3 ifconfig命令管理 ...
- 简易的 Linux 流量实时监控工具 watch+ifstat
非常简单小巧的流量实时监控工具,贵在不需要安装,Linux 操作系统自带,在不出外网的环境中很是实用. watch -d ifstat eth1 如果连 ifstat 都没有的环境中也可以使用 ifc ...
- 京东二面:Sychronized的锁升级过程是怎样的
引言 Java作为主流的面向对象编程语言,提供了丰富的并发工具来帮助开发者解决多线程环境下的数据一致性问题.其中,内置的关键字"Synchronized"扮演了至关重要的角色,它能 ...
- git 安装 和 git 客户端的使用
git clone 命令 # 查前当前登录用户的一些基本信息: # 查看当前登录的账号:git config user.name # 修改当前登录的账号为xcj:git config --global ...
- FFmpeg中的关键方法及结构体(二)avformat_open_input
1.avformat_open_input 该方法声明在libavformat/avformat.h:2093 int avformat_open_input(AVFormatContext **ps ...
- wpf 双屏显示问题
// 在WPF中处理双屏显示问题,通常需要确保应用程序能够识别两个显示器,并在每个显示器上正确渲染内容.以下是一个简化的示例,展示如何在WPF应用程序中设置窗口,使其跨越两个显示器: using ...
- c#获取开机时间
public static DateTime OpenCom() { TimeSpan t = TimeSpan.FromMilliseconds(System.Environment.TickCou ...