0

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

可打印的 PDF 的代码列表是彩色的,这会导致代码列表在打印时难以阅读,尤其是在它们是浅灰色的情况下(例如,注释)。有没有办法在 Asciidoctor 中关闭语法高亮显示?

4

3 回答 3

0

一个简单的方法是不说代码具有哪种语言。只需更换

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

[source]
----
require 'sinatra'
----
于 2017-10-12T17:22:10.877 回答
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"
于 2017-10-13T20:54:07.877 回答
0

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

asciidoctor -a source-highlighter=html-pipeline FILE
于 2017-10-13T11:18:03.883 回答