Skip to content
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

Typst Universeに向けたディレクトリ構造整理 #6

Open
1 of 2 tasks
kimushun1101 opened this issue Dec 11, 2024 · 5 comments
Open
1 of 2 tasks

Typst Universeに向けたディレクトリ構造整理 #6

kimushun1101 opened this issue Dec 11, 2024 · 5 comments
Assignees

Comments

@kimushun1101
Copy link
Owner

kimushun1101 commented Dec 11, 2024

.
└── package-name/
    └── version/
        ├── LICENCE
        ├── README.md
        ├── examples/
        │   ├── main.typ
        │   └── refs.bib
        ├── lib.typ
        ├── template/
        │   ├── main.typ
        │   └── refs.bib
        ├── thumbnail.png
        └── typst.toml

上図はこちらで作成しています。
https://tree.nathanfriend.com/?s=(%27options!(%27fancy3~fullPath!false~trailingSlash3~rootDot3)~4(%274%27package-name7%205*LICENCE*README.md*examples0lib.6*template0thumbnail.png*6st.toml%27)~5!%271%27)*720*2main.6*2refs.bib*2%20%203!true4source!5version6typ7%5Cn%017654320*

TODO

  • パッケージ名を検討 → jp-conf-tempにしようと思います。
  • 新規ディレクトリの作成
    • version は typst.toml で管理するため、このリポジトリ内においてはversionディレクトリは省略してもよさそう?
    • どれくらいの頻度でアップデートするかはわからないため、ひとまず現時点においては特にスクリプトなどは組まずに、手作業で作ってみる。 @mkpoli さんの https://github.com/mkpoli/tyler が便利そう。

@m-tsuru さん、@mkpoli さん、もしご助言などあればよろしくお願いいたします。

@mkpoli
Copy link

mkpoli commented Dec 12, 2024

typst-jp-conf-template/
    └── 0.1.0/
    └── 0.2.0/

のような構造は、packagesレポにPRするに用意するものであって、自分のリポジトリで作る必要はないです(というか作らないほうがいいです、なぜならバージョンはコミットツリーの一つの節目としてタグで管理したほうが唯一に確定するからです)。

このリポジトリの詳細までは確認していないのですが、言及があったので複数テンプレートがあるみたいです。その場合、もし一つのパッケージにするのであれば整理の方法を考えたり、複数のパッケージにする場合はmonorepoでもいい気がします。Tylerはまだmonorepoに対応してはいないのですが、複数のサブディレクトリごとに作り、都度cdして行ってtyler publishを実行することによってできなくはない気がします

@m-tsuru
Copy link
Contributor

m-tsuru commented Dec 12, 2024

@mkpoli さんに同意します.

@m-tsuru
Copy link
Contributor

m-tsuru commented Dec 12, 2024

私が意図しているディレクトリ構成は以下のとおりです.
@mkpoli さんの仰るように,サブディレクトリでの tyler publish を可能にする意図があります.

.
└── typst-jp-conf-template/
    ├── LICENSE
    ├── README.md
    ├── mscs/
    │   ├── lib.typ
    │   ├── sice.csl
    │   ├── typst.toml
    │   ├── thumbnail.png
    │   └── main.typ
    ├── rengo/
    │   ├── lib.typ
    │   ├── rengo.csl
    │   ├── typst.toml
    │   ├── thumbnail.png
    │   └── main.typ
    └── rsj-conf/
        ├── lib.typ
        ├── rsj-conf.csl
        ├── typst.toml
        ├── thumbnail.png
        └── main.typ

ただ,単一リポジトリにまとめると,バージョンタグを打ちにくいという欠点があります.

例えば,mscs/lib.typ に変更が入った場合,当然 typst.toml のバージョンと Git の Tags のバージョンは上げることになるのでしょうが,他方の内容に変更のないテンプレートでもバージョンを上げて Publish するのか,それともバージョンの不整合を許容するのか選択を迫られることになります.

個人的に.単一リポジトリにするならば,Tag と Packages のバージョニングはセマンティックバージョニングをやめ,機械的に 20241213-005712 のような文字列を生成し,各テンプレートのバージョンは一致させない方針に変更することを提案します.

欲を言えば,main.typexample.typ のような内容がほとんど同一のものはまとめることができたら嬉しいとは思いますが,それを要件に含めると複雑になってしまうように感じます.

@kimushun1101 kimushun1101 self-assigned this Dec 13, 2024
@kimushun1101
Copy link
Owner Author

@mkpoli @m-tsuru
ご助言いただき誠にありがとうございます。大変参考になりました。
結論としては、このリポジトリでは代表を一つに絞って、Typst packagesにプルリクエストするためのサブディレクトリを作成しようと思います。ご意見、ご質問などあればよろしくお願いいたします。


学会側からのニーズとしてはTypst Universeに登録されていることはそこまで求められておらず、学会ホームページからダウンロードできるzipにlib.typが含まれていれば、それで十分かなとも思います。少なくともLaTeXのスタイルファイルも、CTANなどは使わず、そのように配布されております。
またTypst Universeに登録してほしいというニーズができたとしても、個別のリポジトリはすでに作っているため、それらを整備するほうが良さそうです。

さらに補足すると、これらをそのまま運用するわけでなく、学会ホームページに直リンクしてしまっているので学会が終わったらアーカイブリポジトリとしてとっておき、コピーして新規のリポジトリを作ることになると思います。

学会側はさておき、個人的には日本国内学会風なスタイルで原稿を眺めたいときもありますので、このリポジトリでは、代表を一つ絞ってメンテナンス&Typst packagesにプルリクエストをしていこうと思います。新規リポジトリを作成することも考えましたが、あまり増えすぎてもどれを見ればよいか混乱させてしまうため、このリポジトリにサブディレクトリを作成する方針で進めようと思います。パッケージ名はSubmission guidelinesによると

Names should not include the word "typst" (as it is redundant).

とのことなので、短くする意味も込めてjp-conf-tempくらいにしましょうか。また、libsやそれのサンプルのmain.typなどはショーケースとしてそのまま残しておこうと思います。したがってディレクトリ構成の案は以下の通りです。

.
└── typst-jp-conf-template/
    ├── LICENSE
    ├── README.md
    ├── main.typ
    ├── refs.bib
    ├── refs.yml
    ├── jp-conf-temp/
    │   ├── lib.typ
    │   ├── jp-conf-temp.csl
    │   ├── typst.toml
    │   ├── thumbnail.png
    │   ├── LICENSE
    │   ├── README.md
    │   └── template/
    │       ├── main.typ
    │       └── refs.yml
    └── libs/
        ├── mscs
        ├── rengo
        └── rsj-conf

LICENSEファイルやrefsファイルなどは重複してしまいますが、main.typやREADME.mdは別々の内容が書かれる予定です。具体的には、Typst Packagesに出す方は英語+日本語で簡潔に書きます。
templateディレクトリはtypst init @preview/jp-conf-tempをしたときに作成されるものという認識です。#6 (comment) ではexmapleディレクトリも含んで居りましたが、これはどう使われるかよくわからなかったため、ここでは削除しております。Typst公式側で特に機能はなく、出力例をみたい場合には、このリポジトリを見てくださいという運用にすればよいかと思っております。

@m-tsuru
Copy link
Contributor

m-tsuru commented Dec 14, 2024

良いと思います.ありがとうございました.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants