Git Product home page Git Product logo

md2inao's Issues

---に対応していただきたい


に対応していただくことは可能でしょうか?
現状は以下に変換されます。

<hr />

イナオ記法の場合は以下に、

=-=-=

InDesignテキストの場合は以下に、

<ParaStyle:区切り線>

変換していただけると助かります。

入れ子のリストに対応させる

Markdown の入れ子リストシンタックスに md2inao が未対応なので、対応させる。

* Hoge
    * Foo
    * Bar

これを inao 記法の入れ子リストに。

図、表、リスト、写真番号の自動化について

以下みたいに書いていれば図番号を自動でふってくださる機能をお付けくださったですか!!?
めーちゃくちゃ便利そうです。

![キャプション](ファイル名)

本文から図番号で参照する必要があるのですが、本文からこの図番号を取得できますでしょうか?
[キャプション]って書いていれば図1になるなど。

そのほか2点ご質問させてください。

  • 書籍の場合は図1.1みたいなナンバリングになるのですが、これにもご対応可能でしょうか?
  • 表やリストの番号についてもなるのでしょうか?

箇条書き後のリストと箇条書きの末尾が抜ける

1点私がずっと困っていた現象です。 #4 に関連する現象かもしれません。

横からすいません。同じような現象かもと思ったのでここに書きました。箇条書きの後にリストなどがあると、箇条書きの一部とリストが消えてしまいます。

md2inao

 本文

- 箇条書き1行目
- 箇条書き2行目
- 箇条書き3行目
- 箇条書き4行目

    ●リスト1::リストのキャプション
    code {
      code 
      code
    }

 本文

unexpected

 本文
・箇条書き1行目
・箇条書き2行目
・箇条書き3行目
・
 本文

作成していただいた3/8時点の http://md2inao.bloghackers.net/upload で行って再現しました。

意図する動作は以下のとおりです。

--- in md2inao
 本文

- 箇条書き1行目
- 箇条書き2行目
- 箇条書き3行目
- 箇条書き4行目

    ●リスト1::リストのキャプション
    code {
      code 
      code
    }

 本文

--- expected
 本文
・箇条書き1行目
・箇条書き2行目
・箇条書き3行目
・箇条書き4行目
◆list/◆
●リスト1   リストのキャプション
code {
  code 
  code
}
◆/list◆
 本文

ちなみに、次のように箇条書きの終わりとリストの始まりの間に「改行」「全角スペース」「改行」と入れると正常に動作しますので、現在これで運用しています。

 本文

- 箇条書き1行目
- 箇条書き2行目
- 箇条書き3行目
- 箇条書き4行目

 

    ●リスト1::リストのキャプション
    code {
      code 
      code
    }

 本文

原因がわかりましたらなにとぞよろしくお願いします。

自由置換設定の追加

とりあえず実装としては config/id_filter.json に書けるようにしました。

が、まだ設定ファイルはいじらないでください〜。
いまの設定ファイルの仕様で想定しているケースに対応できるか調整しますので。

開始タグの変換後に空行が残らないようにしたい

すみません、すみません、これはidtagreplacerからの引きつづきのバグです。

inao/idtagreplacer#7

以下のテストファイルの98、113、244、259行目にあるような、段落スタイル開始時の空行(<ParaStyle:リスト>とかだけの行)は、入らないようにしていただきたいです・・・。

https://github.com/naoya/md2inao.pl/blob/master/t/30_indesign_basic_syntax.t#L98

他にもございます。
私が上記ファイルから不要な行を抜いたものをコミットしましょうか?

(ちょっとしたら外出するので、のちほどになりますけど)

半角スペース4つで字下げするリスト(ソースコード)とコマンド図が連続すると、挙動がおかしい

リスト(ソースコード)とコマンド図(PDFでは黒地に白文字になる)が連続すると、

  • リストのキャプションが抜ける
  • 全体が◆list-white/◆◆/list-white◆で括られる
    • 本来はリスト部分は◆list/◆◆/list◆で括られ、コマンド図部分は◆list-white/◆◆/list-white◆で括られてほしいです
  • !!! cmdが残る

などがおきます。

以下、リスト、図の順番の場合です。

--- in md2inao
    ●リスト1::Rubyによる簡易LTSV Parser
    abcd

    !!! cmd
    ●図1::LTSVのParse結果
    abcd
--- expected
◆list/◆
●リスト1   Rubyによる簡易LTSV Parser
abcd
◆/list◆
◆list-white/◆
●図1 LTSVのParse結果
abcd
◆/list-white◆
--- 現状の動作
◆list-white/◆
abcd

!!! cmd
●図1 LTSVのParse結果
abcd
◆/list-white◆

以下、図、リストの順番の場合です。

--- in md2inao
    !!! cmd
    ●図1::LTSVのParse結果
    abcd

    ●リスト1::Rubyによる簡易LTSV Parser
    abcd

--- expected
◆list-white/◆
●図1 LTSVのParse結果
abcd
◆/list-white◆
◆list/◆
●リスト1   Rubyによる簡易LTSV Parser
abcd
◆/list◆

--- 現状の動作
◆list-white/◆
●図1 LTSVのParse結果
abcd

●リスト1   Rubyによる簡易LTSV Parser
abcd
◆/list-white◆

うまく動かせない

某cpanm & carton記事を参考にOS X上で動かせる環境を作ろうと思ったのですが、うまくいきませんでした…。

個別に--forceをつけてcpanmでインストールしなきゃですか?

$ sudo carton install
Installing modules using cpanfile
You have Test::Base (0.60)
You have Term::ANSIColor (2.02)
You have Pod::Usage (1.36)
You have Exporter::Lite (0.02)
You have Tie::IxHash (1.23)
You have HTML::TreeBuilder (5.03)
You have Class::Accessor::Fast (0.34)
You have Test::More (0.94)
Successfully installed JSON-2.57
! Installing the dependencies failed: Module 'JSON::PP' is not installed
! Bailing out the installation for Parse-CPAN-Meta-1.4404. Retry with --prompt or --force.
! Installing the dependencies failed: Installed version (1.40) of Parse::CPAN::Meta is not in range '1.4403', Module 'JSON::PP' is not installed
! Bailing out the installation for CPAN-Meta-2.130880. Retry with --prompt or --force.
! Installing the dependencies failed: Module 'CPAN::Meta' is not installed, Installed version (1.40) of Parse::CPAN::Meta is not in range '1.4401'
! Bailing out the installation for Module-Build-0.4005. Retry with --prompt or --force.
! Installing the dependencies failed: Installed version (0.3603) of Module::Build is not in range '0.4003'
! Bailing out the installation for FindBin-libs-v1.65.2. Retry with --prompt or --force.
You have Unicode::EastAsianWidth (1.33)
You have JSON (2.57)
! Installing the dependencies failed: Installed version (0.94) of Test::More is not in range '0.98'
! Bailing out the installation for Data-Dumper-2.145. Retry with --prompt or --force.
! Installing the dependencies failed: Installed version (2.125) of Data::Dumper is not in range '2.126'
! Bailing out the installation for Test-Differences-0.61. Retry with --prompt or --force.
! Installing the dependencies failed: Module 'Test::Differences' is not installed
! Bailing out the installation for Text-Markdown-1.000031. Retry with --prompt or --force.
! Installing the dependencies failed: Installed version (0.3603) of Module::Build is not in range '0.38'
! Bailing out the installation for Tree-DAG_Node-1.11. Retry with --prompt or --force.
! Installing the dependencies failed: Module 'Tree::DAG_Node' is not installed
! Bailing out the installation for Test-Warn-0.24. Retry with --prompt or --force.
! Installing the dependencies failed: Module 'Test::Warn' is not installed
! Bailing out the installation for Devel-Cover-1.01. Retry with --prompt or --force.
! Installing the dependencies failed: Installed version (0.94) of Test::More is not in range '0.96'
! Bailing out the installation for Path-Tiny-0.017. Retry with --prompt or --force.
1 distribution installed
Installing modules failed

$ sudo carton exec -- perl bin/md2inao.pl markdown.md > markdown.txt
Password:
Can't locate FindBin/libs.pm in @INC (@INC contains: local/lib/perl5/darwin-thread-multi-2level local/lib/perl5 . /System/Library/Perl/5.12 /System/Library/Perl/5.12/darwin-thread-multi-2level) at bin/md2inao.pl line 8.
BEGIN failed--compilation aborted at bin/md2inao.pl line 8.

ネストしたリスト記法のバグ

 --- md2inao
 * Hello
     * World

 * Good Bye
     * World
 --- expected
 <SJIS-MAC>
 <ParaStyle:箇条書き>・Hello
 <ParaStyle:箇条書き2階層目>・World
 <ParaStyle:箇条書き>・Good Bye
 <ParaStyle:箇条書き2階層目>・World

このテストが通らない。結果は

 <SJIS-MAC>
 <ParaStyle:箇条書き>・Hello
 <ParaStyle:箇条書き2階層目>・World

 <ParaStyle:箇条書き>・Good Bye
 <ParaStyle:箇条書き2階層目>・World

と余計な空行が入る。

Text::Markdown がネストしたリストが連続した場合に正しく html に変換できていないのが原因。

InDesignの画像について質問

Markdown → Inao では画像は

===
--- in md2inao
 ![Command Line Toolsのインストール](http://cdn.bloghackers.net/images/20130220_204748.png)

 ![Command Line Toolsのインストール](http://cdn.bloghackers.net/images/20130220_204748.png)

 <img src="http://cdn.bloghackers.net/images/20130220_204748.png" title="Command Line Toolsのインストール">
--- expected
 ●図1 Command Line Toolsのインストール
 http://cdn.bloghackers.net/images/20130220_204748.png

 ●図2 Command Line Toolsのインストール
 http://cdn.bloghackers.net/images/20130220_204748.png

 ●図3 Command Line Toolsのインストール
 http://cdn.bloghackers.net/images/20130220_204748.png

と処理するように以前にやりとりがありましたが、InDesign だとどうなるでしょうか?

インラインのリスト白文字(黒地に白文字)のテストの追加

#42 (comment)

上記に書き込んだ件なのですが、空行の件にまぎれちゃってたので、別Issueに。
以下のテストも追加していただきたいです。

キャプションを付けないインラインのリスト白文字(黒地に白文字)のテストがございませんでしたので。
インラインのリスト白文字はWEB+DB PRESSでは使わないのですが、書籍ではよく使います。

--- in md2inao
    !!! cmd
    function bar(b) {
        alert(b); (注:コメント)
    }
--- expected
<ParaStyle:半行アキ>
<ParaStyle:リスト白文字>function bar(b) {
<ParaStyle:リスト白文字>    alert(b); <CharStyle:リストコメント> コメント <CharStyle:>
<ParaStyle:リスト白文字>}

```に対応していただきたい

以下の記法に対応していただくことは可能でしょうか? ```を開始と終了に入れるタイプです。

code

現状は、「上記の記法は使えないので、以下の行頭4つスペースにしてください」というお願いをしています。

code

注記の中でルビが使えない

注記の中でもルビを使えるようにしていただけると助かりますー。

--- in md2inao
○○います(注:あいう<span class='ruby'>CRIME(クライム)</span>えお)。
--- expected
<ParaStyle:本文>○○います<cstyle:上付き><fnStart:><pstyle:注釈>あいう<cr:1><crstr:クライム><cmojir:0>CRIME<cr:><crstr:><cmojir:>えお<fnEnd:><cstyle:>。
--- 現在の挙動
<ParaStyle:本文>○○います<cstyle:上付き><fnStart:><pstyle:注釈>あいうCRIME(クライム<fnEnd:><cstyle:>えお)。

InDesign版の注釈

現在の開始タグは以下になっていますが、

<fnStart:>

以下に変換していただきたいです。文字スタイルの設定をしています。

<cstyle:上付き><fnStart:>

引用部でスペースが削除されてしまう

以下のような挙動になり、引用部で半角アキ、全角アキともにスペースが削除されちゃうようです。

--- in md2inao
> a b c d e f.
> 
> は ん か く あ き
> 
> ぜ ん か く あ き
--- 現状の動作
◆quote/◆
abcdef.はんかくあきぜんかくあき
◆/quote◆

説明つきリスト(箇条書き)に対応させる

説明つき箇条書き(リスト)に対応させていただけるとありがたいです。

編集記号は以下です。

--- expected
・箇条書き
・・箇条書きの説明文(この行頭の・・はPDFにしたときは残らないです)

PDFにしたときは、以下みたいな見た目になります。
説明文のところは、箇条書き的なフォントになるけど、行頭に記号は付きません。

・箇条書き
 箇条書きの説明文(この行頭の・・はPDFにしたときは残らないです)

脚注の中に)があると脚注が終了してしまう

#3 と対応しているかもしれません。

脚注の中に)があると終了と勘違いしてしまいそこで脚注が終わってしまいます。

--- in md2inao
本文(注:脚注の中に()があるとおかしくなる。)本文の続き。
--- expected
本文◆注/◆脚注の中に()があるとおかしくなる。◆/注◆本文の続き。

--- unexpected
本文◆注/◆脚注の中に(◆/注◆があるとおかしくなる。)本文の続き。

もし原因わかりましたらお願いできるとうれしいです。

#もしかしたらmd2inao上にエスケープ文字などを書くのが普通でしょうか。

(ご相談)段落間改行1つでは文章が一続きになってしまう

もしかしたらこのままのほうがよいのかもとも思いつつご相談です。以下のように、本文の段落を改行1つで改行していると文章がつながってしまいます。

GitHub Flavoer Markdownでは改行1つで改行されていて、こっちのほうが直感的なのかも、とも感じていました。

--- in md2inao
 1段落目
 2段落目
--- expected
 1段落目
 2段落目

--- unexpected?
 1段落目 2段落目

ただ、この変更をすると

 1段落目

 2段落目

 1段落目

 2段落目

と表示されてしまうので、変更しないほうが良いのかも、とも感じています。

@naoya さん、 @inao さん、ご意見もらえるとうれしいです。

InDesign版でタグをエスケープしていただきたい

InDesignのタグと、原稿中のタグを区別するために、原稿中のタグは\(のUnicode番号である005C)でエスケープが必要なのです。

原稿中のタグは、<<005C>< に、 ><005C>>に変換していただけますでしょうか?

<>関連の挙動がおかしい

<>の中の文字が抜けたり、注記になったりするみたいです…。
他にもあるかもですが、発見できた3パターンは以下です。

--- in md2inao
「<a>」
--- expected
「<a>」
--- 現状の動作
「」◆注/◆◆/注◆
--- in md2inao
「<b>」
--- expected
「<b>」
--- 現状の動作
「
--- in md2inao
<a>
--- expected
<a>
--- 現状の動作
◆注/◆◆/注◆

空行挿入機能

積年の希望だった機能がございます。

InDesign上(=紙面の見た目上)での行間調整のため、段落ブロック(箇条書きの固まりとか、コードのかたまりとか)の前あるいは後ろに、意図的に空行を挿入したい場合があります。

挿入したい空行は2種類

挿入したい空行は、InDesignテキストで言うと以下の2種のみです。

  • <ParaStyle:本文>(本文1行分の空行です)
  • <ParaStyle:半行アキ>(本文1/2行分の空行です)

たとえばWEB+DB PRESSの場合は、

  • 箇条書きの最初の行の前
  • (別ボックスのリストではない)インラインのコードやコマンドの最初の行の前

に「半行アキ」という空行を入れたいです。
inao→InDesignで言うと以下になります。

本文
◆1/2行間◆
・箇条書き
・箇条書き
・箇条書き
本文
◆1/2行間◆
◆list/◆
別ボックスのリストではないインラインのコード
別ボックスのリストではないインラインのコード
別ボックスのリストではないインラインのコード
◆/list◆
本文
<ParaStyle:本文>本文
<ParaStyle:半行アキ>
<ParaStyle:箇条書き>・箇条書き
<ParaStyle:箇条書き>・箇条書き
<ParaStyle:箇条書き>・箇条書き
<ParaStyle:本文>本文
<ParaStyle:半行アキ>
<ParaStyle:リスト>別ボックスのリストではないインラインのコード
<ParaStyle:リスト>別ボックスのリストではないインラインのコード
<ParaStyle:リスト>別ボックスのリストではないインラインのコード
<ParaStyle:本文>本文

書籍によっては、半行アキではなく、1行アキ(普通の本文の空行)を入れること場合もございます。

<ParaStyle:本文>本文
<ParaStyle:本文>
<ParaStyle:箇条書き>・箇条書き
<ParaStyle:箇条書き>・箇条書き
<ParaStyle:箇条書き>・箇条書き
<ParaStyle:本文>本文
<ParaStyle:本文>
<ParaStyle:リスト>別ボックスのリストではないインラインのコード
<ParaStyle:リスト>別ボックスのリストではないインラインのコード
<ParaStyle:リスト>別ボックスのリストではないインラインのコード
<ParaStyle:本文>本文

上記の例はいずれも段落ブロックの前行に空行を入れる例でしたが、段落ブロックの後ろに空行を入れることもございます。

機能追加案

以下の両方あるいはどちらかの機能を実現していただけると、ものすごくうれしいです!
特に案2を実現していただけると、とても楽になりそうです。

案1:明示的に空行を指定する

先述したように入れたい空行はInDesignテキストで言うと以下の2種のみですので、それをMarkdown上で明示的に指定できるようにしていただきたいです。

  • <ParaStyle:本文>
  • <ParaStyle:半行アキ>

案2:空行を挿入する段落ブロックを設定ファイルで指定する

入れたい空行はInDesignテキストで言うと上記の2種のみで、入れたい個所は段落ブロックの前行あるいは後ろの行のみです。ですので以下の4種を設定ファイルで設定できるようにしていただけると、案1のようにいちいち明示的に指定する必要がなくなり、たいへん楽ちんになります。

  • <ParaStyle:本文>を前行に入れたい段落ブロックは?
  • <ParaStyle:本文>を後ろの行に入れたい段落ブロックは?
  • <ParaStyle:半行アキ>を前行に入れたい段落ブロックは?
  • <ParaStyle:半行アキ>を後ろの行に入れたい段落ブロックは?

段落ブロックの前行/後ろの行というのは、たとえば箇条書きで言うと、以下の部分のことです。

★ここが前行★
* 箇条書き
 * 箇条書き2階層目
* 箇条書き
* 箇条書き
★ここが後ろの行★

InDesign出力機能

先日のリファクタリングで「HTMLのこのタグは inao記法でこの出力に変換する」というコードをほぼ完全に構造化することができました。

↓この辺みれば何をいってるかわかるはず。
https://github.com/naoya/md2inao.pl/tree/master/lib/Text/Md2Inao/Node

で、ですね。

この A.pm とか Pre.pm とかをもう一組用意して中身を inao 記法への対応じゃなく InDesign への対応になるようしてしまえば、md2inao で inao 記法への出力も InDesign への出力も兼ねるようなコードに仕上げることができます。

なので「inao 記法のこれは InDesign ではこうなる」という仕様があれば、中間出力を経由せずに InDesign で出力するように対応するのは難しい話ではないです。

ただまあ、業務プロセス上、どうも中間フォーマットがあったほうが良いのではないかという感じもしている (著者校正のときに inao フォーマットならぼくでも簡単に手を入れられるとか、inao さんが★...★とかでメモを残してたりとか) のでそこまでやるべきかどうかわかりません。

コラムなどでの注の記法

本文の注番号は注1、注2ですが、コラムの注番号は注a、注bと別系統になります。

段落スタイルの注釈を明示的に指定する方法をご用意いただけませんでしょうか?
inao記法の場合は、以下みたいな感じです。

--- in md2inao
注a    注の内容
--- expected
<ParaStyle:注釈>注a  注の内容

なお、コラム本文中からの参照は、現状は単語<sup>注a</sup>と明示的に手動で行うつもりです。

メタデータ周りの微調整および機能追加のお願い

よろしければ以下のpull request相当の機能を追加していただけませんでしょうか?

#39

微調整を除きますと、主には以下の2つです。

  • 所属の追加(載せる方が多いので)
  • ローマ字表記の追加(WEB+DB PRESSでは必須なので)

メタデータが重複できない

以下のような共著のケースで、現状ではAさんの情報が抜けてしまうようです。

--- in md2inao
Chapter: 4
Title: タイトル
Subtitle: サブタイトル
Author: Aさん
Author(romaji): A-san
Author: Bさん
Author(romaji): B-san
--- expected
<ParaStyle:章番号・連載回数>章番号:第4章
<ParaStyle:タイトル>タイトル:タイトル
<ParaStyle:キャッチ>キャッチ:サブタイトル
<ParaStyle:本文>著者:Aさん
<ParaStyle:本文>著者(ローマ字):A-san
<ParaStyle:本文>著者:Bさん
<ParaStyle:本文>著者(ローマ字):B-san
--- 現在の挙動
<ParaStyle:章番号・連載回数>章番号:第4章
<ParaStyle:タイトル>タイトル:タイトル
<ParaStyle:キャッチ>キャッチ:サブタイトル
<ParaStyle:本文>著者:Bさん
<ParaStyle:本文>著者(ローマ字):B-san

キャプションでの●の取り扱い

#33 とも関連しまして、キャプションについてご相談させてください。

図、表、リストのキャプションの行頭記号は、媒体によって●とは限りません。
▼なこともあれば、何もないものもあります。

ですので、「Markdown段階での行頭記号のままとする」という仕様がよいかなと考えました。

つまり、Markdownで以下みたいに書いていた場合は、イナオ記法でもInDesignでも行頭に●が入るという動作です。もし何もなければ何もなし、▼であれば▼になるイメージです。

    ●リスト1.1::キャプション

という仕様でいけると思ったのですが、以下の記法のときが無理でした。
●などを書く欄も、書く必要もございませんので。

![キャプション](ファイル名)

何か良い案はございませんでしょうか?
リストの文字数の警告の設定と同様に、キャプションの行頭記号を設定する項目を設けるとかですかねぇ。

Web版のmarkdown2inaoでエラー出力も表示できるとうれしい

Web版のmarkdown2inao( http://md2inao.bloghackers.net/ )はとても便利に使わせていただいています。

利用していて思ったのですが、現在、エラーやリストの文字数超過などがあった場合、エラー出力で表示するようになっています。

たとえば以下のようなmdファイルを読み込むと、

本文

    ●リスト1::コード
    枠囲みのコードcodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecode

本文

    本文中に挟むコードcodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecode

以下のようなエラーを返します。

リストは63文字まで!(現在142使用):
●リスト1   コード
枠囲みのコードcodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecode


本文埋め込みリストは55文字まで!(現在118使用):
本文中に挟むコードcodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecodecode

こちら執筆者の方にインデント調整してもらうときなどに参考にしてもらっているので、Web版でも表示できるとうれしいかも、と思いました。

ご検討よろしくお願いします!

Markdown2Inaoで生成されるInDesignタグファイルの文字コード

Web版のMarkdown2Inao( http://md2inao.bloghackers.net/ )を使っていて感じた点です。

変換してダウンロードしたファイルの文字コードがUTF-8ですが、現状のInDesignタグファイル(「InDesign出力」にチェックすると生成されるもの)は冒頭に<SJIS-MAC>とありShift-jis前提なので、現状ではダウンロードする際にShift-jisになっているとありがたいのですが、変更可能でしょうか。

ただ、InDesignタグファイルをUTF前提のものにした場合(ファイル冒頭に<UNICODE-MAC>)は文字コードも変更になるので一時的なものになるかもしれません。簡単に変更できるようでしたらご検討お願いできるとうれしいです。

図と写真を区別したい

#23 にも関連しまして。

スクリーンショットや概念図は「図」なんですが、写真は「写真」なんです。
図番号を自動でふってくださる機能で、できれば図と写真を区別できるようにしていただきたいです。

拡張子によって分けるのは難しそうです。
ファイルのネーミングで区別するようにするか、明示的に指定するようにするかでしょうか。

一部の箇条書きでイタリックにならない

普通の箇条書きでは_hoge_でイタリックになりますが、以下のケースではならないようです。

=== 
--- in md2inao
<dl>
  <dt>箇条書き_イタリック_箇条書き</dt>
  <dd>箇条書きの説明文_イタリック_箇条書き</dd>
  <dt>箇条書き_イタリック_箇条書き</dt>
  <dd>箇条書きの説明文_イタリック_箇条書き</dd>
</dl>
--- expected
<ParaStyle:半行アキ>
<ParaStyle:箇条書き>・箇条書き<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き説明>箇条書きの説明文<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き>・箇条書き<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き説明>箇条書きの説明文<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き

=== 
--- in md2inao
<ol class='circle'>
    <li>連番箇条書き(白丸数字)_イタリック_箇条書き</li>
    <li>連番箇条書き(白丸数字)_イタリック_箇条書き</li>
    <li>連番箇条書き(白丸数字)_イタリック_箇条書き</li>
</ol>
--- expected
<ParaStyle:半行アキ>
<ParaStyle:箇条書き><CharStyle:丸文字><2460><CharStyle:>連番箇条書き(白丸数字)<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き><CharStyle:丸文字><2461><CharStyle:>連番箇条書き(白丸数字)<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き><CharStyle:丸文字><2462><CharStyle:>連番箇条書き(白丸数字)<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き

=== 
--- in md2inao
<ol class='square'>
    <li>連番箇条書き(黒四角数字)_イタリック_箇条書き</li>
    <li>連番箇条書き(黒四角数字)_イタリック_箇条書き</li>
    <li>連番箇条書き(黒四角数字)_イタリック_箇条書き</li>
</ol>
--- expected
<ParaStyle:半行アキ>
<ParaStyle:箇条書き><cTypeface:B><cFont:A-OTF ゴシックMB101 Pro><cotfcalt:0><cotfl:nalt,7>1<cTypeface:><cFont:><cotfcalt:><cotfl:>連番箇条書き(黒四角数字)<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き><cTypeface:B><cFont:A-OTF ゴシックMB101 Pro><cotfcalt:0><cotfl:nalt,7>2<cTypeface:><cFont:><cotfcalt:><cotfl:>連番箇条書き(黒四角数字)<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き><cTypeface:B><cFont:A-OTF ゴシックMB101 Pro><cotfcalt:0><cotfl:nalt,7>3<cTypeface:><cFont:><cotfcalt:><cotfl:>連番箇条書き(黒四角数字)<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き

=== 
--- in md2inao
<ol class='alpha'>
    <li>アルファベット箇条書き_イタリック_箇条書き</li>
    <li>アルファベット箇条書き_イタリック_箇条書き</li>
    <li>アルファベット箇条書き_イタリック_箇条書き</li>
</ol>
--- expected
<ParaStyle:半行アキ>
<ParaStyle:箇条書き><CharStyle:丸文字><cLigatures:0><cOTFContAlt:0><cOTFeatureList:nalt,3>a<cLigatures:><cOTFContAlt:><cOTFeatureList:><CharStyle:>アルファベット箇条書き<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き><CharStyle:丸文字><cLigatures:0><cOTFContAlt:0><cOTFeatureList:nalt,3>b<cLigatures:><cOTFContAlt:><cOTFeatureList:><CharStyle:>アルファベット箇条書き<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き
<ParaStyle:箇条書き><CharStyle:丸文字><cLigatures:0><cOTFContAlt:0><cOTFeatureList:nalt,3>c<cLigatures:><cOTFContAlt:><cOTFeatureList:><CharStyle:>アルファベット箇条書き<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>箇条書き

Markdown で原稿を書く場合の取説が欲しい

#13 より移転。

詳細なリファレンスマニュアルが欲しいというより、実際に Markdown で書くにあたって

  • これこれこういう記法が使える
  • この辺に注意してね

という取り扱い説明書があったほうがいいよね、ということです。

現状 Markdown で書くといっても Markdown のあらゆる記法に対応しているわけでもないし、逆に雑誌の原稿を書くときに Markdown のあらゆる記法を使う必要があるわけでもない。せいぜい

  • 見出し
  • リスト
  • コードブロック
  • 強調
  • 画像
  • リンク

とかとかくらいがあればいいわけですよね?

まずはその辺をまとめて俯瞰できるようにする。

そして

  • Markdown で書くといっても脚注は (注: ... ) で書くとか
  • コードのキャプションは●リスト1.1::ほげほげ で書くとか

ローカルルールがありますよね。それを説明する。Markdown で書こう! と思った人は当然その中に Markdown でない inao 記法っぽいものを書き込むことがあるということはわからないわけですから。

で、最後に

  • 本文中にHTML を書きたい場合は Markdown の記法でエスケープしてね ...
  • この辺の記法は使えそうで使えないから注意してね

とかそういうのを書く。

これらの取扱説明書があったほうがいいんじゃないのー、という話です。

メタデータで節場号を表現する場合の書き方

#32 と関連しそうなのですが、

Chapter: 3
Serial: 5
Title: 章のタイトルや連載の各回タイトル
Subtitle: 章のキャッチや記事の各回キャッチ

ここから本文

の書き方は、書籍の場合はSerial: 5が節番号にあたりますでしょうか。

現在、inao記法では節番号は次のように表記しています。

▼1.1
■節タイトル
……
▼1.2
■節タイトル

節タイトルは現在のmarkdownでは#にあたります。

ですので、もし将来的にこのメタデータで自動的に節番号が振られるようにしていただく場合、次のように節が登場するごとにメタデータを書く形になりますでしょうか。

Serial: 1

# 節タイトル
……

Serial: 2

# 節タイトル

節番号は現状書籍のみに登場する要素で雑誌の場合は利用していません。

もしかしたら私が勘違いしているかもしれず恐縮ですが、ご意見いただけるとうれしいです。

utf8 flag の取り扱いを正しくする

昔のスタイルそのまま文字列を非文字列として扱って全体の処理が行われているので、若干混乱する。flagged string を渡して flagged string が返ってくるようにする。

箇条書き周りで文字が抜けることがある

別な原稿で発生しましたので、ご報告させてください。

問題が出るケース

===
--- in md2inao
* あ
* あ

  い
--- expected
・あ
・あ

  い

現在は以下のようになります。2番目の「あ」と「い」が消えちゃう。

・あ

===
--- in md2inao
* あ

* い
--- expected
・あ

・い

現在は以下のようになります。「あ」と「い」が消えちゃう。


問題が出ないケース(ご参考用)

===
--- in md2inao
* あ

い
--- expected
・あ
い

===
--- in md2inao
* あ

い

* あ
--- expected
・あ
い
・あ

===
--- in md2inao
あ

 い

  う

    え

     お

 か
--- expected
あ
い
う
◆list/◆
え

 お
◆/list◆
 か

InDesignのコラムについて質問

idtagreplacer のとこにある sample.md だとコラムの見出しレベルは h4 と h5 になっていて

=== column
--- in md2inao
<div class="column">
#### コラム見出し

 コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム。

##### コラム小見出し

 コラム内でも**強調**や_イタリック_などが使えます。
</div>
--- expected
<ParaStyle:コラム本文>
<ParaStyle:コラムタイトル>コラム見出し
<ParaStyle:コラム本文> コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラム本文コラ\
 ム本文コラム。
<ParaStyle:コラム小見出し>コラム小見出し
<ParaStyle:コラム本文> コラム内でも<CharSty

てな感じですが「コラムの見出しには h4 と h5 しか使われない」という前提で大丈夫ですか? (そうでないなら h4 が「コラムタイトル」という断定的な役割になってるのはおかしいと思うところから推測)

Web版のmd2inaoで文字化けすることがある

#27 で触れた件です。

ブラウザのせいな気がしますが、いちおうご報告だけさせてください。
ブラウザはWindowsのChromeの最新版(26.0.1410.43 m)を使っています。

Web版md2inaoで以下のようにすると、4で文字化けすることがあります。しないこともあります。

  1. ブラウザでテキストを選択
  2. ブラウザでテキストを変換(InDesign)
  3. ブラウザの戻るボタンで戻る
  4. ブラウザでテキストを変換(inao)

文字化けするのはinaoのときだけですね。

# 元テキスト
あいう`<code>`えお

    print "<html>\n";

ここは本文
# 文字化けテキスト
????????cmd/??<code>??/cmd??????
??list/??
print "<html>\n";
??/list??
??????{??

この際、ブラウザはUTF8と正しく解釈しているのに文字化けしています。

ちなみに普段のWeb版md2inaoの使い方も

  1. ブラウザでテキストを選択
  2. ブラウザでテキストを変換
  3. ブラウザの戻るボタンで戻る
  4. ローカルでテキストを更新
  5. 2~4を繰り返す

という感じです。
こうしますと、1の一度だけで、それ以降はテキストを再選択せずに済みます。

全角文字と半角文字の間の半角スペースを削除する

Markdownの記法の前後には、 このように 半角スペースを入れる必要があるかと思います。
また、全角文字と半角文字の間に半角スペースを入れて原稿をお書きになる著者さんがほとんどです。

この半角スペースは制作時には不要ですので、削除するようにしていただけるとたいへんありがたいです!

ただ、コードやコマンド中などでは削除すると問題になる(動作しないコードやコマンドになる)ケースもありそうです。

テストの粒度が荒いので細かくする

今は大きな markdown ファイル一個を変換した後の結果でテストしているのだけど、これだとテストが落ちたときにどの文法規則の変換が誤っているかが分からない。

シンタックス毎にテストを作って、それぞれごとに動作を保証したほうがよい。

◆i-j◆ の仕様について質問

to @inao

どうもイタリック体に

  • ◆i/◆
  • ◆i-j/◆

という二つの記法があるようなのですが、前者と後者の使い分けがコードを眺めているだけだとちょっとわかりません。どういう場合に◆i-j/◆ が選択されるべきなのか、というのを教えてください。

コードではリストやコラム、引用注では◆i-j/◆ が選択されるようになっているようですが・・・

本文でのみ、和文と欧文でイタリックの文字スタイルを変えたい

(これから今月発売号の作業時に気がついたお願いを何点か登録させていただきます)

イタリックですが、本文に限り、

  • 和文はイタリック(変形斜体)
  • 欧文はイタリック

にしていたけるとうれしいです。

理由なんですが、本文のみ明朝フォントなので、それにあった欧文フォントのイタリックにするためです。

--- in md2inao
_あいうabcえお_
--- expected
<ParaStyle:本文><CharStyle:イタリック(変形斜体)>あいう<CharStyle:><CharStyle:イタリック>abc<CharStyle:><CharStyle:イタリック(変形斜体)>えお<CharStyle:>
--- 現在の挙動
<ParaStyle:本文><CharStyle:イタリック(変形斜体)>あいうabcえお<CharStyle:>

ご参考までに、以下、idtagreplacerでの該当部分のJavaScriptコードです。

var tagWa = "イタリック(変形斜体)";
var tagLa = "イタリック";

searchTag(function(l, m, r) {
  m = m.replace(/([a-zA-Z0-9!"#$%&'\(\)\-=\^~\\@`\[\]{};+:\*<>,\.\/\?_]+)/g, "<CharStyle:!!>$1<CharStyle:>");
  m = m.replace(/([^a-zA-Z0-9!"#$%&'\(\)\-=\^~\\@`\[\]{};+:\*<>,\.\/\?_]+)/g, "<CharStyle:" + tagWa + ">$1<CharStyle:>");
  m = m.replace(/<CharStyle:!!>/g, "<CharStyle:" + tagLa + ">");
  return l + m + r;
});

引用内で改行できるようにしてほしい

現状は、改行や空行は無視されます。

--- in md2inao
> 引
> 用
> 
> です。
--- expected
<ParaStyle:引用>引用です。

これを改行できるようにしていただきたいです。
md2inaoでの本文と同様に、空行(連続した改行)で段落分けになる感じでしょうか。

<ParaStyle:引用>引用
<ParaStyle:引用>です。

ちなみにGitHub Flavored Markdownの見た目に合わせるなら以下ですが、これだとmd2inaoの他の部分との整合性がなくなりますね。

<ParaStyle:引用>引
<ParaStyle:引用>用
<ParaStyle:引用>
<ParaStyle:引用>です。

InDesignのリストについて質問

InDesignで2レベル目のリストはどういう仕様ですか?

=== list
--- in md2inao
* 通常の箇条書き
* 通常の箇条書き
* 通常の箇条書き
* **強調**
* _イタリック_
--- expected
<ParaStyle:箇条書き>・通常の箇条書き
<ParaStyle:箇条書き>・通常の箇条書き
<ParaStyle:箇条書き>・通常の箇条書き
<ParaStyle:箇条書き>・<CharStyle:太字>強調<CharStyle:>
<ParaStyle:箇条書き>・<CharStyle:イタリック(変形斜体)>イタリック<CharStyle:>

これが1レベル目。

* Hello
    * World

としたときどうなるでしょうか?

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.