term タグ別の記事一覧

WordPress導入

 ブログシステムをpyblosxom+自前のバックエンドから、WordPressに変更してみた。WordPressはデフォルトではMySQLをデータベースとして使うけど、今回はプラグインを入れてsqliteを使う構成でセットアップ。

 sqliteを入れたのは、ファイルのコピーだけでなにも考えずにバックアップができるというのと、パフォーマンス的に有利なんじゃないかなー、という理由。テキストデータしか入れる気はないので、データベースサイズはせいぜい数MBだし、ファイルキャッシュが効けば結構速くなるんじゃないの? とか考えてるんだけど、実際どうなってるかはちゃんと測ってないので不明。

 ちなみに、WordPressをsqliteを使うプラグインはこれ(PDO (SQLite) For WordPress)。基本的には付属ドキュメント通りにセットアップすればOK(WordPressのwp-contentディレクトリ以下に配布ファイルをコピー→wp-config.phpファイルに「define(‘DB_TYPE’, ‘sqlite’);」を追加)。Web上の情報では、ソースをいじったりする必要があるという話が書いてあるものもあったけど、自分が試したバージョン(WordPress 2.8.4+PDO For WordPress 2.6.1)では設定ファイル以外のソースの変更は不要だった。

 ただ、suexecを使っていない環境ではもちろんデータベースディレクトリおよびデータベースファイルを作成できるようにパーミッションを変更しておく必要がある。データベースファイルはwp-contentディレクトリ以下に「database」というディレクトリが作成され、その中に作成されるので、一時的にwp-content内にWebサーバーを動かしているユーザー権限でディレクトリを作成できるように設定しておく必要あり。

pyblosxomの記事のインポート

 でもって、過去のpyblosxomの記事のインポートなんだけど、直接はインポートできないので、過去の記事からインポート用のファイルを作成する必要がある。WordPressの「Importing Content」ページでは変換用スクリプトを用意してインポートする方法を紹介するページが紹介されているんだが、このスクリプトは日本語環境だと微妙な気がしたので、これを参考にPythonで書き直してみた。

 ただしこの変換スクリプト、カテゴリと記事コンテンツ、投稿日はインポートできるのだがタグとエントリのURL情報は無視してくれるのが困りどころ。おかげで過去記事のリンクが切れる……。カテゴリについては、.htaccessに次の1行を追加すれば解決なのだが、リンク切れはさぁどうしようかねぇ。

RewriteEngine On
RewriteBase /
RewriteRule ^(apple|bluegriffon|develop|fsm|handbrake|s|slashdot|twitter) category/$1 [R=301,L]

# BEGIN WordPress
 :
 :

個別記事のタイトル設定ができない件についてorz

 このblog(?)の記事のPermlink、記事個別ページのタイトルがちゃんと設定されていないことに気付く。

 ということでPyblosxomのドキュメントを見たんだけど、なんと(ドキュメントを見る限りでは)標準では記事個別ページのタイトル(タグ内に設定するタイトルね)にその記事のタイトルを入れることができないっぽいorz。自前でプラグインを書けということか。</p> <p> このblog(?)は、記事レンダリングをPyblosxomで、記事編集などのバックエンドはfsmというシステムでやっているんだけど、どちらも良い言い方をすると自由度が高い、悪い言い方をすると色々と面倒くさいけど、まぁ修行wということで(それでで面倒くさくなって修正しないままだらだらと、という話もあるが……)。</p> <p> しょうがないのでとりあえずタイトルを入れないままごまかす。ToDoに入れておこう。</p> </div> <footer> <div class="tag"> Tags: <a href="/tag/pyblosxom">pyblosxom</a> </div> </footer> </article> </div> </main> </div> <div class="sidebar" class="sidebar"> <div class="sidebar-box"> <h3>site navigation:</h3> <nav> <ul> <li><a href="/about">about</a></li> <li><a href="/tag">tag</a></li> <li><a href="https://hylom.net/2024/">2024</a></li> <li><a href="https://hylom.net/2023/">2023</a></li> <li><a href="https://hylom.net/2022/">2022</a></li> <li><a href="https://hylom.net/2021/">2021</a></li> <li><a href="https://hylom.net/2020/">2020</a></li> <li><a href="https://hylom.net/2019/">2019</a></li> <li><a href="https://hylom.net/2018/">2018</a></li> <li><a href="https://hylom.net/2017/">2017</a></li> <li><a href="https://hylom.net/2016/">2016</a></li> <li><a href="https://hylom.net/2015/">2015</a></li> <li><a href="https://hylom.net/2014/">2014</a></li> <li><a href="https://hylom.net/2013/">2013</a></li> <li><a href="https://hylom.net/2012/">2012</a></li> <li><a href="https://hylom.net/2011/">2011</a></li> <li><a href="https://hylom.net/2010/">2010</a></li> <li><a href="https://hylom.net/2009/">2009</a></li> <li><a href="https://hylom.net/2008/">2008</a></li> <li><a href="https://hylom.net/2007/">2007</a></li> <li><a href="https://hylom.net/2006/">2006</a></li> </ul> </nav> </div> <div class="sidebar-box"> <h3>hylom.net:</h3> <div class="box-contents"> <p>ライター/エディター/プログラマー/Webディレクター、hylomのブログです。ご興味のある方は<a href="https://twitter.com/hylom">つぶやき</a>や<a href="/about">執筆記事</a>などもどうぞ。</p> </div> </div> <div class="sidebar-box"> <h3>最近の記事:</h3> <div class="box-contents"> <ul class="unlist"> <li> <a href="/2024/05/06/webcomponent-library-like-vuejs/">Vue.jsっぽい感じでWebComponentを実装できるフレームワークを作った</a> <span class="timestamp">(2024/05/06)</span> </li> <li> <a href="/2023/01/07/use-security-token-for-2fa/">USB/NFCセキュリティトークンによる二要素認証の導入</a> <span class="timestamp">(2023/01/07)</span> </li> <li> <a href="/2023/01/03/show-clock-on-the-top-right-of-the-screen-in-windows11/">Windows 11でデスクトップ右上に時計を表示する</a> <span class="timestamp">(2023/01/03)</span> </li> <li> <a href="/2023/01/02/powershell-the-first-step/">PowerShellはじめの一歩</a> <span class="timestamp">(2023/01/02)</span> </li> <li> <a href="/2022/07/18/introduce-razer-blackwidow-v3-mini/">テンキーレスミニキーボード「Razer BlackWidow V3 Mini」を使ってみた</a> <span class="timestamp">(2022/07/18)</span> </li> <li> <a href="/2021/05/05/use-razer-huntsman-mini-on-macos/">テンキーレスミニキーボード「Razer HUNTSMAN MINI」をmacOSで使う</a> <span class="timestamp">(2021/05/05)</span> </li> <li> <a href="/2021/04/29/use-cmark-gfm-and-markdown-mode-on-emacs/">Emacsでcmark-gfmを使ったGitHub互換Markdownプレビューを実現する</a> <span class="timestamp">(2021/04/29)</span> </li> <li> <a href="/2020/12/06/create-custom-component-with-web-components-and-svg/">SVG+Web Componentsで再利用可能なGUIコンポーネントを作る</a> <span class="timestamp">(2020/12/06)</span> </li> <li> <a href="/2020/11/23/emacs-settings-to-use-japanese-font/">macOSの最近のEmacsで日本語フォントがいわゆる中華フォントになる問題の解決方法</a> <span class="timestamp">(2020/11/23)</span> </li> <li> <a href="/2020/11/15/use-npx-instead-of-npm-install-g-option/">npmで「npm install -g」ではなくnpxをおすすめする理由</a> <span class="timestamp">(2020/11/15)</span> </li> </ul> </div> </div> <div class="sidebar-box"> <h3>お知らせ:</h3> <h4>技術記事を執筆しました</h4> <div class="box-contents"> <p>技術情報サイト「<a href="https://knowledge.sakura.ad.jp/">さくらのナレッジ</a>」にて、技術記事を執筆しました(<a href="https://knowledge.sakura.ad.jp/author/hirom/">執筆記事一覧へのリンク</a>)。</p> </div> <h4>Git解説本を執筆しました</h4> <div class="box-contents"> <a href="https://www.amazon.co.jp/gp/product/4797380365/ref=as_li_qf_sp_asin_il?ie=UTF8&camp=247&creative=1211&creativeASIN=4797380365&linkCode=as2&tag=hylom-22" target="_blank"><img border="0" src="https://ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4797380365&Format=_SL250_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=hylom-22" width="126" alt="デザイナーからプログラマーまで 絶対わかるGitバージョン管理" class="block"></a> <p>Git解説本「デザイナーからプログラマーまで 絶対わかるGitバージョン管理」を出版しました。コマンドラインおよびGUIクライアントのSourceTreeを使ったGitによるバージョン管理の流れを解説してします。また、コマンドラインリファレンスも収録しています。</p> </div> <h4>Node.js解説本を執筆しました</h4> <div class="box-contents"> <a href="https://www.amazon.co.jp/gp/product/4797370904/ref=as_li_qf_sp_asin_il?ie=UTF8&camp=247&creative=1211&creativeASIN=4797370904&linkCode=as2&tag=hylom-22" target="_blank"><img border="0" src="https://ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&ASIN=4797370904&Format=_SL160_&ID=AsinImage&MarketPlace=JP&ServiceVersion=20070822&WS=1&tag=hylom-22" width="126" height="160" alt="はじめてのNode.js" class="block"></a> <p>Node.jsの解説本「はじめてのNode.js -サーバーサイドJavaScriptでWebアプリを開発する-」を出版しました。Node.jsのインストールや環境構築、パッケージの利用、Webアプリケーション作成、データベースやファイルアクセス、Expressフレームワークの利用、デバッグやテストといった、Node.jsでのWebアプリケーション作成に必要な知識を一通り解説しています。</p> </div> <h4>Mastodon入門書を執筆しました</h4> <div class="box-contents"> <a href="https://www.amazon.co.jp/gp/product/B00W4NAS2Q/ref=as_li_tl?ie=UTF8&camp=247&creative=1211&creativeASIN=B00W4NAS2Q&linkCode=as2&tag=hylom-22&linkId=4577fc1071ccf6d3c534bd5a7bc4fe91" taget="_blank"><img border="0" src="//ws-fe.amazon-adsystem.com/widgets/q?_encoding=UTF8&MarketPlace=JP&ASIN=B00W4NAS2Q&ServiceVersion=20070822&ID=AsinImage&WS=1&Format=_SL250_&tag=hylom-22" width="126" alt="Mastodonスタートアップガイド" class="block"></a> <p>分散型SNSであるMastodonの入門書を電子書籍として出版しました。初心者向けにMastodonの仕組み、用語、クライアントの使い方などを解説しています。</p> </div> <div class="box-contents"> </div> </div> <div class="sidebar-box"> <h3>関連リンク:</h3> <div class="box-contents"> <dl> <dt><a href="https://srad.jp/">スラド</a></dt> <dd>セキュリティ関連からどうでもよいネタまで幅広く扱う雑談サイト</dd> <dt><a href="https://osdn.jp/magazine/">OSDN Magazine</a></dt> <dd>オープンソース関連ニュース/情報を掲載</dd> <dt><a href="https://osdn.jp/">OSDN</a></dt> <dd>オープンソースソフトウェア開発支援サイト。私も使っています</dd> <dt><a href="https://github.com/hylom">GitHub</a></dt> <dd>公開Gitリポジトリ。こちらも愛用しています</dd> <dt><a href="https://vps.sakura.ad.jp/">さくらのVPS</a></dt> <dd>hylom.netはさくらのVPSサービスを利用してます</dd> <dt><a href="https://plus.google.com/115759524056726415451" rel="publisher">Google+</a></dt> <dd>hylomのGoogle+ページ</dd> <dt><a href="https://www.facebook.com/hylom">Hiromichi Matsushima | Facebook</a></dt> <dd>hylomのFacebook</dd> <dt><a href="https://twitter.com/hylom" rel="publisher">Twitter(@hylom)</a></dt> <dd>hylomのTwitter</dd> </dl> </div> </div> </div> </div> <footer class="site-footer"> <p>generated by <A href="https://gohugo.io/">hugo</a> at 2020-07-23T16:30:30Z </p> </footer> </body> </html>