Comments (24)
設定ファイルにしたい、というのは原稿によって入れたり入れなかったりするからなんでしょうか?
毎回同じなら決め打ちで仕様にしてしまえばいいと思ったのですが。
from md2inao.
毎回違う、となるとそもそも原稿をアップロードする度に設定を切り替えられる機能が必要になりますね。
InDesign の checkbox みたいなやつ。
from md2inao.
設定ファイルにしたい、というのは原稿によって入れたり入れなかったりするからなんでしょうか?
毎回同じなら決め打ちで仕様にしてしまえばいいと思ったのですが。
キャプションの先頭記号( #34 )やコードの文字数と同様に、原稿によって異なるのです。
ただ、提案した案2は我ながら複雑すぎる気がしてきました。
もうちょっとシンプルにした提案をこの次のコメントで行います。
毎回違う、となるとそもそも原稿をアップロードする度に設定を切り替えられる機能が必要になりますね。
複雑になりすぎますね……。
Web版ではデフォルトの挙動、設定を替えて使いたい場合はダウンロードして自分で、とかですかねぇ。
from md2inao.
以下の3機能で十分な気がしてきました。
- 箇条書きブロックの前行を以下の3択から設定できるようにしていただく
- 何も入れない★現状のmd2inaoの挙動★
<ParaStyle:半行アキ>
を入れる★一番多いケースはこれです。これをデフォルト仕様に?★<ParaStyle:本文>
を入れる
- インラインコード/コマンドブロックの前行を以下の3択から設定できるようにしていただく
- 何も入れない★現状のmd2inaoの挙動★
<ParaStyle:半行アキ>
を入れる★一番多いケースはこれです。これをデフォルト仕様に?★<ParaStyle:本文>
を入れる
- 2種の空行を明示的に指定する記法をご用意いただく
- 先ほどの案1と同じです
- これは自由置換設定機能で実現できますね
1と2で80%のケースに対応できます。
1と2はターゲットが違うだけで、ロジック的には同じですね。
3も併用すれば100%のケースに対応できると思います。
3は自由置換設定機能で実現できますね。
@d-ikeda
どう思われますか?
from md2inao.
これだと 3 * 3 * 2 = 18 パターンになるんですが、18 パターン個別に設定できる必要があるのかな?
なんとなく組み合わせ的には数種類しかなくて、その組み合わせを切り替えられるようにするほうが使い勝手的にもシンプルな気がするんですが。
ちょっとユースケースが想像できてないのであれですが
- WEB+DB PRESS 用設定 (連載)
- WEB+DB PRESS 用設定 (特集)
- 本の設定
とかで3パターンとか、そんな感じ?
内部のコード的には柔軟に変更できてもいいですが、外部仕様としてはもうちょっとシンプルにしておきたいです。
from md2inao.
なるほど。
本文デザインしてくださっているデザイナさんとも、ちょっと相談してみて整理します。
from md2inao.
伊藤さんの両書籍のデザインを担当してくださっている @n-yuji に相談しました。
結論から申しますと、ユースケースとして以下の2パターンを選択できるとうれしいです。
- 半行アキパターン(WEB+DB PRESS、デフォルト)
- 箇条書きブロック、インラインコード/コマンドブロックの前行に
<ParaStyle:半行アキ>
を入れる
- 箇条書きブロック、インラインコード/コマンドブロックの前行に
- 1行アキパターン
- 箇条書きブロック、インラインコード/コマンドブロックの前行に
<ParaStyle:本文>
を入れる
- 箇条書きブロック、インラインコード/コマンドブロックの前行に
また、それとは独立して、1行アキ(<ParaStyle:本文>
のみの行)を明示的に挿入するMarkdown記法も決めていただきたいです。この件とも関係するのですが、この件以外の場合でも、空行を入れたくなることがそこそこありますので。
from md2inao.
いちおうご参考までに、2パターンにいたるまでの詳細ですー。
@inaoからのメール
本文設計時に、
(1)箇条書きの前行
(2)インラインのコードやコマンドの前行(別ボックスの図やリストにはしない、いわゆる本文リスト)に、空行を指定されることが多いですよね。
空行は、1行アキのこともあれば、半行アキのこともあります。2点、お伺いさせてください。
空行の行間ですが、「(1)(2)ともに1行アキ」または「(1)(2)ともに半行アキ」
の2パターンで統一しちゃって大丈夫でしょうか?
そうではなく、たとえば「(1)は1行アキだけど、(2)は半行アキ」みたいに異な
る行間にしたくなることもございますか?上記以外で、空行を入れることがあるケースは、何がございますでしょうか?
「この段落スタイルの前も要空行なことがある」「この段落スタイルの(前行で
はなく)うしろの行に、要空行なことがある」などで教えていただけると助かり
ます。
@n-yujiからのお返事(転載許可を得ています)
1/2空行は、とてもやっかいな存在なのでして……、
「(1)は1行アキだけど、(2)は半行アキ」みたいな
ケースは、まあ、ありえます。そもそも「半行アキをとる」というコマンドが用意されているわけではなく、
単に見た目そうなるように行送りなど調整しているわけで、
これは次の行との関係で変わってきます。
普通に本文1行アキでも半行アキに見えることもあって、
それで使い分けが必要になってしまうわけですけど。処理上はどちらかに統一しておき、
あとは見た目で手動対応でいいんじゃないかなあと思いますけども。また、「箇条書きやコードの後」には
本文空行入れたり入れなかったりです。「箇条書きやコードの後の2行取り小見出し」の前、などにも
本文空行入れることがあります。
行取りの前の行はグリッドに沿ってないと処理が不正になるためです。いずれも、
「長さがなりゆきであやふやなもの(箇条書きやコード)」と、「グリッドに沿 わせる本文」
を共存させるさいの見た目のごまかし処理なので、
厳密に定義しようとするとかえって破綻すると思います。
from md2inao.
とりあえず実装して web 版に UI もつけました。
Markdown での空行フォーマットはまだ非対応です。というか、Markdown で空行開けたいなら本来的には明示的に改行で空行いれればいいだけなんですよね。
ただ、それだと Inao / InDesign 的に要らない空行が入っちゃうから今は削除してるという。その前提で、明示的な空行とは何なのか・・・ってところなんですけども。
どういうマークアップがいいかなあ
from md2inao.
どうもありがとうございました!
上記のpull requestに加え、以下のテストも追加していただきたいです。
キャプションを付けないインラインのリスト白文字(黒地に白文字)のテストがございませんでしたので。
インラインのリスト白文字はWEB+DB PRESSでは使わないのですが、書籍ではよく使います。
--- in md2inao
!!! cmd
function bar(b) {
alert(b); (注:コメント)
}
--- expected
<ParaStyle:半行アキ>
<ParaStyle:リスト白文字>function bar(b) {
<ParaStyle:リスト白文字> alert(b); <CharStyle:リストコメント> コメント <CharStyle:>
<ParaStyle:リスト白文字>}
from md2inao.
空行のマークアップは「強制的に改行したい場合は、行末に2つのスペースを挿入すればよい」という仕様もあるらしいのですが、これは避けていただきたいです。
http://ja.wikipedia.org/wiki/Markdown#.E6.94.B9.E8.A1.8C
行末のスペースは校正時に大抵消しちゃいますので。
from md2inao.
そうですねえ。<br>
とかをうまく使う感じかな・・・
何かいい案ありますか?
from md2inao.
ございませんです 😢
from md2inao.
横からで流れが違う形ですいませんが、この改行の扱いが意図しない形になることが多いので変えたのがGitHub Flavored Markdownみたいですね。
https://help.github.com/articles/github-flavored-markdown
こちら参考までです。大きな副作用があるかもしれませんし、変更が大変そうだな、と思います。
from md2inao.
そうそう、この手のテキストフォーマットでの改行の取り扱い方は結構鬼門なんですよね。
はてな記法のときも、その Github Flavored のと全くおなじ課題がありました。
Hello
World
を HTML 的に
<p>
Hello<br />
World
</p>
と表現するか
<p>Hello World</p>
と表現するかの違いで、HTML原理主義的な人は後者のほうが好ましいと考えるようです。
HTML はテキストの見た目を整形するものではなくあくまで論理構造をマークアップするものなのに「ここで改行を入れることで見た目を調整して」的に使われた <br>
をそのまま表現するのはいかがなもんか、というのが彼らの主張ですね。
とはいえ一方、多くのユーザーは改行を入れたらそれが改行として反映されることを望むのだから、変に HTML のマークアップにこだわる必要はないじゃないかというカジュアル派がその対局です。
自分としては、確かにカジュアル派の言い分も分かるのですが、将来にわたって考えたときのメンテナンスビリティを考えると、論理構造とスタイルは分離されるべきであり、原理主義的な考え方が好ましいと思います。
Github の場合は、論理構造がどうこうちうより、プログラミングのドキュメントはプレインテキストで書かれることが多くそれは改行をそのまま反映しないと執筆者の意図しない表現になってしまうことを考慮して、カジュアルな仕様を採っているのではないかと思われます。
・・・という事情があるので、md2inao でも「空行一行」とは言えあまり安易な仕様にしたくないなあというので困っていたりします。
from md2inao.
そういう意味でいくと InDesign Text (?) には論理構造とは別にスタイルを定義するんだと思し、半行アキとか一行アキは本来そちらで調整されるべき項目な気がしますが現実にはそれだと難しい、というところですかね?
from md2inao.
InDesignに「ブロック要素」があればたいがい解決する話なんでしょうけど、CSSで<div>で囲むようなものは、InDesignにはないんですよね。
from md2inao.
なるほどそうなんですね。
だから地続きの <ParaStyle:リスト>
とかで「ここからここまでがリストブロックである」という表現になるんですねえ。
from md2inao.
HTML原理主義的とカジュアル派の考え面白いですね。どちらの言い分も正しい側面があり、悩ましい問題ですね。
HTML原理主義的に考えると
みたいなタグを入れるのが良いですかね。この場合、
本文中に「
」と表示したい場合にどうするか、とかが検討点かな、と思いました。
from md2inao.
本文中の表示はいずれにしてもエスケープが必要です。それは HTML も同じ。
`<br>`
とするか明示的にエスケープして
<br>
です。これは「HTML を HTML として解釈する」という Markdown の機能の側面であります。
from md2inao.
ありがとうございます。これはエディタでハイライトするなりして意識しておく必要がありますね。
#GitHubでも同様の動作なんですね。私の書き込みで<br>
が表示されてなくて気づきました。
from md2inao.
いちおう md2inao には HTML を素で書いたら警告するような機能を付けています。
まだ Web版ではその警告が出力できてないので、それも作らないとですね。
先日のはそのための UI 変更だったりもします。
from md2inao.
すごいです。警告が出ると便利ですね。
Web版での警告表示もできるとすごくうれしいです!
from md2inao.
冒頭のお願いは実装してくださっていますので、クローズします。
後半のやりとりである明示的に空行を入れる方法は、現状はまだありません。
ただ、入れる必要があるケースはほとんどないので、運用でカバーします。
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.