3

MySQLは現時点では私の好みには本当に複雑すぎるため、現在のブログをWordPressからJekyllに移動するために何が必要になるかを理解しようとしています。構成、使用法などに関するGitHubのドキュメントを読みましたが、インストールはあまり明確ではありません。

投稿、レイアウト、その他のファイルはローカルに保持されているので、必要なRuby gemも同様に保持されていると思いますか?同時に、他の人がWebホスト(私の場合はDreamhost)にインストールすることについて話しているのを見ましたが、これは理想的ですが、それでもわかりません。

また、Git for SCMの代わりにMercurialを使用しているので、Hg-Gitのようなものを使用して展開できることを確認する必要があります。どんな助けでも大歓迎です!

4

3 に答える 3

9

あなたの質問は2つの観点から答えられると思います:1)Jekyllを稼働させる方法と2)現在のWordpressコンテンツをjekyllに入れる方法。それぞれを順番に開始するための回答を次に示します。

パート1-Jekyllを起動して実行する

最初に気付くのは、Jekyllは、PHP、Ruby、Perl、またはその他の動的サーバー側処理を必要とせずに、基本的にすべてのWebサーバーから提供できる静的HTMLファイルのセットを生成するように設計されていることです。

もちろん、JekyllはRubyを使用しているため、ファイル生成を行う場所ではどこでもRubyを実行する必要があります。それはファイルを提供する同じサーバー上にある可能性がありますが、重要な点は、そうである必要はないということです。たとえば、これらはすべてJekyllで投稿するための有効なワークフローです。

  1. パーソナルマシンでrawファイルを作成し、そこでJekyllを実行して静的HTMLファイルを生成し、それらをリモートWebサーバーに転送して世界中に公開します。

  2. サーバー上で直接Jekyllを実行し、そこでrawファイルのすべての編集と作成を実行して、そのマシン上のWebサーバーソフトウェアによって提供されるようにJekyllにそれらを処理させます。

  3. サーバーマシンでJekyllを実行しますが、ローカルマシンでrawファイルを編集し、投稿する準備ができたらサーバーにプッシュします。Jekyllエンジンは、rawファイルを取得し、サーバー自体で静的HTMLファイルの生成を行います。

人々はまた、ラップトップ、電話、サーバー自体のいずれかから投稿し、Dropboxを介してすべてを全面的に同期できるようにするはるかに複雑な設定を持っています。それで好きなだけクリエイティブになれますが、最初に始めるのが最も簡単なものだと思います。生のファイルをローカルで編集し、Jekyllをローカルで実行し、公開する準備ができたら、結果のHTMLファイルをWebサーバーに転送します。

Jekyllをローカルにインストールする

明らかに、これにはローカルマシンにJekyllをインストールする必要があります。その方法については、Githubページをご覧ください。私自身、Mac OS X 10.6を実行している場合、次のコマンドでセットアップできました。

sudo gem install rubygems-update
sudo update_rubygems

sudo gem update
sudo gem update --system

sudo gem install rails

sudo gem install maruku

sudo gem install jekyll

注:実際にレールが必要だとは思いませんが、これらは私が行った手順であり、私のために機能しました

Jekyllを使用するためのセットアップ

マシンにJekyllをインストールすると、基本的なサイト設定を行うのは比較的簡単です。空のディレクトリに次の構造を作成します。

ディレクトリ:

  • _layouts
  • _posts
  • _サイト

ファイルとその内容:

  • _config.yml

    safe:        false
    auto:        false
    server:      false
    server_port: 4000
    base-url:    /
    
    source:      .
    destination: ./_site
    plugins:     ./_plugins
    
    future:      true
    lsi:         false
    pygments:    false
    markdown:    maruku
    permalink:   date
    
    maruku:
      use_tex:    false
      use_divs:   false
      png_engine: blahtex
      png_dir:    images/latex
      png_url:    /images/latex
    
    rdiscount:
      extensions: []
    
    kramdown:
      auto_ids: true,
      footnote_nr: 1
      entity_output: as_char
      toc_levels: 1..6
      use_coderay: false
    
      coderay:
        coderay_wrap: div
        coderay_line_numbers: inline
        coderay_line_numbers_start: 1
        coderay_tab_width: 4
        coderay_bold_every: 10
        coderay_css: style
    

    これは、Jekyllのデフォルトの構成設定です。このファイルがなくても問題は解決しますが、プロセスの実行時にファイルが見つからないという警告がスローされます。だから、私は先に進んでそれを設定します。また、コマンドラインでjekyllに引数を送信する代わりに、ものをいじり回すのがはるかに簡単になります。

  • _layouts / default.html

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html lang="en">
    <head>
        <meta charset="utf-8">
        <title>My Jekyll Site</title>
    </head>
    <body>
    
        <!-- This will be replaced with your content -->
        {{ content }}
    
        {{ site.posts }}
    
    </body>
    </html>
    

    文字列は、{{ content }}以下にリストされている「index.md」ファイルの処理されたコンテンツに置き換えられます。{{ site.posts }}文字列は、「_posts」ディレクトリ内のファイルの時系列の逆リストに置き換えられます。GitHubには、テンプレートコードスニペットの完全なリストがあります

  • _posts / 2011-07-29-my-first-jekyll-post.md

    ---
    layout: default
    ---
    
    # My first Jekyll post.
    
    This is the content from 2011-07-29-my-first-jekyll-post.md
    
  • index.md

    ---
    layout: default
    ---
    
    # My Jekyll site
    
    This is the content from index.md
    

ここで、.mdバージョンの代わりに.htmlまたは.textileファイルを使用できることを指摘する価値があります。ダッシュと「レイアウト:デフォルト」で構成される最初の3行であるYAMLフロントマターがある限り、それらはJekyllによって処理されます。

Jekyllを使用した静的ファイルの生成

開始ファイルとディレクトリ構造が設定されたので、コマンドプロンプトを表示し、index.mdファイルを作成したディレクトリに移動して、コマンドを実行しますjekyll。すべてがうまくいったと仮定すると、プロセスの短いログが表示され、2つのHTMLファイルが下に表示されます。

_site/index.html
and
_site/2011/07/29/my-first-jekyll-post.html

生のファイルソースのMarkdown(.md)ファイルを指摘する価値があります。.textileまたは.htmlも使用できます。

ファイルの転送/デプロイ。

このアプローチの最後のステップは、FTPまたはrsyncを使用して、ファイルをWebサーバーのルートにプッシュし、世界中で共有することです。それらはフラットなHTMLであるため、ほとんどすべてのホスティング提供物をすぐに使用できるようにするのは迅速で簡単なはずです。

(あなたの質問では、GitとMercurialについて言及しています。バージョン管理を行うか、生のファイルとJekyllが生成する静的HTMLファイルをデプロイするか、どちらかを使用できますが、Jekyllの実行やファイルの転送にはどちらも必要ありません。展開プロセスをどのように設定するかがすべてです。)

パート2-WordPressからのデータの移行

上記のすべては、Jekyll自体をゼロから効果的に使用することに関するものです。WordPress(またはその他のエンジン)を使用していて、そこで生成したページと投稿を保持したい場合は、WordPressからJekyllに移行する必要があります。

基本的な考え方は、投稿とページをJekyllディレクトリ内の対応する場所に移動し、そこから引き継ぐことです。JekyllBlogMigrationsページでそのトピックに関する調査を開始します。

個人的なメモとして、WordPressの移行の最初の試みは、箱から出してうまくいきませんでした。それを実行するためにそれに戻る機会はありませんでしたが、私はそれを機能させることに取り組んでいます。潜在的なセキュリティの問題を減らし、読み込みが速く、保守が簡単な、はるかに単純な静的サイトに移行することは、私にとって移行に対処する価値があります。

于 2011-07-30T01:47:35.867 に答える
1

jekyllをインストールした後、このワードプレスプラグインを試すことができますhttps://github.com/benbalter/wordpress-to-jekyll-exporter

于 2012-10-07T11:35:20.220 に答える
0

私が理解しているように、Jekyllは静的なHTMLサイトを作成します。もちろん、JekyllはいくつかのRubyソフトウェアで構成されていますが、それはどのコンピューターでも実行できるものです(たとえば、Webサーバーではなく自宅のコンピューター)。このようにして、 GithubPagesなどの単純な静的システムでWebホスティングのニーズを満たすことができます。これで、GithubはJekyllの呼び出しを自動的に処理できますが、一般的には、静的HTMLをダムWebサーバーにアップロードするという考え方です。

特にJekyllが作成したサイトでGitを使用する必要はないと思います。FTPでも問題ないと確信しています。

于 2011-07-29T15:15:04.360 に答える