Dots

ブログとか

Neumorphic Designっぽいやつ


リノベーション前

リノベーション前のサイト

リノベーション後

リノベーション後のサイト

デザインを変えようとしたら…

気まぐれにテーマを変更してみたら、どれも横幅が狭くて、PCで見ると見づらいことに気づいた。

それで、色々変更したりCSSをいじったりしてみたが、どうもしっくりこない。

というか、記事を修正してcommit&pushし、CIがGitHub Pagesを更新するという作業サイクルが遅くて、面倒だったので、ローカルビルド環境を用意した。

今まではそんなのどうでもよかったけど、まあ、AIさんに頼めばやってくるってことで、ちょっとやる気になり、サイトのリノベーションを行うことにした。

作業コストを考えるとやる気にならないことも、多少やる気になるというのは良いことかもしれない。

Dockerビルド環境の構築

GitHub Actionsがページをビルドして更新するのを毎回待つのは面倒なので、claude code に DockerでJekyllのビルド環境を作らせた。

Dockerfile (Ruby のツールだったのか…)

FROM ruby:3.2-alpine
# Install dependencies
RUN apk add --no-cache \
    build-base \
    git \
    linux-headers
# Set working directory
WORKDIR /app
# Copy Gemfile and Gemfile.lock
COPY Gemfile* ./
# Install gems
RUN bundle install
# Copy the rest of the application
COPY . .
# Expose port 4000
EXPOSE 4000
# Default command
CMD ["bundle", "exec", "jekyll", "serve", "--host", "0.0.0.0", "--port", "4000", "--livereload", "--force_polling"]

compose.yml

services:
  jekyll:
    build: .
    ports:
      - "4000:4000"
      - "35729:35729"
    volumes:
      - bundle_cache:/usr/local/bundle
    environment:
      - JEKYLL_ENV=development
    command: bundle exec jekyll serve --host 0.0.0.0 --port 4000 --livereload --force_polling
    develop:
      watch:
        - action: sync
          path: ./
          target: /app/
          ignore:
            - .git/
            - .github/
            - .idea/
            - .vscode/
            - .claude/
            - .envrc
            - .DS_Store
            - tmp/
            - Dockerfile
            - bin/
volumes:
  bundle_cache:
docker compose watch

これで修正直後に http://localhost:4000 で画面を確認できるようになった。

普通にWEBアプリケーション開発するなら最初にやるけどな。

claude code に頼んだら、他にも docker compose を叩くためのシェルスクリプトみたいなのを生成してた。

よくわからんが、AIの都合上あったほうが楽なのかもしれない。

UIデザインの刷新

Jekyllのテーマは便利だけど、とにかく横幅が狭いのと、気に入るものが無かった。

探せばあるのかもしれんが、気軽に切り替えて試せない。

カスタムCSSを使えるというのは知っていたので、AIに頼んでデザインを刷新してもらった。

ニューモーフィックデザイン

「Neumorphic designで頼む」と頼んだら、サイドメニュー、目次、テーブル表示のデザインが改善された。

個人的に、ニューモーフィックデザインに詳しいわけではないけど、AIに頼めば言葉と雰囲気を知っているだけで使える。何事もそうだが、人々が時間をかけて生み出した概念にちゃんと名前がついていることがありがたい。

目次の折りたたみ時の動作は、当初カクカクしていたので、スムーズにアニメーションするように調整した。シンプルなブログツールでも、 script タグで自由にスクリプトを使えるのは、便利やな。

テーブルデザイン

ニューモーフィックデザインを適用したテーブル

ヘッダ1 ヘッダ2 ヘッダ3
データ1 データ2 データ3
データ4 データ5 データ6

これは結構気に入っている。

最初、縦の区切り線が無かったので、さすがに薄い縦線を入れてくれと頼んだ。

ナビゲーションの改善

目次の追加

シンタックスハイライトの修正

文章の生成や修正

既存の文章の修正はもちろん、記事の生成もAIを使っている。

そんなもん書く意味があるのかという気にもなるが、以下の点で一応意味がある気がする。

書きたいことだけを書いて、構造や体裁やレビューなどめんどいことやってくれるので、そもそも書くのが楽だから試しに書いてみている。

自分が良いと思ってる書かせ方は、こんな感じ。(別にこの通りにしてないけど)

  1. 情報源・ネタ・ソースを与える
    • 書きたいことを喋ってテキスト起こししたり
    • 箇条書きにしたり
    • とにかく一旦テキストにする
    • 画像を与えたりすることもある
    • ファイルやタイトルは先に作る
  2. 次に見出しを作らせる
    • この時点で、修正したり、させたりする
    • タイトルも変えたりする
  3. その後、見出しごとに内容を書かせる
    • 例えばサンプルコードなど、部分的に細かく注文したりする
    • 他に必要な見出しや内容があれば、追加させる
  4. レビューさせる
    • 文章の流れや内容を確認する
    • ここで、AIに「この文章はどう?」と聞いてみることもある
    • AIが指摘してきた内容を修正したり、追加したりする
  5. 最後に、全体を通して読みやすくなるように修正させる

まとめ