院試が終わってちょっと暇になった

8/31まで専門科目の勉強しかしておらず,なんでもいいから他のことをしたいなと思っていました。
何やろうか考えていたところ,web開発のバイトで培った技術を使いたく,ウェブサイトのリニューアルをしたい

保守性を高めるために何をやったか

記事を増やしていけばいくほど,何か全体的な仕様を変えるときの重みが違います。
全部手入力だと,たかだか30記事しかなくても絶対に面倒です。
そこで,軽い・見やすい・JavaScriptとの親和性のあるJSONを導入しようということになりました。

細かい所も変えましたが,JSを前よりもふんだんに使ったというのが大きな変更です。

記事一覧の仕様

カテゴリ別のボタンや,ヘッダー・サイドメニューにあるリンクにdata属性をつけました。
URLの最後につくことができるパラメータ"category"を定義して判断します。

search.html?category=○○

そしてあるカテゴリに属する記事だけ抽出します。

肝心の記事カードの抽出は,JSONファイルから行います。それを記事カードにこしらえるのはJSファイルが行います。

共通部分のインクルード

ページタイトルやメタ属性,ヘッダーやフッターなどは,ほとんど全記事で共通です。
膨大なファイルの内容を変えずに,インクルードするファイル側を変えれば作業量もごくわずかで済みます。
この修正に伴い,htmlをphpファイルとしました。

目次の自動改行処理

目次は,記事のなかの大見出し(h2),中見出し(h3),小見出し(h4)を自動で抽出して作成します。
基本,この順番で箇条書きの点「・」の大きさが小さくなっていきます。
見出しレベルの大きい順に左にから右にずらしたことで,ちょっと見やすくなりました。

検索窓

スマホ・タブレットでみている方は3本線のメニューから,PCでみている方は右に検索窓が表示されています。
ここに入力すると,JSONファイルからその文字列を含むかチェックし,該当記事を洗い出してくれます。

実装したい機能

お問合せフォーム

1回ちゃんとしたものをつくりたいですね。こんなサイトに用がある人もあんまりいないですが。
ただ,個人情報を扱うのでそんな責任がもてないというの本音。セキュリティをガチガチに勉強してからですね。しばらくは外部フォームを使います。

計算問題や各種暗記の練習ができる機能

ウェブブラウザ上でできるっていうのがいいですよね。モバイルアプリ版でもいいですが。
中学生,高校生向けに数字だけ変えて何回もできる計算練習とか,ランダムで出題して爆速で暗記するためのツールとか。できたら面白そう!

メンテナンス・404ページに謎ゲーム

くだらないですが,こういう遊び心をつけたいです。
ゲームもいいですが,押せば押すほど出てくる雑学ボタンみたいなのも考えました。
時間が出来たらSQLの勉強をちゃんとしておきましょう。

SEOのために良い記事を

SEOとは検索エンジン最適化ですね。内容がちゃんとしているかはブラウザを巡回しているbotが判断します。
いい記事がないと話になりません。実装ばかりに固執せず,まともな記事を書いて検索上位にあがるようにしたいですね。