Skip to content

Commit

Permalink
README.mdの追記
Browse files Browse the repository at this point in the history
  • Loading branch information
m0370 committed Dec 29, 2021
1 parent fdc45f8 commit 6878389
Showing 1 changed file with 21 additions and 18 deletions.
39 changes: 21 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,21 +2,20 @@

[Pukiwikiを無理やりMarkdown記法に変えてみた - Qiita](https://qiita.com/devneko/items/fafac4ade37c9cb3d2f4)

とりあえず実現した PukiwikiがMarkdownで書けたらいいなと思ったPukiwikiユーザーさんはたくさんいらっしゃると思います。 いないですかね…… 僕はそういったものがどうしても欲しくて、PukiwikiライクでM...

https://qiita.com/devneko/items/fafac4ade37c9cb3d2f4

### イヤでもデファクトスタンダードになっているMarkdown[ ](https://oncologynote.com/?2a74686299#me2031b1)
### イヤでもデファクトスタンダードになっているMarkdown

もともと文法のわかりやすさや機能性はpukiwiki記法のほうがMarkdownより優れていると思います。リンクも分かりやすいし、文字色などのスタイリングもpukiwiki記法の方が柔軟です。しかし、世の中はますまずMarkdown記法が使える局面が増えてきています。

Windows/Macを問わずMarkdownを書くためのアプリは増えていますし、iPadなどで文書を書く人にもMarkdown記法は使いやすい書式になっています。もはやMicrosoft OfficeのWordで書かれる文書よりもMarkdownのほうが多いのではないでしょうか。そういう時代ですから、pukiwikiもMarkdownで書ければ良いのになと思っていたのでした。
Windows/Macを問わずMarkdownを書くためのアプリは増えていますし、iPadなどで文書を書く人にもMarkdown記法は使いやすい書式になっています。もはやMicrosoft OfficeのWordで書かれる文書よりもMarkdownのほうが多いのではないでしょうか。そういう時代ですから、pukiwikiもMarkdownで書ければ良いのになと思っていたのでした。何よりも、MarkdownはTyporaにせよiA writerにせよ自分の使い慣れたライティングソフトで書きやすいのが良い。

### pukiwiki-mdをまねてPukiwiki 1.5.3をpukiwiki153-md化する

### pukiwiki-mdをまねてPukiwiki 1.5.3をpukiwiki153-md化する[ ](https://oncologynote.com/?2a74686299#v90e5d90)
そこで、[pukiwiki 1.5.0で止まっていたpukiwiki-md](https://github.com/dotneet/pukiwiki-md)を無理やりMarkdown化をpukiwiki 1.5.3に応用してみることにしました。色々と試行錯誤していますが、まだ十分には動作検証はできていません。それでも、なんとかpukiwiki 1.5.3のMarkdown版として動くところまでは来ました。PHP 7.4で動作しています(1.5.3なのでPHP 8では動きません)。

そこで、pukiwiki 1.5.0で止まっていた無理やりMarkdown化をpukiwiki 1.5.3に応用してみることにしました。色々と試行錯誤していますが、まだ十分には動作検証はできていません。それでも、なんとかpukiwiki 1.5.3のMarkdown版として動くところまでは来ました。PHP 7.4で動作検証済みです。
> とりあえずテスト環境では動作していますが、現在動作確認中です。ご使用は自己責任で。
> https://github.com/m0370/pukiwiki153_md
### サンプル[ ](https://oncologynote.com/?2a74686299#bf6a73a7)
### サンプル

```
#hoge
Expand All @@ -40,11 +39,11 @@ Markdown parserは何を使っても良いが、今回は erusev/parsedown を

https://github.com/erusev/parsedown/wiki/

### index.phpでMarkdown parserを読み込む設定をする[ ](https://oncologynote.com/?2a74686299#d6635a72)
### index.phpでMarkdown parserを読み込む設定をする

index.php に <?php require('vendor/autoload.php'); ?>を加えておく必要がある。

### lib/convert_html.php[ ](https://oncologynote.com/?2a74686299#d66d18c1)
### lib/convert_html.php

22-25行目をコメントアウトして書き換える

Expand Down Expand Up @@ -89,18 +88,20 @@ $result = $parsedown ->setBreaksEnabled(true) ->text($text); // ->setBreaksEnabl
return $result;
```

通常のMarkdownではなくMarkdownExtraにしたい場合は $parsedown = new \Parsedown(); の代わりに $parsedown = new \ParsedownExtra(); としてください。その場合はvendor/erusev/parsedownフォルダに[ParsedownExtra.php](https://github.com/erusev/parsedown-extra)のファイルも入れておく必要があります。

また、今後Pukiwiki 1.5.4が正式リリースされると思いますので、PHP 8.0の対応を見据えて下記のように書き換えておきます。

- canContain(&$obj) を全て canContain($obj) とする。約10箇所。
- canContain(& $obj) を全て canContain($obj) とする。約10箇所。
- {0}は全て[0]にする。3箇所。
- 181,187,915行目の#を!へ変更する(※915行目の'!' => 'Div');は変えずに'#' => 'Div');のままでもよいかもしれない)
- 181,187,915行目の#は!へ変更しなくてよいみたい。

### lib/file.php[ ](https://oncologynote.com/?2a74686299#y8a442fd)
### lib/file.php

- \#freezeの2箇所を!freezeにする
- 257,258,279,280,545,610行目の#を!へ変更する(169,191行目は変えなくてもよいかもしれない。pukiwiki1.5.0.-mdでも変えずに動作しているよう)
- 257,258,279,280,545,610行目の#も!へ変更しなくてよいみたい(pukiwiki1.5.0.-mdでも変えずに動作しているよう)

### lib/make_link.phpの修正[ ](https://oncologynote.com/?2a74686299#jac9d27b)
### lib/make_link.phpの修正

123行目付近の下記の行をコメントアウトして書き換えます。

Expand Down Expand Up @@ -133,14 +134,16 @@ if ($converters === NULL) {
}
```

### #authorの修正[ ](https://oncologynote.com/?2a74686299#u931b205)
上記のautolinkやautoaliasの行をコメントを外すようにすればautolinkが効くようにできますが、Markdown parserと何らかのコンフリクトが生じるかも知れません。

### #authorの修正

下記のファイルで #author となっている部分を全て !author にする必要がある。

- lib/backup.php
- lib/file.php

### 現状の問題点[ ](https://oncologynote.com/?2a74686299#b44e6b32)
### 現状の問題点

- MULTILINEプラグインが正しく引数を読み込めない
- おそらくlib/convert_html.phpに書き加えた31行目付近の if ( preg_match('/^\\!([a-zA-Z0-9_]+)(\\(([^\\)\\n]*)?\\))?/', $line, $matches) ) という部分の正規表現に問題があるが、どのように修正すれば良いのか未解決。
Expand Down

0 comments on commit 6878389

Please sign in to comment.