-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
パッケージ内のコンテンツファイルの指定 #2
Comments
基本的には「青空形式のテキストが複数ある場合」というのは想定しないで良いはずです。同じ作品が複数登録されている例もありますが、それらには別の作品IDが振られています。 あと、青空文庫形式のテキストを含まないパターン、というのは、主に著作権が存続しているものについて多数存在しているようです。この場合はリンクになっていて、ファイルそのものを青空文庫は管理しないようになっているようです。 |
@takahashim コメント有難うございます。わかり難くて申し訳なかったのですが、制作の途中や校正が完了した段階では複数のファイルに分かれている可能性もあるかと思いました。作業を楽にするためにチャプターごとに分けていたりとか。それをサブミッションしてひとつのファイルにconcatしてリリースできる形にするのが pubserverの一つの役割と考えています。 |
手元で、自動的にconcatさせるなら、ひとまずは1ファイルの想定でも大丈夫でしょうか? たとえば、次みたいなファイル構成で、main.txt に結合されるなら、これだけ見ておけば良さそう。
思いつきですが、こんなのがaozora.jsonに書けるとか... "script": {
"prepublish": "cat srt/*.txt >> main.txt"
} |
やはり、次はScriptの拡張に行きますよね ;-) そこも議論のポイントかと思いますが、prepublishはクライアント側で実行のイメージですかね。それともサーバ側にアップロードした後に実行ですか? 前者だとクライアント側にある程度のツールがある前提を置く必要がありそうです。 上記の例だと
というパッケージをuploadし、scriptをサーバ側で実行してmain.txtをつくる感じですかね。 とすると、こんな指定も欲しくなるかも。
scriptは書けると強力なのですが、セキュリティを考えるとちょっと日和る部分もあります。やるのがconcatくらいだったら、arrayでファイルを指定しておいてそれらをその順にconcatするくらいでも良いのかなと思った次第で。 |
でした。中央の仕様をなるべく軽くしたい気はするんですよね〜。catコマンドって、Windowsだとないんでしたっけ... (汗) |
scriptで、各種校正ツールを走らせるのも手です。lint的に。 |
そうですね。そこはクライアント側ツールの機能との兼ね合いにもなると思います。個人的には、 そしてサーバー側にできるだけ負荷をかけない様にしたいとは思いますが、クライアントが複数できることを考えるとある程度、サーバに寄せておいた方が良いかも知れません。GUIなツールや、各種エディタに組み込んだ形の実装になりますよね。 ま、その場合もaopmを外部コマンドとして呼び出すのであればそこに機能集約するというのはありますが。 あと、受け付けたデータの整合性確認はいずれにしてもサーバ側で必要かと思ってます。 |
"Do one thing and do it well"で行きたい派です w "scripts": {
"verify": "aozora-lint ./"
} するとかのイメージです。 |
ちょっと出遅れましたが、青空文庫のテキスト版はヘッダ・フッタとかが存在する程度には構造化されているので、青空文庫のテキストの断片(フラグメント)とテキスト全体のvalidateする仕組みは異なりそうです。まあ、基本はconcatしてからのvalidationになりそうですが、その場合には元のファイル名と行番号をエラー情報として出力したくなるのは考慮したいところかもです(単純なcatでは問題がありそう)。 また、aozora.jsonに何を求めるかによりますが、「手続き・処理」等の動的な側面を指定するフォーマットと、構造やメタデータ等の静的な側面を指定するフォーマットはだいぶ異なりそうなので、混ぜるな危険な感じはしました(が、例えば工作院での処理に使うJSONとwww.aozora.gr.jp的なサイトでメタデータ配信用のJSONを全く別個に作るのはナンセンスですし、いろいろ混ぜたい要望は避けられないんですよね…)。 |
おお、ソースマップ作りますか...? その辺門外漢ですが、楽しそうではありますね。 |
賛成です! |
aozora.jsonでパッケージ内にあるファイルを指定する方法を決めたいです。package.jsonの
files
フィールドに相当するものと考えればよいでしょうか。おそらく取り扱わなければならないバリエーションとして、例えば以下があると考えています。
これを例えば
とするのか、あるいは typeは中身から容易に推測できるので不要とか。Typeがあると逆にチェックが必要になり、中身と指定が整合していなかった時にどうするのか決めなければならず、難しいかも知れません。
いかがでしょう?
The text was updated successfully, but these errors were encountered: