目次
まえがき
Jekyll
コードのハイライトは、モジュールを構築する場合でも、製品説明 Web サイトを構築する場合でも、コードを表示する必要があり、コードのスタイルは読み取り効果に直接影響します。優れたコード強調表示プラグインは優れたエクスペリエンスを提供します。
http://jekyllrb.com/docs/posts/#highlighting-code-snippets
このハイライターは多くの Jekyll チュートリアルで使用されており、基本的にほとんどのハイライト ブログで使用されています。コンパイル時に最初に Python をインストールする必要があります。
多くの人はこの CSS ファイルがどこから来たのか知りません。そのほとんどはコピーされ、またコピーされており、すべて 6 ~ 7 年前のものです。
私はこちらの方が好きです、発色も比較的ピュアで、使いやすそうです。 Pygments よりもサポートされている言語が少ないです。Pygments を使用する場合は、基本的にソースコードを変更する必要はありません。CSS リファレンスを変更するだけです。もちろん、rouge は Jekyll のデフォルトのハイライト コンピレーションでもあります。
デフォルトのルージュテーマは白を好むので、背景を黒に設定しました。
一般に、Highlight は比較的広く普及しており、ユーザー数も多いです。効果は良好で、多くの言語をサポートしています。
もちろん、MD ドキュメント内で HTML を直接使用することもできます:
これは古いコード強調表示プラグインで、昨年移行され、現在 Github で維持されています。品質は非常に高く、V4 バージョンも良好です。

Show

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

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

Jun 24, 2016 am 11:26 AM

まえがき

新年の最初のショットは、リラックスして楽しく、何年も前に書く予定だったいくつかの記事を完成させるためです。 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

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

    このウェブサイトの声明
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

    ホットAIツール

    Undresser.AI Undress

    Undresser.AI Undress

    リアルなヌード写真を作成する AI 搭載アプリ

    AI Clothes Remover

    AI Clothes Remover

    写真から衣服を削除するオンライン AI ツール。

    Undress AI Tool

    Undress AI Tool

    脱衣画像を無料で

    Clothoff.io

    Clothoff.io

    AI衣類リムーバー

    AI Hentai Generator

    AI Hentai Generator

    AIヘンタイを無料で生成します。

    ホットツール

    メモ帳++7.3.1

    メモ帳++7.3.1

    使いやすく無料のコードエディター

    SublimeText3 中国語版

    SublimeText3 中国語版

    中国語版、とても使いやすい

    ゼンドスタジオ 13.0.1

    ゼンドスタジオ 13.0.1

    強力な PHP 統合開発環境

    ドリームウィーバー CS6

    ドリームウィーバー CS6

    ビジュアル Web 開発ツール

    SublimeText3 Mac版

    SublimeText3 Mac版

    神レベルのコード編集ソフト(SublimeText3)

    &lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

    この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

    &lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

    この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

    &lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

    この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

    HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? HTML5のクロスブラウザー互換性のベストプラクティスは何ですか? Mar 17, 2025 pm 12:20 PM

    記事では、HTML5クロスブラウザーの互換性を確保するためのベストプラクティスについて説明し、機能検出、プログレッシブエンハンスメント、およびテスト方法に焦点を当てています。

    HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? HTML5フォーム検証属性を使用してユーザー入力を検証するにはどうすればよいですか? Mar 17, 2025 pm 12:27 PM

    この記事では、ブラウザのユーザー入力を直接検証するために、必要、パターン、MIN、MAX、および長さの制限などのHTML5フォーム検証属性を使用して説明します。

    ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

    この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

    HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? HTML5&lt; time&gt;を使用するにはどうすればよいですか 日付と時刻を意味的に表す要素? Mar 12, 2025 pm 04:05 PM

    この記事では、html5&lt; time&gt;について説明します。セマンティックデート/時刻表現の要素。 人間の読み取り可能なテキストとともに、マシンの読みやすさ(ISO 8601形式)のDateTime属性の重要性を強調し、Accessibilitを増やします

    &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

    この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

    See all articles