JetpackのMarkdown機能だけを有効にする

JP Markdownのサポート終了に対する対処

Markdownを使おうとする

注意:この記事を書いた後JetpackがVerupされてしまってModule Control for Jetpackが新バージョンに対応しているかは分かりません。

このページの作成をするのに、ビジュアルモードだと思った通りに段落やインデントの処理をかけられず、かといってテキストモードだとHTMLを一生懸命書かなくてはいけないということで、少し困っていた。調べるとWikiの記法のようなMarkdownという形式を使う方法があるとのことで試そうと思った。Wikiには結構親しみがある。

JP Markdownはサポート終了

WordPressにはテキストモードでMarkdown記法が使えるようになるJP Markdownというプラグインがあると知って、入れようと思ったら、サポートが終了していた。このプラグインはWordpress謹製のJetpackというプラグインのMarkdown記法をエディタで有効化するモジュールを切り出した物だったとか。

JetpackプラグインのMarkdown部分だけを使う

ということで、まずJetpackプラグインを入れる。ただ、これは機能が多すぎる。Wordpress.comのアカウントと連携しろとかも言ってくる。そこで、Jetpackの機能を必要なところだけ有効にするプラグイン、Module Control for Jetpackというものを作成している人がいて、それを使ってみる。

使い方

  1. 各プラグインのインストール

JetpackプラグインとModule Control for Jetpackプラグインとをそれぞれインストールし有効化する。

  1. Module Control for Jetpackの設定をする

Module Control for Jetpackを有効化すると、ダッシュボードの設定にJetpackの各モジュールに対する設定画面が追加される。下記の画像のように、Jetpackのバージョンアップ時の設定の自動再設定と、Wordpress.comへの接続を切った上で、不要なモジュールに全てチェックを入れよう。

当然、Markdownのモジュールにはチェックを入れない

  1. Jetpackプラグインから、エディタでのMarkdown使用を有効にする。

Jetpackプラグインの設定画面から、さらに設定画面に入る。ちなみの、上記の作業で、Jetpackプラグインはdev mode(開発者モード)となり、いろいろな機能が無効化されているはずだ。

設定画面の下に、Writing(記事編集)のテキスト画面で、Markdown構文を使うかを指定するスイッチがあるので、これを有効にする。

上記で、投稿作成のtextモードで、Markdown構文を記述すると、その使用に応じてフォーマットされて表示されるはずだ。

細かい、構文については以下の参考URLを見てください。

参考

ファイルのコピー・移動・名前変更

ファイル操作関連のshutils, os, globパッケージ

ファイルのコピー

ファイルのコピーには、shutilsパッケージ、copy()またはcopy2()関数を使う。ファイルのプロパティをできるだけ残してコピーするには、copy2()関数の方が良い。

import shutils
histFolder = "履歴"
fname = "a_file.txt"
shutils.copy2(fname, histFolsder+"\\"+fname)

ファイルの移動

ファイルの移動には、shutilsパッケージ、move()関数を使う。

import shutils
histFolder = "履歴"
fname = "a_file.txt"
shutils.move(fname, histFolsder+"\\"+fname)

ファイル名の変更

ファイル名の変更には、osパッケージ、rename関数を使う。

import os
filename="a.txt"
newFName="b.txt"
os.rename(filename, newFName)

ファイルのリストの取得

ディレクトリ内のファイルのリストを取得するには、globパッケージ、glob()関数をつかう。

import glob
files = glob.glob(baseFolder+"\\*.xls")

結果はパス付のリストで得られるので、操作の時には注意。

日付や曜日の取得(datetime)

datetimeパッケージの利用例

時間や日付に関しての情報を扱うdatetimeパッケージを使って、例えば次の月曜日の日付を得る、という例。

今日の日付を得る

datetime.dateオブジェクトのtoday()関数を使う。

aDate = datetime.date.today()
print(aDate)
>>> 2017-05-28

任意のフォーマットで日付を得たい場合はdate.strftime()関数をつかう。書式の意味は、pythonのドキュメント参照。

print(aDate.strftime("%Y.%m.%d"))
>>> 2017.05.28

曜日の取得

曜日の取得には、date.weekday()関数を使う。月曜日を0、日曜日を6として0から6までの数字で返る。

print(aDate.weekday())
>>> 6 #(日曜日)

日付の演算

3日後の日付を得たいとかの時、例えば月またぎや年またぎになるときに年・月の計算までdatetimeパッケージにやってもらうには、aDate+=3ではだめで、timedeltaオブジェクトという時間の差分情報を扱うオブジェクトを使う。私がやりたかったのは今日を含めて直近の水曜日の日付を得たい事だったので、次の水曜日までの日数を表す配列を作って、日付を求める。

aDate = datetime.date.today()
print(aDate.strftime("%Y.%m.%d"))
>>> 2017.05.28
#今日は何曜日?( 月曜日 = 0, 日曜日 = 6 )
weekday = aDate.weekday()

#次の水曜日までの日数を配列にしておく。先頭が月曜日からの日数を示す。(水曜日まで、あと2日という意味)
arToWednesday=[2,1,0,6,5,4,3]

#今日からの日数は?
shiftNum = arToWednesday[weekday]
#shiftNum日分のdatetime.timedeltaオブジェクトを生成して、今日を示すaDate変数に足し込む
delta = datetime.timedelta(days=shiftNum) #時の差分を示すときはhours=, 週の場合 weeks=で指定。
nextDate = aDate + delta
print(nextDate.strftime("%Y.%m.%d"))
>>> 2017.05.31

ちなみに、特定の曜日までの日数を配列ではなく、アルゴリズムで計算するとすると、以下のような感じ。

shiftNum = 3 - aDate.weekday() 
#3は目標とする曜日で水曜日の意味。
shiftNum = shiftNum+7 if shiftNum < 0 else shiftNum
#引いて負になる場合、次の週になるので、7を足す。

WordPress のカスタマイズ

Twentysixteenでコードを公開するためのカスタマイズにチャレンジする

WordPressは結構あちこちで使われているのでpython のコード類を公開するのも簡単かと思ったのですが、いざ使ってみると全然簡単でなくいろいろ調べないといけなかったし、そもそもWordpressの使い方が今ひとつ分からず苦労したのでそういった部分をのっけています。

子テーマを作る

テーマをカスタマイズするときは、ダッシュボードから直接テーマ(例えばTwentysixteenをいじるのではなく、そのテーマの子テーマを作ってそれをカスタマイズした方が良いようです。

理由は、本体テーマがアップデートされたときに、いじった設定がリセットされてしまうことがあるようです。こちらの記事を参考に子テーマ作成を実施しています。

  1. wp-content/themes/ に子テーマ用の新しいフォルダ(ディレクトリ)を作る
  2. 上記ディレクトリの下に、style.css,functions.php の2つのファイルを置く
  3. WPのダッシュボードからその子テーマを選択する。また、各種設定を行う。

style.cssとfunctions.phpについては上記リンク先を参考に下記の様にまず設定しています。詳しくはリンク先をご覧ください。

この後は、行間などの設定を変えていこうと思いますが随時更新していきます。