zotero-chinese / styles

中文 CSL 样式
https://zotero-chinese.com/styles/
Other
5.15k stars 837 forks source link

重构:合并 zotero-chinese/styles 仓库变更 #318

Closed northword closed 5 months ago

northword commented 5 months ago

变更

待办

从本仓库触发 website 仓库构建,需要取消注释:

https://github.com/northword/Chinese-STD-GB-T-7714-related-csl/blob/338db331e59bf4aea34f7a6cfc88276df3729ba0/.github/workflows/ci.yml#L52-L64

然后需要一位在 zotero-chinese 组织有写权限的人,把 github token 存入 secrets.ACCESS_TOKEN,这样每次 这个仓库有更新的,网站就会自动更新。

或者不添加这个密钥也可以,就是次日十点左右更新了(插件仓库自动更新触发的)。

其他

可以 squash merge 以保持提交历史简洁。

zepinglee commented 5 months ago

更新 ISSUE 模板

能将其中的 qq 群去掉吗?我一直认为在 qq 群讨论技术问题很蠢。

northword commented 5 months ago

好像脚本在处理 note 的有些问题,正在改

zepinglee commented 5 months ago

@redleafnew 我们打算上线 https://zotero-chinese.com/styles/,如果可以的话最好能将崩项目 transfer 到 https://github.com/zotero-chinese/ 下。

redleafnew commented 5 months ago

具体怎么操作,我最近没有多少精力维护。

zepinglee commented 5 months ago

具体怎么操作,我最近没有多少精力维护。

大致是在仓库的 Setting 页面。

Screenshot 2024-06-15 at 14 30 19

下面有个“Transfer ownership“。

Screenshot 2024-06-15 at 14 30 57

然后选择 zotero-chinese。

redleafnew commented 5 months ago

后面如何添加style

northword commented 5 months ago

后面如何添加style

csl 文件放在 src/ 目录,每个样式一个单独的文件夹(比如 style-a),文件夹名可以与 id 后一部分保持一致,也可以自定义一个。

如果需要单独定义测试条目,可以放在 style-a/items.json 里。

style-a/index.md 和 style-a/metadata.json 都是脚本自动生成的,不需要手动修改。

仓库的 README.md 不再需要更新,用户找样式可以在网站( https://zotero-chinese.com/styles/ )找。

编写/修改 csl 文件的时候,可以运行 dev 脚本,这样每一个保存 csl ,脚本逗都会把预览写道 index.md 里;当然也可以在 Zotero 里修改好了再粘贴到文件里。

编写完成后可以运行 build 脚本,这会为所有样式文件生成预览;正常地,如果是修改时启动了 dev 脚本,build 通常是可以省略的。不运行也可以,GitHub Action 会自动运行并提交。

之后提交、推送,与先前流程是一致的,GitHub 应该可以自动处理由于仓库转移导致的重定向,如果报错提示远程仓库不存在,可以重新添加一次 git remote。

推送后,GitHub Action 会运行,令网站更新。

redleafnew commented 5 months ago

我的VS code需要什么修改吗?

northword commented 5 months ago

VS Code 应该不需要修改什么。

由于文件变化较大,如果本地一直出错,也许可以尝试删除本地仓库重新 clone 试试。

redleafnew commented 5 months ago

那我先pull一下

redleafnew commented 5 months ago

新加csl时只是新建个以CSL文件名为名字文件夹,里面放csl文件,直接push就ok了吗?

redleafnew commented 5 months ago

https://github.com/zotero-chinese/styles?tab=readme-ov-file#%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97 需要操作一次这个?

northword commented 5 months ago

新加csl时只是新建个以CSL文件名为名字文件夹,里面放csl文件

是的。

...直接push就ok了吗? https://github.com/zotero-chinese/styles?tab=readme-ov-file#%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97 需要操作一次这个?

比较推荐修改 CSL 的时候就启动 dev,或者修改完了操作一次 build ,这样那些自动生成的文件就一起被提交了 —— 一方面可以同时在提交里面看到 CSL 文件和预览效果的修改,另一方面提交历史上会干净不少。

不操作 dev/build 直接 push 也可以,脚本会自动运行。

zepinglee commented 5 months ago

https://github.com/zotero-chinese/styles?tab=readme-ov-file#%E8%B4%A1%E7%8C%AE%E6%8C%87%E5%8D%97 需要操作一次这个?

最好开着 pnpm dev 修改 CSL 文件,这样能在同一个 commit 中记录下 index.md 的变化情况。直接 push 应该问题也不大,GitHub Action 会自动运行脚本提交 index.md 的修改。

redleafnew commented 5 months ago

谢谢二位,回头试一下

redleafnew commented 5 months ago

pnpm preview "src/accounting-research/accounting-research.csl"

@zotero-chinese/styles@1.0.0 preview E:\我的坚果云\soft\git\Chinese-STD-GB-T-7714-related-csl tsx ./lib/index.ts "src/accounting-research/accounting-research.csl"

Hmy@DESKTOP-S6L935F MINGW64 /e/我的坚果云/soft/git/Chinese-STD-GB-T-7714-related-csl (main) $ tsx ./lib/index.ts "src/accounting-research/accounting-research.csl" bash: tsx: command not found

运行第一个没有反应,是不是preview生成md文件?

第二个命令 说找不到命令,

northword commented 5 months ago

第一个,他是写入到了 index.md,如果样式没有修改,index.md的内容就不会变,就表现为没有变化。

第二个,全局安装tsx:pnpm add tsx -g (一般用不到这个)

这两个其实是等同的,pnpm preview 只是调用项目内已经安装了的 tsx。同样,这个命令也可以变种为 pnpm tsx lib/index.ts xxx.csl,因为pnpm在运行命令时,首先从package.json 获取 scripts,如果没有,会从 node_modules/.bin 查找有无符合要求的可执行文件(在这里是tsx)

northword commented 5 months ago

如果认为 preview 这个命令把结果展示到终端比较好的话,我可以改下脚本,这个很容易实现。

redleafnew commented 5 months ago

pnpm add tsx -g

pnpm add tsx -g 
 ERR_PNPM_NO_GLOBAL_BIN_DIR  Unable to find the global bin directory

Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.

运行了pnpm setup也没有用

redleafnew commented 5 months ago

如果认为 preview 这个命令把结果展示到终端比较好的话,我可以改下脚本,这个很容易实现。

这个倒不用,我只是了解一下这个命令是干什么的

northword commented 5 months ago

pnpm add tsx -g

pnpm add tsx -g 
 ERR_PNPM_NO_GLOBAL_BIN_DIR  Unable to find the global bin directory

Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.

运行了pnpm setup也没有用

我也没有遇到过这种情况,简单搜了一些解决方案,不确定是否有效:

不过这个也可以不用处理。

npm install -g tsx 这样之后应该也可以正常运行 tsx。