Git Product home page Git Product logo

Comments (11)

naoya avatar naoya commented on August 18, 2024

節が登場するごとにメタデータを書くのは想定してません。
メタデータはファイルに対して 1 vs 1 です。

正直、メタデータを追加して欲しいというのは gihyo さんからのリクエストだった & gihyo で各見出しレベルを何に使って要るかはぼくはよく知らないので、それをぼくに聞かれても困る話ではありますが・・・

from md2inao.

naoya avatar naoya commented on August 18, 2024

ここは @inao さんの出番ではありますが、整合性がとれるようにするには

  • "Serial" で節番号を宣言する場合、1つのファイルの中では節は1つに限定する
    • つまり、1ファイル1節形式
    • ※ 見出しレベル1 (# 一個) がその節タイトル相当なのか、項なのかは曖昧なので決める必要
  • 1つのファイルの中で節を2つ以上記述する場合は Serial 宣言をしない
    • つまり、1ファイル1章形式
    • ※ 見出しレベル1 (# 一個) がその章タイトル相当なのか、節なのかは曖昧なので決める必要

という仕様になるでしょうかね。

前者後者の形式をごちゃまぜにした場合、節番号から自動で図の採番をするのは難しくなるでしょうね。

そのタイトル全体でどちらか一方の形式しか使わないように限定できれば、いずれの方式になっても自動採番するような仕様に仕上げることはできると思います。

from md2inao.

naoya avatar naoya commented on August 18, 2024

いまの md2inao は

  • 「見出しレベル1, 2, 3 はこういう文字列に変換」するというルール
    • つまり Markdown と HTML/InDesign タグの紐付けルール

は持っていますが、そのもう一層上のレイヤである

  • 「見出しレベル1 が章に対応し、レベル2が節に対応する」というルール
    • つまり Markdown の構造と技術評論社の業務仕様の紐付けルール

に関しては関与していないのが現状です。また、後者の技術評論社の「業務仕様ルール」は明文化されていない。だから、執筆者ごとにレベル1を章に使ったり節に使ったり、と同じ論理構造でも別のセマンティクスを紐づけるようになっています。

いま議論しているのは、その後者の部分ですね。

from md2inao.

inao avatar inao commented on August 18, 2024

現状は、見出しレベル1が節(大見出し、#、h1)に対応するという業務仕様ルールで統一しています(いるつもりです)。

ただ、この仕様自体を見直すというのもありだと思っています。
見出しレベル1を章に使ってお書きはじめる方も多く、アウトラインや草稿段階で「#は章ではなく大見出しに使ってくださいー」というやりとりをすることも多いので。これをどちらにするかは、ご執筆者の方がやりやすいほうでかまいません。

それにもよるのですが、現状の業務仕様ルールのままでいく場合、以下にするのはいかがでしょうか?

  • 章ごとにテキストファイルを分割する
  • 節番号をふる/ふらないをプログラムで選択できるようにしていただく

節番号をふる場合は、以下のように変換していただきたいです。

--- in md2inao
Chapter: 3

# hello

# world
--- expected
<ParaStyle:章番号・連載回数>章番号:第3章
<ParaStyle:見出し0.0>3.1
<ParaStyle:大見出し>hello
<ParaStyle:見出し0.0>3.2
<ParaStyle:大見出し>world

メタデータのChapterから章番号を取得していただき、大見出し(#)の順番に沿って上記のように連番をふっていただく機能をご追加いただくというイメージです。

from md2inao.

naoya avatar naoya commented on August 18, 2024

節番号を振る、振らないはメタデータのあり・なしで判定すれば良さそうですね。

了解です。

で、そうなると本の書き方も今からちょっと変更の必要があります > @d-ikeda
時間がないのでこういう形式になりそうだってことだけ例のスレッドにコメントしておきます。

from md2inao.

inao avatar inao commented on August 18, 2024

ありがとうございます!

 節番号を振る、振らないはメタデータのあり・なしで判定すれば良さそうですね。

どういったメタデータでの判定になりそうでしょうか?

なお、書籍の場合に必ず節番号を振るわけではなく、書籍によっても振ったり振らなかったりします。

from md2inao.

d-ikeda avatar d-ikeda commented on August 18, 2024

僕も @inao さんの方法でいつも行っています。

#47 (comment)

で、そうなると本の書き方も今からちょっと変更の必要があります > @d-ikeda
時間がないのでこういう形式になりそうだってことだけ例のスレッドにコメントしておきます。

ありがとうございます!

from md2inao.

naoya avatar naoya commented on August 18, 2024

書籍の場合に必ず節番号を振るわけではなく、書籍によっても振ったり振らなかったりします。

そうなんですね。そうすると別途自動採番のためのメタデータが必要になりそうだなあ。
まあとりあえず現状はそういう要件の本では使ってないっぽいので、仕様そのものはそれが必要になったときに考えましょう。

そもそも、まずは自動採番機能の方を作らないといけない。

from md2inao.

inao avatar inao commented on August 18, 2024

了解いたしました
ありがとうございます!

from md2inao.

naoya avatar naoya commented on August 18, 2024

いったん close で。

from md2inao.

d-ikeda avatar d-ikeda commented on August 18, 2024

ありがとうございます!

from md2inao.

Related Issues (20)

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.