Giter VIP home page Giter VIP logo

review's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

review's Issues

review-compile で Encoding::CompatibilityError

すべて UTF-8 でやってていても,Windows で review-compile したときに下記の例外が発生します。
review-1.0.0/lib/review/htmlbuilder.rb:109
incompatible character encodings: UTF-8 and Windows-31J (Encoding::CompatibilityError)

lib/review/builder.rb:41 で @output = StringIO.new したとき,エンコーディングが Windows-31J になって,そこに UTF-8 の文字列を足していっても Windows-31J に変換されてしまうのが原因のように思われます。

review-pdfmaker で PDF を作成するとエラーが出る

44c411d のコミット以降、
PDF を作成しようとすると以下のようなエラーが発生するようになりました。
一つ前までのコミットでは、問題なくPDFは作ることができました。
回避方法などございましたら、ご教示ください。
よろしくお願いします。

(/Applications/UpTeX.app/teTeX/share/texmf/ptex/platex/base/ascmac.sty
(/Applications/UpTeX.app/teTeX/share/texmf/ptex/platex/base/tascmac.sty))
(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/float/float.sty)
(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/base/alltt.sty)
(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/geometry/geometry.sty

(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/geometry/geometry.cfg
)) (/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/base/fontenc.sty
(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/base/t1enc.def))
(./book.aux)
(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/latex/hyperref/nameref.sty
(/Applications/UpTeX.app/teTeX/share/texmf-dist/tex/generic/oberdiek/gettitlest
ring.sty)) (./book.out) (./book.out)

Package hyperref Warning: Rerun to get /PageLabels entry.

! TeX capacity exceeded, sorry [save size=5000].
split@name ...#2}def f@series {#3}def f@shape {#4}
                                                  def f@size {#5}
l.145    \reviewtitlefont
                         %
No pages of output.
Transcript written on book.log.
book.dvi -> book.pdf

** ERROR ** Could not open specified DVI file: book.dvi

Output file removed.
    /usr/local/lib/ruby/1.9.1/fileutils.rb:1423:in `stat': No such file or directory - /var/folders/1z/ff7x15cj7vb24rl38ty0y52w0000gn/T/d20111105-24362-3844n3/MacRubyBible1/book.pdf (Errno::ENOENT)
    from /usr/local/lib/ruby/1.9.1/fileutils.rb:1423:in `block in fu_each_src_dest'
    from /usr/local/lib/ruby/1.9.1/fileutils.rb:1439:in `fu_each_src_dest0'
    from /usr/local/lib/ruby/1.9.1/fileutils.rb:1421:in `fu_each_src_dest'
    from /usr/local/lib/ruby/1.9.1/fileutils.rb:391:in `cp'
    from /usr/local/lib/ruby/gems/1.9.1/gems/review-0.9.0/bin/review-pdfmaker:143:in `main'
    from /usr/local/lib/ruby/gems/1.9.1/gems/review-0.9.0/bin/review-pdfmaker:457:in `<top (required)>'
    from /usr/local/bin/review-pdfmaker:19:in `load'
    from /usr/local/bin/review-pdfmaker:19:in `<main>'
rake aborted!
Command failed with status (1): [review-pdfmaker config.yml...]

@<dtp>、@<raw>、//rawでビルダごとの指定をできるようにしたい

タグ名は別のでもいいけど。XMLインストラクションにして後処理用に使うdtpタグ、生タグ含めて挿入するrawタグは紙面構成のためにやむをえず使わざるを得ないことが多いけど、マルチフォーマット展開をする際にはゴミになったりあるいは競合したりすることになる。
//rawについてはたとえば//raw[生情報] 、//raw[builder1,builder2][生情報] のようにオプション化できそうだけど、インラインタグの@と@についてはオプションを持たせられない。
ビルダごとのタグを用意べきか…?

生成するファイル名を*.reと同じ名前(拡張子以外)になるようにしたい

issue #42 に関連して、@〈chap〉{advance}などをadvance.reを変換した後のHTMLファイルにリンクするには、変換後のファイル名が分からないといけません。

ところが、現状はchap12.htmlやpost1.htmlのようになったりするため、相当頑張らないとリンクが貼れません。

というわけで、デフォルトかオプションで、生成するHTMLやtexのファイルのファイル名を、元のReVIEWソースファイルと同じ名前(拡張子だけ違う)になるようにしたいです。

リストの途中で改行すると、スペースが入る

以下のように、ReVIEWでリストを記述しております。

 1. インスタンス変数@wordsへText Fieldの文字列を追加します。
 2. Text Fieldに空の文字列を設定し、入力されていた文字列を消去します。
    setStringValueメソッドを使用すると、Text Fieldに文字列を設定することができま
    す。

リストが長くなり読みにくいので途中で改行ながら記述しているのですが、htmlに変換した際に改行位置で半角スペースが挿入された状態でブラウザに表示されます。
本文を記述している際も同様に改行しているのですが、本文の場合にはこのような現象がないように見受けられます。

この現象を回避するためには、改行しないで記述するしか無いのでしょうか?

初出時の単語にだけ説明を入れるような機能

たとえば、「TDD」という単語を使うとき、
初出時は「TDD(Test Driven Development: テスト駆動開発)」のように説明を入れて、
次回からは「TDD」とだけにするような機能。

初出時というのは、

  • 書籍の初出時
  • 章の初出時

の2種類が必要かな。

その場にファイルの内容を展開する記法が欲しい

同じ言い回しが何度も出てくる場合に使いたい。

彼は「@<include>{his_saying.txt}」と言った。
....
先ほど彼が「@<include>{his_saying.txt}」と言ったように……
  • タグ名はincludeでいいですかね?(なんかちょっと微妙かも)
  • インラインだけでいいですよね?

PREDEFが拡張子re以外のものを扱えない

PREDEFでは記述したファイル名に対し、ReVIEW内部でre拡張子を補完するので拡張子がtxtなどのファイルを指定することができません。

諸々の都合で中身がReVIEWフォーマットの.txtなファイルを使うということがあるので明示的に拡張子を指定する形にしてもらえるとありがたいです。現にCHAPSの方はそういう仕様になっているようですし。

バージョンは0.9.0です。

図の参照をもう少しインテリジェントにしたい

複数のビルダで図版フォーマットなどが違う場合、images/ 1つだといろいろやりづらい(symlinkで対処してきたが)。
また、章単位サブフォルダにしたいという要求に対してコマンドオプションをいちいちつけるのも格好悪い気がしてきた。

たとえば、自動で次のようにヒットするまで探すようにできるか?

  1. images/<builder>/<re prefix>/<ID>.拡張子
  2. images/<builder>/<re prefix>-<ID>.拡張子
  3. images/<re prefix>/<ID>.拡張子
  4. images/<re prefix>-<ID>.拡張子

対象となるコマンドはimage、indepimage、icon。

latex/pdfをi18n対応

よくわからない……。
とりあえず、

  • babel を使う
  • prechaptername あたりを修正

EPUBで、OEBPS/stylesheet.cssが必ず生成されてしまう

別の名前のCSSを指定して使っていたところ、epubcheck v1.2をかけてみたら、

WARNING: book.epub: item (OEBPS/stylesheet.css) exists in the zip file, but is not declared in the OPF file

という警告が出てくるようです。まあ、実害はないのですが。

stylesheet.cssの中身は以下のようになっています。

/* sample style sheet for epub */
@charset "utf-8";

body {
}

本文中から見出しにリンクで飛べるようにしたい

「本文中のある見出しにアンカーを置き、そのアンカーへのリンクを貼る、といったことは可能でしょうか。
HTMLでのと同じような機能です。」
という問い合わせがありました。

@や@<title>でリンクできるようにする、というのがいいかも?

latexbuilderにもnoteメソッドがほしい

noteメソッドがないのって理由がありますか?
詳細はあとで実装することにして、とりあえずはquoteと同じにするというのはどうでしょうか?

def note(lines)
  latex_block 'quote', lines
end

Ruby 1.9.3でtestが失敗する

どうもYAML関係のフォーマットが若干異なっている(?)ようで、test_epubmaker.rbのテストが2つ失敗します。
(YAMLの形でオブジェクトの比較をするのはちょっと止めた方がいいかなあ、と思いました)

Finished tests in 0.711989s, 421.3548 tests/s, 2557.6238 assertions/s.

  1. Failure:
    test_stage2_add_l1item(EPUBMakerTest) [/Users/maki/git/review/test/test_epubmaker.rb:126]:
    <"--- !ruby/object:EPUBMaker::Content \nfile: ch01.html\nid: ch01-html\nlevel: 1\nmedia: application/xhtml+xml\nnotoc: \ntitle: CH01\n"> expected but was
    <"--- !ruby/object:EPUBMaker::Content\nid: ch01-html\nfile: ch01.html\nmedia: application/xhtml+xml\ntitle: CH01\nlevel: 1\nnotoc: \n">.

  2. Failure:
    test_stage3_add_various_items(EPUBMakerTest) [/Users/maki/git/review/test/test_epubmaker.rb:356]:
    <"--- \n- !ruby/object:EPUBMaker::Content \n file: ch01.html\n id: ch01-html\n level: 1\n media: application/xhtml+xml\n notoc: \n title: CH01\n- !ruby/object:EPUBMaker::Content \n file: ch02.html\n id: ch02-html\n level: 1\n media: application/xhtml+xml\n notoc: \n title: CH02\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S1\n id: ch02-html#S1\n level: 2\n media: html#s1\n notoc: \n title: CH02.1\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S1.1\n id: ch02-html#S1-1\n level: 3\n media: "1"\n notoc: \n title: CH02.1.1\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S1.1.1\n id: ch02-html#S1-1-1\n level: 4\n media: "1"\n notoc: \n title: CH02.1.1.1\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S1.1.1.1\n id: ch02-html#S1-1-1-1\n level: 5\n media: "1"\n notoc: \n title: CH02.1.1.1.1\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S1.1.2\n id: ch02-html#S1-1-2\n level: 4\n media: "2"\n notoc: \n title: CH02.1.1.2\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S2\n id: ch02-html#S2\n level: 2\n media: html#s2\n notoc: \n title: CH02.2\n- !ruby/object:EPUBMaker::Content \n file: ch02.html#S2.1\n id: ch02-html#S2-1\n level: 3\n media: "1"\n notoc: \n title: CH02.2.1\n- !ruby/object:EPUBMaker::Content \n file: ch03.html\n id: ch03-html\n level: 1\n media: application/xhtml+xml\n notoc: \n title: CH03\n- !ruby/object:EPUBMaker::Content \n file: ch03.html#S1\n id: ch03-html#S1\n level: 2\n media: html#s1\n notoc: \n title: CH03.1\n- !ruby/object:EPUBMaker::Content \n file: ch03.html#S1.1\n id: ch03-html#S1-1\n level: 3\n media: "1"\n notoc: \n title: CH03.1.1\n- !ruby/object:EPUBMaker::Content \n file: ch04.html\n id: ch04-html\n level: 1\n media: application/xhtml+xml\n notoc: \n title: CH04\n- !ruby/object:EPUBMaker::Content \n file: sample.png\n id: sample-png\n level: \n media: image/png\n notoc: \n title: \n- !ruby/object:EPUBMaker::Content \n file: sample.jpg\n id: sample-jpg\n level: \n media: image/jpeg\n notoc: \n title: \n- !ruby/object:EPUBMaker::Content \n file: sample.JPEG\n id: sample-JPEG\n level: \n media: image/jpeg\n notoc: \n title: \n- !ruby/object:EPUBMaker::Content \n file: sample.SvG\n id: sample-SvG\n level: \n media: image/svg+xml\n notoc: \n title: \n- !ruby/object:EPUBMaker::Content \n file: sample.GIF\n id: sample-GIF\n level: \n media: image/gif\n notoc: \n title: \n- !ruby/object:EPUBMaker::Content \n file: sample.css\n id: sample-css\n level: \n media: text/css\n notoc: \n title: \n"> expected but was
    <"---\n- !ruby/object:EPUBMaker::Content\n id: ch01-html\n file: ch01.html\n media: application/xhtml+xml\n title: CH01\n level: 1\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html\n file: ch02.html\n media: application/xhtml+xml\n title: CH02\n level: 1\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S1\n file: ch02.html#S1\n media: html#s1\n title: CH02.1\n level: 2\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S1-1\n file: ch02.html#S1.1\n media: '1'\n title: CH02.1.1\n level: 3\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S1-1-1\n file: ch02.html#S1.1.1\n media: '1'\n title: CH02.1.1.1\n level: 4\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S1-1-1-1\n file: ch02.html#S1.1.1.1\n media: '1'\n title: CH02.1.1.1.1\n level: 5\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S1-1-2\n file: ch02.html#S1.1.2\n media: '2'\n title: CH02.1.1.2\n level: 4\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S2\n file: ch02.html#S2\n media: html#s2\n title: CH02.2\n level: 2\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch02-html#S2-1\n file: ch02.html#S2.1\n media: '1'\n title: CH02.2.1\n level: 3\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch03-html\n file: ch03.html\n media: application/xhtml+xml\n title: CH03\n level: 1\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch03-html#S1\n file: ch03.html#S1\n media: html#s1\n title: CH03.1\n level: 2\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch03-html#S1-1\n file: ch03.html#S1.1\n media: '1'\n title: CH03.1.1\n level: 3\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: ch04-html\n file: ch04.html\n media: application/xhtml+xml\n title: CH04\n level: 1\n notoc: \n- !ruby/object:EPUBMaker::Content\n id: sample-png\n file: sample.png\n media: image/png\n title: \n level: \n notoc: \n- !ruby/object:EPUBMaker::Content\n id: sample-jpg\n file: sample.jpg\n media: image/jpeg\n title: \n level: \n notoc: \n- !ruby/object:EPUBMaker::Content\n id: sample-JPEG\n file: sample.JPEG\n media: image/jpeg\n title: \n level: \n notoc: \n- !ruby/object:EPUBMaker::Content\n id: sample-SvG\n file: sample.SvG\n media: image/svg+xml\n title: \n level: \n notoc: \n- !ruby/object:EPUBMaker::Content\n id: sample-GIF\n file: sample.GIF\n media: image/gif\n title: \n level: \n notoc: \n- !ruby/object:EPUBMaker::Content\n id: sample-css\n file: sample.css\n media: text/css\n title: \n level: \n notoc: \n">.

300 tests, 1821 assertions, 2 failures, 0 errors, 0 skips
rake aborted!
Command failed with status (2): [/Users/maki/.rvm/rubies/ruby-1.9.3-p0/bin/...]

EPUB内のtoc.htmlの入れ子構造が壊れることがある

toclevel:とsecnolevel:を3などの比較的大きい数字にして、深いインデントを持つファイルを扱う場合、入れ子が正しく生成されず、不正なEPUBが生成されることがある。

問題はreview-epubmakerのロジックで、currentとlevelを直接代入で同じ値に揃えているところがあるのが正しくない。1ずつインクリメント・デクリメントしながら開始タグと終了タグ、li要素の対応を整える必要がある。

epubmakerで、PREDEFの章タイトルがTOCに正しく反映されない

例えばpreface.reなどのまえがきを用意している場合、それをPREDEFに登録すると、TOCにそれがなかったり、そもそもTOCが上手く作れなかったりします。
これは、lib/review/htmlbuilder.rbでのheadline_prefix()メソッドで、まえがきの場合は@chapter.numberが値を取得できないためanchorが"'になり、さらにこれを使うheadline()メソッドでa_idが""になり、そのためEPUB生成時点でヘッダのIDが取れず、TOCに反映されなくなるためです。

no support @<bib> in EPUB

@bibを使うとbib.htmlへの参照になるのですが、review-epubmakerではHTMLファイル名は処理系側で生成するのでbib.htmlを生成することができず、リンクがエラーになります。

BookTestが通らない

実行すると以下のようなエラーが出ます。パスの比較をしているところで、物理的には同じパスだけど、名前が違う場合、文字列比較するとエラーになる、と。

  1) Failure:
test_s_load_default(BookTest)
    [./test/test_book.rb:44:in `test_s_load_default'
     ./test/test_book.rb:43:in `chdir'
     ./test/test_book.rb:43:in `test_s_load_default'
     /opt/local/lib/ruby/1.8/tmpdir.rb:129:in `mktmpdir'
     ./test/test_book.rb:41:in `test_s_load_default']:
<"/var/folders/eB/eB+DBuHjF2SaQejGnbN5NU+++TI/-Tmp-/d20100902-28887-1lhlmrz"> expected but was
<"/private/var/folders/eB/eB+DBuHjF2SaQejGnbN5NU+++TI/-Tmp-/d20100902-28887-1lhlmrz">.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.