是否有可能在Asciidoctor中关闭语法高亮?

时间:2017-10-12 16:12:44

标签: asciidoc asciidoctor asciidoctor-pdf

我已使用Asciidoctor创建了我的JHipster Mini-Book。它在PDF,MOBI,EPUB和HTML中看起来很棒。我还创建了一个可打印的(PDF)版本。可打印的版本虽然是Lulu,但却以黑白打印。

可打印PDF的代码清单颜色很多,导致代码清单在打印时难以阅读,特别是如果它们是浅灰色的(例如,评论)。有没有办法在Asciidoctor中关闭语法高亮?

3 个答案:

答案 0 :(得分:0)

一种简单的方法是不说代码所使用的语言。只需替换

[source,ruby]
----
require 'sinatra'
----

[source]
----
require 'sinatra'
----

答案 1 :(得分:0)

将属性source-highlighter设置为html-pipeline,例如在调用asciidoctor时在CLI上:

asciidoctor -a source-highlighter=html-pipeline FILE

答案 2 :(得分:0)

我在Twitter上的@mojavelinux(Dan Allen)的帮助下找到了答案。关键是不要传递source-highlighter参数。

进行此更改后,这是我的generate-pdf.sh脚本。

#!/bin/bash
# Usage: `./generate-pdf.sh` to generate a printable 6x9" PDF with no syntax highlighting
#        `./generate-pdf.sh screen` to generate a downloadable 8.5x11" PDF

source $HOME/.rvm/scripts/rvm

rvm use 2.3.1 --quiet
if [ ! -d .bundle/gems ]; then
  rm -f Gemfile.lock
  bundle config --local github.https true
  bundle --path=.bundle/gems --binstubs=.bundle/.bin
fi

if [ -f "$rvm_path/scripts/rvm" ] && [ -f ".ruby-version" ] && [ -f ".ruby-gemset" ]; then
  source "$rvm_path/scripts/rvm"
  rvm use `cat .ruby-version`@`cat .ruby-gemset`
fi

ASCIIDOCTOR_PDF="./.bundle/.bin/asciidoctor-pdf"
OPTIMIZE_PDF="`bundle exec gem contents --show-install-dir asciidoctor-pdf`/bin/optimize-pdf"

ROOT_DIR=$(realpath $(dirname $0))
MEDIA=prepress
HIGHLIGHTING=""
if [ ! -z "$1" ]; then
  MEDIA=$1
  HIGHLIGHTING="-a source-highlighter=coderay"
fi
BASE_DIR="$ROOT_DIR/src/docs/asciidoc"
OUT_DIR="$ROOT_DIR/build/asciidoc/pdf-$MEDIA"

$ASCIIDOCTOR_PDF --trace -B "$BASE_DIR" \
  -D "$OUT_DIR" \
  -S unsafe \
  -r "$ROOT_DIR/src/main/ruby/asciidoctor-pdf-extensions.rb" \
  -a media=$MEDIA \
  -a pdfmarks \
  -a pdf-style=infoq-$MEDIA \
  -a pdf-stylesdir="$BASE_DIR/styles/pdf" \
  -a pdf-fontsdir="$BASE_DIR/styles/pdf/fonts" \
  -a sourcedir=../../../main/webapp \
  $HIGHLIGHTING \
  -a imagesdir=images \
  -a toc \
  -a icons=font \
  -a idprefix \
  -a idseparator=- \
  -a projectdir=../../.. \
  -a rootdir=../../.. \
  -a project-name=jhipster-book \
  -a project-version=2.0.0-SNAPSHOT \
  -a attribute-missing=warn \
  "$BASE_DIR/index.adoc"

$OPTIMIZE_PDF "$OUT_DIR/index.pdf"
mv -f "$OUT_DIR/index-optimized.pdf" "$OUT_DIR/index.pdf"