6


2

CSSクラス名を受け入れるためのPHPマークダウンの拡張

私はMarkdownの大ファンです(ほぼすべてのPHPプロジェクトで使用しています)が、限られた出力のファンではありません。 レンダリングの多くは少し単純すぎて、実際にはレイアウトに関する多くの制御や自由を許可していません。 たとえば、画像を挿入できます。

![Alt Text](path/to/image.jpg)
This is my image!

しかし、それは単純に次のように変換されます:

   This is my image!

画像を右にフロートさせたいと思いますか? 現在、構文にクラスを追加することはできませんが、それは素晴らしい機能ではないでしょうか? 出力できるようにしたい:

  This is my image!

1つ以上のCSSクラスのサポートは驚異的です。 私の質問は、このサポートをPHPバージョンのMarkdownに実装する最良の方法に関するものです。

アイデア?

5 回答


8


Markdownには、CSSの class`名、インラインスタイル、または id`属性をサポートする構文がコアバージョンにありません。 あなたが何をしているのかにもよりますが、テキスタイルがあなたにとってより良い解決策であると感じるかもしれません。 ある意味ではMarkdownに似ていますが、ある意味ではまったく違います。 たとえば、質問で上記の出力を取得するには、次のTextile文字列を使用します。

_ (alignright caption)path / to / image.jpg(Alt Text)! これが私の画像です! _

これは次のようになります:

  This is my image!

`{}`を使用してインラインスタイル(恐怖の恐怖)を適用することもできます

ライブデモページでhttp://www.textism.com/tools/textile/ [構文を再生]できます。

PHPのテキスタイルパーサーを見つけるのに少し苦労したので、この答えに対するあなたのマイレージは、私が期待したほど大きくなかったかもしれません。 私はhttp://snipplr.com/view/141/parse-textile/ [このスニペット]を見つけましたが、それがすべてではないことは確かです。


4


これをMarkdownに実装する「最良の方法」はありません。 Markdownの使用をやめるだけです(代わりに独自の作成があります)。

ありがたいことに、Markdownはあなたが思うほどコントロールや自由を制限しません。

_ _ Markdownは、HTMLに代わるものでも、それに近いものでもありません。 その構文は非常に小さく、HTMLタグの非常に小さなサブセットにのみ対応しています。 その考えは、HTMLタグを挿入しやすくする構文を作成することではありません。 私の意見では、HTMLタグはすでに簡単に挿入できます。 Markdownのアイデアは、散文の読み取り、書き込み、編集を簡単にすることです。 HTMLは_publishing_形式です。 Markdownは_writing_形式です。 したがって、Markdownのフォーマット構文は、プレーンテキストで伝達できる問題のみに対処します。

Markdownの構文でカバーされないマークアップについては、単にHTML自体を使用します。 MarkdownからHTMLに切り替えることを示すために、序文や区切り記号を付ける必要はありません。タグを使用するだけです。 _ _

ソース:http://daringfireball.net/projects/markdown/syntax#html[Markdown Syntax Documentation-Inline HTML]


2


このリンクで情報を確認してください:

その正確な手法を使用して、スタイルが適用されるspanまたはdivを「ブロック」することができます。 複数の行で問題なく動作するようです。

タグにクラス名を含めることはより困難になりますが、どれだけ私が今言うことができないかによって。 私は最終的にそれをやってみるつもりです、もし私が結果をここに投稿します。

どうしてこんなに多くの人が「Markdownはそれのためではない」と言うのだろうか? Markdownは、ブログや掲示板のコメントに限定するにはあまりにも便利です。

編集:

リンクをたどらずにさらに明確にするには:

開始文字列と終了文字列、および置換テキストを定義できるカスタムタグを作成できます。 例えば:

-s%classname%こちらが+カスタムスタイル+マークダウンスクリプト s-

これは、特定のクラス/ IDのスパン/ divブロックを適用するために非常に簡単に実装できます。 リンクをクリックして、「警告」および「注」ボックスの実装例を参照してください。


1


hamlでマークダウンを使用します。http://xtargets.com/2010/10/05/why-wouldnt-you-use-haml/を参照してください


0


Php Markdown Extraには、クラスを追加する機能が含まれています。https://michelf.ca/projects/php-markdown/extra/#spe-attrを参照してください。 この機能は2015年3月に追加されました。https://github.com/michelf/php-markdownを参照してください