niszetの日記

細かい情報を載せていくブログ

Pandoc

(Pandoc) docx出力のテンプレートにある透かしはそのまま出力される(メモ)

一応確認できたのでメモだけ。 Wordファイル形式で出力する必要がある場合、テンプレートが準備されていることが多いのではと思います。 その際、透かしが入っているものが使えるのか?を今まで調べていなかったのですが、ちゃんと使えることを確認できたの…

(Pandoc) 次のバージョンは2.8になりそう(メモ)

手元ビルドして気づいた。 Pandocはたまにマイルストーンが示されているのですが、そこを見るとバージョン番号が2.8に変わっています。 github.com 今回、かなり大きく変更が入っているので、納得感ありますが。残件10個。まだまだかかりそうですが… 何かし…

(Pandoc) Luaフィルタを書くときはコンストラクタの定義順に気を付ける(メモ)

Luaフィルタのマニュアルではわかりづらいのですが… 前回の記事でLuaのフィルタを書いていて実際に自分がハマったのでメモ。 Luaフィルタのマニュアルには各要素(BlockとかInlineとかのアレ。適切な訳語わからず)について、「Lua type reference」と「Modu…

(Pandoc) CodeをSpanに置き換えてスタイルをあてるLua filter

ただし、custom-styleがない場合はそのまま出力する。 Codeに対してもattributeをあてられるので、idとかclassとかattributesをつけられるので、こんな感じで、標準入力からpandocに送ってみる。今回使うのはcustom-styleのみだけども、idとかで処理を追加す…

(Pandoc) Jira Writerを読む(自分用メモ)

これが一番シンプルなのでは?と思ったので。 docxは仕様が複雑なので、もっと簡単なファイルフォーマットでReader/Writerを学ぼうと思ったところ、最近追加されたJiraのWriterがわかりやすそうだったのでこれにした。Readerはまだない。 たぶん、ほかのtext…

(メモ)Pandocは\rを除外しているのではないの…?

よくわからない。 このcrFilterによって\rを除外しているぽい説明があるんだけども、一方で\rは他のコード中に結構出てくるので、どういうことなのか掴めていない。という自分用のIssueを立てておくことにした。 http://hackage.haskell.org/package/pandoc-…

(Pandoc)画像のファイルパスを絶対パスにする(仮)

Pandoc 2.7.4になったらもう少し色々出来る…。 Rのslackで書いたやつです。単純に相対パスで書かれたものを絶対パスに書き直すだけであれば、下記のようなLua filterでいけます。ただし、windows環境だとC:\は/はじまりじゃないので/がついてしまいますね。p…

RStudio同梱のPandocでタスクリストが出来ない件

復活させてもらおうかしらん? Pandocはバージョン2.6からtask_listsオプションが使えます。 pandoc.org それ以前はnozmaさんの記事のようにLua filterを使用して対応していました。 qiita.com なのですが、本家で対応できたからいいよねということで?Lua f…

Pandoc Night 2019に行ってきました(今更感想編)

懐かしい…。 5/20に都内某所で行われたPandoc Night 2019でLTしてきました。 connpassはこちら。 pandoc-jp.connpass.com 私の資料はこちらにあります。 niszet.github.io また、私の資料も含めて当日のLT資料はこちらですべてリンクされています。 pandoc-j…

(Pandoc) pandoc.systemはPandoc 2.7.3に入っていないのでは…(メモ)

以前のはソースからビルドしたからいた この記事で pandoc.systemに言及しているのですが、 niszet.hatenablog.com Pandoc2.7.3のバイナリにはpandoc.systemは含まれていないようです。Pandoc 2.7.4で入ると思うので待ちましょう。 このモジュールが入ればos…

(Pandoc) 色々な脚注をいれられるようにする動き(Issue)

enhancement系のIssueは見ていると面白いが、動きがないものが多い Bug fixは結構動き早いですね。そらそうか。 で、コレ。 github.com 最近急に動きが復活してきたのだが、Lua filterで順番に処理できるのか?という問題で多分できない、という話。 脚注がf…

Pandoc 2.7.4の気配を感じとろう

マイルストーンを見ていると、進捗が可視化されますね。 前も書いたかもしれないですが、こんなところにマイルストーンが。 github.com 今日の時点で8個close、4個openで、そろそろ2.7.4かなぁ? …と思ったんですが、このマイルストーン機能、別に普段から使…

(Pandoc) MetaBlockの不思議な挙動。

このIssueはPandocの理解度upに参考になる…かも。 このIssue、現時点でopenなのですが、初見だとなかなか面白い挙動なので見ておくと良いです。 github.com これを、以下のようにplain2をつくって渡してあげるとmb1とmb2は同じになります。1度でも参照して…

(Pandoc) pandoc.mediabagのdelete, empty, itemsは2.7.4から(?)

マニュアルが先行しすぎているシリーズ。 最新のソースをビルドすれば使用可能であるが、Pandoc 2.7.3の公式バイナリではLuaフィルタ内で使用するpandoc.mediabagモジュール内のdelete, empty, itemsの各関数は使用できませんでした。使い方自体はマニュアル…

(Pandoc) -sをつけると-t nativeでもMeta情報が出力される

基本かもしれないが…。 このIssueを見ていて気付いた。 github.com これでMeta関係の調査がはかどります(大体終わってしまったけど) 2019/10/22 追記 具体例がなかったので。 たとえば、以下のように入力する 1。 echo A | pandoc -fmarkdown -tnative -s …

(Pandoc) MetaStringは使用しないかも(メモ)

メタ情報関係を調べている…。 MetaStringはLua filterのマニュアルに載っているが、どうやればこれを生成できるのかが不明である(他のMeta***は生成できた) pandoc.org Issueを漁ってみると、 github.com が見つかった。過去にはMetaString型で保持してい…

(Pandoc) Hierarchical Elementは直接観測できなさそう(メモ)

イマイチ使い方がわからなかったので放置していたが… この辺りの話。 pandoc.org pandoc.Secでアクセスしようとするとnilで怒られるので、うーん、困ったな、と。 Issueはこの辺りが関係してそうだったが、読んでも良くわからず。native形式で吐いてもSecと…

(Pandoc) east_asian_line_breaksの実装を読む

Haskell自体を理解していく…。 当たり前かもですが、Pandocの各オプションに対して対応する関数が存在します。そのため、各オプションに対応する関数を少しずつ読むことでHaskellとかPandocの理解が深まるのでは?ということでやっていく。今回はeast_asian_…

(Pandoc) pandoc.utils.normalize_date あるいはparseTimeMの話

Luaモジュールと見せかけてほとんどHaskell pandoc.utils.normalize_dateという関数がある。これは日付っぽい文字列を受け取って、日付の形に返してくれる。 こいつの仕様がよくわからなかったので調べた。関数自体はLua filterのページのここに書いてある。…

(Pandoc) pandoc.types は Pandoc2.7.4から

マニュアルの方が先行している PandocのLua filterのページにはpandoc.typesモジュールを使ってPandocのVersionオブジェクト ^[厳密にはオブジェクトではないかも] を扱えるといった記述がありますが、実際はバイナリで配布されているPandoc2.7.3ではこれは…

(Pandoc) 手元でビルドしたPandocがある場合はRStudio IDEはそちらを見に行く(っぽい)

さっき気づいた Windows上でPandocをソースからビルドすることが出来ますが、そのインストール先は下記になります。 C:\Users\niszet\AppData\Roaming\local\bin RStudioから呼び出すPandocのパスはrmarkdownパッケージの関数を使用して確認できます。通常は…

(Pandoc) 句読点を修正するためのLua filter

とてもシンプル 文中のCodeやCodeBlockは対象外にすると決めてしまえば、以下のシンプルなコードで対応できます。 function Str(e) text = e.text text = string.gsub(text, '.', '。') text = string.gsub(text, ',', '、') return(pandoc.Str(text)) end…

docxのstyle id とstyle nameの問題

ようやく問題が何かがわかってきました… 半年くらい前からK4氏が見つけたこのIssueが解決しておらず、 github.com 春の技術書典で話聞いたときはふ~んって思ってましたが、掘り下げてみるとこれは結構厄介な問題でした。ので、とりあえず議論に参加してみた…

pandoc-discussでPandocのLua filterの質問に回答した

Pandocにも質問用のメーリングリストがある ここね。 groups.google.com PandocのGitHubのIssueはBug reportやFeature requestをする場であって、個別の、書き方がわからない系の質問をする場所ではないので、困ったら↑のメーリングリストに書いてみましょう…

PandocのIssueとPR投げてマージされたはなし

記念?に…。 大した話ではないのですが、先日PandocにPull Request送って無事にマージされたので記念の日記。 PRはこれ。 github.com PandocはLuaのフィルタが使えますが、このLuaまわりはほとんど一人でメンテしているようで(大体の機能が実はそうなのかも…

PandocのLuaフィルタ内で使用可能なLuaのライブラリとか(メモ)

自分向けメモ ひとまず適当なLuaフィルタを書く。下記みたいに。1回回ればよいのでDocでいいんじゃないかな。 function Doc(e) for k,v in pairs(pandoc.pandoc) do print(k) end end これを任意のファイルを入力に、出力を任意の形式にして--lua-filterで先…

Pandocを手元でビルドする(メモ)

速攻で忘れていくのでメモ。 さて、Windows環境でもPandocは問題なくビルドできます。自分だけのPandocを作って快適なPandocライフを!とかできるわけです(ちゃんとIssueとPRを出せ) 取り急ぎメモ。 下記Haskell Platformをダウンロードしてインストールす…

Pandoc 2.7.3がリリースされました

待ってたよ リリースのページで更新内容が見れます。 pandoc.org 無限に対応するフォーマットが増えていくPandocですが、今回はjiraが対応したようです。 # 抜粋 Add jira (Atlassian’s Jira wiki markup) as output format 下記の修正は影響がありそうです…

highlightはAST化したあとに処理されている…?

filterでASTを変えてしまうと反応しなくなる… 本当はWriterとか見ないといけないんですが、たとえば "C:/Program Files/RStudio/bin/pandoc/pandoc" code2.md -t native -f markdown --highlight-style tango と "C:/Program Files/RStudio/bin/pandoc/pando…

PandocでDivにCustom Styleをあてたときのnative形式の出力

とりあえず困ったらnative形式で見てみるべし。 さて、最近Luaフィルタをいじっていますが、やりたいことは特定条件下でいい感じのスタイルを適当に当ててくれるフィルタを作ることです。具体的にはCodeがfootnoteやHeadingsに入った場合に専用のスタイルを…