2017-02-20 12 views
2

私は過去3日間自分のウェブサイトを作ろうとしていましたが、HTMLファイル、CSSファイル、 JavaScriptファイル。それで昨日、私は自分のサイトのほとんどがジキルに優しい構造に移行して、自分のコンテンツをより良く管理できるようにすることに決めました。ここでは何が起こったのです。私のウェブサイトに表示され、デフォルトのレイアウトに正しく挿入されていないJekyll frontmatter

  1. 多数のチュートリアルを、以下、私のマシン上でRubyと開発キットをインストールした後、私は最終的にローカルで実行するようにジキルを取得することができました。しかし、自分のルートディレクトリにあるindex.htmlファイルが_layoutsフォルダのdefault.htmlテンプレートに挿入されていないことがわかりました。 Jekyllはdefault.htmlレイアウトを使わずにサイトを構築していました。その結果、index.htmlファイルの内容が最終的なindex.htmlファイルにコンパイルされました。私の理解ではなく、これに代えて、ルートディレクトリのindex.htmlファイルにあるものがレイアウト(index.htmlのfrontmatterで指定)に挿入され、Jekyllが_siteディレクトリに配置した最終index.htmlがindex.htmlとdefault.htmlの合併。

  2. しばらくして、私は最終的に私のルートディレクトリのindex.htmlの名前をindex.mdに変更しようとしました。その後、私がJekyllを再度実行したとき、index.mdのhtmlコードがレイアウトdefault.htmlの{{content}}部分に挿入されました。これは私が望んでいたものでした!うーん、そう?いいえ問題は、その後index.mdでfrontmatterは実際に私のウェブサイト上に表示されたということでした。 https://github.com/tygamvrelis/tylergamvrelis.github.io

    Image of the frontmatter appearing on my local site

あなたはここに私のすべての構成の詳細およびディレクトリ構造と一緒にすべての完全なコードを表示することができます

だから、いくつかのJekyllがindex.htmlの正しい場所にindex.mdのコンテンツを挿入しているようです。フロントマットを読まずにこれをやっています。実際には、私はindex.mdのfrontmatterを完全に削除することができ、私のコードの最初に少なくとも1つの空行を残す限り、私のサイトは完璧に見えます。コードの先頭に空白行を少なくとも1つ残さないと、Webサイトのindex.mdが生のHTML(タグとすべて、フォーマットなし)として表示されます。

奇妙なことを考えれば十分ではないかもしれませんが、何が起こっているのか理解してみたいと思います。この問題を解決するために必要なその他の情報がある場合は、私にお知らせください。

答えて

1

はあなたのindex.mdBOM headersがあります

$ hd -n 3 index.md 
00000000 ef bb bf           |...| 
00000003 

それはUTF-8、その後、バイト順マークは、順序は次のでエンコードされたよう:EF BB BF

とジキルが好きではないthem

あなたはUTF-8エンコーディングを使用する場合は、確認してください

UTF-8文字エンコーディング警告そのファイルまたは非常に存在する なしBOMヘッダの文字、非常に悪いことがジキルに起こります。

だから、それらを削除する必要があるとジキルは再び幸せになります:

$ tail -c +4 index.md > UTF8.nobom 
$ mv UTF8.nobom index.md 

それともawkまたはsed

+1

でそれらを削除する方法を見てありがとうございました!これは完全に機能しました。私はこの問題がBOMヘッダーと関係があると思っていましたが、私はそれらについて何ができるのか分かりませんでした。あなたはロック! :) –

関連する問題