English | 简体中文
The name Chartero is a combination of Chart and Zotero. As a Zotero plugin, it can make your library livelier.
👉 Introduction 👈
Please disable all other plugins when necessary, then file an issue with the exported debug output. Feel free to ask anything in issue😁
- Using to generate charts
- Minimap and All Images are rendered by built-in
- All Images uses built-in PDF.js in ChromeWorker to extract images from PDFs.
- UI components are from
- For the legacy Zotero
6
version, please check out this branch.
-
tools: Scripts for development.
-
src
- src/bootstrap: The entry point of the plugin.
- src/bootstrap/modules: Implementation of modules.
- src/vue: The
iframe
windows using Vue- src/vue/summary: At sidebar.
- src/vue/dashboard: At sidebar tab-panel.
- src/vue/overview: At new tab.
- src/vue/utility: The utility functions.
- src/vue/test: The unit test for Vue components.
- src/modules: Git-submodules for VS Code debugging.
-
use the following command to initialize the submodules:
git submodule init git submodule update
-
- src/bootstrap: The entry point of the plugin.
-
src/worker: The worker for data processing.
These URLs are registered in bootstrap.ts, and you can access them via fetch
in Zotero.
chrome://chartero/
: Access to folder addon.resource://chartero/
: Access to folder addon/content.
The config.defaultSettings
field of package.json defines the default values of preferences. The keys will be automatically replaced when compiling addon.
Locales | zh-CN | en-US | ja-JP | it-IT |
---|
All locale strings are defined in locale, which will be loaded dynamically when the plugin starts.
- .env:
ZOTERO_PLUGIN_ZOTERO_BIN_PATH = */Zotero.app/Contents/MacOS/zotero
ZOTERO_PLUGIN_PROFILE_PATH = /path/to/profile
ZOTERO_PLUGIN_DATA_DIR =
- Here are some useful scripts:
reload-all
: Build and reload the Zotero in production environment.reload-dev
: Build in development environment without Vue pages and reload Zotero.build
: Build in development environment and reload Zotero.watch
: Watch changes of files insrc/vue
and reload Zotero.dev
: Open a hot-reload server forsrc/vue/test/
.
With the Chartero running, you can run debug config Vue
in the sidebar of the VS Code. This will launch the Vue unit test in Firefox with hot-reload. You can then utilize vue devtools in Firefox as well as set breakpoints in VS Code for single-step debugging.
When running in development environment, Chartero will register a /test/chartero
route in HTTP server, accepting any command from a POST request and returning its eval
results in JSON format. By accessing this Endpoint
, the Vue test module provides a series of "dummy" classes to simulate the Zotero environment. This method is of great reference value for other Zotero client applications.
The data structure of history records is defined in history/data.ts, and the JSON string is like this:
{
"pages": {
"0": {
"p": {
"1693200000": 6
}
}
},
"numPages": 27
}
This section is for developers who have suspected compatibility issues with
Chartero
.
- Patched the
search
method of objectZotero.Search
to hide the note items that record the reading history. - Add click events to tabs in the left side-bar of
Reader
. - When adding "Overview" tab,
contextPane.js
throwsextraData[ids[0]] is undefined
error, caused by thetype
of this tab beinglibrary
.