Skip to content

Commit

Permalink
IDGXML: allow caption-omitted //source. Closes: #1447
Browse files Browse the repository at this point in the history
  • Loading branch information
kmuto committed Dec 29, 2019
1 parent 1a114ee commit 01ca4d8
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 7 deletions.
16 changes: 14 additions & 2 deletions doc/format.ja.md
Original file line number Diff line number Diff line change
Expand Up @@ -264,11 +264,23 @@ puts "hello world!"

```review
//source[/hello/world.rb]{
puts "hello world!"
puts "hello world!" # キャプションあり
//}
//source{
puts "hello world!" # キャプションなし
//}
//source[/hello/world.rb][ruby]{
puts "hello world!" # キャプションあり、ハイライトあり
//}
//source[][ruby]{
puts "hello world!" # キャプションなし、ハイライトあり
//}
```

ソースコードの引用は、キャプションを付けた `//emlist` とほぼ同じです。HTML の CSS などでは区別した表現ができます。
ソースコードの引用は、`//emlist` とほぼ同じです。HTML の CSS などでは区別した表現ができます。

## 本文中でのソースコード引用

Expand Down
2 changes: 1 addition & 1 deletion lib/review/builder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -151,7 +151,7 @@ def listnum(lines, id, caption, lang = nil)
listnum_body(lines, lang)
end

def source(lines, caption, lang = nil)
def source(lines, caption = nil, lang = nil)
source_header(caption)
source_body(lines, lang)
end
Expand Down
2 changes: 1 addition & 1 deletion lib/review/idgxmlbuilder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -1146,7 +1146,7 @@ def inline_title(id)
error "unknown chapter: #{id}"
end

def source(lines, caption, lang = nil)
def source(lines, caption = nil, lang = nil)
puts '<source>'
source_header(caption)
source_body(lines, lang)
Expand Down
6 changes: 3 additions & 3 deletions samples/syntax-book/ch02.re
Original file line number Diff line number Diff line change
Expand Up @@ -49,9 +49,9 @@ print('hello');
puts 'Hello'
//}

#@# //source{
#@# //}
#@# FIXME:キャプションなしはLaTeXだとエラーになることがわかった。Re:VIEW側修正予定
//source{
puts 'Hello'
//}

実行例を示すとき用にはcmdを用意しています。いずれにせよ、商業書籍レベルでは必要なので用意しているものの、原稿レベルで書き手が使うコードブロックはほどほどの数に留めておいたほうがいいのではないかと思います。TeX版の紙面ではデフォルトは黒アミ。印刷によってはベタ黒塗りはちょっと怖いかもなので、あまり長々したものには使わないほうがいいですね。

Expand Down
12 changes: 12 additions & 0 deletions test/test_idgxmlbuilder.rb
Original file line number Diff line number Diff line change
Expand Up @@ -460,6 +460,18 @@ def test_source_empty_caption
<source><pre>foo
bar
buz
</pre></source>
EOS
assert_equal expected, actual
end

def test_source_nil_caption
actual = compile_block("//source{\nfoo\nbar\n\nbuz\n//}\n")
expected = <<-EOS.chomp
<source><pre>foo
bar
buz
</pre></source>
EOS
Expand Down

0 comments on commit 01ca4d8

Please sign in to comment.