コンテンツにスキップ

Blog

散らかったものを片付ける

解離性障害はきっと長く進行して重症化していったのだろうと思う。
突然に発症したのではなく、少しずつ悪化していった…。

振り返ると「自分を見失っていた」ことが沢山、思い浮かぶ。
こぼれ落ちてしまった断片を1つ1つ拾い上げているような毎日が続いている。

OGPテスト

OGPといって最近のSNSやチャットはリンクを貼ると画像付きプレビューが出る。
そのテストを事前にするサイトを今日は調べてこのBlogをOGP対応させた。

  • https://www.opengraph.xyz/
  • https://ogp.buta3.net/
  • https://developers.facebook.com/tools/debug/

こんな感じでチェックしてます。

OGPの動作チェック

Blogを自分のスペースに作り上げる

今日は、13時に予約しておいた行きつけの鍼マッサージ屋さんに診てもらった。
解離性障害と診断されたあとの初の訪問。

ずっと緊張しっぱなしでめちゃくちゃな身体になっていたのだろう。
ものすごい量の鍼をしてもらった上に、いつもよりかなり重点的にケアしてもらった…。
ああ、自分はやっぱりボロボロになっていたんだなぁと思う。

熊が目覚める前に!!

友人と話し合って、お互いの利害が一致したので、私の愛機であるMacBook M2 24GB 256GBを友人に譲渡することにした。
代わりに、友人の持っている珍しいカスタム構成のMacMini M4 16GB 1TBとMagic Keybordを頂くことにした。
代わりに、Magic Keybord(Touch ID付)を送ることにした。
友人のMacBook M1のTouch IDが壊れているからだ。

友人の地域…というか今、地方はどこも猛獣被害がすごく、熊が目覚めると社会問題レベルで大変らしい。
まさか21世紀が猛獣に怯えて暮らすだなんて、昭和の祖父達が生きていたら笑って信じてくれないだろう。

私はPCの輸送なんて手慣れているが、普通の人に、みかん箱に「壊れないように梱包して送ってね」はハードルが高い。
だからパソコン便があるのでそれを使ってね、と案内したら、なんとMac miniだというのに入らないとか配達員が言ってるとDiscordが来て、怪訝な顔でどうしたものか、とりあえず別便で箱とかキーボード送る?とかやりとりしていたら、ぜんぶ1つの箱になったよと返事が来て送り状をシェアしてもらった。

そうだよね、普通、めちゃくちゃでかいワークステーションだって送れるのがパソコン便なわけで、iMacが送れるのにMac miniが箱に入らないなんて担当者はどうかしてる。まあ、新人だったのかなとあまり気にしないことにした。

思わず語りすぎてしまう悪い癖…

自分でも悪癖と理解しつつやめられない悪い癖で、思ったことを全部言ってしまう癖がある。
多分、私の脳の回路のどこかがおかしくて「制御不能」なのだろう。
この悪癖には自分でも苦労しっぱなしだけど、今日は、友人にいかに解離性障害のあとの心理士に渡すレポートを代筆してくれたことが助かったか、よせばいいのに長々と感謝の弁を語ってしまった。
思ったことを言い続けるのがやめられない。
これはこれで、何か治療が必要なのかも知れない…。

お金の配分を間違えた?

解離性障害から復帰後、うっかり衝動的に決定したことで、冷静になって考えて、配分がおかしかったかも?と思うものがある。
過ちを認めて、謝罪し、配分がおかしいことをきちんと相談しようかなと思う。
まだ私は不安定で、自分という個が安定してなくてグラグラしているように思う。
揺れている船の上で片足で立って倒れないようにグラグラしている感じかも知れない。

あまり「私は大丈夫です」アピールし過ぎないようにしなければ、危ない。
まだ、不安定なのだ。理論だけでそこらじゅうにアンカーをつけて平気なフリしているだけで、本心はかなり落ち込んでいる。
空元気もほどほどにしないと、マズイなと思う。

まだ凍結解除されないメルカリ、手続きが続くBooth

アカウント委譲で旧名義のBoothがあったので、変更手続きしているが、ストアを一度閉鎖しないとできないと返信があった。
閉鎖手続きを慌ててしたけど、商品ゼロなんだから慌てなくていいのに。

その慌てた心で、GitHubに残っている旧アカウントの名残を必死に消そうと、少し終始の友達に迷惑をかけた。
どうしても、旧アカウントの名残があると焦ってしまう。逃げたい、消えたい、焦燥感で焦る。
あまり冷静ではないと思う。必死にやっている。巻き込んではいけないと思うけど、巻き込んでる。

メルカリも予期せぬ抜き打ちの厳格チェックで規約違反扱いだという。
それはわかるのだけど、とにかく本人確認させろと要求してくる。
なのでたっぷり本人情報を送ったけど、きちんと管理できれいるのだろうか?
できていない気がするけど、あまり気にしない。
何でもいいから、そのお役所仕事みたいな意味のない規約で私を執拗に狙っても意味あるのかな。
どう考えても「もっと狙うべき犯罪者もどきの人」はごろごろいるのに、なぜ私を…?
腑に落ちないけど、もう経営が切羽詰まっているのと、AI担当の設定者が素人でAIがなりふり構わず過剰反応で次々にアラートを鳴らしているのだろうと想像する。
そういう現場にいたことがあるから、内情は杜撰なチェックと過剰な反応からすぐに分かる。
どうなってもいいから、早く結論出てくれないかな…。

Google Search Consoleは「インデックスは未登録」が続く。
Geminiに聞くと早くても数日〜数週間はザラで、そこからクローラーがかかるかは、さらに時間がかかるのだそう。
私が以前書いていたZENNの記事など、ものの数分で検索エンジンに引っかかっていたが、そちらの方が異常なんだろう。
気にするのをやめて、もう無視しようと思う。

雨が降らない

今年はまた水不足で、ダムの貯水量がまずいらしい。友人が言ってた。
今日は曇り空だったけど、雨は降らなかった。

雨、降らないかな…。
水、買い足そうかな…。

友人たちとのやり取り

私は解離性障害を発症し、大勢の人に迷惑・心配をかけてしまった。
一番もっとも感謝すべきなのは家族や親友である。

しかし、「いつものこと」と私のポンコツっぷりに興味がないようで、懇切丁寧な謝罪は一通り対面で行ってきたけど、「そんなことより俺、ついにMacBook M5買ったんだけどね…」みたいな話されて、つい笑ってしまう。

これこそが友愛の優しさかもしれない。

メルカリがアカウント凍結!?

友人宛にXXX専用で適当出品したら不正取引の容疑かかって凍結措置くらった。
なんと友人はアカウントBANされてしまった。

私は取引件数が多いからか、とりあえず回答要求されたので懇切丁寧(なつもり)の返答を送ったがどうなるか分からない。
とりあえずは、果報は寝て待て、で考えても仕方ないので放置しておく。

友人の説得

ASDの友人が多いが、みんな「こだわり」が強い。私もだけど。
何が起因で強固なこだわりなのか分からないことがある。
でもまあ、今日は、「そろそろMacBook M1は寿命ですよ」を伝えられたので良しとする。

あとOneDriveみたいな悪魔的な人質商法と比べてやっぱりiCloud+の安心度は高い。
情シスまがいな仕事している職務上、OneDriveには世話にはなっているが、やはりつかいたくない。
いつかベンダーロックの結界と派手に戦う日が来るのやら…?

ポモドーロタイマーの再購入

ADHDの友人に知り合ってはポモドーロタイマーあげてるので手持ちがなくなった。

また買いますかね…ってことで3つかって1つは友人に贈った。
タイマーの動作デモ
ムービーもhttps://getkap.co/でとりあえずお目当てものを録画できるようにした。

私のWAIS-IVの低さは、自身のとってはデバフを証明する落胆の証だが、友人らにとっては、「ここまでポンコツでもやれるのか…」という希望になるはずなので晒すことにした。

ホント、みんなが羨ましい。

それでもこっちは泣いたってステータス変わらないし、諦めてITと知識で切り抜けて生きていくしかない。

とりあえず解離性障害に関連する色々な「やらかし」の後片付けが見えてきた。
今後は、色々、止まっている成すべきタスクに注力したい。

Google Search Consoleの登録

search.google.com に https://ash-moon-amber.github.io/ama/ を登録した。
所有権証明を求められたので、指示通りに、 https://ash-moon-amber.github.io/ama/google94d84e2b1c91e8d3.html を何も考えずに登録した。

さてこれで、どうなるかな?
うまく行くのか、とりあえず明日また確認。

日記のコミットを楽にしたい(準自動化)

この日記はWeb版VSCodeで書いているのだがGitHub Copilotと繋がっていない使い捨てアカウントなのでコミットメッセージすら自動化にならない。

設定手順:

  1. Command + Shift + P でコマンドパレットを開く。
  2. Snippets: Configure User Snippets を選択。
  3. git-commit (または text)を選択。

以下のようなコードを貼り付けて保存し、コミットで post と打つ

1
2
3
4
5
6
7
8
9
{
  "Quick Commit": {
    "prefix": "post",
    "body": [
      "update: Blog Update ${CURRENT_YEAR}-${CURRENT_MONTH}-${CURRENT_DATE}"
    ],
    "description": "Post Blog"
  }
}

ソース管理(Git)のメッセージ入力欄でスニペットの補完がオンにする

  1. Command + , (コンマ) で設定を開く。
  2. 検索窓に quickSuggestions と入力。
  3. Editor > Quick Suggestions の項目にある Other(または全体)を on に変更する。
"editor.quickSuggestions": {
    "other": "on",
    "comments": "on",
    "strings": "on"
}

settings.json の強制書き換え

  1. Command + Shift + P でコマンドパレットを開く。
  2. Open User Settings (JSON) を選択。
  3. 以下の設定を追加(既存の設定がある場合は末尾にカンマを打って追記)。
{
    "editor.suggest.snippetsPreventQuickSuggestions": false,
    "editor.quickSuggestions": {
        "other": "on",
        "comments": "on",
        "strings": "on"
    },
    "editor.tabCompletion": "on"
}

キーボードで Command + ,(コンマ) を押して 検索:quickSuggestions

{
    "explorer.confirmDragAndDrop": false,
    "remoteHub.commitDirectlyWarning": "off",
    "editor.fontSize": 16,
    "markdown.validate.unusedLinkDefinitions.enabled": "ignore",
    "markdown.validate.duplicateLinkDefinitions.enabled": "ignore",
    "editor.quickSuggestions": {
        "other": "on",
        "comments": "on",
        "strings": "on"
    },
    "editor.tabCompletion": "on",
    "editor.suggest.snippetsPreventQuickSuggestions": false
}

…が全部だめでZSHでいいじゃんって発想を変えた

設定を開く

nano ~/.zshrc

お手軽コマンド作成

# Blogのコミットメッセージを生成してクリップボードにコピー
alias blog_post="date '+update: Blog Update %Y-%m-%d %H:%M:%S' | tr -d '\n' | pbcopy && echo 'Copied: Blog Update'"

設定読み込ませる

source ~/.zshrc

新しい私の書く場所

GitHubでPublicリポジトリならホスティング費用なしで記事を配信できる。
そんなことも知らなかった。

とりあえず実験でやってみます。

解離性障害と診断された。

傷病名:解離性障害
仮想空間における出来事を客観的に捉えることが難しくなり、現実の生活が困難になっていると思われます。このため、SNSやネットでの集まりから離れ、自身の心身が健康な状態になることを最優先に過ごしてください。十分な睡眠と生活リズムを整え、軽い運動ができるような状態になることをまずは目指しましょう。以下余白。
【2026年3月13日(金曜日)】

SNSやコミュニティ運営はもうしない

「汝、足るを知れ」とばかりの身の程知らずの診断書。
なので、今後は、SNS活動はせずに、小説かいたり、こうして一人の静かな日記を書いて過ごそう。

GitHubではPublicリポジトリなら無料でMkDocsでサイトを作れる。
知らなかった。

四苦八苦して作ったので誰でも使えるようシェアします。

Deploy_MkDocs.yml

{リポジトリ}/.github/workflows/Deploy_MkDocs.yml
name: Deploy MkDocs Blog to GitHub Pages

on:
  push:
    branches:
      - main
  workflow_dispatch:

env:
  FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: true

permissions:
  contents: read
  pages: write
  id-token: write

concurrency:
  group: "pages"
  cancel-in-progress: false

jobs:
  deploy:
    environment:
      name: github-pages
      url: ${{ steps.deployment.outputs.page_url }}
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4

      - name: Set up Python
        uses: actions/setup-python@v5
        with:
          python-version: '3.x'

      - name: Install dependencies
        run: |
          pip install mkdocs-material
          pip install "mkdocs-material[blog]"
          pip install mkdocs-rss-plugin
          pip install mkdocs-glightbox

      # 1. 物理ディレクトリの存在保証とCSS・JS生成
      - name: Ensure src directory and generate CSS/JS
        run: |
          mkdir -p src/stylesheets
          mkdir -p src/javascripts
          mkdir -p src/img
          mkdir -p src/assets

          if [ ! -f "src/index.md" ]; then
            echo "# ホーム" > src/index.md
          fi

          rm -f src/404.md

          cat <<'EOF' > src/stylesheets/extra.css
          /* 1. リンクとタイトルの太字化 */
          .md-typeset a, 
          .md-nav__link, 
          .md-post__title a,
          .md-typeset h1,
          .md-typeset h2,
          .md-typeset h3,
          .md-typeset h4,
          .md-typeset h5 {
              font-weight: bold !important;
          }

          /* 2. ダークモード (slate) の配色強制 */
          body[data-md-color-scheme="slate"] {
              --md-typeset-a-color: #e0e0e0 !important;
              --md-accent-fg-color: #e0e0e0 !important;
          }
          body[data-md-color-scheme="slate"] .md-typeset h1,
          body[data-md-color-scheme="slate"] .md-typeset h2,
          body[data-md-color-scheme="slate"] .md-typeset h3,
          body[data-md-color-scheme="slate"] .md-typeset h4,
          body[data-md-color-scheme="slate"] .md-typeset h5 {
              color: #e0e0e0 !important;
          }

          /* 3. ライトモード (default) の配色強制 */
          body[data-md-color-scheme="default"] {
              --md-default-bg-color: #f5f5f5 !important;
              --md-default-bg-color--light: #f5f5f5 !important;
              --md-typeset-a-color: #212121 !important;
              --md-accent-fg-color: #212121 !important;
          }
          body[data-md-color-scheme="default"] .md-typeset h1,
          body[data-md-color-scheme="default"] .md-typeset h2,
          body[data-md-color-scheme="default"] .md-typeset h3,
          body[data-md-color-scheme="default"] .md-typeset h4,
          body[data-md-color-scheme="default"] .md-typeset h5 {
              color: #212121 !important;
          }

          /* 4. 詳細ページ内のリンク色を再適用 */
          .md-content__inner .md-typeset a {
              color: var(--md-typeset-a-color) !important;
          }

          /* 画像の最大高さを制限してサムネイルらしくする */
          .md-typeset img {
              max-height: 400px;
              width: auto;
              border-radius: 4px;
          }
          EOF

          # ★ JSによるGLightboxの強制適用(Materialの遷移対応)
          cat <<'EOF' > src/javascripts/zoom.js
          document$.subscribe(function() {
            document.querySelectorAll('.md-typeset img').forEach(function(img) {
              if (img.parentElement.tagName === 'A') return;
              var a = document.createElement('a');
              a.className = 'glightbox';
              a.href = img.src;
              a.dataset.type = 'image';
              img.parentNode.insertBefore(a, img);
              a.appendChild(img);
            });
            if (typeof lightbox !== "undefined" && lightbox.reload) {
              lightbox.reload();
            }
          });
          EOF

      # 2. カスタムテンプレートを生成
      - name: Create overrides
        run: |
          mkdir -p overrides

          cat <<'EOF' > overrides/main.html
          {% extends "base.html" %}
          {% block extrahead %}
            {{ super() }}
            <meta property="og:type" content="website" />
            <meta property="og:title" content="{% if page and page.title %}{{ page.title }} - {% endif %}{{ config.site_name }}" />
            <meta property="og:description" content="{{ config.site_description }}" />
            <meta property="og:url" content="{{ config.site_url }}" />
            <meta property="og:image" content="{{ config.site_url }}assets/og-image.png" />
            <meta property="og:image:width" content="1200" />
            <meta property="og:image:height" content="630" />
            <meta name="twitter:card" content="summary_large_image" />
            <meta name="twitter:title" content="{% if page and page.title %}{{ page.title }} - {% endif %}{{ config.site_name }}" />
            <meta name="twitter:image" content="{{ config.site_url }}assets/og-image.png" />
          {% endblock %}
          EOF

          cat <<'EOF' > overrides/404.html
          {% extends "base.html" %}

          {% block extrahead %}
            {{ super() }}
            <base href="/ama/">
          {% endblock %}

          {% block content %}
            <div align="center" style="margin-top: 4em;">
              <p>
                <img src="/ama/assets/logo.png" alt="Logo">
              </p>
              <h1 id="404-not-found">404 Not Found</h1>
              <hr style="border: none; border-top: 1px solid #e0e0e0; margin: 2em 0;">
              <p>
                お探しのページは見つかりませんでした。<br>
                URLが変更されたか、削除された可能性があります。
              </p>
              <hr style="border: none; border-top: 1px solid #e0e0e0; margin: 2em 0;">
              <div style="margin-top: 2em;">
                <a href="/ama/">ホームへ戻る</a>
              </div>
            </div>
          {% endblock %}
          EOF

      # 3. mkdocs.yml を生成
      - name: Create mkdocs.yml
        run: |
          TS=$(date +'%Y%m%d%H%M%S')

          cat <<'EOF' > mkdocs.yml
          site_name: 灰月琥珀 - Ash Moon Amber
          site_url: https://ash-moon-amber.github.io/ama/
          site_description: 琥珀の技術と日常の記録
          repo_name: GitHub
          repo_url: https://github.com/ash-moon-amber/ama

          use_directory_urls: false

          theme:
            name: material
            custom_dir: overrides
            not_found_template: 404.html
            language: ja
            logo: assets/logo.png
            favicon: assets/logo.png
            palette:
              - media: "(prefers-color-scheme: dark)"
                scheme: slate
                primary: black
                accent: indigo
                toggle:
                  icon: material/brightness-4
                  name: ダークモード
              - media: "(prefers-color-scheme: light)"
                scheme: default
                primary: black
                accent: indigo
                toggle:
                  icon: material/brightness-5
                  name: ライトモード
            features:
              - navigation.tabs
              - navigation.indexes
              - navigation.sections
              - toc.integrate
              - content.code.copy

          markdown_extensions:
            - nl2br
            - pymdownx.highlight:
                anchor_linenums: true
                line_spans: __span
                pygments_lang_class: true
            - pymdownx.inlinehilite
            - pymdownx.snippets
            - pymdownx.superfences:
                custom_fences:
                  - name: mermaid
                    class: mermaid
                    format: !!python/name:pymdownx.superfences.fence_code_format

          nav:
            - Blog:
                - index.md
                - Tags: tags.md
            - Profile: profile.md

          extra_css:
            - stylesheets/extra.css?v=TIMESTAMP_PLACEHOLDER

          extra_javascript:
            - javascripts/zoom.js?v=TIMESTAMP_PLACEHOLDER

          plugins:
            - blog:
                blog_dir: .
                post_dir: posts
                draft_if_future: false
                post_url_format: "{date}/{file}"
                archive_url_date_format: yyyy/MM
                archive_date_format: yyyy年MM月
            - search
            - glightbox:
                touchNavigation: true
                loop: false
                effect: zoom
                slide_effect: slide
            - tags:
                tags_file: tags.md
            - rss:
                match_path: posts/.*

          docs_dir: src
          site_dir: site
          EOF

          sed -i "s/TIMESTAMP_PLACEHOLDER/$TS/g" mkdocs.yml

      # 4. ビルド実行
      - name: Build MkDocs
        run: mkdocs build

      # 5. 公開ディレクトリ(public)の整理
      - name: Prepare Public Directory
        run: |
          rm -rf public
          mkdir -p public

          if [ -d "site" ]; then
            cp -r site/* public/
          fi

          if [ -d "src/stylesheets" ]; then
            mkdir -p public/stylesheets
            cp -r src/stylesheets/* public/stylesheets/
          fi

          if [ -d "src/javascripts" ]; then
            mkdir -p public/javascripts
            cp -r src/javascripts/* public/javascripts/
          fi

          if [ -d "src/img" ]; then
            mkdir -p public/img
            cp -r src/img/* public/img/
          fi

          if [ -d "src/assets" ]; then
            mkdir -p public/assets
            cp -r src/assets/* public/assets/
          fi

          if [ -f "site/404.html" ]; then
            cp site/404.html public/404.html
          fi

      - name: Setup Pages
        uses: actions/configure-pages@v5

      - name: Upload artifact
        uses: actions/upload-pages-artifact@v3
        with:
          path: './public'

      - name: Deploy to GitHub Pages
        id: deployment
        uses: actions/deploy-pages@v4

ポイントは extra.css をランナー上で物理的に生成 の箇所です。
これをしないとMkDocsはテーマカラーをいくら指定してもAタグがIndigoになる。
それ以外は…仕様に従う、という普通の方式で作りました。

GitHub Actionsに登録されるので、Commitしたら自動で日記が更新されます。

SNS疲れたな…という人の参考になるといいなと思います。

Web版VSCodeのMarkdown執筆を静かにできるようにする

設定から「Markdownの検証」を無効化する

  1. VSCodeの左下にある 歯車アイコン > 設定

  2. markdown.validate で検索

  3. 以下の項目のチェックをすべて外す

  4. Markdown > Validate: Enabled

  5. Markdown > Validate: Unused Definitions(未使用の参照リンク警告)
  6. Markdown > Validate: Duplicate Link Definitions(重複リンク警告)

Markdown Lint 拡張機能を切る

{リポジトリ}/.markdownlint.json
1
2
3
{
    "default": false
}