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

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

Merged
merged 23 commits into from
Jun 14, 2024
Merged

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

merged 23 commits into from
Jun 14, 2024

Conversation

northword
Copy link
Member

@northword northword commented Jun 8, 2024

变更

待办

从本仓库触发 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 以保持提交历史简洁。

@northword northword marked this pull request as ready for review June 8, 2024 11:59
@zepinglee
Copy link
Collaborator

更新 ISSUE 模板

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

@northword

This comment was marked as resolved.

@zepinglee zepinglee merged commit f3b3f0f into zotero-chinese:main Jun 14, 2024
@zepinglee
Copy link
Collaborator

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

@redleafnew
Copy link
Collaborator

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

@zepinglee
Copy link
Collaborator

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

大致是在仓库的 Setting 页面。

Screenshot 2024-06-15 at 14 30 19

下面有个“Transfer ownership“。

Screenshot 2024-06-15 at 14 30 57

然后选择 zotero-chinese。

@redleafnew
Copy link
Collaborator

后面如何添加style

@northword
Copy link
Member Author

后面如何添加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 会运行,令网站更新。

@northword northword deleted the refactor branch June 16, 2024 15:05
@redleafnew
Copy link
Collaborator

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

@northword
Copy link
Member Author

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

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

@redleafnew
Copy link
Collaborator

那我先pull一下

@redleafnew
Copy link
Collaborator

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

@redleafnew
Copy link
Collaborator

@northword
Copy link
Member Author

新加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
Copy link
Collaborator

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
Copy link
Collaborator

谢谢二位,回头试一下

@redleafnew
Copy link
Collaborator

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

@zotero-chinese/[email protected] 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
Copy link
Member Author

northword commented Jun 19, 2024

第一个,他是写入到了 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
Copy link
Member Author

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

@redleafnew
Copy link
Collaborator

redleafnew commented Jun 19, 2024

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
Copy link
Collaborator

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

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

@northword
Copy link
Member Author

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。

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

Successfully merging this pull request may close these issues.

3 participants