Skip to content
「はてダラスプリッタ」を「はてなブログライター」向けに書き換えたもの
Perl
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
hbw_uniter.pl
hbws.pl

README.md

HatenaBlogWriterSplitter(v0.1.0)

概要

これは「はてダラスプリッタ」を「はてなブログライター」で使えるようにforkしたものです。

リンク

必要なもの

  • Perl

使い方

diary.txtに、はてなブログにアップロードしたい内容を書きます。diary.txtは文字コードをUTF-8にして保存してください。

diary.txthbws.plを同じディレクトリに置き、perl hbws.plを実行すると、はてなブログライター向けの日付+連番に分割されたテキストファイルが出力されます。hbws.plの実行によってdiary.txtの内容が変化することはありません。

diary.txtの書式

diary.txtはたとえば以下のように書いてください。

2019-01-01_01:1つめのタイトル
date: 2019-01-01 12:00:00 +0900
category: test
draft: no
本文

2019-01-01_02:2つめのタイトル
date: 2019-01-01 12:00:00 +0900
category: test
draft: no
本文

2019-01-02_01:3つめのタイトル
date: 2019-01-02 12:00:00 +0900
category: test
draft: no
本文

上のようなdiary.txtを用意してhbws.plを実行すると、2019-01-01_01.txt2019-01-01_02.txt2019-01-02_01.txtが作られます。内容の例として、2019-01-01_01.txtは以下のようになります。

title: 1つめのタイトル
date: 2019-01-01 12:00:00 +0900
category: test
draft: no
本文

仕様や制限について

diary.txt内の「日付_連番:タイトル」という行から次の「日付_連番:タイトル」までが、はてなブログの1エントリファイルになります。

「日付_連番:タイトル」に書かれた日付とdate:に書かれた日付が異なる場合、エントリの日付やURL、エントリの投稿日時(エントリ末尾の「×日前」などの算出に使われる)はdate:の日時が使われます(これははてなブログライターの仕様に従います。左の説明はv0.8.1の仕様に基づきます)。日付_連番date:は同じにしておくのが好ましいと思いますが、過去のエントリ(date:)をいつ書いたか(日付_連番)を記録しておくといった使い方もあります。

diary.txt内に「日付_連番」が同じものがあった場合、ERROR: Duplicate yyyy-mm-dd_nn. (エントリのタイトル)というメッセージが出ますが、Windowsのコマンドプロンプトではエントリのタイトル内の日本語が文字化けします。これはエントリのタイトルの文字コードがUTF-8であるのに対し、コマンドプロンプトの文字コードがShift_JIS(のcp932)であるためです。

「はてなダイアリーライター」における、エントリのタイトルにdeleteを書いてエントリを削除する仕様は実装されておらず、「detete」というタイトルのエントリが投稿されます。エントリを削除したい場合は、draft: noの下あたりにdelete: yesと書いてhbws.plを実行した上で、はてなブログライターを実行してください。(delete: yesと書いてエントリを削除するのははてなブログライターの機能です。この機能について詳しくは https://github.com/rnanba/HatenaBlogWriter/blob/master/README.md#%E5%89%8A%E9%99%A4 を参照してください)

今までにはてなブログライターで登録したエントリをdiary.txtに追加する方法

  1. はてなブログライターのあるディレクトリでhbw_uniter.plを実行する
    • ディレクトリ内の「yyyy-mm-dd_nn.txt」というすべてのテキストファイルの冒頭に日付が挿入された上ですべて連結されunited.txtに出力される。ディレクトリ内にすでにunited.txtがあった場合、それはunited_bak.txtにリネームされる
  2. diary.txtを別の名前に変更しunited.txtdiary.txtにリネームする

履歴

  • 2019-01-28(v0.1.2): add_blog_header.plに代わってhbw_uniter.plを提供開始
  • 2019-01-05(v0.1.1): add_blog_header.plを提供開始
  • 2019-01-03(v0.1.0): 公開
You can’t perform that action at this time.