Hexo to Craft CMS

Posted on 2018/6/23 Tag : Hexo Craft CMS
  • データ移行
  • トップページ
  • SSL
  • RSS
  • bit part用feed
  • タグアーカイブ
  • 検索
  • GA
  • リダイレクト(旧サイト、HTTP>HTTPS)
  • 定期バックアップ
  • disqus
  • 404
  • devmode
  • 引用、コードのデザイン
  • 管理画面のアドレスとフロントを分ける

JSON生成

Feedmeで取り込むためのJSON作成にあたってシングルページを作成

dotimpact/hexo-generator-single-page: Custom single page generator for Hexo
https://github.com/dotimpact/hexo-generator-single-page

テンプレート追加するだけで行けないものかどうか?

→とりあえず手動で移行

SSL

Let's Encryptを使ってEC2にSSL証明書の発行から自動更新まで行う - Qiita
https://qiita.com/sayama0402/items/011644191dfdbde9c646

自動更新について後ほど。

virtualhostの設定

NameVirtualhost *:443
<VirtualHost *:443>
    ServerName note.mersy418.com
    DocumentRoot /var/www/html/web

    SSLEngine on
    SSLCertificateFile /etc/letsencrypt/live/note.mersy418.com/cert.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/note.mersy418.com/privkey.pem
    SSLCertificateChainFile /etc/letsencrypt/live/note.mersy418.com/chain.pem

    ErrorLog /var/www/log/ssl.error.log
    CustomLog /var/www/log/ssl.access.log combined env=!no_log
</VirtualHost>

これだけだと下層が出なかったので

/etc/httpd/conf.d/ssl.conf

<Directory "ドキュメントルート">
AllowOverride All
</Directory>
RewriteEngine On
RewriteOptions inherit

apache: SSL 上で mod_rewrite を使う時の注意 | BmathLog
http://bmath.org/wordpress/?p=1198

で下層もちゃんと表示される

RSS

Atom Feed | Craft 3 Documentation
https://docs.craftcms.com/v3/templating/examples/atom-feed.html

をほぼ丸コピ。

https://note.mersy418.com/atom.xml

entry.body のところだけをフィールドにあうかんじに修正~

タグアーカイブ

こんなかんじでタグアーカイブへのリンクを作る

{% set tags = entry.contentTag %}
{% if tags|length %}Tag : 
    {% for tag in tags %}
      <a href="/tag/{{ tag.title }}">{{ tag.title }}</a> 
    {% endfor %}
{% endif %}

タグアーカイブへのルートの設定はぐっちーさんのブログを参考に。

Craft cmsのルートの使い方 | </ Redamoon.Log>
https://redamoon.net/log/post/000028.html

できたっぽい。
https://note.mersy418.com/tag/Movable Type

JSONカスタマイズ

https://bit-part.net
に表示させるためのJSONカスタマイズ
https://note.mersy418.com/feed.json

本文の改行を取り除く

| replace('/\\n/','') 

バックスラッシュは2つってのがポイント

JSONにあうようにエンコードしておく

| json_encode()

dextorのフィールドだと改行取り除くだけでもエンコードされたりしててちょっとよくわからんかんじではある。

最後かどうかの条件分岐

{% if loop.last %}{% else %},{% endif %}

最後だったら , を入れる。

404

https://note.mersy418.com/article/craftcms-404

検索

Craft CMS に検索フォームをつける | mersy note
https://note.mersy418.com/article/craft-searchform