WordpressブログJekyllへの移行プロセスの概要


行きたいのか、それとも私のブログをJekyllに変えてみたいのか、git管理のためである一方で、要求が多すぎて速度が遅すぎて、改造性が悪いと感じています.移行後、デフォルトのトピック、速度バー、表示時間未満500msですよ~
インストールJekyll
本文はCentOS 7環境下で操作する.
環境要件
  • Ruby
  • RubyGems
  • NodeJS
  • Python 2.7(Whidyは怠け者でCentOS 7が持参しているようですか?それともいつ入れたのか、できない自分で探してみます==.)

  • Ruby 2をインストールする.5.0とRubyGems
    現在の最新の安定バージョンは2.5.0、CentOSの付属ソースのバージョンは古いので、サードパーティのソースが必要です.rbenv最新の安定版をインストールします.インストール方法は以下の通りです.
  • rbenvおよびRuby依存コンポーネント
    # yum install -y git-core zlib zlib-devel gcc-c++ patch readline readline-devel libyaml-devel libffi-devel openssl-devel make bzip2 autoconf automake libtool bison curl sqlite-devel
  • を取り付ける.
  • インストールrbenvおよびrub-build(root以外のユーザーのホームの下で必ず操作)
    # cd ~
    # git clone git://github.com/sstephenson/rbenv.git .rbenv
    # echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    # echo 'eval "$(rbenv init -)"' >> ~/.bash_profile
    # git clone git://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build
    # echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bash_profile
    # source ~/.bash_profile
  • .
  • 現在インストール可能なRubyバージョン
    # rbenv install -l
  • を表示
  • 現在の最新の安定バージョン2.5.0
    # rbenv install -v 2.5.0
    # rbenv rehash
    rbenv rehashをインストールする役割は、複数のRubyバージョンがある場合に実行する
  • である.
  • インストールが成功したかどうかを確認する
    # rbenv versions
  • がグローバルに設定されています(そうでなければrubyコマンドは使用できませんか?)バージョンが正しいかどうかを検出します.
  • オプション/必須インストールbundleは、参照インストール資料がRailsを含むため、このインストールが必要かどうかは不明であり、同時にRailsが必要である場合は、下部の参照ドキュメントを参照することができる.
    # rbenv global 2.5.0
    # ruby -v

  • 実際にはインストールプロセス全体でRubyGems取り付けましたか?
    参照:
  • Install Ruby on Rails with Rbenv on CentOS 7

  • その他:
    Rubyのインストール-公式ドキュメント
    取付NodeJSこれは比較的簡単なので、直接インストールすればいいです
    # gem install bundler

    RubyGemsでJekyllをインストールする
    # yum install nodejs

    Jekyllサイトの作成
    次に、現在のユーザーのディレクトリの下にブログサイトを作成し、サービスを開始します.
    $ gem install jekyll

    このときブラウザを開く[server ip]:4000にアクセスすればよい.(例えばhttp://118.0.156.000:4000/)
    サンプルページ:http://daily.whidy.net/
    参照:http://jekyllcn.com/docs/inst...
    WordpressサイトからJekyllへの移行全過程
    公式には移行ドキュメントがあり、多くのタイプのブログ移行をサポートしているので、簡単に見えます.公式ドキュメントImport your old&busted site or blog for use with Jekyll.、Wordpressの移行を試してみましょう.
    まず彼の例に従って、自分のウェブサイトに従って修正して、大体以下の通りです.
    # cd ~
    # jekyll new blog
    # cd blog
    # jekyll serve --host 0.0.0.0

    配置に間違いがないことを保証した後、車に戻って、エラーを報告します!
    $ ruby -rubygems -e 'require "jekyll-import";
        JekyllImport::Importers::WordPress.run({
          "dbname"   => "yourWordpressDatabaseName",
          "user"     => "root",
          "password" => "IcannotTellYou",
          "host"     => "localhost",
          "port"     => "3306",
          "socket"   => "",
          "table_prefix"   => "wp_",
          "site_prefix"    => "",
          "clean_entities" => true,
          "comments"       => true,
          "categories"     => true,
          "tags"           => true,
          "more_excerpt"   => true,
          "more_anchor"    => true,
          "extension"      => "html",
          "status"         => ["publish"]
        })'

    卵が痛くて、資料を調べてrubygemsのバグかもしれないと言って、[Ruby[SOLVED]:After ruby update to 2.5.0,require'bundler/setup'raise exception]を参照してください(http://www.cloudypoint.com/Tu...それを見て、本当にそうだったようで、すぐにアップグレードしました.
    Traceback (most recent call last):
            1: from /home/whidy/.rbenv/versions/2.5.0/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require'
    /home/whidy/.rbenv/versions/2.5.0/lib/ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- ubygems (LoadError)

    私はgemがインストールするのがとても穴のお父さんだと言って、ヒントがなくて、すべて実行する命令を処理しているかどうか分からないで、実はすでに実行して、ネットの情況によってもっと待っています.それからザッザッと出てきて、RubyGems system software updatedが現れるまで更新して、私たちはまた移転命令を試してみました...また間違えた!!!
    $ gem update --system

    卵が痛くて、前回入れたのではないでしょうか.やはり私の記憶が間違っています.よしもう一度
    Traceback (most recent call last):
            2: from -e:1:in `
    ' 1: from /home/whidy/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require' /home/whidy/.rbenv/versions/2.5.0/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:59:in `require': cannot load such file -- jekyll-import (LoadError)

    そして実行し、エラーを繰り返します...そこで様々な依存パッケージを繰り返し実行...以下にまとめる
    $ gem install jekyll-import

    ここではmysql2と言って、それから上の命令を実行して間違いを報告して、またmysql-develと言って、服を着ました--それは一歩一歩やってみるしかありません.
    $ gem install sequel
    $ gem install unidecode
    $ gem install mysql2

    つぎにやってみる
    $ yum install mysql-devel

    移転命令を実行し、エラーを報告し続けます...情報は次のとおりです.
    $ gem install mysql2

    さっきの移転命令の中のsocketを記入するということを調べましたが、これは何を記入しますか.私は半日いろいろ調べました.例えば、/var/run/mysqld/mysqld.sock/tmp/mysql.sockなどです.彼らはmysqlなのかもしれません.私はMariaDBです.根本的な問題から始めるために、私のMariaDBの配置書類の中でどのように書いてあるかを見てみましょう.
    ここで説明したいのは、私のWordpressデータベースと移行するJekyllは同じサーバにあるので、hostここに書いてあるのはlocalhost
             1: from /home/whidy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gem
    /home/whidy/.rbenv/versions/2.5.0/lib/ruby/gems/2.5.0/gems/mysql2-0.5.0/li
    111) (Sequel::DatabaseConnectionError)
    socket=/var/lib/mysql/mysql.sockが検出された場合、移行構成は次のように変更されます.
    $ sudo vi /etc/my.cnf

    ゆっくりと、前の十数件の間違いから、最後の1本に減った.
    $ ruby -rubygems -e 'require "jekyll-import";
        JekyllImport::Importers::WordPress.run({
          "dbname"   => "yourWordpressDatabaseName",
          "user"     => "root",
          "password" => "IcannotTellYou",
          "host"     => "localhost",
          "port"     => "3306",
          "socket"   => "/var/lib/mysql/mysql.sock",
          "table_prefix"   => "wp_",
          "site_prefix"    => "",
          "clean_entities" => true,
          "comments"       => true,
          "categories"     => true,
          "tags"           => true,
          "more_excerpt"   => true,
          "more_anchor"    => true,
          "extension"      => "html",
          "status"         => ["publish"]
        })'

    成功したようだが...では、一つ入れてみましょう.
    Could not require 'htmlentities', so the :clean_entities option is now disabled.

    インストール後、再び移行命令を実行し、心が砕けそうになりました...コピーして貼り付け...
    ええ、いいえ.あります.任何.反.応の.结晶束ああ...まさか成功したのか.
    Jekyllをインストールするディレクトリの下でコンパイルしてみてください...
    $ gem install htmlentities

    また間違えた...
    [whidy@VM_0_3_centos blog]$ jekyll b
    Liquidの正則ルールを調べてみると、{{というものに直面して掛けてしまいました.{ {に変更します.関連項目:Liquid Exception:Variable'{{0}'was not properly terminated with regexp://in#466、それから_postsディレクトリに行ってこの文章を手動で変更しました.もう少しjekyll b.
    Configuration file: /home/whidy/blog/_config.yml
                Source: /home/whidy/blog
           Destination: /home/whidy/blog/_site
     Incremental build: disabled. Enable with --incremental
          Generating...
         ...          ...
         Build Warning: Layout 'nav_menu_item' requested in _posts/2012-11-27-1132.html does not exist.
      Liquid Exception: Liquid syntax error (line 40): Variable '{{$r['catid']}}' was not properly terminated with regexp: /\}\}/ in /home/whidy/blog/_posts/2012-11-29-phpcms-page-solution.html
    jekyll 3.7.3 | Error:  Liquid syntax error (line 40): Variable '{{$r['catid']}}' was not properly terminated with regexp: /\}\}/

    これで完成?私のやっと配置したNginxの2級のドメイン名のページを更新して、方法は大体原文のようで、私は頼って、昨日403の間違いをよくしたのではありませんか?どうしてまた来たのか、でも怖くない、もう権限の問題だと知っています.私たちはどこが問題なのか分析しています.(そしてひとしきり権限をむやみに修正しておけばよかった--,)、有効と推定される命令はこの1本だと思います
    [whidy@VM_0_3_centos blog]$ jekyll b
    Configuration file: /home/whidy/blog/_config.yml
                Source: /home/whidy/blog
           Destination: /home/whidy/blog/_site
     Incremental build: disabled. Enable with --incremental
          Generating...
          ...           ...
         Build Warning: Layout 'nav_menu_item' requested in _posts/2012-11-27-1107.html does not exist.
         ...           ...
         Build Warning: Layout 'bnfw_notification' requested in _posts/2018-01-16-%e8%af%84%e8%ae%ba.html does not exist.
         Build Warning: Layout 'nav_menu_item' requested in _posts/2018-02-26-3119.html does not exist.
                        done in 9.708 seconds.
     Auto-regeneration: disabled. Use --watch to enable.

    そしてページをリフレッシュすればいいです.もちろん裸で走るJekyllですが、テーマがないので地味に見えます.しかし、まだいくつかの問題があります.
    例えば、以前に暗号化された単一ページがナビゲーション上に配置する.文章のリストには数字付きの文章やコメントがあります.これらは存在するはずがありません.だから、移行後の最適化も欠かせませんが、WordpressのJekyllへの移行についてはすでに完了しています.
    移行後の思考
    移行が完了すると、解決すべき問題もいくつかありますが、大体次のように考えられます.
  • 既存の不正コンテンツの修正(リソースファイル管理、記事内のピクチャのリンク等)
  • テーマ及び関連機能開発
  • コメントシステムのインプラント、disqus
  • の使用を検討
  • seoではurl規則は古いwordpress(Nginx配向または他のスキームを考慮)
  • と一致する.
  • 他は思いもよらなかった...

  • もしあなたもwordpressサイトの内容をJekyllに移行したいならば、この文の中で間違いを発見して、あるいはこの文の例の過程の中の試みを通じていくつか解決できない問題が発生して、伝言を歓迎します~