cgit의 Syntax-highlighting.sh 명령을 실행하여 제대로 작동하는지 확인하려면 어떻게 해야 합니까?

cgit의 Syntax-highlighting.sh 명령을 실행하여 제대로 작동하는지 확인하려면 어떻게 해야 합니까?

cgit 설치 시 구문 강조 옵션이 제대로 작동하지 않으며 필요한 매개변수가 모두 있는 경우 명령줄에서 제대로 작동하는지 확인하고 싶었습니다.

옵션이 /etc/cgitrc올바르게 설정되었습니다.

source-filter=/usr/lib/cgit/filters/syntax-highlighting.sh

예를 들어 bash 파일에서 명령을 실행하면 highlightcss 및span 클래스가 출력에 있지만 파일에서 /usr/lib/cgit/filters/syntax-highlighting.sh를 실행하면 css 및span 태그가 나타납니다. 표시되지 않습니다.

highlight스크립트의 명령 실제 명령(마지막 줄)은 다음과 같습니다.

exec highlight --force --inline-css -f -I -O xhtml -S "$EXTENSION" 2>/dev/null
#!/bin/sh
# This script can be used to implement syntax highlighting in the cgit
# tree-view by refering to this file with the source-filter or repo.source-
# filter options in cgitrc.
#
# This script requires a shell supporting the ${var##pattern} syntax.
# It is supported by at least dash and bash, however busybox environments
# might have to use an external call to sed instead.

#
# Code considered irrelevant snipped
#

# store filename and extension in local vars
BASENAME="$1"
EXTENSION="${BASENAME##*.}"

[ "${BASENAME}" = "${EXTENSION}" ] && EXTENSION=txt
[ -z "${EXTENSION}" ] && EXTENSION=txt

# map Makefile and Makefile.* to .mk
[ "${BASENAME%%.*}" = "Makefile" ] && EXTENSION=mk

# highlight versions 2 and 3 have different commandline options. Specifically,
# the -X option that is used for version 2 is replaced by the -O xhtml option
# for version 3.
#
# Version 2 can be found (for example) on EPEL 5, while version 3 can be
# found (for example) on EPEL 6.
#
# This is for version 2
#exec highlight --force -f -I -X -S "$EXTENSION" 2>/dev/null

# This is for version 3
exec highlight --force --inline-css -f -I -O xhtml -S "$EXTENSION" 2>/dev/null

답변1

cgit에서 구문 강조를 수행하려면 구문 강조를 지정하는 줄이 저장소 위치 줄 앞에 나타나야 합니다. 아래 제공된 예에서 해당 source-filter행이 이 행 뒤에 배치 되면 include구문 강조 표시가 실패합니다 .

source-filter=/usr/lib/cgit/filters/syntax-highlighting.py   
include=/home/infosys/sites/cgit.local/www/cgitrepos

확인해 보니 어딘가에 기록되지 않은 이상 버그인 것 같습니다. 어쩌면 일부 디자인 문제에 이것이 필요할 수도 있습니다.

더 많은 정보를 원하시면 방문해주세요https://wiki.archlinux.org/index.php/Cgit

관련 정보