スマホユーザーにお知らせ

2023年10月26日以降、テクニカル諏訪子のブログがスマホでの閲覧を対応しなくなったと案内しています。
パソコンやサーバーを使用するようにとの指示があります。

おすすめブラウザこちらです:

なお、理由については、「STOP!!スマホ」キャンペーンをご覧下さい。

ご理解お願い申し上げます。

ヘッダー
支援♡ : Monero

【HTML】静的サイトジェネレーター利用せず簡単に静的サイト編集する方法

トップページに戻る
凛、 2023年02月08日 — jp, blog, html, ウエブサイト, ウエブ開発, linux, bsd

昨日は静的サイト管理する方法を教えました。
でも、編集はどう?
例えば、会社名が変わったら、一個ずつ編集は必要でしょうか?
必要はないわ!

sedで会社名の変更

sedコマンドですべてのページで変更出来ますよ!

cd src
find . -type f -name "*.html" -exec sed -i 's/クソガキ株式会社/テクニカル諏訪子開発サービス/g' {} +

上記コマンドですべてのページで「クソガキ株式会社」が「テクニカル諏訪子開発サービス」に変更されます。
でも、「クソガキ株式会社」の方が良いですので:

find . -type f -name "*.html" -exec sed -i 's/テクニカル諏訪子開発サービス/クソガキ株式会社/g' {} +

sedでマークダウンからHTMLに交換

この同じsedコマンドで、すべての「\」を「<br />」に交換出来ます。
そうして、「# ほげほげ」を「<h1>ほげほげ</h1>」に交換し、「[ほげほげ](/hogehoge.html)」を「<a href="/hogehoge.html">ほげほげ</a>」に交換します。
例えば、toiawase.htmlページで:

# 問い合わせ
クソガキ株式会社\
地獄県鬼市死亡街6丁目6-6 サタンパレス666階\
最寄り駅:JL神様線 死後駅 徒歩約5ヶ月\
エレベーターがありません。\
[トップページへ](/index.html)
sed -i 's/^# \(.*\)/<h1>\0<\/h1>/g' toiawase.html #h1タグ
sed -i 's/\\/<br \/>/g' toiawase.html #brタグ
sed -i 's/^\(.*\)/    \0/g' toiawase.html #4つ空白を入る
sed -i 's/\[\(.*\)\](\(.*\))/<a href="\2">\1<\/a>/g' toiawase.html #リンクタグ

結果は下記ですね:

    <h1>問い合わせ</h1>
    クソガキ株式会社<br />
    地獄県鬼市死亡街6丁目6-6 サタンパレス666階<br />
    最寄り駅:JL神様線 死後駅 徒歩約5ヶ月<br />
    エレベーターがありません。<br />
    <a href="/index.html">トップページへ</a>

その時から、マークダウンで書きましょう!!

mv index.{html,md}
mv toiawase.{html,md}

index.md

# クソガキ株式会社へようこそ
私達のサービスはクソ物凄いだぜ!!

toiawase.md

# 問い合わせ
クソガキ株式会社\
地獄県鬼市死亡街6丁目6-6 サタンパレス666階\
最寄り駅:JL神様線 死後駅 徒歩約5ヶ月\
エレベーターがありません。\
[トップページへ](/index.html)

sedでメニューのリンクを「active」タグを追加する方法

まずはCSSで新しい行列を追加して下さい:

...

.active {
  background: #ea44fb;
  color: #000 !important;
  padding: 4px;
}

catでマージした後、下記のsedコマンドを使ってこのタグを追加出来ます。
今回は凄く簡単だわ〜

sed -i "s/href=\"\/\"/href=\"\/\" class=\"active\"/g" index.html
sed -i "s/href=\"\/toiawase.html\"/href=\"\/toiawase.html\" class=\"active\"/g" toiawase.html

make.shの変更

スクリプトはこれになりました:

#!/bin/sh
rm -rf www/*
cp -v src/style.css www
cd src

for name in *.md; do
  newname="$(echo "$name" | sed -ne 's/md/html/gp')"
  cp $name $newname #mdからhtmlにコピーする

  # マークダウンはHTML化
  sed -i 's/^# \(.*\)/<h1>\1<\/h1>/g' $newname #h1タグ
  sed -i 's/\\/<br \/>/g' $newname #brタグ
  sed -i 's/^\(.*\)/    \0/g' $newname #4つ空白を入る
  sed -i 's/\[\(.*\)\](\(.*\))/<a href="\2">\1<\/a>/g' $newname #リンクタグ

  # 合体
  cat include/header.html include/menu.html $newname include/footer.html >> ../www/$newname
  echo "'src/$name' -> 'www/$newname'"

  # HTMLファイルはもう不要だ
  rm -rf $newname
done

cd ../www

# 「active」タグを付く
for name in *.html; do
  if [ $name = 'index.html' ]; then
    sed -i "s/href=\"\/\"/href=\"\/\" class=\"active\"/g" $name
  else
    sed -i "s/href=\"\/$name\"/href=\"\/$name\" class=\"active\"/g" $name
  fi
done

cd ..

ところで、こちらのプロジェクトのファイルは全部Gitlerにコミットしました。
昨日のコミット
今日のコミット

以上


Valid XHTML 1.1 正当なCSSです! どのブラウザでも表示出来ます! hacker emblem SDGsに反対 スマホに反対

匿名自営業076の設立者
ページのGitGitリポジトリ