投稿者: Tomotoshi Sugishita
2010年3月28日 23:05
ここ最近、スパムコメントが激しいので、スパム対策がされている 1.6.0 にアップデートしてみた。
これでしばらく様子見というところでしょうか。
以前のバージョンでもありましたが、日本語化の行き届いていない部分の修正なんかはおいおい修正してゆきます。
とりあえず、書き込みテストです。
さぁ、スパムボットよ、かかってこいや~。
投稿者: Tomotoshi Sugishita
2009年5月12日 3:12
時間があるので、比較的インストールが簡単な BlogEngine.NET をちょちょいとインストールして試してみることにします。
といっても、BlogEngine.NET はこのブログもそうなんですが、今まで何度も Web サーバーにインストールしてきたので、そのまま同じことやってもつまらないから、以前から気になっていた Windows Web App Gallery からのインストールを試してみた。
まずは、Windows Web App Gallery のサイトを開きます。
BlogEngine.NET 以外にも、もちろん DotNetNuke もあるし、WordPress なんてのもここからインストールできるみたい。
この中から必要なアプリケーションのリンクをクリックして、ダウンロードを行い、ダウンロードした実行ファイル(インストーラ)を実行します。
Web Plattform Installer 2.0 Beta のダイアログが開き、インストールを行いたい Web プラットフォームやアプリケーションの選択ができるようになります。
もっと読む...
投稿者: Tomotoshi Sugishita
2008年10月17日 11:50
BlogEngine.NETには、CodeFormatterExtension という標準のエクステンションがあり、これを利用することで、ブログエントリー内にプログラミングコードを入力することができます。
入力方法はいたって簡単で、コードとして評価してほしい部分を [code:xxx] と [/code] で囲みます。
(xxx 内は言語名です。)
たとえば、C#なら、xxxをc#と記述すると
string hoge = "C#コードのサンプル";
MessageBox.Show(hoge);
のように表示されます。
xxx 内はその他に、vb、js、html、xml、tsql、msh の指定が可能です。
tsql あたりを標準サポートしているあたりがなかなかにくい感じですねw
DECLARE @hoge NVARCHAR(10)
SET @hoge = 'T-SQLのサンプル'
SELECT @hoge
GO
なんてね。
VBに関しては標準のままだと、HTMLエンコーディングがされたまま出力されてしまいますので、/App_Code/Extension/CodeFormatter/CodeFormatter.cs の122行目を以下のように修正すると
return HttpContext.Current.Server.HtmlDecode(vbf.FormatCode(text));
以下のように正しく表示されるようです。
Dim hoge As String = "VBコードのサンプル"
MessageBox.Show(hoge)
ロジックとしては、正規表現にて[/code]を見つけて、それより手前にある[code:xxx]との間の部分をコードとして取扱い、キーワードを色分けしているだけのようですので、VB9 の XML リテラルを含んだコードをきちんとハイライトしようとしてVBのコードブロック内にXMLのコードブロックを入れ子にしても、正しく評価されません。
多分、終了タグではなく開始タグの検索を開始として、終了タグまでの間のコードブロック内での評価の際に自身のメソッドを再帰呼び出しするような形にすれば可能かなぁ・・・。なんて。
でも、入れ子にされたコードブロックを評価する必要性って、これ以外には無いのでいらないのかも。
投稿者: Tomotoshi Sugishita
2008年9月10日 4:27
まずは、自分の使っている docomo の F904i で確認したところ、JavaScript の記述の仕方に問題があり、JavaScript に対応していないブラウザでは、スクリプトがそのままテキストとして見えてしまう現象が発生。
この部分の実装は Core の DLL にて行われているため、改修するには、BlogEngine.NET のソースを入手して自分でビルドし直す必要あり。
変更箇所
BlogEngine.Core\Web\Controls\BlogBasePage.cs
126行目あたりにある、AddLocalizationKeyメソッドを以下のように修正。
StringBuilder sb = new StringBuilder();
sb.AppendLine("<!--");
sb.AppendFormat("KEYhasRated='{0}';", Translate("youAlreadyRated").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYwebRoot='{0}';", Utils.RelativeWebRoot);
sb.AppendFormat("KEYsavingTheComment='{0}';", Translate("savingTheComment").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcomments='{0}';", Translate("comments").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcommentWasSaved='{0}';", Translate("commentWasSaved").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcommentWaitingModeration='{0}';", Translate("commentWaitingModeration").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYcancel='{0}';", Translate("cancel").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYfilter='{0}';", Translate("filter").Replace("'", ""file://'/">\\'"));
sb.AppendFormat("KEYapmlDescription='{0}';", Translate("filterByApmlDescription").Replace("'", ""file://'/">\\'"));
sb.AppendLine("//-->");
※太字の行を追加してください。
以上の修正ができたら、ビルドを行って、BlogEngine.Core.dll を入れ替えます。
モバイル向けということで、標準のmobileテーマだと改行位置とかメニューの配置場所もいまいちなので、こちらも見やすくなるように修正したほうがいいかも。
ちなみに、当ブログはこんな感じです。
http://www.sugishita.dev-asp.net/?theme=mobile
使用開始2日目でCoreに手をいれちゃったよ。
今回のこの部分に関しては、プロジェクトへフィードバックかな。
投稿者: Tomotoshi Sugishita
2008年9月8日 23:29
日ごろ、DotNetNukeの日本語化をやってるので、それに比べたらはるかに楽な作業です。
BlogEngine.NETの場合も大まかな点については、リソース化されているため、ja-JP向けのリソースを作成して配置すれば、日本語化されます。
ただし、これに関しては、実装の仕方に依存するので、それに該当しない部分に関しては、ascxファイルを修正したり、ソースの改変が必要な部分も出てきます。
もちろん、DotNetNuke同様、姓名や住所のオーダーについては、ascxファイルを直接編集する必要があります。
また、テーマ(スキニング)に関してはASP.NETのMasterPageを使用しています。フリーのテーマも海外のサイトで公開されていますが、これらのテーマを使用する際、このMasterPageの作り方により、ローカライズが必要な部分がでてきます。
必要に応じてVSやExpressionWebを使ってMasterPageを編集しましょう。
BlogEngine.NET のフリーテーマ