Emmet: HTMLで拡散するときに属性のシーケンスを制御することは可能ですか?

作成日 2015年11月03日  ·  18コメント  ·  ソース: emmetio/emmet

class属性を常に最初の属性として使用したいと思います。

この問題を支持したいですか? それに賞金を投稿してください! Bountysourceを介して

Enhancement

最も参考になるコメント

質問はこの日に関連しています。
@sergecheこのタスクがTODOリストにくらいありますか?

全てのコメント18件

通常、他の属性を持つスニペットが略語に指定されていない限り、すべての属性は略語に表示される順序で表示されます。 ここでは、スニペット自体を変更し、空の属性class適切な場所に追加します。

@sergeche
label.clasname<label for="" class="clasname"></label>
a.classname<a href="" class="classname"></a>
a[class=classname href="goo"]<a href="goo" class="classname"></a>

通常、すべての属性は、略語で表示される順序で表示されます。

番号 )

しかし、そのようなスニペットを作成する方法は、たとえば、次のようになります。 a.classname<a class="classname" href=""></a>

aスニペットのため: https

解決策:このスニペットを削除するか(空の値でオーバーライド: "a": null )、または変更します: "a": "<a class=\"\" href=\"\"> 、ただし、 class属性は常に表示されます。 または、 <a>要素に属性を含まない新しいスニペットを作成します。

HM..。
書いた"a": null, - http://take.ms/BHuO6
何も変わっていません: a.classname<a href="|" class="classname"></a>

書いた"a": "<a class=\"\" href=\"\">" - http://take.ms/98CIZ
使用不可: a.classname<a class="" href="">|

書いた"a": "<a>",
no-no-no-no、David Blaine、NO: a.classname<a>

私の質問に対する答えが「まさか」であることを正しく理解していますか? それとも私は何か間違ったことをしていますか? )。

それを行うのは便利です-方法はありません。属性の並べ替えの優先順位を設定できるようにカーネルを変更する必要があります

どのファイルで何かを掘りますか? :)

または、 https
原則として、正しい出力を生成する独自のフィルターを作成し、カーネルに触れないように拡張機能として接続することができます。

フィルタを使用したオプションの方がはるかに優れています(アプリケーションのコアに入るのは嫌です)。 APIについてどこで読むことができますか? またはいくつかの例、多分?

質問はこの日に関連しています。
@sergecheこのタスクがTODOリストにくらいありますか?

フィルタを記述して、プルリクエストを作成できます。 フィルタに関するドキュメントはありませんが、これは、ツリーの形式で解析された省略形を入力として受け取り、属性をスワップするなど、変更できる一般的な関数です。

a (http://s020.radikal.ru/i717/1703/c0/8127577c2b25.png)の再定義されたスニペット、フィルターなしでは正常に機能します: a.xxx -> <a class="xxx" href=""></a>
ただし、bemフィルターを使用すると、結果が正しくなくなり、クラス名が重複します。
a.xxx|bem -> <a class="xxx xxx" href=""></a>
div.yyy>a.-xxx|bem -> <a class="yyy__xxx -xxx" href=""></a>
どういうわけかこれを回避することは可能ですか? @sergeche

@DDystこの機能は新しいカーネルにあり、Atomのアルファバージョンにはまだあります

見る/試す方法は? )。

セルゲイ、少なくともこの機会を探すためのファイルのヒント-私はファイル構造が大幅に変更されていることを確認していますO_o ...これまでのところ、カーネルで直接カスタマイズすることは正しくのみ可能ですか?
はい、そして| bem-今どうやって?
Shl ..そして、私はエメットがもう良くなることができないと思いました、しかしここにこれが来ています!!))

  1. Emmetのユーザー設定に移動します。
    [設定]-> [パッケージ設定]-> [Emmet]-> [設定ユーザー]
  2. 次のスニペットを挿入します。
{
  "snippets": {
    "html": {
      "abbreviations": {
        "a": "<a class='' href=''>"
        }
      }
    }
}

まあ、私たちは常にクラスとのすべてのリンクを取得します:)

スニペットを解決するときに、属性を逆の順序で組み合わせるという最初の実装を行いました。最初に、省略形で記述された属性、次にスニペットで宣言された属性です(上記のコミットへのリンクを参照)。 これは予想される動作と似ていますか?

もう1つのオプションは、スニペットで暗黙の属性(最初に感嘆符を付ける)を宣言することです。 "foo": "my-tag[title !class]"暗黙の属性の本質は、値がある場合にのみ表示されることです。 つまり、実際には、暗黙の属性を使用して、略語で宣言された順序に関係なく、属性を表示する順序を指定できます。

このページは役に立ちましたか?
0 / 5 - 0 評価

関連する問題

corysimmons picture corysimmons  ·  5コメント

HeikoMamerow picture HeikoMamerow  ·  16コメント

fversepuy picture fversepuy  ·  5コメント

DanielRuf picture DanielRuf  ·  5コメント

midgethoen picture midgethoen  ·  8コメント