Git Product home page Git Product logo

Comments (12)

inao avatar inao commented on July 19, 2024

あー、これはちょくちょくありますね。
現在は最短一致になっているのですかね。

でも単純に最長一致にしちゃうと、

本文(注:注の内容(注の内容)注の終わりのカッコ→)。本文の続き(本文内のカッコ)

って感じで本文も注記化される可能性がありますね。

from md2inao.

d-ikeda avatar d-ikeda commented on July 19, 2024

その問題が発生しますね。次のような改善案が浮かびました。

  1. 脚注の始まりと終わりの記号を登場しにくいものに変える
  2. 脚注の中の)は手動でエスケープする
  3. Footnotesの記法を使う

上記の3.は変換後は本文中に入れないといけないことなどを考えるとスクリプトにかなり大きな変更をしないといけないかも、と感じています。

from md2inao.

naoya avatar naoya commented on July 19, 2024

入れ子の括弧を良い感じに parse する方法、というのが探せばあるような気がします。少なくとも括弧内で段落が分離されることはないはずなので、先頭から()の対応を stack に入れながら見ていくというオーソドックスな方法でいけるはず・・・

ちょっと試してみて駄目そうなら @d-ikeda さんの案を採用するなりしてみましょう。

from md2inao.

inao avatar inao commented on July 19, 2024

ありがとうございます!

なお、この(注:)記法は、コードやコマンド中のコメントでも使われています。

https://github.com/naoya/md2inao.pl/blob/master/old_files/x_input.txt

上記サンプルでの「(注:こんな風にコメントがつけられます)」「(注:見出し的にも使えます)」みたいな使い方で、黒地に白文字になったりします。

一応お伝えしただけで、こちらも段落が分離されることはないので、特に影響はないと思います。

from md2inao.

d-ikeda avatar d-ikeda commented on July 19, 2024

ありがとうございます。注内の()は結構見落とすので、完全できるととてもうれしいです。いろいろとありがとうございます。

from md2inao.

naoya avatar naoya commented on July 19, 2024

若干力業ですが、修正してみました。確認お願いします。

from md2inao.

d-ikeda avatar d-ikeda commented on July 19, 2024

ばっちりです! 以下のように正常動作確認できました。

変換前

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

    ●リスト1::リストの注
    (注:リストの注)
    codecodecodecodecodecodecodecodecode
    codecodecodecodecodecodecode
    codecodecode

 本文

変換後

 本文◆注/◆脚注の中に()があるとおかしくなる。◆/注◆本文の続き。
◆list/◆
●リスト1   リストの注
◆comment/◆リストの注◆/comment◆
codecodecodecodecodecodecodecodecode
codecodecodecodecodecodecode
codecodecode
◆/list◆
 本文

#7 (comment) のも正常に動作しています。このリストの注のテストファイル?を作る必要ありましたら教えてください。

from md2inao.

naoya avatar naoya commented on July 19, 2024

コードブロックの中に注釈が入ってくるのわすれてました。
たぶん大丈夫ですが後で念のためこちらでテスト追加 & 確認しますー

from md2inao.

d-ikeda avatar d-ikeda commented on July 19, 2024

ありがとうございます! ふつうの注、リストの注、図の注などがあり、それぞれ変換後が異なります。

https://github.com/naoya/md2inao.pl/blob/master/old_files/x_input.txt
から該当部分を引用しました。すいませんが確認お願いできるとうれしいです。

#必要な情報などありましたらご連絡ください!

リスト(名前付きのコード)★要キャプション★

 リストは、本文とは別ボックス(別なパーツ)として紙面の端に寄せてレイアウトしますので、コードがページをまたぐことはございません(1ページを超えるコードはまたぎますけど)。

 以下、このリストや後述する図や表など、別ボックスものの場合のご注意点です。

  • キャプション(タイトル)が必須です
  • リスト1.1をご覧ください」「○○のコードを示します(リスト1.1)」「○○を表1.1にまとめました」みたいな感じで、本文から番号で参照してください
  • 初出時のみリスト1.1のように太字にします(2度目以降は通常の本文です)

(このドキュメントでは、別ボックスものは見出しに★要キャプション★と書いています)

●リスト1.1::キャプション(コードのタイトル)
function **foo**(a) { // コード内強調
    alert(a); (注:こんな風にコメントがつけられます)
}

___foo('bar');___ // コード内___イタリック___
___foo('baz');___ // コード内**強調**

(注:見出し的にも使えます)
function bar(b) {
    alert(b);
}

コマンドの実行結果

 コマンドは、「!!! cmd」と付けていただく必要があるだけで、基本的には上記ソースコードと同じです。

 ただし、呼称が「リスト」ではなく「図」となります。また、コマンド行の行頭にはプロンプトを付けてください。

本文埋め込みコマンド(本文埋め込み版はWEB+DB PRESSでは未使用)

!!! cmd
$ command **foo** // コマンド内強調
bar (注:こんな風にコメントがつけられます)

(注:見出し的にも使えます)
function bar(b) {
    alert(b);
}

図(名前付きのコマンド)★要キャプション★

!!! cmd
●図1.1::キャプション(コマンドのタイトル)
$ command **foo** // コマンド内強調
bar (注:こんな風にコメントがつけられます)

(注:見出し的にも使えます)
function bar(b) {
    alert(b);
}

from md2inao.

naoya avatar naoya commented on July 19, 2024

コードブロック内の注釈にも括弧が入れ子になる不具合が入ってたのでそちらも含めて直して test も書いて commit しました。

確認お願いしますー。

from md2inao.

d-ikeda avatar d-ikeda commented on July 19, 2024

ありがとうございます。確認します!

確認が今週末くらいになってしまいそうです。すいませんです。

from md2inao.

d-ikeda avatar d-ikeda commented on July 19, 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.