ホームページ > ウェブフロントエンド > htmlチュートリアル > [Html] Jekyll コードのいくつかのオプション強調表示_html/css_WEB-ITnose

[Html] Jekyll コードのいくつかのオプション強調表示_html/css_WEB-ITnose

WBOY
リリース: 2016-06-24 11:26:35
オリジナル
1473 人が閲覧しました

まえがき

新年の最初のショットは、リラックスして楽しく、何年も前に書く予定だったいくつかの記事を完成させるためです。 Jekyll でコードをフォーマットするにはさまざまな方法があります。いくつかの実装方法を示します。

Jekyll

Jekyll はテンプレートやデータを HTML にコンパイルするツールとも言えますが、Github を使用するとサービスとも言えます (Jekyll サービスが構築され、コンパイルすることができます)。リアルタイムで)、半動的 Web ページを作成できます。これは、独自のサーバーを持っていない友人にとっては良い選択です。

一般的に、Github+Jekyll はブログやいくつかの説明的な Web ページを構築するために使用されます。

以前、WIN システムでのセットアップに関する記事を公開しました: [環境セットアップ] Windows での Ruby と Jekyll のインストール
Mac の場合と同様に、コマンドラインを使用します。

コードのハイライト

コードのハイライトは、モジュールを構築する場合でも、製品説明 Web サイトを構築する場合でも、コードを表示する必要があり、コードのスタイルは読み取り効果に直接影響します。優れたコード強調表示プラグインは優れたエクスペリエンスを提供します。

公式説明

http://jekyllrb.com/docs/posts/#highlighting-code-snippets

公式ドキュメントを見ると、コードが非常に単純であることがわかります:

{% highlight ruby %}def show  @widget = Widget(params[:id])  respond_to do |format|    format.html # show.html.erb    format.json { render json: @widget }  endend{% endhighlight %}
ログイン後にコピー

結果は次のとおりです:

もちろん、コード強調表示プラグインが異なれば、必要なコンパイル コードも異なります。

実際、強調表示プラグインは HTML 内の特定のノードを検索し、特定の CSS を特定のノードに割り当てる JS であり、CSS の結果はコードに色を付けることなので、純粋にコードの強調表示とは何の関係もありません。 Jekyll さん、ここで話したいのは Jekyll+MD ファイル+CODE の方法です。

Pygments

このハイライターは多くの Jekyll チュートリアルで使用されており、基本的にほとんどのハイライト ブログで使用されています。コンパイル時に最初に Python をインストールする必要があります。

インストール後、次のコマンドを実行します:

gem install pygments.rb
ログイン後にコピー

インストール後、Jekyll プロジェクトの

**_config.yml**

ファイルを変更する必要があり、その中のハイライトを次のように変更します:

markdown: kramdownhighlighter: pygments
ログイン後にコピー
その後、Jekyll を再起動しますサービス。

コード

<head>    <title>pygments</title>    <link media="all" rel="stylesheet" type="text/css" href="../assets/pygments/pygments.css" /></head><body>    {% highlight ruby %}    def show    @widget = Widget(params[:id])    respond_to do |format|        format.html # show.html.erb        format.json { render json: @widget }    end    end    {% endhighlight %}</body>
ログイン後にコピー

多くの人はこの CSS ファイルがどこから来たのか知りません。そのほとんどはコピーされ、またコピーされており、すべて 6 ~ 7 年前のものです。

実際には、これを取得する方法はたくさんあります:

最初の
  • コマンドラインモードは複雑すぎるため、詳細については次を参照してください:

    http://pygments.org/docs/styles/

  • 2番目の
  • 直接ダウンロードして、Web ページを開きます: http://pygments.org/demo/3666780/ 右側でスタイルを選択し、[GO] を選択して効果を確認し、デバッグのためにブラウザを開くと、pygments があることがわかります。 .css ファイルをダウンロードします。


    Show
  • Rouge

    私はこちらの方が好きです、発色も比較的ピュアで、使いやすそうです。 Pygments よりもサポートされている言語が少ないです。Pygments を使用する場合は、基本的にソースコードを変更する必要はありません。CSS リファレンスを変更するだけです。もちろん、rouge は Jekyll のデフォルトのハイライト コンピレーションでもあります。

    オープンソースプロジェクトのアドレス: https://github.com/jneen/rouge

    まず Jekyll プロジェクトの

    **_config.yml**

    ファイルを変更し、その中のハイライトを次のように変更します:

    markdown: kramdownhighlighter: rouge
    ログイン後にコピー
    その後、再起動しますジキルサービス。

    コード

    <head> <title>Rouge</title> <link media="all" rel="stylesheet" type="text/css" href="../assets/rouge/rouge.css" /> <style> pre{ background: rgba(0, 0, 0, 0.95); } </style></head><body> {% highlight ruby %} def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end {% endhighlight %}</body>
    ログイン後にコピー

    デフォルトのルージュテーマは白を好むので、背景を黒に設定しました。

    ここでは

    rouge.css

    ファイルも必要です。このとき、コマンド ラインを使用して取得します。

    rougify style monokai.sublime > rouge.css
    ログイン後にコピー
    もちろん、テーマ生成の詳細については、を参照してください。オープンソースプロジェクトの説明。

    Show

    Highlight JS

    一般に、Highlight は比較的広く普及しており、ユーザー数も多いです。効果は良好で、多くの言語をサポートしています。

    Highlight は Rouge および Pygments と完全に互換性があるため、設定を変更する必要はありません。CSS および JS 参照を変更するだけで済みます。

    ダウンロード アドレス: https://highlightjs.org/

    コード

    <head> <title>Highlight.js</title> <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/styles/default.min.css"> <script src="http://cdnjs.cloudflare.com/ajax/libs/highlight.js/9.1.0/highlight.min.js"></script> <script type="text/javascript"> hljs.initHighlightingOnLoad(); </script></head><body> {% highlight ruby %} def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end {% endhighlight %}</body>
    ログイン後にコピー

    もちろん、MD ドキュメント内で HTML を直接使用することもできます:

    <pre class="brush:php;toolbar:false"><code class="html">...</code>
    ログイン後にコピー

    Show

    多くのスタイルがあり、どれでも選択できます。

    SyntaxHighlighter

    これは古いコード強調表示プラグインで、昨年移行され、現在 Github で維持されています。品質は非常に高く、V4 バージョンも良好です。

    公式アドレス: https://github.com/syntaxhighlighter/syntaxhighlighter

    まずダウンロードし、次のコマンドを使用して自分でコンパイルします:

    https://github.com/syntaxhighlighter/syntaxhighlighter/releases

    https:/ /github.com/syntaxhighlighter/syntaxhighlighter/wiki/Building

    コンパイル後は、もちろん、コマンドを使用していくつかの異なるスタイルから選択できます。

    コード

    <head>    <title>SyntaxHighlighter</title>    <link media="all" rel="stylesheet" type="text/css" href="../assets/syntax/theme.css" />    <script type="text/javascript" src="../assets/syntax/syntaxhighlighter.js"></script></head><body>   <pre class="brush: ruby">    def show    @widget = Widget(params[:id])    respond_to do |format|        format.html # show.html.erb        format.json { render json: @widget }    end    end    
    ログイン後にコピー

    ここではコードのコンパイルに Jekyll は使用されていませんが、元のスタイルは保持され、ページの解析には js が使用されます。

    Show

    Prismjs

    prismjs 算是比较优良的作品了,生成代码不多余,颜色适用于大部分网站;主题有几种;支持的语言挺多;不过细节部分没有完善有些情况下样式显示不是很好,像XML代码不支持 xx.xx.xxx 的样式;目前谷歌的使用挺多。

    主页与下载地址:http://prismjs.com/

    Jekyll 并不能直接支持他,需要下载 prism.rb 插件来使用。下载后拷贝到项目“_plugins“ 文件夹中。

    prismjs 中并不能直接使用 {% highlight %} 命令,而需要使用 {% prism %} 命令。

    Code

    <head> <title>Prismjs</title> <link media="all" rel="stylesheet" type="text/css" href="../assets/prism/prism.css" /></head><body> {% prism ruby %} def show @widget = Widget(params[:id]) respond_to do |format| format.html # show.html.erb format.json { render json: @widget } end end {% endprism %} <script src="../assets/prism/prism.js" ></script></body>
    ログイン後にコピー

    Show

    总结

    目前这几种算是比较优秀的代码高亮了;各位看官就按照自己喜好使用就好。

    全部的代码和文件都提交到了GITHUB上了,文件地址:

    https://github.com/qiujuer/BeFoot/tree/master/blog/sample/Highlight

    ========================================================

    ソース:php.cn
    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
    人気のチュートリアル
    詳細>
    最新のダウンロード
    詳細>
    ウェブエフェクト
    公式サイト
    サイト素材
    フロントエンドテンプレート