Back to tech

深夜のテンションでブログ負債をほぼ撲滅させた

2 min read
Table of Contents

お久しぶりです。

もみじんです。

最近は、新しくしたブログの移行作業で色々としています。

さて、このブログは 2014年から開設し今現在(2025年)となります。

最初はテキトーな無料の海外サーバーを借りて運用し、XServer の無料サーバー的なものをかり、ColorBox へ移行。

そして現在は、 cloudflare を使った 静的Webアプリでの運営となっています。

これまで、何回も記事をエクスポートしてしまい、文章の体裁がかなりおかしな感じが多々ありました。

時間がなくて(直すのがかなり面倒だったので放置していた) のですが、これを気に体裁を直してみました。

そのときやったことを書いていきます。

「ブログを移管して、文章の体裁がおかしくなったんだよね」みたいな人がいれば是非参考になると思います。

前提

やったことを話す前に、ブログ負債に立ち向かう前の状況を書きます。

wordPress から 静的サイト(astro etc..) へ移行した。

その時に、wordPress からの記事をエクスポートして markdown にしたら、表示はできるけど、体裁がめちゃくちゃになった。

この状態で、markdown のリンターにかけたら 3,500件のエラーになった。

大体は、無駄な改行がある や alt属性がない や ``` で作った注釈には何かしらの属性( bash とか c++ )を入れろよというエラー。

リンターエラー
オメーの記事きたねぇから

使ったツール

エディタ関連

※ 私は日頃から VSCode で文字を書いてます。そのときに使ったツールになります

  • Code Spell Checker

    スペルチェッカー。英語の誤字をインライン表示してくれる。

  • markdownlint

    markdown のリンター。

    設定は以下にしています。

    {
      "line-length": false,
      "no-duplicate-heading": false,
      "no-trailing-punctuation": false,
      "no-inline-html": false,
      "no-bare-urls": false,
      "first-line-heading": false,
      "no-alt-text": false,
      "no-emphasis-as-heading": false // 画像の配置で alt をつけるのを無効にしています。エクスポートしたときに 2000件程度このエラーになって途方に暮れたので諦めた。
    }

VScode 自体の設定

保存したときに自動で体裁を整えてくれるようにしている。

.vscode/settings.json に以下を入れています。

{
  "[typescript]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "editor.formatOnSave": true,
  },
  "[astro]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode",
    "editor.formatOnSave": true,
  },
  "[markdown]": {
    "editor.defaultFormatter": "DavidAnson.vscode-markdownlint",
    "editor.tabSize": 2,
    "editor.codeActionsOnSave": {
      "source.fixAll.markdownlint": "always"
    }
  }
}

ci/cd

  • github action

    プルリクしたときに markdown の リンターを実行するようにしている。

    設定は以下。(公式 とほぼ同じ実行方法)

    name: Markdown Lint
    
    on:
      pull_request:
        paths:
          - '**.md'
    
    jobs:
      lint:
        runs-on: ubuntu-latest
    
        steps:
          - name: Checkout repository
            uses: actions/checkout@v4
    
          - uses: DavidAnson/markdownlint-cli2-action@v19
            with:
              config: './.markdownlint.json'
              globs: './src/content/**/*.md'

その他

  • 人力。

    ツールを使っても厳しいところは、人力でなんとかした。

撲滅させてみて

ブログで前々から気になっていた、体裁がおかしい問題は、解決したかなと思います。

おかし記事があったら Twitter でもなんでもいいので連絡ください。修正します。

ツールが無いと、どこがおかしいかがわからないので、この先もゴリゴリ CI/CD や エディタの力を借りてなんとか書いていきます。