Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Re:VIEWドキュメントモデルの整理 #1516

Open
takahashim opened this issue Jun 29, 2020 · 5 comments
Open

Re:VIEWドキュメントモデルの整理 #1516

takahashim opened this issue Jun 29, 2020 · 5 comments

Comments

@takahashim
Copy link
Collaborator

#1493#1497 に関連して、文法はさておき意味的なところで、Re:VIEW内の(主にブロック的な)各文書要素について整理が必要です。

  • content内にインライン記法を許容するか否か
  • content内に他のブロック要素を許容するか否か・許容する要素は何か
@kmuto
Copy link
Owner

kmuto commented Jun 29, 2020

content内にインライン記法を許容するか否か

インライン記法は @<〜> だとするとyesですが、ここでは箇条書きなどの暗黙記法を想定されているでしょうか。とすると、

  • コードリストブロック内だとリテラル、何もしない
  • ほかのブロックだと箇条書きは評価するが、見出し(=)はリテラル扱い

みたいな使い分けがベストです。やっぱり複雑になるし、後方互換をだいぶ壊しかねないような…。

content内に他のブロック要素を許容するか否か・許容する要素は何か

ブロックの入れ子の話でも思ったんですが、実際にブロック内にブロックがほしくなるというのはformat.ja.mdの「囲み記事」にある note, memo, tip, info,warning, important, caution, notice だけのように思っています。となると、これだけならコラム流用でいいのではという気がします。
あと加えるならquoteくらいでしょうか。

その他のブロックであるコードリスト、図表、数式を入れ子にすることは、仮に実装したとしても表現系で手に余るだけなので、意味がなさそうです。

一方、箇条書きについては、経験上、箇条書きの間にはなんでも登場し得ます。登場しないのは見出しくらい。

@takahashim
Copy link
Collaborator Author

インライン記法かどうかではなくて、今のcompiler.rbで言うところの non_parsed_commands とか non_escaped_commands とかの扱いでした。この辺りを含め、ブロックをいくつかに分類し、その分類のどれがどうなるか、というところでした(合わせて新しく追加もできるといいですが、なんでも追加できるようにはならなさそうです)。

これまでの紆余曲折からは、以下のようなブロック要素に分類できそうです:

  • Headline (見出し行)
  • CodeBlock (emlist, cmd, source等)
  • RawBlock (raw, embed)
  • ParagraphBlock (lead, quote, bibpaper等)
  • MinicolumnBlock (note, memo等)
  • UList, UListItem
  • OList, OListItem
  • DList, DListItem
  • CommentBlock
  • ColumnBlock
  • SingleLineBlock (footnote, noindent等、contentはとらない)

そしてこれまではcontentに他のブロック要素を取れるのはColumnくらいだったのを、今後はMinicolumnBlockや(U|O|D)ListItemにも広げる、ということになるかと思っています。

@kmuto
Copy link
Owner

kmuto commented Jun 29, 2020

そしてこれまではcontentに他のブロック要素を取れるのはColumnくらいだったのを、今後はMinicolumnBlockや(U|O|D)ListItemにも広げる、ということになるかと思っています。

まとめありがとうございます、このまとめおよび期待のとおりです。

@takahashim
Copy link
Collaborator Author

@kmuto ブロックの入れ子関係ですが、

  • Minicolumn内に見出し(===等)を入れるのはNG
  • (U|O|D)ListItem内に見出しやMinicolumnを入れるのはNG

というルールで問題ないですか?

@kmuto
Copy link
Owner

kmuto commented Jul 18, 2020

はい、その2つのNGルールで問題ないです。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants