Comments (22)
* Hoge
* Foo
* Bar
Piyo
は Markdown が
<ul>
<li>Hoge</li>
<li>Foo</li>
<li>Bar</li>
</ul>
と正しく解釈するのに対して
* Hoge
* Foo
* Bar
Piyo
と字下げをすると
<ul>
<li>Foo</li>
<li>Bar</li>
<li><p>Baz</p>
<p>Piyo</p></li>
</ul>
こうなっちゃのうのが原因ですね。"<空白> piyo" が一つの段落だと解釈されてリストに入っちゃうっていう・・・。うーむめんどくさい。
from md2inao.
To: @inao
ちなみに
===
--- in md2inao
* あ
* あ
い
--- expected
・あ
・あ
い
これって正しくは
===
--- in md2inao
* あ
* あ
い
--- expected
・あ
・あ
い
ですよね? 改行は取り除かれるというルールで。
from md2inao.
* Foo
* Baz
は
・Foo
・Baz
ではなくて
・Foo
・Baz
ですよね
from md2inao.
修正して Web版にも反映済み
念のため t/07_list.t のテストが仕様通りか確認お願いします > @inao
問題なければ Close してください。
from md2inao.
どうもありがとうございます!
ご指摘の通り、 t/07_list.t が正しいです。失礼いたしました。
from md2inao.
うう、すみませんすみません。
ナマイキに最小限の再現ケースのみお伝えしようとして、漏れがあったようです。
発端となった原稿で検証しましたところ、まだ発生してしまいました……。
以下のMarkdownが、
本文。
* 箇条書き
* 箇条書き
本文。
本文。
以下のようになります。
本文。
・箇条書き
・
上記が最小限の再現ケースだと思うのですが、必要十分な情報とは限りませんので、同じ過ちを繰り返しませんよう、元原稿をメールにてお送りさせていただきます。
from md2inao.
これ正しいケースはどうなりますかね
===
--- in md2inao
blah blah
* Hoge
* Foo
bar
baz
--- expected
blah blah
・Hoge
・Foo
bar
baz
こうかな?
from md2inao.
あと字下げの仕様がよくわかってないのですが、どっかに説明した仕様はありましたっけ・・・
字下げは先頭に空白2なのですかね。ここが Markdown と相性が悪い模様・・・
from md2inao.
https://github.com/naoya/md2inao.pl/blob/master/old_files/x_output.txt
これみる限り字下げは<ホワイトスペース2> ではなくて <全角空白> で行うもので、そもそも件の問題はこれをホワイトスペース2でやっちゃってるのが問題なような・・・?
もし自分の理解が正しければ、問題への対応としては
- 著者さんに字下げは全角空白でやってもらう
- ホワイトスペース2の字下げも字下げとして、良い感じで解釈する
の二通りがあると思います。後者に関してはホワイトスペース2の字下げ部分を全部全角空白に置き換える、というワークアラウンドは入れようと思えば入れられます。
from md2inao.
おっしゃるとおりで、本来的には書き方の間違えで、「著者さんに字下げは全角空白でやってもらう」だと思います。
ただ、本文が抜けちゃうっていう挙動はすごく怖いので、「ホワイトスペース2の字下げも字下げとして、良い感じで解釈する」にしていただけるとたいへん助かります。
from md2inao.
了解です。その仕様で調整してみます。
空白のまま解釈だとさすがにちょっと html と相性が悪くて厳しいなとおもってたので、ちょうどいいです。
from md2inao.
また、いま確認してみたところ半角スペースが1~3つの場合で発生しちゃうようです。
以下のいずれでも発生しちゃいました。
# 半アキ1
本文。
* 箇条書き
* 箇条書き
本文。
本文。
# 半アキ2
本文。
* 箇条書き
* 箇条書き
本文。
本文。
# 半アキ3
本文。
* 箇条書き
* 箇条書き
本文。
本文。
ううー、難しいですね。
- (コードや箇条書き以外の行頭で)ホワイトスペース1~3の字下げをしている場合、
- 全角スペースに置き換える
- 半角スペースを割愛する
のいずれかでしょうか。
from md2inao.
ですね。行頭がホワイトスペース 1〜3 で始まっていたら全角に置き換えます。
ホワイトスペース4以上は、Markdown の場合 code ブロックになるので 1〜3 置き換えで全て例外ふくめ吸収できるはず。
from md2inao.
現在のmd2inao.plにはない機能なんですが、編集記号的には、箇条書きの2階層目にも対応しています。
===
--- in md2inao
* 箇条書き
* 箇条書き2階層目
* 箇条書き2階層目
--- expected
・箇条書き
*・箇条書き2階層目
*・箇条書き2階層目
半アキ1~3を全部置き換えると、将来的にこれの導入が難しくなりますか?
from md2inao.
あと説明つき箇条書きというのもあります。
(少々お待ちください)
from md2inao.
箇条書き
いえ、Markdown にも入れ子箇条書きがあってそれも先頭4スペースなので問題ないです。
from md2inao.
この欄とかで使える、
- 箇条書き
- 箇条書き2階層目
とかは、GitHub仕様のMarkdownということでしょうか?
from md2inao.
いや、それはそもそも標準のMarkdownの仕様です。
md2inao.pl はたぶん実装の手間考えて入れ子には対応してないんだと思います。
いずれ対応させます。
まずはこのバグ取り除いてからw
from md2inao.
了解です。
ありがとうございます!
ちなみに、説明つきの箇条書きの編集記号は以下です。
===
--- in md2inao
???
--- expected
・箇条書き
・・箇条書きの説明文(この行頭の・・はPDFにしたときは残らないです)
PDFにしたときは、以下みたいな見た目になります。
説明文のところは、箇条書き的なフォントになるけど、行頭に記号は付きません。
・箇条書き
箇条書きの説明文(この行頭の・・はPDFにしたときは残らないです)
箇条書きの2階層目の件も含め、別Issueで立てさせていただきます。
あと、Markdown全然関係ない気がしますが、全角文字と半角文字の間に半角スペースが入っている原稿の場合、その半角スペースを削除していいただきたい(ソースコードなど中は除いて?)とか、思いついている勝手な希望も><
(本日もうちょっとしたら遠出しますので、夜か明日になります)
from md2inao.
とりあえず、字下げ問題を全角空白置換で解消しました。
これでそもそものこの issue のリストの問題も出なくなったはずです。
確認して問題なければ close してください。
その他の要望は、機能毎に issue にしてくださいー、それぞれ対応しますので。
from md2inao.
ありがとうございます!
のちほど確認させていただきます。
from md2inao.
確認させていただきました。バッチリでした:+1:
どうもありがとうございます。
全角字下げ、めちゃくちゃ便利そうです!
なにより、テキストの抜けがなくなったのがすごく安心します。
もしかしたらこれまで気がつかずに出版までいっちゃった例があるかもと考えると、ガクブルです。
from md2inao.
Related Issues (20)
- 節番号の自動化
- InDesignフォームへの配置 HOT 4
- Heroku デプロイに失敗する HOT 16
- 行頭の半角スペースが全角スペースに置き換えられないようにする HOT 2
- Markdownのfootnote記法に対応してほしい
- 旧記法への変換機能を削除する?
- コードブロック中に不要な全角スペースが入る HOT 1
- コードブロック中の`[]:`がなくなる HOT 1
- 数式を使い始めました。UseMath: true HOT 2
- ...
- 表のキャプションに「表1::」などがない場合、キャプションが消える
- コラムのコードブロック中の`<tag>`がなくなる
- ulタグ単体だと変換されない
- リポジトリ招待のお礼
- Webアプリケーション版の自動デプロイ HOT 4
- 不要な半角スペースの除去 HOT 4
- 段落字下げ HOT 5
- タブ区切りのテーブル記法 HOT 1
- 注釈内のバッククォートで囲まれた中の閉じカッコは無視する
- 自動段落分け機能を削除する HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from md2inao.