はてなブログに検索専用のページを作ってみたので作り方を解説します。
はてなブログに検索専用のページを作る方法
こんなページを作ってみました。
www.secret-base.org
検索専用のページ用のコード
準備
サイドバーに検索モジュールとカテゴリ一モジュールを設置してあることが前提です。
設定→詳細→headに要素を追加
でjQueryを読み込むコードを追加しておきます。
<script type="text/javascript" src="https://cdn.blog.st-hatena.com/js/external/jquery.min.js?version=1.12.3"></script>
上記は、はてなブログのシステム側で読み込むjQueryなので、ヘッダーで読み込んでも読み込み速度はほぼ変わりません。
検索専用ページの作成
普通にエントリーで作ってもいいのでしょうけど、ここは固定ページ機能を使用。
ダッシュボード>固定ページから
適宜urlを設定して固定ページ作ってhtmlモードで以下コードをコピペ。
<div id="search-box"> </div> <div id="category-box"> </div> <style type="text/css"><!-- #search-box .search-form { border: 1px solid #ddd; border-radius: 3px; width: 100%; -webkit-box-sizing: border-box; box-sizing: border-box; display: -webkit-box; display: -ms-flexbox; display: flex; -webkit-box-align: center; -ms-flex-align: center; align-items: center; } #search-box .search-module-input { -webkit-box-flex: 1; -ms-flex: 1 0; flex: 1 0; padding: 5px; color: #454545; background: none; border: none; outline: none; height: 20px; } #search-box .search-module-button { width: 24px; height: 24px; margin-right: 5px; background: transparent url(//blog.hatena.ne.jp/images/theme/search@2x.png) no-repeat center; background-size: 20px 20px; border: none; outline: none; color: transparent; overflow: hidden; opacity: .5; cursor: pointer; } #category-box ul{ margin:0 8px; } #category-box ul.hatena-urllist li{ display: inline-block; text-decoration: none; padding: 0px 4px; margin: 8px 0px; background: #eee; line-height: 200%; } #category-box ul.hatena-urllist { text-align: justify; } --></style> <script>// <![CDATA[ $(window).load(function () { $('#search-box').append($('.hatena-module-search-box').html()); $('#category-box').append($('.hatena-module-category').html()); }); // ]]></script>
プレビュー観て問題なさそげなら公開を。
適宜cssは調整してください。
技術解説
このコードで適当なdivのboxを作ってやって
<div id="search-box"> </div> <div id="category-box"> </div>
jQueryでサイドバーからhtmlを複製しています。
<script>// <![CDATA[ $(window).load(function () { $('#search-box').append($('.hatena-module-search-box').html()); $('#category-box').append($('.hatena-module-category').html()); }); // ]]></script>
あとはスタイルシートで整形。
<style type="text/css">〜</style>
のところはこのページ専用のcssです。
要は、箱作ってhtmlをコピーしてスタイルで整形してるって話です。
これって・・・?
検索だけならこのコード貼って「example.com」のとこだけ自分のブログに対応させるだけでOK。
<div class="hatena-module hatena-module-search-box"> <div class="hatena-module-title"> 記事検索 </div> <div class="hatena-module-body"> <form class="search-form" role="search" action="https://example.com/search" method="get"> <input type="text" name="q" class="search-module-input" value="" placeholder="記事を検索" required=""> <input type="submit" value="検索" class="search-module-button"> </form> </div> </div>
いいんですよ!
まとめ
需要が無さそうな上にろくでもないコードですが、はてなブログってこんなこともできるんだよ!的なアレです!
JavaScriptやcssが記事内にこんなに自由に書けるブログシステムってワクワクするじゃないですかー。
ちょっとそこのキミもはてなしない?
- 作者: ミヒャエル・エンデ、佐藤真理子(訳)
- 出版社/メーカー: 岩波書店
- 発売日: 2000
- メディア: 文庫
- この商品を含むブログを見る
それではまた・・・さよならいち!・∀・)ノ