DokuWiki

It's better when it's simple

ユーザ用ツール

サイト用ツール


サイドバー

この翻訳は元のページよりも更新日が古く、内容が古い可能性があります。 変更点を参照して下さい。
このページの翻訳?:

DokuWiki について知る

開発

法人利用

我々のコミュニティ


FacebookTwitterや他のソーシャル・ネットワークからフォローしてください。

ja:tips:blogging

DokuWikiでBlogを書くには

DokuWikiでBlogを書くには、基本的に二種類の方法があります。

  1. 適切な機能で DokuWiki を拡張する一連のプラグインを組合せて、完全なブログにする。下の手順を参照して下さい。
  2. BlogTNG プラグインをインストールする。

The features completeness of both approaches differ.

二つのプラグインの主な違いは、BlogTNGがブログ情報を格納するために sqlite データベースを使用する必要な機能を全て組み込んだ解決法であることです。 任意のページに対して特定のブログに属するという印が付けられるため、特定の名前空間構造を使用する必要がありません。 しかし、モジュールとして設定可能な普通のページ用のコメント機能やタグ機能が使用できないということです。

The modular setup contains some more features like comment moderation directly on the blog pages or archive pages while blogtng for example limits plugin syntax usage in comments which is in a typical blog setup definitely a useful feature (but that depends of course also on the installed plugins).

:!: このページは、作成途中です! 思うままに追加できます。 納得できるように改善して下さい!

複数のプラグインの組み合わせでブログを設定する

ブログDokuWiki の主な目的ではありませんが、利用可能な膨大な数のプラグインがあり、これらプラグインによって DokuWiki を本格的なブログプラットフォームに調整できます。

このページは、DokuWiki 中でブログを始めるために必要な手順を説明します。 また、便利なヒントや注意すべき問題についてヒントを提供します。

既存の DokuWikiベースのブログを見つけたいときは、Planet DokuWiki へ行くか、このGoogle検索:inurl:doku.php+inurl:blogを試して下さい。

必要なプラグイン

最初に、一連のプラグインをインストールする必要があります。 基本的なブログ構成は、ブログプラグインincludeプラグインページ一覧プラグインで成立し、ブログ一式の最小単位を表示します。

これに加えて、コメントプラグインlinkbackプラグインブログリンクプラグインfeedmodプラグインアバタープラグインタグプラグインを使用して自分のブログ設定を完成します。

設定

ユーザーが一人の場合

この筋書きには、ブログを作成管理するために Blog プラグインを使用したいユーザーが一人しかいません。 ブログプラグインの初期設定で、ブログの全投稿を格納する名前空間を指定できます。 :blog がデフォルトで設定されており、ほとんどのユーザーは OK するでしょう。

ブログを作成するには、ブログの入口として使用する wiki ページを決めて作成する必要があります。 wiki の開始ページをブログしたい場合、これは :start になります。 その後、そのページにblog 構文を追加し保存するだけです

{{blog>?5}}

上記の場合、ブログの最新投稿を5個表示します。 これはユーザーが一人の場合なので、プラグインの構文内に特別な名前空間は不要です。代わりにデフォルトの設定を使用します。 ブログに新規投稿を追加するフォームもここに表示されるはずです。 あなたが最初の投稿を追加する前に設定すべき、 dateprefix 設定という名前の設定オプションがあります。 新規ページ名を作成する時に日付を追加できます。 %Y:%m%d_ がここでの良い設定です。 新規投稿フォームに “my new blog” と入力し Enter キーを押した時に、blog:2008:0512_my_new_blog というページが作成されます。 ブログの名前空間を整理するのに非常に重宝すると思います。

ブログのアクセス権を読み込み可のみとし、投稿を編集するのを防止するため、ACLルールを追加するのは理にかなっています(例は、ブログ一覧として :start ページを使用することが前提です)。

start    @ALL 1
start    yourusername 16
blog:*   @ALL 1
blog:*   yourusername 16

ユーザーが複数の場合

この筋書きでは、複数のユーザーが自分のブログを持つようにします。 そのために、各ユーザー毎に、自分だけがページの作成・編集を許可されたブログの名前空間とブログ一覧ページが必要です。 この例では、joey、walter、susiという名前の三人のユーザーがいます。 各ユーザーには :blog 名前空間の下に独自の名前空間と独自の一覧ページを与えます。 その上で、以下の ACLルール(例は joey のルール)を設定する必要があります:

blog:joey    @ALL 1
blog:joey:*  @ALL 1
blog:joey    joey 16
blog:joey:*  joey 16

注:全ユーザーに個々のブログを許可したい場合、ユーザーワイルドカードが利用できます。

さらに :blog:joey ページを作る必要があり、ブログ設定のために以下のプラグイン構文を書き込む必要があります。

{{blog>blog:joey?5}}

残りの全ユーザーのためにこれを繰返します。 こうして、彼らは新規投稿フォームによって新規投稿を作成しブログを開始することができます。

フィードの設定

RSS フィードはブログの中で最重要事項の1つです。 DokuWiki は全種類のXML フィードを自動的に作成します。 しかしブログのために、特別に調整したフィードを設定できます。

注:新しい DokuWiki は完全なHTMLフィードに対応しているため、ブログフィードを作成するためにフィードプラグインを使用するのは推奨しません(コメントフィード等を作成するためには依然として有効です)。

フィードURLの設定

ブログ記事フィードの構築にはパラメータが必要です。 最も重要なのは、ブログ記事だけにフィードを制限する ns パラメータです。 全ブログ投稿全てが1つのフィード項目に含まれるという結果になってしまうので、フィードのためにブログ一覧ページを使用しないことを忘れないで下さい!

最も基本的な URL 例は次のとおりです:

http://www.example.com/feed.php?ns=blog&num=10

最新のバージョンの記事にリンクしていることも確認してください。 そうなるようにデフォルトオプションとして設定することも feed.php と一緒に設定することもできます:

http://www.example.com/feed.php?ns=blog&num=10&linkto=current

DokuWiki の完全なHTMLフィードもおそらく有効にするでしょう:

http://www.example.com/feed.php?ns=blog&num=10&linkto=current&content=html

.htaccess によるきれいなフィード URL

有効化された .htaccess によって URL 書き換えをしている場合、きれいなフィード URL のために書き換えルールの追加を検討すべきです。 上記のための書き換えルール例は、このようになります(_export/ リンク用ルールの下に追加するだけです):

RewriteRule ^_feed/(.*) feed.php?ns=$1&num=10&linkto=current&content=html [QSA,L]

http://yourdomain.org/_feed/blog でブログフィードにアクセスできます。

自動検出

特定のHTMLメタデータによってブラウザはRSSフィードを見つけます。 デフォルトでは、DokuWikiは標準的なフィード用のメタデータを提供します。 ブログページの場合、そのフィードを無効にして、ブログフィードのみ出力したいかもしれません。 テンプレートmain.php を編集することでこれを実現します。 これは head セクションの例です:

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title><?php tpl_pagetitle()?> [<?php echo strip_tags($conf['title'])?>]</title>
 
  <?php tpl_metaheaders(false)?>
  <link rel="alternate" type="application/rss+xml" title="Blog" href="/feed.php?ns=blog&amp;linkto=page" />
</head>

tpl_metaheaders 関数に与える false パラメータに注意して下さい。 これがデフォルトのRSS自動検出タグを全て抑制します。

使用方法

下書きの利用

DokuWikiには、未完成のブログ記事について二種類の対応方法があります。 例えば、未完成のブログ記事を入れる専用の下書き名前空間を設定し、完成した時にブログ記事を作成し、内容をコピー&ペーストします。 しかし、ブログプラグインも下書きに対応しています。 下書きとしてブログ記事に印を付けるのは、記事内に ~~DRAFT~~ を追加し、保存するだけです。 ページから ~~DRAFT~~ を削除しない限り、ブログ一覧に表示されることはありません。 この機能を使用する場合、ブログフィードからもドラフトを削除するためにfeedmodプラグインをインストールすることを推奨します。 注意:ブログプラグインで下書きとして印をつけたページも、検索結果には表示されます!

コメントの管理

コメントプラグインは、DokuWiki の管理者メニューで利用可能な、コメント欄の開設/閉鎖、コメントの表示/非表示・削除ができる管理画面を提供します。

Linkback の管理

linkbackプラグインは、linkback の削除、個々のページに対する linkback の有効/無効ができる管理画面を提供します。

タグの管理

最新の タグプラグインは、タグのインデックスを再構築するための管理インターフェースを提供します。 tagentryプラグインはタグ制御を維持するための最適な機能を提供します。

カスタマイズ

FIXME

ブログ一覧ページに第一章まで表示する

ブログ一覧ページ上では、長過ぎるため記事全文を表示したくない場合もあります。 指定された行で切断するには、空の H1 ヘッダーを挿入して下さい。 その処理のためには、includeプラグインfirstseconly 設定オプションを有効にする必要があります。

This is going to be a long post

====== ======

Here comes all the long post

フィードの調整

フィード項目の題名として最初の見出しの代わりにページ名が表示される、DokuWikiのデフォルトフィードは、ブログには完全には適していません。 feedmodプラグインを利用して変更できます。 フィード項目の題名としてブログ記事の最初の見出しを設定し、コメントセクションのリンクのフッターを追加し、記事のタグも表示されます。 更に、フッターテンプレートを編集してソーシャルブックマークサービスへのリンクを追加することができます(詳細情報はfeedmodプラグインページを参照して下さい)。

フィードに機能追加する別の簡単な方法は、Feedburnerサービスを使用することです。 このサービスのサイトに登録し、自分のフィード(フィードURLの設定を参照)をサービスのサイトに向け、自動検出タグにFeedburnerフィードを設定します。 サーバー負荷の一部も自分のサイトからFeedburnerサービスに移行されます。

スパムの対処

最近ではコメントスパムは大きな問題です。 幸いにも Dokuwiki には多数の対スパムプラグインが提供されています。 captchaプラグインの機能はコメントプラグインに統合されています。 これをインストール、好みの設定にするだけよいのです。

注意

ファイルシステムの取り扱い

FIXME

ヒント

間違ったタイムスタンプの修正

FIXME

私が遭遇したタイムスタンプの問題:

  • metaプラグインの議論で述べたように、feed.php は ~~META: …~~ 設定を無視します(通常は changelog.php から getRecents() が呼び出されますが、対応していないように見える?)。{{blog>blog?5}}のようなブログ一覧と feed.php?ns=blog&num=5との間で予想外の不一致が生じます。
  • feed.php 一覧だけが新規作成ページ(かつ作成日降順で並べ替え)状態にできない。(getRecents() が新規作成ページ一覧を提供しないのが原因です。) この一覧はchangesプラグインでは可能なことに気付きますが、このコードを feed.php は利用していません。
  • :blog:YYYY-MM:DD-pagetitle のようなページ名を項目が持っている場合、名前によるページのアルファベット順を利用するという代替方法でも問題は解決します。これで、feed.php は、素晴らしいことにブログのパーマリンクと一致します。

Louwrens van Dellen 2010/05/03 23:23

モバイルブログ

mail2pageはメールからページを作成するスクリプトです。 Andi のブログ記事も参照して下さい。

議論

Discussionを参照して下さい。

ja/tips/blogging.txt · 最終更新: 2014-10-10 13:42 by sawachan