Hiroto's diary

プログラミングとか色々

hugoのSummaryが巨大化する問題を回避する

hugoでブログを作ったけどサマリーがやたら大きくて困ってたので色々調べた。

結論から言えばconfig.tomlにhasCJKLanguage = trueを入れれば回避出来る。もしくはマークダウンの先頭(設定の所)にisCJKLanguage = trueを入れる。

公式ドキュメントを読んだら普通に書いてあった。(https://gohugo.io/overview/configuration)


何も設定しないとサマリーが本文そのままになってサマリーの部分がほとんど本文になる。正直サマリーが本文まるまるだと読む気も失せるので適当な長さで切りたいと思った。調べたらマルチバイト文字の時だけ起こる問題みたいで、英語の時は起きないみたいなので日本語で本文を書く時はオプションで指定する必要があった。

config.tomlで一括で指定する

config.tomlに一行書き足すと全ての記事でisCJKLanguageが自動的に指定される。

# 追加
hasCJKLanguage = true

マークダウンで個別に指定する

一括で指定しないで特定の記事だけ指定する場合はこっちの方が良い

+++
title = "タイトル"
isCJKLanguage = true
+++

PHP CS Fixerを使ってファイルの先頭に自動的にコメントを挿入する

PHPのコーディングスタイルを直すPHP CS Fixerでファイルの先頭にヘッダーを自動的に挿入する。

バージョン1系ではこの方法で出来ますが2系ではこの方法では出来ません

バージョン2系は以下の記事を見てください。

hiroto-k.hatenablog.com

.php_csにヘッダーを追加する

.php_csファイルが無い場合は作る。ある場合は書き加える。

<?php

use Symfony\CS\Fixer\Contrib\HeaderCommentFixer;

// 先頭に追加するコメント
// *等は勝手に挿入される
$header = <<<EOS
This file is part of MyApp.

(c) Hiroto Kitazawa <hiro.yo.yo1610@gmail.com>

For the full copyright and license information, please view the LICENSE
file that was distributed with this source code.
EOS;

HeaderCommentFixer::setHeader($header);

// 省略

fixersにheader_commentを追加する

fixerheader_commentが無いと挿入されないのでheader_commentを追加する。

<?php

// 省略

$fixers = [
    // 省略
    "header_comment",
];

return Config::create()->fixers($fixers);

fixコマンドを実行

通常通り実行する。

ただし、キャッシュを有効にしてると修正されない場合があるので.php_cs.cacheファイルがあれば削除しておく。

./vendor/bin/php-cs-fixer fix

© 2015 hiroxto