Closed northword closed 5 months ago
更新 ISSUE 模板
能将其中的 qq 群去掉吗?我一直认为在 qq 群讨论技术问题很蠢。
好像脚本在处理 note 的有些问题,正在改
@redleafnew 我们打算上线 https://zotero-chinese.com/styles/,如果可以的话最好能将崩项目 transfer 到 https://github.com/zotero-chinese/ 下。
具体怎么操作,我最近没有多少精力维护。
具体怎么操作,我最近没有多少精力维护。
大致是在仓库的 Setting 页面。
下面有个“Transfer ownership“。
然后选择 zotero-chinese。
后面如何添加style
后面如何添加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 会运行,令网站更新。
我的VS code需要什么修改吗?
VS Code 应该不需要修改什么。
由于文件变化较大,如果本地一直出错,也许可以尝试删除本地仓库重新 clone 试试。
那我先pull一下
新加csl时只是新建个以CSL文件名为名字文件夹,里面放csl文件,直接push就ok了吗?
新加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 也可以,脚本会自动运行。
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
的修改。
谢谢二位,回头试一下
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文件?
第二个命令 说找不到命令,
第一个,他是写入到了 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)
如果认为 preview 这个命令把结果展示到终端比较好的话,我可以改下脚本,这个很容易实现。
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
也没有用
如果认为 preview 这个命令把结果展示到终端比较好的话,我可以改下脚本,这个很容易实现。
这个倒不用,我只是了解一下这个命令是干什么的
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。
变更
待办
从本仓库触发 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 以保持提交历史简洁。