コンセプト


「textlint と Next.js で始める静的サイトの校正支援」という題材で実験サイトを作成した背景、文章チェックのコンセプトについて。

背景

Next.js + CMS の構成で各ページやブログ記事等を作成しているとき、(とくにモバイル環境で)入力中の文章に対して気になることが増えてきました。

  • 「パラーメーター」等の表記が統一されているか?
  • 空白の使い方も統一されているか?
  • スマートフォンから入力していると上記の他に、妙に句読点が増えてしまう傾向にある
    • ⇒ いろいろ気になる箇所を機械的にチェックしたい

textlint + テキストエディターは便利だが…

それらについて少し検索してみたところ「textlintとテキストエディターを組み合わせると良い」という記事をよく見かけました。

  • CLI 環境で試してみたところ、たしかに良かった(個人の感想です)
  • Vim や VSCode 等のプラグイン対応も充実している(textlint をインストールするだけで手元の Vim では linter として認識された)
  • HTML もプラグインを使うことで対応可能
    • ⇒ しかし CMS 付属のエディターで利用することは難しそう

プレビューモードで動的にチェック

そこで Next.js のプレビューモードでページが動的に生成される時に、コンテンツの HTML 本文を textlint でチェックするようにしました。

プレビュー時の文章チェック概要

サーバー上でチェックさせる利点

上記構成は少々無理やり感がありますが、「プレビューモード=ページ生成はサーバー上で実行される=ルールと設定が 1 箇所に集約される」ことから以下のような利点も生まれます。

  • 入力を行うデバイス別にチェック用の環境を構築する必要がない
  • サイトや記事カテゴリー等の属性に合わせたルールを用意できる
    • ⇒ ユーザー側で設定の切り替えを意識せずとも自動的にルールが適用される


サイト・カテゴリー別の設定

リンク

Back to Home