l0o0 / ZoteroStyle

一个随便写写的Zotero插件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Zotero Style

让Zotero更有趣

介绍视频

image

image

效果预览

起因

Zotero标签可以显示在标题左侧,有时候条目有不同数量标签,排版特别不美观不利于阅读(强迫症,痛点)。 而且在根据标题查找论文的时候,标题在面板中往往被其它属性挤得只能看清前面几个单词或字,于是增加一个仅显示标题切换按钮

如果你也有类似痛点欢迎提出,我们共同解决。

功能预览 原始Zotero

开启插件

点击按钮

全局搜索旁边

新特性

阅读进度记录(逐页阅读时间记录渲染在标题上)

颜色越深阅读时间越久,同时可显示整体阅读进度,这个部分参考https://github.com/volatile-static/CharteroChartero对于这方面实现的更为彻底,本插件相当于实现了一个初级,简化的版本。

按钮详解

设置界面

鼠标中键 Mac用户可以设置Zotero.ZoteroStyle.progressOpacity=0来隐藏进度条=window用户鼠标右键 Mac用户同时鼠标中键可能也用不了,可以用Shift+P来唤醒设置界面

命令 默认值 描述 重启
Zotero.ZoteroStyle.progressColor '#F06292' 设置进度条颜色,注意引号,配色网站https://colorhunt.co/
Zotero.ZoteroStyle.progressOpacity 0.5 设置进度条透明度,0~1
Zotero.ZoteroStyle.tagSize 8 设置标签宽度,单位em
Zotero.ZoteroStyle.tagPosition 4 0,1,2,3,4(0就是Zotero不安装插件时候标签在的位置)
Zotero.ZoteroStyle.tagAlign left left,right
Zotero.ZoteroStyle.constantFields ['title', 'year'] 要可以被js的eval函数执行(全英文字符)
/reference 在阅读PDF界面使用,不离开Zotero软件就能导入参考文献
/Zotero.Tags.setColor(1, "tagName", '#AAAAAA', 1) 在命令中 用于指派标签颜色和位置(随心所欲)
关于同步

Zotero Style的阅读进度数据自动同步,无需任何配置。

更新后(1.3.3及以后),旧数据(1.3.3以前储存的数据)会自动写入为Zotero的ZoteroStyle条目(插件自动生成)下(在未分类栏可以找到)的一条笔记内(笔记名称就是文献名称一文献一笔记)。

如果第一次安装,插件也将自动生成ZoteroStyle条目,只是没有旧数据迁移这个步骤。

安装插件+新阅读一篇文献后,在未分类条目下,会出现下图条目,它记录了每篇文献的阅读时间。

image

当你在多台设备间切换时,前提是他们都安装了Zotero Style,Zotero都登录同一账号。这样上图笔记会自动同步。 插件初始化时(Zotero刚打开的时候),会检索名为ZoteroStyle的条目(所以不要更改它的名字),然后将条目下的笔记读取并储存为一个变量,当发生阅读行为,变量数据和笔记数据会随之更新,而笔记数据又如上述所说会被Zotero自动同步。

关于导入参考文献 目前已知与scihub插件不兼容
部分命令参数图解

Zotero.Tags.setColor(1, "tagName", '#AAAAAA', 1)对应下图,第一个1固定,第二个"tagName"是你要改变的标签, '#AAAAAA'对应下图颜色,1对应下图位置,如,假设有标签”a、b、c、d,abcd中a的位置为1,b为2...

Tips: https://github.com/zotero/zotero/blob/26847c672f62de30bd63d9434a00d6c9f8a5e76c/chrome/locale/zh-CN/zotero/zotero.properties 搜索itemFields查看所有字段英文名 或者 https://github.com/zotero/zotero/blob/2271913e491035e200e0ec82f8ace2f45f025588/chrome/content/zotero/itemTreeColumns.jsx 搜多dataKey

如:

English Chinese
title 标题
publisher 出版社
libraryCatalog 馆藏目录
year
hasAttachment 回形针

按照源码的中英对照应该能正确过滤掉大多数列,但是如果有的过滤不掉可以提issue,我将补充特殊字段表格

如果你想在展开后保留标题出版社, 输入命令Zotero.ZoteroStyle.constantFields=['title', 'publisher']回车即可 注意[]内字段名要用引号引起来,=右边应该可以被js的eval函数执行返回一个Array 相关问题MuiseDestiny#2

主要功能

  1. 标签右对齐,标签由圆角正方形->圆形
  2. 增加只显示标题按钮🌸
  3. 显示阅读进度,是否划水,一看便知👋
  4. 实现进度条同步
  5. 阅读界面快速检索参考文献,一键导入并关联至当前文献 (目前很好用)
  6. 自定义指派标签颜色位置

🙌建议配合Zotero Tag&Chartero使用

部分功能图示

5的图示

6的图示

安装方法

如果第一次安装,请直接在release界面下载xpi,拖入Zotero的插件界面内,然后重启即可 如果已有ZoteroStyle更新最新版本,请卸载旧版本,重启Zotero后安装新版本

修复BUG

1.3.4 - 存在参数为定义获取默认值失败的bug,需要手动设置一下参数,具体步骤为: shift+p,然后依次输入以下指定并回车

Zotero.ZoteroStyle.progressOpacity=.7
Zotero.ZoteroStyle.tagSize=5
Zotero.ZoteroStyle.tagPosition=4
Zotero.ZoteroStyle.tagAlign=left
Zotero.ZoteroStyle.progressColor=#5AC1BD
Zotero.ZoteroStyle.constantFields=['hasAttachment', 'title']
Zotero.ZoteroStyle.progressColor=#FF9E9E

1.3.2 - "🌸🌸🌸🌸"类似这种标签会与其他标签重叠,"🌸".length=2

1.2.2 - tagSize返回0或者NaN导致宽度为0,所以不显示标签

TODO

  • 阅读PDF时,悬停参考文献点击即可快速添加到Zotero
  • 分区影响因子更美观的展示,现有插件是将这些信息写入条目的某些字段下
  • 为插件添加设置界面,比如颜色设置最大化标题保留字段设置...
  • 标签指派颜色替换为更好看的颜色或者自定义
  • pdf标注颜色替换或自定义
  • 阅读进度数据同步至Notion,与Notion联动,我特别喜欢它的Timeline(过于复杂且网络不稳定,目前已实现基于gitee的同步)
  • 设置界面更容易理解,分类显示,而不是现在这样有点让人费解(模仿Obsidian)
  • 期待你提出的建议🌸

致谢

感谢@windingwind

https://github.com/windingwind/zotero-addon-template, 本插件参考了他的大量代码和教程,使用他的框架

感谢@volatile-static的插件Chartore

https://github.com/volatile-static/Chartero

About

一个随便写写的Zotero插件

License:GNU Affero General Public License v3.0


Languages

Language:TypeScript 94.8%Language:JavaScript 5.2%