highlight 機能にて lisp ソースコードがハイライトされない

Simplicityの特徴 フォーラム Simplicityについての質問 highlight 機能にて lisp ソースコードがハイライトされない

6件の返信スレッドを表示中
  • 投稿者
    投稿
    • #47815
      しんや
      ゲスト

      お世話になります。
      ソースコードのハイライト表示機能について質問させてください。

      Simplicity2 はデフォルトでソースコードのハイライト機能があると思います。
      それを使って、lisp のコードをハイライトしたいと考えています。

      そこで、下記のように記述してみました。

      <pre class="lisp">;; ログイン名に応じてプロキシの設定を行う.
      (if (equal (user-login-name) "hoge_user_name")
          (setq url-proxy-services
                '(("http" . "proxy.hoge.co.jp:8080")
                  ("https" . "proxy.hoge.co.jp:8080")
                  )))
      </pre>

      すると下記のサイトのように表示されます。コメントなど認識できておらず、lispでない言語と認識されているようです。

      lisp コードをハイライトしようとしているページ

      サーバに
      simplicity2/highlight-js/languages/lisp.js
      というファイルがあったのでlispも対応していると思っているのですが、認識あっていますでしょうか。

      ちなみにですが、C言語のソースコードは期待通りハイライトされています。

      c言語のソースコードをハイライトしているページ

      以上、お手数おかけし恐縮ですが、ご助言いただけますと幸いです。

    • #47834
      わいひらわいひら
      キーマスター

      ソースコードを見てみると、以下のようにbashクラスが勝手に挿入されてしまいますね。何でだろう。
      <pre class="lisp hljs bash">
      手元の開発環境でも同様の動作を確認したんですが、highlight.jsの自動判別が勝手に挿入してるっぽいのですが、何か自動判別を無効化する文字列を挿入しないとダメなのかな。
      ちょっと後で、highlight.jsの書式について調べてみます。

    • #47836
      わいひらわいひら
      キーマスター

      C言語のページの方も、C++のクラスが自動判別で挿入されてるっぽいですね。
      <pre class="c hljs cpp">
      同系の言語だから、見た目的には問題ないようですが。やはり何か、自動判別が関係しているのかもしれません。

    • #47839
      しんや
      ゲスト

      わいひらさん

      早速のご返答ありがとうございます。
      class指定しているのに自動判別処理が動いてしまっているのですね。。。

    • #47843
      わいひらわいひら
      キーマスター

      simplicity2/highlight-jsの中身のhighlight.min.jsを以下のものと入れ替えるとうまくいくと思います。多分。
      https://wp-simplicity.com/wp-content/uploads/2016/11/highlight.min_.zip
      上記のファイルは、lispも含め以下の言語全てにチェックを付けたパッケージスクリプトです。
      https://highlightjs.org/download/
      とりあえずは、全言語を含めましたが、必要な言語に絞って変更してもOKだと思います。

      参考:
      javascript – Why the highlight.js ignores the language classes? – Stack Overflow

    • #47844
      しんや
      ゲスト

      わいひらさま

      ありがとうございます!下記の通り、いただいた highlight.min.js を使うことで Lisp も期待通りハイライトできました。
      lisp コードをハイライトしようとしているページ

      highlight.min.js がデフォルト設定だったんで Lisp は非対応だったんですね。助かりました!ありがとうございました!!

    • #47849
      わいひらわいひら
      キーマスター

      うまくいったようでよかったです。
      おそらく、highlight.jsの仕様変更といってもいいのかもしれません。
      以前は確か.言語を選んでダウンロードするといった配布方法ではなかったので。
      でもいずれにせよ、以前配布していてSimplicityが適用していたファイルは、lisp対応してなかったのかもしれません。

      新しいスクリプトファイルは、Simplicity安定版に適用させようと思います。

6件の返信スレッドを表示中
  • トピック「highlight 機能にて lisp ソースコードがハイライトされない」には新しい返信をつけることはできません。
スポンサーリンク
アドセンス(大)
アドセンス(大)