-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmemo.txt
More file actions
195 lines (127 loc) · 9.84 KB
/
memo.txt
File metadata and controls
195 lines (127 loc) · 9.84 KB
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
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
# -*- fill-column: 79 -*-
ihep
-------------------------------------------------------------------------------
ToDo
-------------------------------------------------------------------------------
2024-06-21
* search: 検索結果から積極的に metadata を抽出しても良いかもしれない。
* config: ihep init でテンプレートの .ihepconfig を作成する?
* metadata: sqlite3 大量にデータを蓄える様になると結局 sqlite3 に移行したくなる
かもしれない。一方で sqlite3 はロックの取得等で時間がかかるので動作が遅くなる
可能性がある。
* metadata: 取得した論文が本当に自分が探している物かどうか確認する為にはやはり
journal ref も記録するべきなのでは。
* metadata/push: merge する時に情報の取得年月日を元にして merge する? その為に
は metadata の日付も記録する必要がある。
* access_log: これもマージできたら良いのだが (with hostname?)
* store する時にダウンロードした日付に基づいてログに追加する機能。
* 自分で定義したソース & texkey を追加する機能。これも何処かに upload できる様
にしてマシン間で共有できる様にすると良い。
* スライド等も。indico に対する参照を作っても良いのでは。
* 教科書類。
* parse: PhysRevC.43.781.pdf 等の形式の pdf ファイル
2024-06-20
* bibtex: bibtex 情報を取得して .bib ファイルに書き出す機能。
bibtex 情報もその内にキャッシュする様にしたい。これは metadata とは別のファイ
ルに記録すれば良い。改行やスペース等の情報も記録したいので、$'' string の形式
で記録する様にする。
逆に ".bib" ファイルから "目録.md" を作成する機能があっても良いのでは。
* [保留] metadata: 出版される事によって情報が変わる事もある。キャッシュした情報
を更新する機能? 全てを確認しに行くと大変なので、例えば指定した目録の中に含ま
れている物だけとか、@journal が含まれていない物だけとか。
* [保留] 壊れたファイルが fulltext に混入した時に pull/push で持続しない為に、
駄目とマークする機能を実装する? これは必要になったらで良い。
* [保留] sub:store: 重複時の処理
arXiv の v1, v2, etc. の管理。新しい物に置き換える機能。他バージョンも suffix
付きで記録する機能 (push 時の同一性判定はどうする?)。一致するファイルは削除し
て良い (cksum か別の方法で判定する)。
特に異なるバージョンに興味がある事は少ないと思われるのでそういう物は取り敢え
ずは手動で管理するという事で良い。
2024-06-18
* fulltext: remote からリストを取得する機能
* fulltext: remote からダウンロードする機能
* タグ付け・ラベル付けをする機能・[お気に入り]や[重要]や[後で読む]など。
もしこれを references.md ベースで管理するのだとしたら認識している
refereces.md のリストを管理する? (ファイルが移動した場合等はどうするのか? ディ
レクトリの inode を覚えておく?) そして references.md でタグ付・ラベル付を行う?
でもこれだと references.md を登録するのが面倒だし、逆に自動で登録される様にす
ると登録したくない物を扱うのが面倒になる。
うーん。独立に中心プロジェクトで repository を管理して references.md で
mention されたらその時点で登録してしまう? _ihep_config_project_name を設定し
ていたら project:<name> というタグを付加する。refereces.md の中で指定している
タグについては project:<name>/<tag> という具合にすれば良い? もしくはグローバ
ルな <tag> として登録してしまっても良い? 然しこれだとまた削除できないという問
題が生じる気がするが、それはまた <削除 entry> も記録する様にしたら良い気がす
る。
うーん。やっぱり独立に管理する様にすると削除や変更などをどうするかが気になる。
例えば <read-later> を付加してその後でそのタグを削除したいとする。複数のプロ
ジェクトで <read-later> を付加していた時に、一つのプロジェクトだけで削除して
も、後で別のプロジェクトから参照した時に改めてそのタグが復活してしまう。
* メモから .bib を生成する機能
#drop 等を付加して関係なかった論文などを .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 側で処理
する事にした。