Ewwバッファーに別のカラーテーマを使用する


7

私はこの質問を見ました:ewwで開かれたいくつかのWebページの背景色をカスタマイズする方法?しかし、これは私にはうまくいきません。私はウィキペディアのページを読もうとしていますが、多くの場所でウィキペディアは数式をレンダリングするために画像を使用しています。これらの背景が透明な場合、適切にレンダリングされないように見えます(以下の例)。だから、私は他のすべてを暗い背景のテーマで維持しながら、ewwに白っぽい背景のテーマを用意したいと思います。

ここに画像の説明を入力してください


1
これは、顔を追加する良い理由だと思いますeww-mode
ocodo 2014年

回答:


10

更新:

load-theme-buffer-local.elGitHubリポジトリ)は、私がやろうとしたことを行うことになっていますが、正しい方法で行います。

で使用するにはeww、インストールして追加します

(add-hook 'eww-mode-hook
          (lambda () (load-theme-buffer-local 'tango (current-buffer))))

あなたのinitファイルに。

PS:この方法を自分でテストすることはできないので、これが機能するかどうかをお知らせください。

元の回答(記録のためだけに保管):

を使用face-remap-add-relativeして、現在のバッファに面を設定できます。

少し掘り下げた後、私はこのハックを思いつきました。テーマから顔の設定を抽出し、現在のバッファーに適用します。

(defun set-theme-faces-in-buffer (theme)
  "Use face remapping to set faces from a theme in the current
buffer. THEME should be a symbol."
  (dolist (setting (get theme 'theme-settings))
    (when (eq (car setting) 'theme-face)
      (let ((face (nth 1 setting))
            (spec (cadar (nth 3 setting))))
        (ignore-errors
          (apply #'face-remap-add-relative face spec))))))

これをと組み合わせてeww-mode-hookewwバッファーに別のテーマを設定できます。

(add-hook 'eww-mode-hook
          (lambda () (set-theme-faces-in-buffer 'tango)))

tangoお好きなライトテーマに置き換えてください。)


それは一種の仕事です。これらの透明なpngの背景には、前のテーマの背景が表示されています。現在のバッファの以前のテーマも無効にする必要があるようです。どうやってやるの?
Kaushal Modi 14

@kaushalmodi:調べてみたところload-theme-buffer-local.el、私のハックよりもはるかに優れているはずです。試してみる!(私は更新された回答でそれにリンクしました。)
コンスタンティン

@Constantine:残念ながら、透明な画像でも同じ問題があります
Joseph Garvin

1

あるいは、LaTeXマークアップの読み取りに慣れている場合は、画像をレンダリング計算に使用しないようにWikipediaを構成することをお勧めします。これには、ウィキペディアアカウントを作成し、[設定]-> [外観]-> [数学]に移動してオプションを選択する必要があります。「クライアント側MathJax」をお勧めします。これは、JavaScriptを理解するブラウザーではきれいにレンダリングされますが、そうでないブラウザーではLaTeXソースを表示するだけだからewwです。

たとえば、あなたのページは次のようになります。 ここに画像の説明を入力してください

おそらく、将来的には、配色を認識した方法で、フォーマットされた数学のコードを表示しpreview-latexたりorg-preview-latex-fragment、フォーマットされた数学を表示したりできるようになるでしょうeww。(または、javascriptインタープリターを統合してください!)


MaximaのEmacsバインディングはそれを実行します(現在のテーマの色でLaTeXをレンダリングします)。それを組み込むために、それがどのように機能するかを調査するかもしれません。おかしい、私は実際に両方を行い(ウィキペディアでサーバー側のレンダリングを無効にし)、にフックを追加しましたがeww、より一般的であるため、コンスタンティンの質問を受け入れます。ありがとう、結構です!
wvxvw 2014
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.