問題タブ [enlive]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
472 参照

clojure - このEnliveテンプレートを改善する方法は?

このEnliveテンプレートを使用して、その下のHTMLをその下のHTMLに変換します。Twitterの名前のコレクションに基づいて、リンクを含むテーブルを生成します。どうすれば内部のしゃっくりを取り除くことができenlive/clone-forますか?

HTML入力

HTML出力

0 投票する
2 に答える
2956 参照

clojure - enlive でスニペットを使用するにはどうすればよいですか?

私はClojureに足を踏み入れているRails開発者です。私はERBで非常に単純なことをしようとしていますが、私の人生ではenliveでそれを理解することはできません.

layout.html に Web サイトの単純なレイアウト ファイルがあるとします。

そして、これらのスニペット、たとえば、header.html と footer.html と、この単純なルートがあります。

リクエストが「/」に送信されるたびに、レイアウトが変換され、ヘッダーとフッターのスニペットが挿入されるようにするにはどうすればよいですか?

0 投票する
2 に答える
320 参照

clojure - Clojure Enlive:scrape3.cljからのこの抽出fnを単純化する方法

私はenlive-tutorialに従いましたが、Webを解析するためのEnliveの力に感銘を受けたと言わなければなりません。今、私はここで利用可能なscrap3.cljをさらに調べるようになりました:https ://github.com/swannodette/enlive-tutorial/blob/master/src/tutorial/scrape3.clj

Swannodetteはこの例の設計で素晴らしい仕事をしましたが、少し乾燥させることができたと思います。

私の質問:この抽出関数を書き直して、ドライヤーにしますか?

プログラムの他の要素について他のアイデアがある場合は、遠慮なく共有してください。

編集:私は遊んで思いついた:

0 投票する
1 に答える
688 参照

clojure - enlive では、コンテンツに基づいてリンクのタグをどのように取得しますか?

次のような html があります。

a「テキストのコンテンツを含むリンクを見つける」というセレクターを使用して取得するにはどうすればよいですか? について学びましtext-predたが、それはテキストを含むタグではなく、テキストを返すだけです。

0 投票する
1 に答える
536 参照

clojure - タグの「クラスター」を返すように Enlive セレクターを作成するにはどうすればよいですか?

Enlive を使用して一連の XML ドキュメントを処理する Clojure コードを作成しています。これらは、HTML を大幅に借用した XML 形式ですが、いくつかのカスタム タグが追加されています。私の仕事は、それらを実際の HTML に変換することです。今一番気になっているカスタムタグは です<tab>。これは、あるべきではないあらゆる場所で使用されています。たとえば、実際には<ol>and で作成する必要があるリストを作成するためによく使用されます<li>。これが私が遭遇している種類の例です:

これを次のように変えたい:

これを行うには、子孫<p>を含む要素を取得する必要があり<tab>(Enlive セレクターを使用すると簡単です)、元の XML ドキュメントにあった自然なグループ化に従ってそれらをクラスター化する必要があります (はるかに困難です)。

classドキュメントを調べたところ、この属性に頼ることはできないと判断しました。これらの<p>-that -sho-be-要素は、周囲<li>の要素と同じクラスを持つ場合があり、2 つの連続する-that-のグループがある場合もあります。お互いに同じクラスを持つ要素であるべきです(つまり、私が投稿した例に、クラスを持つ両方のクラスターがあるかのように)。私が信頼できると思うことの 1 つは、少なくとも 1 つのリスト以外の要素がそれらを分離することなく、2 つの異なるリストが存在することは決してないということです。つまり、すべての要素が「少なくとも 1 つの要素を子孫」はすべて同じリストの一部です。<p><p><li>ListWithTabs<p><tab>

そのことを念頭に置いて、名前空間の下に Enlive をロードして、REPL でいくつかの実験を行いましたe(つまり(require '[net.cgrand.enlive-html :as e])、私の質問の残りのすべてで有効であると想定する必要があります)。必要な要素を選択するセレクターを作成するのは簡単(e/select snippet [(e/has [:tab])])でしたが、5 つの要素のリスト (実際には遅延シーケンスです) を返します。しかし、私が欲しいのはリストのリストです。1 つ目は 3 つの要素を持ち、2 つ目は 2 つの要素を持ちます。このような漠然としたもの(非標準のインデントを許してください):

次のセレクターを作成できました。

しかし今、私は立ち往生しています。のようなことをしたいのです(e/select snippet [[(e/start-at first-of-tab-group) (e/take-while rest-of-tab-group)]])が、私が知る限り、Enlive にはstart-atやのような機能はありませんtake-while

非常に近づいているように感じますが、最後の重要なステップが 1 つ欠けているだけです。では、最後の一歩を踏み出すにはどうすればよいでしょうか。特定のルールに一致する要素の「クラスター」のみを選択し、同じルールに一致するがその最初の「クラスター」の一部ではない他の要素を除外するにはどうすればよいですか?

0 投票する
1 に答える
237 参照

clojure - 複数の URL を解析できるように、この clojure enlive プログラムを作成するにはどうすればよいですか?

これは、いくつかのサイトを解析するプログラムです。最初のサイトは site1 です。その特定のサイトを解析するためのすべてのロジックは (-> config :site1) にあります。

ここで、(-> config :site1 :site-url) に含まれるページを解析したいと思います。この例では、最初の URL のみを使用しますが、実際forにすべての URL の一種のマスターを行うようにこれを設計するにはどうすればよいでしょうか?

0 投票する
1 に答える
214 参照

clojure - Enlive の可変 HTML テンプレート

パラメータ化されたhtmlテンプレートで変換を実行する関数を定義する「Enlivonic」の方法を見つけようとしています。

つまり、引数としてテンプレートも取る defsnippet のようなものをどのように定義すればよいのでしょうか?

スニペットと変換を見ましたが、マクロで少し迷っています:-(

0 投票する
1 に答える
198 参照

clojure - enlive の範囲セレクター

範囲セレクターを作成しようとしていますが、うまくいかないようです。

私は次のようなことを試みています:

そして、それは提供されたhtmlを返すだけです。本体が「Hello」の div が返されることを期待しています。

どうすればいいですか?

編集

もっと簡潔にするために、これは私がdeftemplateと実際のhtmlファイルで行ったことです:

HTML

CLJ

このチュートリアルに従っていますが、スニペットを使用して範囲を一致させています。これは必要ですか?

だけでこれらをテストすることは可能sniptestですか?

0 投票する
1 に答える
1932 参照

clojure - enlive を使用した html のスニペットの解析

次のスニペットが機能しないのはなぜですか?

最初に html-string を clojure データ構造などに変換するために何かをする必要がありますか?