問題タブ [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 に答える
169 参照

clojure - Enlive: 親要素なしでテンプレートにスニペットを追加しますか?

<article>ファイル内の子要素のみにアクセスできるとし/public/articles.htmlます。

<article>親要素を知らずに反復するにはどうすればよいですか? (defsnippet内にdeftemplate)

私のスニペットは必要な出力を提供し、それをテンプレートに挿入したいと思います(articles.htmlの他の部分の他のスニペットと同様に)親要素についてわからないので.clj-article、それをターゲットにしてみました:

<article>希望する出力が得られますが、他のパターンと子パターンにラップされています。

どうすればそれを防ぐことができますか?

ありがとう!

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

html - Clojure Enlive: リストにスニペットを適用する

マップからのデータを表示する html テーブルの enlive テンプレートを定義しようとしています。 template-divこの例はここにあります。テンプレート内のセルのダミー コンテンツはこちらです。

defsnippetセル値でありdeftemplate、次のように定義されます。

ただし、スニペットを試すと

すべての値はこのように 1 つのタグにあります

そして、リストのすべてのアイテムがタグの値になる必要があります。

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

clojure - Clojure Enlive で偽造防止トークンを挿入する方法

ring.util.anti-forgery を使用して偽造防止トークンを html フォームに挿入しようとしています。

例外を取得:

これも試しました:

動作しません :(

(anti-forgery-field) は、1 つの「入力」を持つ html 文字列のみを生成します。しかし、私はそれをフォームに挿入することはできません。

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

clojure - 複数のパラメータを使用すると Compojure が CSS を提供しない

Compojure を使用して Wordpress のパーマリンクを模倣しようとしていますが、複数のパラメーターを使用するとすべての静的ファイル (css、js、および img) が見つからないのはなぜですか? これが私のコードです。

ブラウザのデバッグ コンソールで、css がhttp://localhost:3000/2014/11/test/css/main.cssではなく提供されているのを見ましたhttp://localhost:3000/css/main.css。次に、テスト ルートを 1 つ追加し、次のようなパラメーターのみを使用しました。

そのルートは完璧に機能していました。にアクセスしたときhttp://localhost:3000/justfortest、すべての静的ファイルはルート パスから提供されていました。この複数のパラメータの問題を解決するにはどうすればよいですか? 答えてくれてありがとう。

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

html - Clojure enlive: 関数 html-content は、引数 (?) を持つ関数を操作できません

だから私はdeftemplateを使って簡単なhtmlテンプレートを作った、

(注: データIDdb/finddata id として数値を取り、特定のデータIDによってデータベースからデータのマップを返す関数です。たとえば、次のように入力し た場合

これを生成します

これは、 ID が 1 のデータベースからのデータです)

その後

しかし、これをreplに入力すると

このエラーが発生します

たとえば、blogp コードを変更すると、別の deftemplate で問題なく動作するようです

そして、これをreplに入力しました

それはうまくいきました。理由はありますか?

私はclojureが初めてで、enliveも初めてです

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

json - clojure.data.json の書き込み/読み取りが enlive データに影響する

enlivehtml-resource出力を保存してリロードするための適切な json の方法は何ですか。

次の手順では、データ構造が保持されません (キーをシンボルにマップするように json/read-str に指示していることに注意してください)。

ありがとう。

アップデート

Mark Fischer のコメントに対処するためhtml/selectに、代わりに対処する別のコードを投稿しますhtml/html-resource

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

clojure - Enlive - 元の HTML を抽出する

enlive セレクターを使用して元の HTML (癖と書式設定を含む) を取得することは可能ですか?

この例で<br>は、元の入力スニペットとは異なり、enlive によってタグが自己終了タグに変換されています。

私は enlive がそれをタグのしゃっくりのようなリストに変換しているのではないかと考えています。そのため、残念ながら元の情報は失われています。

0 投票する
0 に答える
693 参照

clojure - Enlive/Tagsoup/JSoup で HTML5 を解析する

HTML5 では<meta>本文にタグを表示できますが、Enlive はこれをサポートしていないようです:

このテストは失敗しますが、メタ タグを削除すると成功します。

この古いスレッドにより、問題を引き起こしているのはメタ タグであることがわかりました。

Enlive は Tagsoup に依存していることに気付きましたが、JSoup (HTML5 をサポートすると主張している) に切り替えると、同じ結果が得られます。

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

clojure - enlive を使用した html ページでの複数の変換

Clojure と enlive は素晴らしいです。Enlive の力を理解するために、HTML ページに 2 つの変換を適用しようとしています。

HTML ページには、変換したい 2 つの領域 (div) があります。問題の最初の div は ~16 回複製されます。問題の 2 番目の div は 5 回複製されます。元の div (html ファイルから) は上書きされるか、まったく表示されないようにする必要があります。

Enlive には慣用的なアプローチがあります

これは、1 つの変換に対して美しくうまく機能します。

ただし、ページに2つの変換を適用したいので、次のようなことを試しました:

単独で行われる変換は、まさに私が望むことを行います: 元の HTML を消費し、情報を入力するために使用するクローンを表示します。

ただし、このように一緒に行うと、元の html ページの div が保持されるため、クローンと一緒に元の html ファイルの div を持つことになり、その動作はブエノではありません。

助けてください。

どうもありがとう。