-
Notifications
You must be signed in to change notification settings - Fork 0
/
memo.txt
149 lines (95 loc) · 7.03 KB
/
memo.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
# -*- fill-column: 79 -*-
ihep
-------------------------------------------------------------------------------
ToDo
-------------------------------------------------------------------------------
2024-06-21
* search: 検索結果から積極的に metadata を抽出しても良いかもしれない。
* config: ihep init でテンプレートの .ihepconfig を作成する?
2024-06-20
* bibtex: bibtex 情報を取得して .bib ファイルに書き出す機能。
bibtex 情報もその内にキャッシュする様にしたい。これは metadata とは別のファイ
ルに記録すれば良い。改行やスペース等の情報も記録したいので、$'' string の形式
で記録する様にする。
* [保留] metadata: 出版される事によって情報が変わる事もある。キャッシュした情報
を更新する機能? 全てを確認しに行くと大変なので、例えば指定した目録の中に含ま
れている物だけとか、@journal が含まれていない物だけとか。
* [保留] 壊れたファイルが fulltext に混入した時に pull/push で持続しない為に、
駄目とマークする機能を実装する? これは必要になったらで良い。
* [保留] sub:store: 重複時の処理
arXiv の v1, v2, etc. の管理。新しい物に置き換える機能。他バージョンも suffix
付きで記録する機能 (push 時の同一性判定はどうする?)。一致するファイルは削除し
て良い (cksum か別の方法で判定する)。
特に異なるバージョンに興味がある事は少ないと思われるのでそういう物は取り敢え
ずは手動で管理するという事で良い。
2024-06-18
* remote からリストを取得する機能
* remote からダウンロードする機能
* タグ付け・ラベル付けをする機能・[お気に入り]や[重要]や[後で読む]など。
* メモから .bib を生成する機能
* ダウンロード済みファイルの一覧表示。
-------------------------------------------------------------------------------
Done
-------------------------------------------------------------------------------
2024-06-21
* 古い形式の arXiv の番号を持ったファイルが特定できない [#D0012]
inspire は arXiv:番号 だけでは結果を返さない。arXiv:hep-ph/番号 などの様に分
類も示す必要がある。分類は PDF の中を strings で dump して正規表現で一致させ
れば良い? strings で grep して見たら arXiv へのリンクを埋め込んでいる様なので
それに対して一致させれば良い。
* [resolved] 一言メモをつける機能? 或いはメモを作成する機能 [#D0011]
これは _ihep_config_reference_file で設定できる様にした。
* config: .ihepconfig 対応 [#D0010]
references.md はファイル名を .ihepconfig 等で変更できる様にする
→ 取り敢えず _ihep_config_reference_file という変数で指定できる様にした。
2024-06-20
* search: 論文検索機能 [#D0009]
* base: シンボリックリンクから起動してもちゃんと動く様にする [#D0008]
readlink or realpath
うーん。ble.sh --lib に頼りたくなるがまあ今の所は我慢しておく。
或いは ~/.local/share/ihep/helpers に関連するファイルを入れる。
./ihep install でインストールできる様にすると良いのでは? 取り敢えず install
で symlink を作る様にした。
* fulltext: ダウンロードした文書・開いた文書を記録する [#D0007]
ダウンロードした物を自動的に既定のドキュメント (~/ihep.md など) に追記する。
後で自分で編集して移動したりできる様に。日付などと一緒に記録したら良い気がす
る。
うーん。開いた物を全て記録してしまえば良い気がする。
それとは別に現在のプロジェクトで開いた文書を記録する為に references.md が現在
ディレクトリにあったら、其処にも論文への参照を書き込む事にする。
* metadata: メタ情報から markdown を生成する機能 [#D0006]
Abstract も一緒に出す事にする? Abstract は folding する? これは実装したがどの
様なインターフェイスで提示したら良いかはよく分からない。取り敢えず ihep
abstract で出力する様にした。
* fulltext: open でちゃんと正しいコマンドを用いてファイルを開く [#D0005]
* fulltext: remote に push する機能 [#D0004]
これは rsync を使って送信すれば良い。既存のファイルを上書きしない為に
--ignore-existing というオプションを使う事ができる様だ。
* fulltext: 既にダウンロードした雑多のファイルを登録する機能 [#D0003]
実装した。そんなに難しくはない。但し未だテストしていない。
> 既にダウンロードしたファイルを仕分けする機能。
>
> arXiv の v1,v2 などはどの様に処理するべきか。より新しいファイルを選択する?
> もしくは複数を保存できる様にする。複数を保存できる様にするのが安全だろう。
> もちろん、内容が同じという事の確認が取れたら一方は削除して良い。内容が同じ
> ことはどの様にチェックするか? ファイルサイズと cksum の結果を見る?
* metadata: 対応表 (arxiv <=> texkey) をキャッシュする機能 [#D0002]
> タイトルや著者などの情報も記録しておく必要がある。どの様に記録するべきか?
> テキスト形式で管理しようと考えていたが、実はこれらも全て JSON/node で管理し
> てしまった方が良いのだろうか?
論文のタイトル・著者一覧についても取得・記録したい。sqlite3 も考えたが最初は
簡単なテキスト形式で良い。後で移行する必要が出てきてから移行すれば良い。
追加で abstract 等も記録した方が良いだろうか。検索機能などを考えるとあった方
が良い気がするがすぐに実装するかは分からない。abstract を入れるぐらいであれば
bibtex 情報も記録するべきか。
以下を記録する事にする
texkey,inspire,arxiv,url,title,authors,abstract
2024-06-18
* fulltext: 指定した名前から PDF をダウンロードする機能 [#D0001]
試しに inspirehep の検索ページをダウンロードしてみたら難読化した JavaScriptが
あるだけで中身が何もない。chunk.js というのを更に読み込んでいる。或いは何か
api があればいいのにと思って検索したら出てきた。
https://github.com/inspirehep/rest-api-doc?tab=readme-ov-file#inspire-rest-api
結果は結構複雑な json データだ。jq は余り使いたくない。結局以前と同様に node
で JSON を読み出して必要なデータだけ抜き出して、その後にそれを shell 側で処理
する事にした。