Posts Tagged ‘wordpress’
GreasemonkeyからXMLRPCプロトコルでブログに投稿する
XML-RPCを使ってWordpressやMovable Typeなどのブログに投稿するGreasemonkeyの書き方みたいなものです。
XMLRPCに対応したブログにどういうものがあるかは下のサイトによくまとまってます。(ちょっと古いですが)
- BlogWrite – Atom API, XML-RPC
- http://www.witha.jp/BlogWrite/bloglist.html
WordpressでしかテストしてませんがXMLRPCに対応してるブログなら動作すると思います。
今回は投稿機構みたいなものを書いただけなので、このスクリプトだけではあんまり意味はないと思います。
// ==UserScript==
// @name XMLRPC poster
// @namespace http://efcl.info/
// @include http://*
// ==/UserScript==
/* 投稿先のメタ情報 */
var metaBlog = {
"endPoint" : "ブログのエンドポイントURL",
"blogid" : "ブログのログインID",
"username" : "投稿者名", //空だとblogidを使用
"password" : "パスワード"
}
var XMLRPC = (function() { this.initialize.apply(this, arguments); });
XMLRPC.prototype = {
/*
* @arg
{
"endPoint": "endPoint",
"blogid" : "blogid",
"username" : "username",//空だとblogidを使用
"password" : "password"
}
*/
initialize : function(arg) { //引数は{}オブジェクト
this.endPoint = arg.endPoint;
this.blogid = arg.blogid;
this.username = (arg.username) ? arg.username : arg.blogid;
this.password = arg.password;
},
/* *
* @title 記事タイトル
* @desc 記事内容
* @tags タグ(カンマ区切り)
* @callback 更新成功時のコールバック関数
*/
post : function (title, desc, tags, callback){
var postURI = this.endPoint;
this.tags = (tags.length == 0) ? "" : tags.join(",");
var XMLbody = '<?xml version="1.0"?>\n';
XMLbody += this.template(title, desc , this.tags);
console.info(XMLbody);
GM_xmlhttpRequest({
method : "POST",
headers : {
'Content-type' : 'text/xml'
},
url : postURI,
data : this.template(title, desc , tags),
onload : callback,
})
},
template : function (title, desc , tags){
var repuest = <methodCall>
<methodName>metaWeblog.newPost</methodName>
<params>
<param>
<value>
<string>{this.blogid}</string>
</value>
</param>
<param>
<value>
<string>{this.username}</string>
</value>
</param>
<param>
<value>
<string>{this.password}</string>
</value>
</param>
<param>
<value>
<struct>
<member>
<name>title</name>
<value>
<string>{title}</string>
</value>
</member>
<member>
<name>description</name>
<value>
<string>{desc}</string>
</value>
</member>
<member>
<name>mt_keywords</name>
<value>
<string>{tags}</string>
</value>
</member>
<member>
<name>mt_allow_comments</name>
<value>
<boolean>1</boolean>
</value>
</member>
</struct>
</value>
</param>
<param>
<value>
<boolean>1</boolean>
</value>
</param>
</params>
</methodCall>;
return repuest.toString();
}
}
/* init メタ情報を使って投稿先決める*/
var t = new XMLRPC(metaBlog);
t.post(
"title",
"description",
["tag1","tag2"],
function(res){//callback
console.log(res);
}
);
ブログのエンドポイントURLは各ブログによってまちまちですが、Wordpressだとhttp://Wordpressトップ/xmlrpc.php
になります。
E4Xを使ってポストするXMLを作成していますが、先頭に<?xml version=”1.0″?>を入れるとなぜかエラーになったので、後で結合するようにしました。
後、XMLRPCを使ってWordpressにタグを指定できるのかを検索した時、下のようにできないというのが出てきましたが、mt_keywordsにタグを指定できます。
なので下の情報は古いか間違っています。
WordPressでXML-RPCを使った投稿で、記事にタグの指定はできるのでしょうか。できるようでしたらやり方を書いたページを教えてください。.. – 人力検索はてな
Wordpressでは,で区切る事でタグを複数指定できます。
カテゴリーは面倒だったので放置してます(誰か…)
記載したソースは自由に使用してください。
gist: 224968 – GitHub
参考
- 肉少なめ | Item – Greasemonkeyでブログを更新
- http://niku.suku.name/item/591
- MovableType で使える XML-RPC API
- http://www.na.rim.or.jp/~tsupo/program/blogTool/mt_xmlRpc.html#w01
- XML-RPC経由の投稿 でタグを登録したい « Selflow WordPress
- http://www.selflow.com/?p=6
Wordpress 移転と使用プラグインのまとめ
サーバ移転してプラグインやテーマも切り替えたのでメモ。
サーバ移転の参考
- [WP]WordPressのサーバー&ドメイン移転メモ | emuxx blog
- 基本的なやり方が書いてある。
301リダイレクトの方法 - WordPressのサーバー&ドメイン移転 | WordPress | 『Weblogy』
Wordpressで使ってるプラグイン
- WordPressの自動バックアップをGmailで取る | VIVABlog
- Gmailにgzipで圧縮したデータベースをバックアップする。
- WordPress › 404 Notifier « WordPress Plugins
- 404が発生したページをRSSまたはメールで知らせてくれる。
移転したときなどの調査が楽になる。 - 関連エントリーの自動作成プラグイン『YARPP』 | WordPress | 『Weblogy』
- 記事の本文等を解析して、自動的に関連記事をグルーピングするプラグイン。日本語に対応してる。
閾値は3にして使用してる。
関連記事リストを作成するプラグインのまとめなども書いてあるので読んでおくべき。 - Yuriko.Net » WP-PageNavi を使わずにナビゲーション表示
- どちらにしてもテーマをいじらないといけないのでこっちの方が楽だった。
- Maintenance Mode Plugin — Software Guide
- 管理者だけにページを表示するメンテナンスモードをつける。
日本語化ファイル - guff : Post Updated
- 投稿の更新日時を表示するプラグイン。
自分的には必須な気がする。デフォルトで用意されてそうな気もするけど。 - WordPress › PS Disable Auto Formatting « WordPress Plugins
- 自動整形を停止するプラグイン。
記事やコメントなど適応する範囲を指定できる。
過去の記事への適応も考慮されている。
自動整形は記事中にソースコードを書いたりする時邪魔になったり、floatをclearするタグが消えたりしてたから入れてた。
多分これを入れるとScribeFireとかからの投稿でおかしくなるかも。 - 自動整形機能のイライラを軽減するGoogle Syntax Highlighterプラグイン | とりさんのソフト屋さん
- ソースコードをpreタグに入れてビジュアルとHTMLモードを往復を可能にする。
これがあれば自動整形があってもソースが書ける。 - [WP:Plugin] 被ブックマーク数表示+ランキング生成プラグイン | AOINA.COM
- 国内のSBMに対応してる&記事の被ブックマーク数をカスタムフィールドに保存できる。
人気記事をランキングできるので重宝してる。wp-sbm_popular_entry - 記事下に注釈を表示するプラグイン「WP-Footnotes」 » FORGET
- 特定のフォーマットで書くことではてなダイアリーみたいな注釈表記ができる。
((の前に半角スペースが必要 - ページトラックバックプラグイン | ABCP-weblog
- ページにトラックバックを送信する機能をつける.
何でデフォルトでないのかが不思議。 ((WordPress2.8以上で動作)) - WordPress › Enhanced Recent Posts « WordPress Plugins
- 新着記事ウィジェットの上位互換です。
更新された記事や含むカテゴリーなども設定できる。 - WordPress Plugins/JSeries » Feed Control 日本語版
- RSSに更新された記事を含められる。
ただしATOMは対応してない。対応してるプラグインあったら教えて欲しいです。
SyntaxHighlighter Plusから別のソースコードハイライトプラグインへ乗り換える
SyntaxHighlighter Plusは便利なのですが、ビジュアルエディタとの行き来で壊れるので、とても不便です。
そこで別のソースコードハイライトプラグインを探したところいい感じのものがあったので、乗り換える事にしました。
- Google Syntax Highlighter for WordPress HF Edition
- http://soft.fpso.jp/develop/wordpress/plugin/entry_1219.html
HTMLモードとビジュアルモードを行き来しても大丈夫なように作成されているので、とても便利です。
(エディタのHTMLモードでソースコードを記述したら一旦保存してください。保存する前にビジュアルモードにするとソースコードが崩れます。
しかし両方のプラグインを入れておくのは無駄なので、SyntaxHighlighter Plusを外せるように過去記事の書き換えが必要です。
SyntaxHighlighter Plusは
[sourcecode language='javascript'] [/sourcecode] または [javascript] [/javascript]
の形を直接埋め込んでいるので、Search Regex Pluginを使って手動で書き換えていきます。
HF Editionは以下のような書式なので、[sourcecode language='javascript'] → <pre class=”brush:javascript;”>のように置換していく。
<pre class="brush:html;"> 言語名は小文字 ソースコード </pre>
これで乗り換えは完了します。
次に、HF Editionの書式は少し冗長なので、簡単に入力できるように定型文プラグインを導入します。
AddQuicktagはHTMエディタのところに定型文を挿入できるボタンを簡単に追加できます。
- AddQuicktag
- http://wordpress.org/extend/plugins/addquicktag/
設定メニューからHF Editionの書式で書く言語別に作っておくと便利です。
- Google Syntax Highlighter for WordPress HF Edition
- http://soft.fpso.jp/develop/wordpress/plugin/entry_1219.html
- Search Regex Plugin
- http://urbangiraffe.com/plugins/search-regex/
- AddQuicktag
- http://wordpress.org/extend/plugins/addquicktag/
そのページについて言及しているtwitterの発言を表示するJavascript
Twitterは日本でも一部では人気のあるウェブサービスですが、発言の中ではURLを貼ってサイトについて言及している発言も多く見かけます。
そのような発言を言及されたページから見られると便利だと思いませんか?
最近類似するものが多くなってきたのでまとめてみた。
- twitterer anywhere
- http://twitterer.moongift.jp/
MOONGIFT製のもので、検索結果をキャッシュして置いたものを使用しているので負荷が少なくて済む。
また通常のURLから検索を行ってもTinyURL化したものを披露ので効率がよい。
Javascriptを埋め込んで使うが、JSONPを直接取得する形でも利用してよいとのこと。
これを利用したGreasemonkeyとして
twitteranywhereview.user.jsがある
- Tweetbacks for WordPress
- http://yoast.com/tweetbacks-wordpress/
Wordpressのプラグイン。
こちらもデータをキャッシュした結果を使用している。
- TweetBacks Beta
- http://danzarrella.com/tweetbacks-beta.html
javascript埋め込み型。
毎回検索を行う。
- Tweet Me!
- http://code.google.com/p/tweetme/
こちらもTweetBacks Betaと同様に埋め込み型で毎回検索を行う。
表示をカスタマイズできる
- tweet_me_style = falseを設定するとCSSでスタイルの指定が可能になる
- tweet_me_limit = 表示件数
- tweet_me_url = 表示するURL 未指定の場合、このページ
使い勝手や日本製ということを含めるとtwitterer anywhereが一番使い勝手がよいものになる。
WordPress 2.6 でタグ名が表示されない(2バイト文字)
WordPress 2.6ではタグページの表示にバグがあるみたいで、タグに日本語などの2バイト文字がある場合
タグが表示されないようです。
(<?php single_tag_title(); ?>の返り値がNULLになる)
WP2.6.1では改善されるようなので、運営に致命的な影響を与えるわけではないのでバージョンアップ待ちで大丈夫かと。
今すぐに直したい方はwp-includes/taxonomy.phpをhttp://trac.wordpress.org/export/8364/branches/2.6/wp-includes/taxonomy.phpに置き換えることで直ると思います。
Wordpressはセキュリティ面からも狙われやすいことも多いので、バージョンアップはできるだけ早く行うといいです。
Wordpress2.5.1に更新+プラグインも更新
Wordpressのバージョンを2.5.1に更新しました。
特にテーマがおかしくなったりはしませんでしたが、WP Trackback for Pagesが動かなくなりました。
以外にも他のプラグインはそのままでも動いたので楽で良かった。
ついでに少しプラグインを追加して、更新したページも新着に表示するようにしてみました。
Feed Control(古いのにまだ動くとは)+mcRSSlistという組み合わせで表示しています。
もっと簡単にできる方法があったらいいな。
うちのサイトのRSSを取りたい場合はRSS2.0(右上にあるEntries RSS)から取ることをオススメしときます。
atomの方は更新した情報(新着だけ)を含まないみたいなので。
2.5にバージョンをあげてみた感想ですが、管理画面が少し縦長になった感じがするのと、ダッシュボードの情報がいろいろと増えたりしてました。
メディアライブラリーとかいう画像の管理画面が増えたりしてますが、特に理由がなければまだ2.3でも大丈夫な気がします。
ニコニコ動画用のGreasemonkeyスクリプトのまとめ更新
Web scratch » ニコニコ動画用Greasemonkeyスクリプトのまとめ
を更新した。
まとめ系の投稿はWordpressのページという機能(通常の投稿とは別に分けられてる) で作成している訳なんだけど、ページで作成したものはRSSに反映しないし、RSS周りの機能を強化するプラグインを探さなきゃ使いづらい。
こういう更新しました的なものはいちいち書きたくないのでこれで最後に練ればいいけど。
一つプラグインを見つけたけどRSS2.0にしか反映してないので他を探すか、改造するか…
(うちはAtomの方のRSSを取ってる人の方が多いので。)

