diff --git a/.github/ISSUE_TEMPLATE/bug.yml b/.github/ISSUE_TEMPLATE/bug.yml index ef3234e..1611bb2 100644 --- a/.github/ISSUE_TEMPLATE/bug.yml +++ b/.github/ISSUE_TEMPLATE/bug.yml @@ -57,7 +57,7 @@ body: - 💠其他扩展 - ♻️清理缓存 - 🏳️‍🌈主题/样式 - - 📄文档 + - 📄文档站 - 🟦clickClean - ❓其他/未知 validations: diff --git a/.github/ISSUE_TEMPLATE/feature.yml b/.github/ISSUE_TEMPLATE/feature.yml index beb6d94..6673509 100644 --- a/.github/ISSUE_TEMPLATE/feature.yml +++ b/.github/ISSUE_TEMPLATE/feature.yml @@ -36,7 +36,7 @@ body: - ⤴️安装更新 - 💠其他扩展 - ♻️清理缓存 - - 📄文档 + - 📄文档站 - 🏳️‍🌈主题/样式 - 🟦clickClean - ❓其他/未知 diff --git a/.github/ISSUE_TEMPLATE/tasks.yml b/.github/ISSUE_TEMPLATE/tasks.yml index 07965b1..449f0ce 100644 --- a/.github/ISSUE_TEMPLATE/tasks.yml +++ b/.github/ISSUE_TEMPLATE/tasks.yml @@ -33,7 +33,7 @@ body: - ⤴️安装更新 - 💠其他扩展 - ♻️清理缓存 - - 📄文档 + - 📄文档站 - 🏳️‍🌈主题/样式 - 🟦clickClean - ❓其他/未知 diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..0e5dba4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,46 @@ +name: Deploy to GitHub Pages + +# 1. 定义触发工作流的事件:当推送到分支时触发,手动触发 +on: + push: + branches: + - main # 推送到 main 分支时触发 + - release_preview # 推送到 release_preview 分支时触发 + - develop # 推送到 develop 分支时触发 + workflow_dispatch: + +permissions: + contents: write + +jobs: + build-and-deploy: + # 任务运行的环境:最新版本的 Ubuntu 虚拟机 + runs-on: ubuntu-latest + + # 3. 任务的具体步骤 + steps: + # 步骤1: 签出你的仓库代码到虚拟机 + - name: Checkout 🛎️ + uses: actions/checkout@v3 + + # 设置 Node.js 环境 + - name: Setup Node.js 🔧 + uses: actions/setup-node@v3 + with: + node-version: '24' + cache: 'npm' # 启用 npm 缓存以加速后续安装 + + # 安装项目依赖 + - name: Install Dependencies 📦 + run: npm ci + + # 构建项目(生成静态文件到 dist/ 或 build/ 目录) + - name: Build Project 🏗️ + run: npm run build + + # 部署到 GitHub Pages 分支 + - name: Deploy to GitHub Pages 🚀 + uses: JamesIves/github-pages-deploy-action@v4 + with: + branch: gh-pages + folder: documents/.vitepress/dist diff --git a/.gitignore b/.gitignore index ccfdfc2..0c54570 100644 --- a/.gitignore +++ b/.gitignore @@ -601,3 +601,146 @@ cython_debug/ # PyPI configuration file .pypirc + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.* +!.env.example + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Sveltekit cache directory +.svelte-kit/ + +# vitepress build output +**/.vitepress/dist + +# vitepress cache directory +**/.vitepress/cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# Firebase cache directory +.firebase/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v3 +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions + +# Vite logs files +vite.config.js.timestamp-* +vite.config.ts.timestamp-* + +cache/ +source/ \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json index 95575a1..669399b 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -5,7 +5,7 @@ "markdown-preview-enhanced.previewTheme": "atom-dark.css", "files.associations": { "*.qss": "css", - "*.gui": "json" + "*.gui": "xml" }, "gitLineAuthor.colorConfigs": [ { diff --git a/Gui/main.py b/Gui/main.py index 65d68b9..0b5339d 100644 --- a/Gui/main.py +++ b/Gui/main.py @@ -15,9 +15,8 @@ from check_update import check_update, web_data, download_file # 更新检查 from uiStyles import (UnitInputLayout, styles, maps, StyleReplaceMode, ULabel, CustonMessageButton, SelectUI, UCheckBox, UMessageBox, MessageButtonTemplate) # 软件界面样式 from uiStyles import indexes as style_indexes # 界面组件样式索引 -from sharelibs import (run_software, langs, create_shortcut, __version__, is_pre, get_icon, default_button_text, - get_unit_value, unit_lang, get_size_text, get_file_hash, system_lang, settings, QtThread, - default_settings, mem_id, get_resource_path, run_as_admin, get_lang, set_style, compile_ui, UIWindow) # 共享库 +from sharelibs import * # 共享库 +from sharelibs import __version__ # 版本号 import parse_dev # 解析开发固件配置 import winreg # 注册表库 import math # 数学库 @@ -965,7 +964,7 @@ def apply_titleBar(self, window: QMainWindow | QDialog): hwnd = window.winId().__int__() - if select_styles.css_data['.meta']['mode'] == 'dark': + if select_styles.css_data['.meta']['--mode'] == 'dark': is_dark_mode = 1 else: is_dark_mode = 0 @@ -995,7 +994,7 @@ def apply_global_theme(self): steps = [ [['.selected:pressed', 'background-color'], lighten_color_hex(self.windows_color, -0.165)] ] - if select_styles.css_data['.meta']['mode'] == 'dark': + if select_styles.css_data['.meta']['--mode'] == 'dark': steps.extend([ [['.selected', 'background-color'], lighten_color_hex(self.windows_color, 0.4)], [['.selected:hover', 'background-color'], lighten_color_hex(self.windows_color, 0.45)], @@ -2226,19 +2225,9 @@ def init_ui_old(self): logger.debug('Initizalizing fast set click window successful.') def init_ui(self): - self.ui = UIWindow(compile_ui(get_resource_path('ui', 'fastClick.gui'))) - - self.ui.find_widget('central_layout.unit_layout.delay_combo').addItems([get_lang('ms', source=unit_lang), get_lang('s', source=unit_lang)]) - self.ui.find_widget('central_layout.unit_layout.times_combo').addItems([get_lang('66'), get_lang('2a'), get_lang('2b')]) - self.ui.find_widget('central_layout.total_time_label').setText(main_window.total_time_label.text()) - self.ui.find_widget('central_layout.total_time_label').setAlignment(Qt.AlignHCenter) - - self.setLayout(self.ui.draw({ - 'central_layout.unit_layout.input_delay': {'textChanged': lambda: self.sync_input(QLineEdit.text, QLineEdit.setText, self.ui.find_widget('central_layout.unit_layout.input_delay'), main_window.input_delay)}, - 'central_layout.unit_layout.input_times': {'textChanged': lambda: self.sync_input(QLineEdit.text, QLineEdit.setText, self.ui.find_widget('central_layout.unit_layout.input_times'), main_window.input_times)}, - 'central_layout.unit_layout.delay_combo': {'currentIndexChanged': lambda: self.sync_input(QComboBox.currentIndex, QComboBox.setCurrentIndex, self.ui.find_widget('central_layout.unit_layout.delay_combo'), main_window.delay_combo)}, - 'central_layout.unit_layout.times_combo': {'currentIndexChanged': lambda: self.sync_input(QComboBox.currentIndex, QComboBox.setCurrentIndex, self.ui.find_widget('central_layout.unit_layout.times_combo'), main_window.times_combo)}, - })) + self.ui = UIWindow(uiml.compile_ui_file(get_resource_path('ui', 'fastClick.gui'))) + + self.setLayout(self.ui.show()) # 主窗口同步 主窗口独立文件没有完成 main_window.input_delay.textChanged.connect(lambda: self.sync_input(QLineEdit.text, QLineEdit.setText, main_window.input_delay, self.ui.find_widget('central_layout.unit_layout.input_delay'))) @@ -2268,9 +2257,9 @@ def __init__(self): self.init_ui_old() def init_ui(self): - self.layout_list = UIWindow(compile_ui(get_resource_path('ui', 'clickattr.gui'))) + self.layout_list = UIWindow(uiml.compile_ui_file(get_resource_path('ui', 'clickattr.gui'))) - self.setLayout(self.layout_list.draw({"central_layout.bottom_layout.ok_button": {"clicked": self.close}})) + self.setLayout(self.layout_list.show()) logger.debug('Initizalizing click attribute window successful.') @@ -2967,6 +2956,8 @@ def parse_hotkey(input: UHotkeyLineEdit): checkbox = UCheckBox(i['name']) if i['key'] == 'new_settings': checkbox.checkStateChanged.connect(lambda chk,idx=i['key']:(self.save_dev_config(chk, idx),self.window_restarted.emit(),)) + else: + checkbox.checkStateChanged.connect(lambda chk,idx=i['key']:(self.save_dev_config(chk, idx))) checkbox.setChecked(dev_flags.get(i['key'], False)) desc = QLabel(i['desc']) set_style(desc, StyleClass.d_11) diff --git a/Gui/res/defaultsetting.json b/Gui/res/defaultsetting.json index 294a851..e31dea7 100644 --- a/Gui/res/defaultsetting.json +++ b/Gui/res/defaultsetting.json @@ -1 +1 @@ -{"select_lang": "!var system_lang", "show_tray_icon": true, "soft_delay": 100, "click_delay": "", "click_times": "", "delay_unit": 0, "times_unit": 0, "failed_use_default": false, "times_failed_use_default": false, "update_enabled": true, "update_notify": true, "quiet_update": false, "update_ok_notify": true, "update_frequency": 1, "select_style": 0, "use_windows_color": true, "theme": "!var default_theme", "left_click_hotkey": ["F2"], "right_click_hotkey": ["F3"], "pause_click_hotkey": ["F4"], "stop_click_hotkey": ["F6"], "click_attr_hotkey": ["Ctrl", "Alt", "A"], "fast_click_hotkey": ["Ctrl", "Alt", "F"], "main_window_hotkey": ["Ctrl", "Alt", "M"], "default_doc_link": "https://xystudiocode.github.io/clickmouse_docs/{lang}", "lang_doc": 0, "update_log_path": "updatelog", "hotkey_enabled": false, "show_warning": true, "show_package_warning": true, "feedback": "https://github.com/xystudiocode/pyClickMouse/issues/new/choose", "hide_flags": true} \ No newline at end of file +{"select_lang": "!var system_lang", "show_tray_icon": true, "soft_delay": 100, "click_delay": "", "click_times": "", "delay_unit": 0, "times_unit": 0, "failed_use_default": false, "times_failed_use_default": false, "update_enabled": true, "update_notify": true, "quiet_update": false, "update_ok_notify": true, "update_frequency": 1, "select_style": 0, "use_windows_color": true, "theme": "!var default_theme", "left_click_hotkey": ["F2"], "right_click_hotkey": ["F3"], "pause_click_hotkey": ["F4"], "stop_click_hotkey": ["F6"], "click_attr_hotkey": ["Ctrl", "Alt", "A"], "fast_click_hotkey": ["Ctrl", "Alt", "F"], "main_window_hotkey": ["Ctrl", "Alt", "M"], "default_doc_link": "https://xystudiocode.github.io/pyClickMouse/{lang}", "lang_doc": 0, "update_log_path": "updatelog", "hotkey_enabled": false, "show_warning": true, "show_package_warning": true, "feedback": "https://github.com/xystudiocode/pyClickMouse/issues/new/choose", "hide_flags": true} \ No newline at end of file diff --git a/Gui/res/dev_settings.json b/Gui/res/dev_settings.json index abdbe70..b7cf3bf 100644 --- a/Gui/res/dev_settings.json +++ b/Gui/res/dev_settings.json @@ -7,6 +7,6 @@ { "name": "Decoupling UI and program", "key": "decoupling", - "desc": "To decouple the UI and program.This need to restart the program to take effect." + "desc": "To decouple the UI and program.This need to restart the program to\nake effect." } ] \ No newline at end of file diff --git a/Gui/res/styles/dark.qss b/Gui/res/styles/dark.qss index d18b546..962e958 100644 --- a/Gui/res/styles/dark.qss +++ b/Gui/res/styles/dark.qss @@ -227,5 +227,5 @@ QStatusBar { /* 元数据 */ .meta { - mode: dark; + --mode: dark; } \ No newline at end of file diff --git a/Gui/res/styles/light.qss b/Gui/res/styles/light.qss index 0c9441f..5646837 100644 --- a/Gui/res/styles/light.qss +++ b/Gui/res/styles/light.qss @@ -219,5 +219,5 @@ QStatusBar { /* 元数据 */ .meta { - mode: light; + --mode: light; } \ No newline at end of file diff --git a/Gui/res/ui/clickattr.gui b/Gui/res/ui/clickattr.gui index 093e5f1..43230d7 100644 --- a/Gui/res/ui/clickattr.gui +++ b/Gui/res/ui/clickattr.gui @@ -1 +1,12 @@ -{"name": "central_layout", "value": {"direction": "v", "content": [{"name": "left_clicked", "value": {"type": "QLabel", "arg": ["!lang 0d"]}}, {"name": "right_clicked", "value": {"type": "QLabel", "arg": ["!lang 0e"]}}, {"name": "click_delay", "value": {"type": "QLabel", "arg": ["!lang 78"]}}, {"name": "click_times", "value": {"type": "QLabel", "arg": ["!lang 5c"]}}, {"name": "paused", "value": {"type": "QLabel", "arg": ["!lang 71"]}}, {"name": "stopped", "value": {"type": "QLabel", "arg": ["!lang 73"]}}, {"name": "total_run_time", "value": {"type": "QLabel", "arg": ["!lang 2c"]}}, {"name": "bottom_layout", "value": {"direction": "h", "stretch": true, "content": [{"name": "ok_button", "value": {"type": "QPushButton", "arg": ["!lang 1e"], "style": "selected"}}]}}]}} \ No newline at end of file + + + + + + + + + + + + \ No newline at end of file diff --git a/Gui/res/ui/fastClick.gui b/Gui/res/ui/fastClick.gui index 6016630..ed6636c 100644 --- a/Gui/res/ui/fastClick.gui +++ b/Gui/res/ui/fastClick.gui @@ -1 +1,14 @@ -{"name": "central_layout", "value": {"direction": "v", "content": [{"name": "unit_layout", "value": {"direction": "u", "texts": ["!lang 11", "!lang 5c"], "inputs": [{"name": "input_delay", "value": {"type": "QLineEdit", "init_steps": {"setFixedWidth": [300], "setFixedHeight": [30]}}}, {"name": "input_times", "value": {"type": "QLineEdit", "init_steps": {"setFixedWidth": [300], "setFixedHeight": [30]}}}], "combos": [{"name": "delay_combo", "value": {"type": "QComboBox", "init_steps": {"setFixedWidth": [60], "setFixedHeight": [30]}}}, {"name": "times_combo", "value": {"type": "QComboBox", "init_steps": {"setFixedWidth": [60], "setFixedHeight": [30]}}}]}}, {"name": "total_time_label", "value": {"type": "QLabel", "style": "big_text_16"}}]}} \ No newline at end of file + + + + + + + + + + + + + + \ No newline at end of file diff --git a/Gui/res/versions.json b/Gui/res/versions.json index 0cb609f..50d70f8 100644 --- a/Gui/res/versions.json +++ b/Gui/res/versions.json @@ -1 +1 @@ -{"clickmouse":"3.3.0.23alpha5"} +{"clickmouse":"3.3.0.23alpha6"} diff --git a/Gui/sharelibs.py b/Gui/sharelibs.py index 6ec3464..3cefdaa 100644 --- a/Gui/sharelibs.py +++ b/Gui/sharelibs.py @@ -2,7 +2,9 @@ import json from pathlib import Path -from PySide6.QtWidgets import * +import uiml +from uiml import set_style +from PySide6.QtWidgets import QMessageBox from PySide6.QtGui import QIcon from PySide6.QtCore import QThread, Signal import os @@ -13,6 +15,7 @@ import win32com.client import hashlib import re +from typing import * setting_path = Path('data', 'settings.json') setting_path.parent.mkdir(parents=True, exist_ok=True) @@ -94,7 +97,7 @@ def get_lang(lang_package_id, lang_id = None, source = None): try: return lang_text[lang_package_id] except KeyError: - print(f'{lang_package_id} not found') + print(f'Language {lang_package_id} not found') return 'Language not found' except UnboundLocalError: lang_text = {} @@ -277,7 +280,7 @@ def get_file_hash(file_path, algorithm): except FileNotFoundError: return None except Exception as e: - print(f'计算哈希时出错: {e}') + raise Exception(f'计算哈希时出错: {e}') return None class QtThread(QThread): @@ -295,9 +298,36 @@ def run(self): result = self.func(*self.args, **self.kwargs) self.finished.emit(result) -class UIWindow: - def __init__(self, list): - self.list = list +def widget_replacer(ui_data: str): + ''' + 替换UI中的widget,使用函数式返回 + ''' + if ui_data.startswith('!lang '): + return get_lang(ui_data[6:]) # 语言解析 + else: + uiml.default_replacer(ui_data) # 交由uiml进行替换 + +def layout_parser(ui_data: Dict[str, Any]): + if ui_data.get('direction').lower() == 'u': + input_compiled_list = [] + # 索引0 -- 字 + # 索引1 -- 输入框 + # 索引2 -- 选择框 + inputs = ui_data['content'][1] + for input in inputs['content']: + input_compiled_list.append(uiml.compile_ui(input)) # 递归解析 + combos = ui_data['content'][2] # 组合框 + combos_compiled_list = [] + for combo in combos['content']: + combos_compiled_list.append(uiml.compile_ui(combo)) # 递归解析 + return {'name': ui_data.get('name'), 'direction': ui_data.get('direction'), "texts": ui_data['content'][0]['values'], 'inputs': input_compiled_list, 'combos': combos_compiled_list} + return uiml.default_layout_parser(ui_data) # 交由uiml进行替换 + +uiml.set_namespace(value_replace_func=widget_replacer, layout_parser_func=layout_parser) # 设置uiml的控制函数 + +class UIWindow(uiml.UIMLLayout): + def __init__(self, list=None): + super().__init__(list) def find_widget(self, path: str, data=None): ''' @@ -388,116 +418,14 @@ def find_widget(self, path: str, data=None): # 正常流程不会执行到这里 return None - def draw(self, bindings=None): - bindings = {} if bindings is None else bindings - for path, callbacks in bindings.items(): - widget = self.find_widget(path) - for signal, callback in callbacks.items(): - getattr(widget, signal).connect(callback) - - return self.draw_layout()[0] - - def draw_layout(self, list_content=None): - list_content = self.list if list_content is None else list_content - if list_content.get('direction') is not None: # 这是layout类型 - if list_content['direction'].lower() == 'h': - layout = QHBoxLayout() - elif list_content['direction'].lower() == 'v': - layout = QVBoxLayout() - elif list_content['direction'].lower() == 'u': - from uiStyles.widgets import UnitInputLayout - layout = UnitInputLayout() - for text, input, combo in zip(list_content['texts'], list_content['inputs'], list_content['combos']): - text_show = get_lang(text[6:]) - layout.addUnitRow(text_show, input['content'], combo['content']) - return layout, 'layout' - else: - raise ValueError('Direction must be "h" or "v"') - if list_content.get('stretch', False): - layout.addStretch(1) - for item in list_content['content']: - widget = self.draw_layout(item) - if widget[1] == 'widget': - layout.addWidget(widget[0]) - elif widget[1] == 'layout': - layout.addLayout(widget[0]) - else: - raise ValueError('Content must be a widget or a layout') + def extend_layout(self, list_info): + if list_info['direction'].lower() == 'u': + from uiStyles.widgets import UnitInputLayout + layout = UnitInputLayout() + for text, input, combo in zip(list_info['texts'], list_info['inputs'], list_info['combos']): + if text.startswith('!lang '): # 语言解析 + text = get_lang(text[6:]) + layout.addUnitRow(text, input['content'], combo['content']) return layout, 'layout' - else: # 这是widget类型 - return list_content['content'], 'widget' - -def set_style(widget, class_name: str): - ''' - 设置按钮的class属性并刷新样式 - ''' - # 1. 设置class属性 - widget.setProperty('class', class_name) - - # 2. 强制样式刷新 - widget.style().unpolish(widget) - widget.style().polish(widget) - - # 3. 触发重绘 - widget.update() - -def compile_ui(ui_file_or_data): - if type(ui_file_or_data) == str: - with open(ui_file_or_data, 'r', encoding='utf-8') as f: - ui_data = json.load(f) - else: - ui_data = ui_file_or_data - - for k, v in ui_data.items(): - if k == 'value': - if v.get('direction'): # 这是layout类型 - if v.get('direction').lower() == 'u': - input_compiled_list = [] - inputs = v.get('inputs', []) # UnitInputLayout - for input in inputs: - input_compiled_list.append(compile_ui(input)) # 递归解析 - combos = v.get('combos', []) # 组合框 - combos_compiled_list = [] - for combo in combos: - combos_compiled_list.append(compile_ui(combo)) # 递归解析 - return {'name': ui_data.get('name'), 'direction': v.get('direction'), "texts": v.get('texts'), 'inputs': input_compiled_list, 'combos': combos_compiled_list} - compiled_list = [] - for item in v.get('content', []): - compiled_list.append(compile_ui(item)) # 递归解析 - for k, vs in v.get('init_steps', {}).items(): - getattr(widget, k)(*vs) - return {'name': ui_data.get('name'), 'direction': v.get('direction'), 'content': compiled_list, 'stretch': v.get('stretch', False)} - else: # 这是widget类型 - argv = [] - kwargv = {} - style = v.get('style', '') - - for arg in v.get('arg', []): - if type(arg) == str: - if arg.startswith('!lang '): - lang_id = arg[6:] - argv.append(get_lang(lang_id)) - else: - argv.append(arg) - else: - argv.append(arg) - - for k, arg in v.get('kwarg', {}).items(): - if type(arg) == str: - if arg.startswith('!lang '): - lang_id = arg[6:] - kwargv[k] = get_lang(lang_id) - else: - kwargv[k] = arg - else: - kwargv[k] = arg - - widget = globals().get(v.get('type'))(*argv, **kwargv) # 获取函数 - set_style(widget, style) # 设置样式 - - for k, vs in v.get('init_steps', {}).items(): - getattr(widget, k)(*vs) - - return {'name': ui_data.get('name'), 'content': widget} else: - pass + uiml.WidgetError.direction_error() # 交由 uiml 进行处理 \ No newline at end of file diff --git a/README-zh_CN.md b/README-zh_CN.md new file mode 100644 index 0000000..f728f7c --- /dev/null +++ b/README-zh_CN.md @@ -0,0 +1,167 @@ +
+ icon +

Clickmouse

+
+ 一款快捷,简洁,轻便;使用python制作的鼠标连点器。 +
+ + Running Tests + + + Deploy + + + pypi + + + support-version + + + license + + + commit + + +
+ + + + + clickmouse文档 + + + clickmouse源码 + +
+ + +
+ +--- + +> [!IMPORTANT] +> clickmouse主程序是main.exe,如果要运行clickmouse请点击main.exe,不要点击其他文件 + +> [!TIP] +> 我们不会在gitee上处理issue和pr,请使用github。 + +## 🅱️版权声明 +鼠标 的图标 Icons8 + +## 📄介绍 +一款快捷,简洁,轻便;使用python制作的鼠标连点器。 + +这个软件可以有较多的版本,基本都是C/C++调用版本、python调用版本和命令行交互版本。 + +## 📚使用的第三方库和使用的功能 + +### 🐍python +#### 📔需要使用的库 +- PySide6:对于gui界面,他是图形核心框架 +- pyautogui:鼠标连点器核心 +- requests:用于检查版本号 +- nuitka:打包为gui或~~交互式命令行~~的库 +- cython:打包为pyd的库 +- setuptools:打包为python包的库 +- pywin32:win32控制 +- pynput: 键盘控制库 +- pyperclip: 剪贴板库 +- psutil: 进程管理库 +- packaging: 版本管理库 +- pytz: 时区管理库 + +#### 📖clickmouse官方制作的库 +- clickmouse: 连点器管理库 +- clickmouse_api: 扩展制作的调用api + +### ⬇️快速安装 +输入`pip install -r requirements.txt`安装 + +## 🛠️支持调用的工具 +- [x] C/C++头文件调用 使用原本C++版本的clickMouse改装而来 速度最快,兼容性最好,但是使用失效的可能性最大。可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载 +- [x] 使用原本C++版本的clickMouse 速度最快,兼容性最好,但是使用失效的可能性最大,已经停止更新,可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载,[之前的clickmouse项目](https://github.com/xystudio889/ClickMouse) +- [x] 使用.dll调用 基于C++语言,速度最快,兼容性较好,使用失效的可能性最大。(配置较难,推荐使用C/C++头文件)可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载 +- [x] (开发人员推荐)python调用 速度中等,兼容性最好,使用失效的可能性最小。可以使用`pip install clickmouse`下载 +- [x] 使用.pyd调用 基于python语言,速度较快,兼容性较差(不同版本的python可能不兼容),使用失效的可能性较小。可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载(单独编译仅需编译cython/目录) +- [x] (普通用户推荐)使用exe 使用 基于交互式命令行添加了gui。可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载 +- [ ] 使用交互式命令行 使用 基于python语言,比gui轻便。~~可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载~~ 暂时没有该版本,敬请期待 +- [ ] 使用标准命令行 使用 基于python语言。~~将会自带在gui版本和pip安装版本中~~ 暂时没有该版本,敬请期待 +- [x] 精简版(ClickClean) 比exe gui版本更加精简,告别臃肿的无用功能。可以从[releases](https://github.com/xystudiocode/pyClickMouse) + +## ⚒️安装和调用 +Gui版本和~~命令行交互版本~~无需安装,直接运行即可。 + +C/C++头文件调用可以直接使用以下代码调用(需要配置include目录) +```C++ +#include +#include +using namespace std; + +int main(){ + cout << CLICKMOUSE_VERSION << endl; // 打印版本信息,若成功输出一串数字,则安装成功 + clickMouse(LEFT, 1000, 10, 10); // 连点10次左键,间隔为1000ms,按下时间为10ms + return 0; +} +``` + +> [!IMPORTANT] +> 下载基于pyd的文件时候需要注意:必须下载是你python版本的文件(如`lickmouse.cp39-win_amd64.pyd`)仅支持python3.9(cp后面的是版本,如果你使用python3.13以后的版本,不需要下载后面有t的版本(除非你使用free thread开发)) + +python调用或.pyd调用可以直接使用以下代码调用: +```python +import clickmouse + +clickMouse.click_mouse(clickmouse.LEFT, 1000, 10, 10) # 连点10次左键,间隔为1000ms,按下时间为10ms +``` +~~命令行调用~~ +```bash +ClickMouse.exe /h # 查看帮助 +``` +## 💻再次编译方法 +见[协作文档](./CONTRIBUTING.md),找到`## ⬇️配置仓库`这一段,按照说明配置仓库。 +### 📊使用优先级 +开发人员: +```mermaid +graph LR +A[python] --> B[pyd调用] --> D[命令行调用] +C[C/C++] --> E[dll调用] --> D +``` +鼠标连点器会一直保持运行,直到关闭程序或手动停止。 +目前支持暂停和停止功能。 + +## 🖥️Clickmouse 软件 +clickmouse版本格式为:`A.B.C.D[(alpha | beta |.dev | rc) E]` +## 😊正式版本 +正式版不带.dev、alpha、beta或rc后缀。 + +A位代表有重大更新,有代码级的变动。如1.0升级到2.0就重构了代码。 + +B位代表有普通更新,通常是更新一些大功能。 + +C位代表有修复更新,通常会更新一些小功能和一些bug。 + +D位代表版本代号,通常每A, B, C位有变动时候+1。也有可能A, B, C位没有变动,D位+1,这代表紧急更新,通常是修复几个重大影响的bug。 + +## 🅱️测试版本 +测试版本带.dev、alpha、beta或rc后缀。 + +通常前面的`A.B.C.D`在一个测试周期内不变,代表下一个版本。 + +`.dev`代表早期开发更新,功能不稳定,bug很多,位于版本项目初期。这阶段新增的功能将会被放到实验室中,并默认关闭。 + +`alpha`代表晚期开发更新,功能不完善,bug较多,位于版本项目早期。这阶段新增的功能将会被放到实验室中,并默认关闭。 + +`beta`代表发布测试更新,功能完善,bug较少,不会再新增功能,位于版本项目中期。并且会逐步合并实验室中的feature。 + +`rc`代表预备发布版本,功能完善,bug较少,会修复一些重要安全问题或bug,最接近正式版,即将发布正式版,位于版本项目末期。 + +::: tip 提示 +rc最后一个版本将直接合并到测试版,不再单独发布;功能完全一样。 +::: diff --git a/README.md b/README.md index f259df6..fc56ad2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,15 @@ -# Clickmouse - -
+
+ icon +

Clickmouse

+
+ A fast, simple, lightweight mouse clicker made with Python. +
+ + Running Tests + + + Deploy + pypi @@ -22,133 +31,130 @@ - - clickmouse文档 - - - clickmouse文档源码 + + clickmouse文档 clickmouse源码 +
+ +
> [!IMPORTANT] -> clickmouse主程序是main.exe,如果要运行clickmouse请点击main.exe,不要点击其他文件 +> The main program of clickmouse is `main.exe`. To run clickmouse, please click `main.exe`, do not click on other files. > [!TIP] -> 我们不会在gitee上处理issue和pr,请使用github。 - -## 🅱️版权声明 -鼠标 的图标 Icons8 - -## 📄介绍 -一款快捷,简洁,轻便;使用python制作的鼠标连点器。 - -这个软件可以有较多的版本,基本都是C/C++调用版本、python调用版本和命令行交互版本。 - -## 📚使用的第三方库和使用的功能 - -### 🐍python -#### 📔需要使用的库 -- PySide6:对于gui界面,他是图形核心框架 -- pyautogui:鼠标连点器核心 -- requests:用于检查版本号 -- nuitka:打包为gui或~~交互式命令行~~的库 -- cython:打包为pyd的库 -- setuptools:打包为python包的库 -- pywin32:win32控制 -- pynput: 键盘控制库 -- pyperclip: 剪贴板库 -- psutil: 进程管理库 -- packaging: 版本管理库 -- pytz: 时区管理库 - -#### 📖clickmouse官方制作的库 -- clickmouse: 连点器管理库 -- clickmouse_api: 扩展制作的调用api - -### ⬇️快速安装 -输入`pip install -r requirements.txt`安装 - -## 🛠️支持调用的工具 -- [x] C/C++头文件调用 使用原本C++版本的clickMouse改装而来 速度最快,兼容性最好,但是使用失效的可能性最大。可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载 -- [x] 使用原本C++版本的clickMouse 速度最快,兼容性最好,但是使用失效的可能性最大,已经停止更新,可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载,[之前的clickmouse项目](https://github.com/xystudio889/ClickMouse) -- [x] 使用.dll调用 基于C++语言,速度最快,兼容性较好,使用失效的可能性最大。(配置较难,推荐使用C/C++头文件)可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载 -- [x] (开发人员推荐)python调用 速度中等,兼容性最好,使用失效的可能性最小。可以使用`pip install clickmouse`下载 -- [x] 使用.pyd调用 基于python语言,速度较快,兼容性较差(不同版本的python可能不兼容),使用失效的可能性较小。可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载(单独编译仅需编译cython/目录) -- [x] (普通用户推荐)使用exe 使用 基于交互式命令行添加了gui。可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载 -- [ ] 使用交互式命令行 使用 基于python语言,比gui轻便。~~可以从[releases](https://github.com/xystudiocode/pyClickMouse)下载~~ 暂时没有该版本,敬请期待 -- [ ] 使用标准命令行 使用 基于python语言。~~将会自带在gui版本和pip安装版本中~~ 暂时没有该版本,敬请期待 -- [x] 精简版(ClickClean) 比exe gui版本更加精简,告别臃肿的无用功能。可以从[releases](https://github.com/xystudiocode/pyClickMouse) - -## ⚒️安装和调用 -Gui版本和~~命令行交互版本~~无需安装,直接运行即可。 - -C/C++头文件调用可以直接使用以下代码调用(需要配置include目录) +> We do not handle issues or PRs on Gitee, please use GitHub. + +## 🅱️ Copyright Notice +Icon Mouse by Icons8 + +## 📄 Introduction +A fast, simple, lightweight mouse auto-clicker made with Python. + +This software has multiple versions, mostly C/C++ callable versions, Python callable versions, and command-line interactive versions. + +## 📚 Third-party libraries used and features utilized + +### 🐍 Python +#### 📔 Required libraries +- PySide6: GUI framework core +- pyautogui: core of the auto-clicker +- requests: for version checking +- nuitka: for packaging as GUI or ~~interactive command line~~ +- cython: for packaging as pyd +- setuptools: for packaging as Python package +- pywin32: Windows control +- pynput: keyboard control library +- pyperclip: clipboard library +- psutil: process management library +- packaging: version management library +- pytz: timezone management library + +#### 📖 Official libraries made by clickmouse +- clickmouse: auto-clicker management library +- clickmouse_api: extended API for calling + +### ⬇️ Quick install +Run `pip install -r requirements.txt` to install + +## 🛠️ Supported calling tools +- [x] C/C++ header file call – adapted from the original C++ version of clickMouse; fastest, best compatibility, but most likely to become ineffective. Download from [releases](https://github.com/xystudiocode/pyClickMouse) +- [x] Original C++ version of clickMouse – fastest, best compatibility, but most likely to become ineffective; discontinued. Download from [releases](https://github.com/xystudiocode/pyClickMouse), [previous clickmouse project](https://github.com/xystudio889/ClickMouse) +- [x] .dll call – based on C++, very fast, good compatibility, most likely to become ineffective (harder to configure; C/C++ header file recommended). Download from [releases](https://github.com/xystudiocode/pyClickMouse) +- [x] (Recommended for developers) Python call – medium speed, best compatibility, least likely to become ineffective. Install via `pip install clickmouse` +- [x] .pyd call – based on Python, relatively fast, weaker compatibility (may be incompatible with different Python versions), less likely to become ineffective. Download from [releases](https://github.com/xystudiocode/pyClickMouse) (to compile separately, just compile the `cython/` directory) +- [x] (Recommended for regular users) EXE – GUI built on interactive command line. Download from [releases](https://github.com/xystudiocode/pyClickMouse) +- [ ] Interactive command line – based on Python, lighter than GUI. ~~Download from [releases](https://github.com/xystudiocode/pyClickMouse)~~ Not yet available, stay tuned +- [ ] Standard command line – based on Python. ~~Will be included in GUI version and pip install~~ Not yet available, stay tuned +- [x] Lightweight version (ClickClean) – more streamlined than the GUI EXE, eliminating bloated features. Download from [releases](https://github.com/xystudiocode/pyClickMouse) + +## ⚒️ Installation and calling +The GUI version and ~~interactive command line version~~ require no installation; just run directly. + +For C/C++ header file call, you can use the following code (requires include directory configuration): ```C++ #include #include using namespace std; int main(){ - cout << CLICKMOUSE_VERSION << endl; // 打印版本信息,若成功输出一串数字,则安装成功 - clickMouse(LEFT, 1000, 10, 10); // 连点10次左键,间隔为1000ms,按下时间为10ms + cout << CLICKMOUSE_VERSION << endl; // prints version info; if a number is output, installation succeeded + clickMouse(LEFT, 1000, 10, 10); // click left button 10 times, interval 1000ms, press duration 10ms return 0; } ``` > [!IMPORTANT] -> 下载基于pyd的文件时候需要注意:必须下载是你python版本的文件(如`lickmouse.cp39-win_amd64.pyd`)仅支持python3.9(cp后面的是版本,如果你使用python3.13以后的版本,不需要下载后面有t的版本(除非你使用free thread开发)) +> When downloading pyd-based files, make sure to download the version matching your Python version (e.g., `clickmouse.cp39-win_amd64.pyd` – cp39 means Python 3.9; if you use Python 3.13 or later, do not download versions with a `t` suffix unless you are using free-threaded development). -python调用或.pyd调用可以直接使用以下代码调用: +For Python call or .pyd call, use the following code: ```python import clickmouse -clickMouse.click_mouse(clickmouse.LEFT, 1000, 10, 10) # 连点10次左键,间隔为1000ms,按下时间为10ms +clickmouse.click_mouse(clickmouse.LEFT, 1000, 10, 10) # click left button 10 times, interval 1000ms, press duration 10ms ``` -~~命令行调用~~ +~~Command line call~~ ```bash -ClickMouse.exe /h # 查看帮助 +ClickMouse.exe /h # show help ``` -## 💻再次编译方法 -见[协作文档](./CONTRIBUTING.md),找到`## ⬇️配置仓库`这一段,按照说明配置仓库。 -### 📊使用优先级 -开发人员: +## 💻 Recompilation instructions +See [Collaboration Document](./CONTRIBUTING.md), locate the `## ⬇️ Repository Setup` section and follow the instructions to set up the repository. + +### 📊 Usage priority +Developers: ```mermaid graph LR -A[python] --> B[pyd调用] --> D[命令行调用] -C[C/C++] --> E[dll调用] --> D +A[python] --> B[pyd call] --> D[command line call] +C[C/C++] --> E[dll call] --> D ``` -鼠标连点器会一直保持运行,直到关闭程序或手动停止。 -目前支持暂停和停止功能。 - -## 🖥️Clickmouse 软件 -clickmouse版本格式为:`A.B.C.D[(alpha | beta |.dev | rc) E]` -## 😊正式版本 -正式版不带.dev、alpha、beta或rc后缀。 - -A位代表有重大更新,有代码级的变动。如1.0升级到2.0就重构了代码。 - -B位代表有普通更新,通常是更新一些大功能。 - -C位代表有修复更新,通常会更新一些小功能和一些bug。 - -D位代表版本代号,通常每A, B, C位有变动时候+1。也有可能A, B, C位没有变动,D位+1,这代表紧急更新,通常是修复几个重大影响的bug。 +The auto-clicker will keep running until the program is closed or manually stopped. +Supports pause and stop functions. -## 🅱️测试版本 -测试版本带.dev、alpha、beta或rc后缀。 +## 🖥️ Clickmouse Software +Clickmouse version format: `A.B.C.D[(alpha | beta | .dev | rc) E]` -通常前面的`A.B.C.D`在一个测试周期内不变,代表下一个版本。 +## 😊 Stable versions +Stable versions do not have suffixes like .dev, alpha, beta, or rc. -`.dev`代表早期开发更新,功能不稳定,bug很多,位于版本项目初期。这阶段新增的功能将会被放到实验室中,并默认关闭。 +- A digit: major updates with code-level changes. For example, upgrading from 1.0 to 2.0 means a code refactor. +- B digit: regular updates, usually adding major features. +- C digit: patch updates, usually adding minor features and bug fixes. +- D digit: release identifier, incremented whenever A, B, or C changes. It may also increment without changes to A, B, C, indicating an emergency update that fixes several critical bugs. -`alpha`代表晚期开发更新,功能不完善,bug较多,位于版本项目早期。这阶段新增的功能将会被放到实验室中,并默认关闭。 +## 🅱️ Test versions +Test versions have suffixes like .dev, alpha, beta, or rc. -`beta`代表发布测试更新,功能完善,bug较少,不会再新增功能,位于版本项目中期。并且会逐步合并实验室中的feature。 +Typically the preceding `A.B.C.D` remains unchanged during a test cycle and represents the next version. -`rc`代表预备发布版本,功能完善,bug较少,会修复一些重要安全问题或bug,最接近正式版,即将发布正式版,位于版本项目末期。 +- `.dev` – early development update, unstable features, many bugs, at the project's early stage. New features added during this phase are placed in the lab and disabled by default. +- `alpha` – late development update, incomplete features, many bugs, at the project's early stage. New features added during this phase are placed in the lab and disabled by default. +- `beta` – release candidate testing update, features complete, few bugs, no new features added; at the project's mid stage. Features from the lab are gradually merged. +- `rc` – release candidate, features complete, few bugs; will fix critical security or stability issues; very close to stable release; at the final stage of the project. -::: tip 提示 -rc最后一个版本将直接合并到测试版,不再单独发布;功能完全一样。 -::: +> [!tip] +> The last rc version will be merged directly into the test version and not released separately; the features are identical. \ No newline at end of file diff --git a/documents/.vitepress/config.js b/documents/.vitepress/config.js new file mode 100644 index 0000000..d11997b --- /dev/null +++ b/documents/.vitepress/config.js @@ -0,0 +1,873 @@ +import { withMermaid } from "vitepress-plugin-mermaid"; + +export default withMermaid({ + base: '/pyclickmouse/', + head: [['link', { rel: 'icon', href: '/imgs/icons/icon.ico' }]], + markdown: { + emoji: { + enabled: 'off', + }, + }, + + // 主题配置 + themeConfig: { + logo: '/imgs/icons/icon.ico', + siteTitle: 'Clickmouse docs', + + // 搜索功能 + search: { + provider: 'local', + options: { + locales: { + 'zh-CN': { + translations: { + button: { + buttonText: '搜索', + buttonAriaLabel: '搜索', + }, + modal: { + noResultsText: '无法找到相关结果', + resetButtonTitle: '清除查询条件', + footer: { + selectText: '选择', + navigateText: '切换', + closeText: '关闭', + }, + }, + }, + }, + en: { + translations: { + button: { + buttonText: 'Search', + buttonAriaLabel: 'Search', + }, + modal: { + noResultsText: 'No results found', + resetButtonTitle: 'Clear query', + footer: { + selectText: 'to select', + navigateText: 'to navigate', + closeText: 'to close', + }, + }, + }, + }, + }, + }, + }, + }, + + // 多语言配置 + locales: { + en: { + title: 'Clickmouse docs', + description: 'Clickmouse docs powered by vitepress', + label: 'English', + lang: 'en', + link: '/en/', + themeConfig: { + outlineTitle: 'On this page', + lastUpdatedText: 'Last Updated', + editLink: { + pattern: + 'https://github.com/xystudiocode/pyclickmouse/tree/main/documents/:path', + text: 'Edit this page', + }, + docFooter: { + prev: 'Previous', + next: 'Next', + }, + notFound: { + title: 'PAGE NOT FOUND', + quote: + "But if you don't change your direction, and if you keep looking, you may end up where you are heading.", + linkText: 'Take me home', + }, + // 配置主题 + lightModeSwitchTitle: 'Switch to light mode', + darkModeSwitchTitle: 'Switch to dark mode', + // 社交链接 + socialLinks: [ + { icon: 'github', link: 'https://github.com/xystudiocode/pyclickmouse' }, + { icon: 'gitee', link: 'https://gitee.com/xystudio889/pyclickmouse' }, + ], + sidebar: { + '/en/guide/': [ + { + text: 'Guide', + items: [ + { text: 'Introduction', link: '/en/guide/' }, + { text: 'Getting Started', link: '/en/guide/getting-started.html' }, + { text: 'FAQ', link: '/en/guide/faq.html',}, + { text: 'Version Naming', link: '/en/guide/version-naming.html',}, + { text: 'License', link: '/en/guide/license.html',}, + ], + }, + ], + '/en/updatelog/': [ + { + text: 'Update log', + items: [ + { + text: 'Final', + collapsed: true, + items: [ + { + text: 'v3.x.x.x', + collapsed: true, + items: [ + { + text: '3.2.3.22', + link: '/en/updatelog/final/3/32322.html', + }, + { + text: '3.2.2.21', + link: '/en/updatelog/final/3/32221.html', + }, + { + text: '3.2.1.20', + link: '/en/updatelog/final/3/32120.html', + }, + { + text: '3.2.0.19', + link: '/en/updatelog/final/3/32019.html', + }, + { + text: '3.1.3.18', + link: '/en/updatelog/final/3/31318.html', + }, + { + text: '3.1.2.17', + link: '/en/updatelog/final/3/31217.html', + }, + { + text: '3.1.1.16', + link: '/en/updatelog/final/3/31116.html', + }, + { + text: '3.1.0.15', + link: '/en/updatelog/final/3/31015.html', + }, + { + text: '3.0.3.14', + link: '/en/updatelog/final/3/30314.html', + }, + { + text: '3.0.2.13', + link: '/en/updatelog/final/3/30213.html', + }, + { + text: '3.0.1.12', + link: '/en/updatelog/final/3/30112.html', + }, + { + text: '3.0.0.11', + link: '/en/updatelog/final/3/30011.html', + }, + ], + }, + { + text: 'v2.x.x.x', + collapsed: true, + items: [ + { + text: '2.2.3.10', + link: '/en/updatelog/final/2/22310.html', + }, + { + text: '2.2.2.9', + link: '/en/updatelog/final/2/2229.html', + }, + { + text: '2.2.1.8', + link: '/en/updatelog/final/2/2218.html', + }, + { + text: '2.2.0.7', + link: '/en/updatelog/final/2/2207.html', + }, + { + text: '2.1.1.6', + link: '/en/updatelog/final/2/2116.html', + }, + { + text: '2.1.0.5', + link: '/en/updatelog/final/2/2105.html', + }, + { + text: '2.0.0.4', + link: '/en/updatelog/final/2/2004.html', + }, + ], + }, + { + text: 'v1.x.x.x', + collapsed: true, + items: [ + { + text: '1.0.2.3', + link: '/en/updatelog/final/1/1023.html', + }, + { + text: '1.0.2.2', + link: '/en/updatelog/final/1/1022.html', + }, + { + text: '1.0.1.1', + link: '/en/updatelog/final/1/1011.html', + }, + { + text: '1.0.0.0', + link: '/en/updatelog/final/1/1000.html', + }, + ], + }, + ], + }, + { + text: 'Preview', + collapsed: true, + items: [ + { + text: 'v3.x.x.x', + collapsed: true, + items: [ + { + text: '3.3.0.23alpha5', + link: '/en/updatelog/beta/3/33023a5.html', + }, + { + text: '3.3.0.23alpha4', + link: '/en/updatelog/beta/3/33022a4.html', + }, + { + text: '3.3.0.23alpha2', + link: '/en/updatelog/beta/3/32120a2.html', + }, + { + text: '3.3.0.23alpha1', + link: '/en/updatelog/beta/3/32120a1.html', + }, + { + text: '3.2.0.19rc3', + link: '/en/updatelog/beta/3/32019rc3.html', + }, + { + text: '3.2.0.19rc2', + link: '/en/updatelog/beta/3/32019rc2.html', + }, + { + text: '3.2.0.19rc1', + link: '/en/updatelog/beta/3/32019rc1.html', + }, + { + text: '3.2.0.19beta11', + link: '/en/updatelog/beta/3/32019b11.html', + }, + { + text: '3.2.0.19beta10', + link: '/en/updatelog/beta/3/32019b10.html', + }, + { + text: '3.2.0.19beta9', + link: '/en/updatelog/beta/3/32019b9.html', + }, + { + text: '3.2.0.18beta8', + link: '/en/updatelog/beta/3/32018b8.html', + }, + { + text: '3.2.0.18beta5', + link: '/en/updatelog/beta/3/32018b5.html', + }, + { + text: '3.2.0.18beta4', + link: '/en/updatelog/beta/3/32018b4.html', + }, + { + text: '3.1.2.17beta3', + link: '/en/updatelog/beta/3/31217b3.html', + }, + { + text: '3.1.2.17beta1', + link: '/en/updatelog/beta/3/31217b1.html', + }, + { + text: '3.1.0.15beta3', + link: '/en/updatelog/beta/3/31015b3.html', + }, + { + text: '3.1.0.15beta2', + link: '/en/updatelog/beta/3/31015b2.html', + }, + { + text: '3.1.0.15beta1', + link: '/en/updatelog/beta/3/31015b1.html', + }, + { + text: '3.1.0.15.dev0', + link: '/en/updatelog/beta/3/31015dev0.html', + }, + { + text: '3.0.2.13rc1', + link: '/en/updatelog/beta/3/30213rc1.html', + }, + { + text: '3.0.1.12rc1', + link: '/en/updatelog/beta/3/30112rc1.html', + }, + { + text: '3.0.0.11rc1', + link: '/en/updatelog/beta/3/30011rc1.html', + }, + { + text: '3.0.0.11alpha3', + link: '/en/updatelog/beta/3/30011a3.html', + }, + { + text: '3.0.0.11alpha2', + link: '/en/updatelog/beta/3/30011a2.html', + }, + { + text: '3.0.0.11alpha1', + link: '/en/updatelog/beta/3/30011a1.html', + }, + { + text: '3.0.0.11.dev4', + link: '/en/updatelog/beta/3/30011dev4.html', + }, + { + text: '3.0.0.11.dev3', + link: '/en/updatelog/beta/3/30011dev3.html', + }, + { + text: '3.0.0.11.dev1', + link: '/en/updatelog/beta/3/30011dev1.html', + }, + ], + }, + ], + }, + ], + }, + ], + '/en/features/': [ + { + text: 'Features', + items: [ + { + text: 'Introduction', + link: '/en/features/', + }, + { + text: 'Clean cache', + link: '/en/features/cleancache.html', + }, + { + text: 'Settings', + link: '/en/features/settings.html', + }, + { + text: 'Update', + link: '/en/features/update.html', + }, + { + text: 'Help', + link: '/en/features/help.html', + }, + { + text: 'clickclean', + link: '/en/features/clickclean.html', + }, + { + text: 'Extensions', + collapsed: true, + items: [{ text: 'Introducing', link: '/en/features/extensions' }, { text: 'Repair', link: '/en/features/extensions/repair' }], + }, + ], + }, + ], + '/en/develop': [ + { + text: 'Developers', + items: [ + { + text: 'Introduction', + link: '/en/develop/index.html', + }, + { + text: 'Dependencies', + link: '/en/develop/dependencies.html', + }, + { + text: 'Clickmouse library usage', + collapsed: true, + items: [ + { + text: 'Introduction', + link: '/en/develop/clicker/index.html', + }, + { + text: 'Calling using Python/pyd', + link: '/en/develop/clicker/python.html', + }, + { + text: 'Calling using C++/dll', + link: '/en/develop/clicker/cpp.html', + } + ], + }, + { + text: 'Contributing', + collapsed: true, + items: [ + { + text: 'Contributing clickmouse', + link: '/en/develop/contributing/github.html', + }, + { + text: 'Configuration development environment', + link: '/en/develop/contributing/configuration.html', + }, + { + text: 'Documentation development', + link: '/en/develop/contributing/doc.html', + }, + { + text: 'Issue template', + link: '/en/develop/contributing/issue_template.html' + }, + { + text: 'Security policy', + link: '/en/develop/contributing/security.html' + }, + { + text: 'License', + link: '/en/develop/contributing/license.html' + } + ], + }, + ], + }, + ], + }, + nav: [ + { text: 'Home', link: '/en/' }, + { text: 'Guide', link: '/en/guide/' }, + { text: 'Features', link: '/en/features/' }, + { text: 'Update log', link: '/en/updatelog/' }, + { text: 'Developers', link: '/en/develop/'} + ], + returnToTopLabel: 'Return to top', + }, + }, + 'zh-CN': { + label: '简体中文', + description: '基于 vitepress 搭建的 Clickmouse 文档', + title: 'Clickmouse 文档 | VitePress', + link: '/zh-CN/', + lang: 'zh-CN', + themeConfig: { + siteTitle: 'Clickmouse 文档', + returnToTopLabel: '返回顶部', + outlineTitle: '本页目录', + lastUpdatedText: '最后更新', + sidebarMenuLabel: '目录', + editLink: { + pattern: + 'https://github.com/xystudiocode/pyclickmouse/tree/main/documents/:path', + text: '编辑此页', + }, + notFound: { + title: '页面不存在', + quote: '只要不改变你的方向,一直寻找,最终会找到你所寻找的目标', + linkText: '返回首页', + }, + // 配置主题 + lightModeSwitchTitle: '切换到浅色模式', + darkModeSwitchTitle: '切换到深色模式', + darkModeSwitchLabel: '主题', + // 社交链接 + socialLinks: [ + { icon: 'github', link: 'https://github.com/xystudiocode/pyclickmouse'}, + { icon: 'gitee', link: 'https://gitee.com/xystudio889/pyclickmouse' }, + ], + nav: [ + { text: '首页', link: '/zh-CN/' }, + { text: '指南', link: '/zh-CN/guide/' }, + { text: '功能', link: '/zh-CN/features/' }, + { text: '更新日志', link: '/zh-CN/updatelog/' }, + { text: '开发者', link: '/zh-CN/develop/' } + ], + docFooter: { + prev: '上一页', + next: '下一页', + }, + footer: { + message: '本软件使用MIT协议开源', + copyright: '© 2025-现在 xystudio版权所有', + }, + sidebar: { + '/zh-CN/guide/': [ + { + text: '指南', + items: [ + { text: '介绍', link: '/zh-CN/guide/' }, + { text: '开始使用', link: '/zh-CN/guide/getting-started.html' }, + { text: 'FAQ', link: '/zh-CN/guide/faq.html',}, + { text: '版本命名', link: '/zh-CN/guide/version-naming.html',}, + { text: '用户协议', link: '/zh-CN/guide/license.html',}, + ], + }, + ], + '/zh-CN/updatelog/': [ + { + text: '发行日志', + items: [ + { + text: '正式版', + collapsed: true, + items: [ + { + text: 'v3.x.x.x', + collapsed: true, + items: [ + { + text: '3.2.3.22', + link: '/zh-CN/updatelog/final/3/32322.html', + }, + { + text: '3.2.2.21', + link: '/zh-CN/updatelog/final/3/32221.html', + }, + { + text: '3.2.1.20', + link: '/zh-CN/updatelog/final/3/32120.html' + }, + { + text: '3.2.0.19', + link: '/zh-CN/updatelog/final/3/32019.html', + }, + { + text: '3.1.3.18', + link: '/zh-CN/updatelog/final/3/31318.html', + }, + { + text: '3.1.2.17', + link: '/zh-CN/updatelog/final/3/31217.html', + }, + { + text: '3.1.1.16', + link: '/zh-CN/updatelog/final/3/31116.html', + }, + { + text: '3.1.0.15', + link: '/zh-CN/updatelog/final/3/31015.html', + }, + { + text: '3.0.3.14', + link: '/zh-CN/updatelog/final/3/30314.html', + }, + { + text: '3.0.2.13', + link: '/zh-CN/updatelog/final/3/30213.html', + }, + { + text: '3.0.1.12', + link: '/zh-CN/updatelog/final/3/30112.html', + }, + { + text: '3.0.0.11', + link: '/zh-CN/updatelog/final/3/30011.html', + }, + ], + }, + { + text: 'v2.x.x.x', + collapsed: true, + items: [ + { + text: '2.2.3.10', + link: '/zh-CN/updatelog/final/2/22310.html', + }, + { + text: '2.2.2.9', + link: '/zh-CN/updatelog/final/2/2229.html', + }, + { + text: '2.2.1.8', + link: '/zh-CN/updatelog/final/2/2218.html', + }, + { + text: '2.2.0.7', + link: '/zh-CN/updatelog/final/2/2207.html', + }, + { + text: '2.1.1.6', + link: '/zh-CN/updatelog/final/2/2116.html', + }, + { + text: '2.1.0.5', + link: '/zh-CN/updatelog/final/2/2105.html', + }, + { + text: '2.0.0.4', + link: '/zh-CN/updatelog/final/2/2004.html', + }, + ], + }, + { + text: 'v1.x.x.x', + collapsed: true, + items: [ + { + text: '1.0.2.3', + link: '/zh-CN/updatelog/final/1/1023.html', + }, + { + text: '1.0.2.2', + link: '/zh-CN/updatelog/final/1/1022.html', + }, + { + text: '1.0.1.1', + link: '/zh-CN/updatelog/final/1/1011.html', + }, + { + text: '1.0.0.0', + link: '/zh-CN/updatelog/final/1/1000.html', + }, + ], + }, + ], + }, + { + text: '预览版', + collapsed: true, + items: [ + { + text: 'v3.x.x.x', + collapsed: true, + items: [ + { + text: '3.3.0.23alpha5', + link: '/zh-CN/updatelog/beta/3/33023a5.html', + }, + { + text: '3.3.0.22alpha4', + link: '/zh-CN/updatelog/beta/3/33022a4.html', + }, + { + text: '3.2.1.20alpha2', + link: '/zh-CN/updatelog/beta/3/32120a2.html', + }, + { + text: '3.2.1.20alpha1', + link: '/zh-CN/updatelog/beta/3/32120a1.html', + }, + { + text: '3.2.0.19rc3', + link: '/zh-CN/updatelog/beta/3/32019rc3.html', + }, + { + text: '3.2.0.19rc2', + link: '/zh-CN/updatelog/beta/3/32019rc2.html', + }, + { + text: '3.2.0.19rc1', + link: '/zh-CN/updatelog/beta/3/32019rc1.html', + }, + { + text: '3.2.0.19beta11', + link: '/zh-CN/updatelog/beta/3/32019b11.html', + }, + { + text: '3.2.0.19beta10', + link: '/zh-CN/updatelog/beta/3/32019b10.html', + }, + { + text: '3.2.0.19beta9', + link: '/zh-CN/updatelog/beta/3/32019b9.html', + }, + { + text: '3.2.0.18beta8', + link: '/zh-CN/updatelog/beta/3/32018b8.html', + }, + { + text: '3.2.0.18beta5', + link: '/zh-CN/updatelog/beta/3/32018b5.html', + }, + { + text: '3.2.0.18beta4', + link: '/zh-CN/updatelog/beta/3/32018b4.html', + }, + { + text: '3.1.2.17beta3', + link: '/zh-CN/updatelog/beta/3/31217b3.html', + }, + { + text: '3.1.2.17beta1', + link: '/zh-CN/updatelog/beta/3/31217b1.html', + }, + { + text: '3.1.0.15beta3', + link: '/zh-CN/updatelog/beta/3/31015b3.html', + }, + { + text: '3.1.0.15beta2', + link: '/zh-CN/updatelog/beta/3/31015b2.html', + }, + { + text: '3.1.0.15beta1', + link: '/zh-CN/updatelog/beta/3/31015b1.html', + }, + { + text: '3.1.0.15.dev0', + link: '/zh-CN/updatelog/beta/3/31015dev0.html', + }, + { + text: '3.0.2.13rc1', + link: '/zh-CN/updatelog/beta/3/30213rc1.html', + }, + { + text: '3.0.1.12rc1', + link: '/zh-CN/updatelog/beta/3/30112rc1.html', + }, + { + text: '3.0.0.11rc1', + link: '/zh-CN/updatelog/beta/3/30011rc1.html', + }, + { + text: '3.0.0.11alpha3', + link: '/zh-CN/updatelog/beta/3/30011a3.html', + }, + { + text: '3.0.0.11alpha2', + link: '/zh-CN/updatelog/beta/3/30011a2.html', + }, + { + text: '3.0.0.11alpha1', + link: '/zh-CN/updatelog/beta/3/30011a1.html', + }, + { + text: '3.0.0.11.dev4', + link: '/zh-CN/updatelog/beta/3/30011dev4.html', + }, + { + text: '3.0.0.11.dev3', + link: '/zh-CN/updatelog/beta/3/30011dev3.html', + }, + { + text: '3.0.0.11.dev1', + link: '/zh-CN/updatelog/beta/3/30011dev1.html', + }, + ], + }, + ], + }, + ], + }, + ], + '/zh-CN/features/': [ + { + text: '功能', + items: [ + { + text: '介绍', + link: '/zh-CN/features/', + }, + { + text: '清理缓存', + link: '/zh-CN/features/cleancache.html', + }, + { + text: '设置', + link: '/zh-CN/features/settings.html', + }, + { + text: '更新', + link: '/zh-CN/features/update.html', + }, + { + text: '帮助', + link: '/zh-CN/features/help.html', + }, + { + text: 'clickclean', + link: '/zh-CN/features/clickclean.html', + }, + { + text: '扩展', + collapsed: true, + items: [{ text: '介绍', link: '/zh-CN/features/extensions' }], + }, + ], + }, + ], + '/zh-CN/develop': [ + { + text: '开发人员', + items: [ + { + text: '介绍', + link: '/zh-CN/develop/index.html', + }, + { + text: '依赖', + link: '/zh-CN/develop/dependencies.html', + }, + { + text: 'clickmouse库调用', + collapsed: true, + items: [ + { + text: '介绍', + link: '/zh-CN/develop/clicker/index.html', + }, + { + text: '基于python/pyd的调用', + link: '/zh-CN/develop/clicker/python.html', + }, + { + text: '基于C++/dll的调用', + link: '/zh-CN/develop/clicker/cpp.html', + } + ], + }, + { + text: '参与协作', + collapsed: true, + items: [ + { + text: '协作clickmouse', + link: '/zh-CN/develop/contributing/github.html', + }, + { + text: '配置开发环境', + link: '/zh-CN/develop/contributing/configuration.html', + }, + { + text: '文档协作', + link: '/zh-CN/develop/contributing/doc.html', + }, + { + text: 'issue 模板', + link: '/zh-CN/develop/contributing/issue_template.html' + },{ + text: '安全报告', + link: '/zh-CN/develop/contributing/security.html' + }, + { + text: '软件协议', + link: '/zh-CN/develop/contributing/license.html' + } + ], + }, + ], + }, + ], + }, + }, + }, + }, +}); diff --git a/documents/.vitepress/theme/components/alert.css b/documents/.vitepress/theme/components/alert.css new file mode 100644 index 0000000..660f2b0 --- /dev/null +++ b/documents/.vitepress/theme/components/alert.css @@ -0,0 +1,35 @@ +.md-tip { + display: block; + unicode-bidi: isolate; + padding: .5rem 1rem; + margin-bottom: .5rem; + margin-top: 1rem; + color: inherit; + border-left: 3px solid var(--color, #555); +} + +.md-title { + font-weight: 600; + align-items: center; + line-height: 1; + display: flex; + color: var(--color, #555); + margin-top: 0; +} + +svg { + margin-right: .5rem; +} + +.svg-alert { + vertical-align: text-bottom; + display: inline-block; + overflow: visible; + fill: var(--color, #555); +} + +.text { + line-height: 1.5; + margin-bottom: 0; + margin-top: 0; +} \ No newline at end of file diff --git a/documents/.vitepress/theme/components/alert.vue b/documents/.vitepress/theme/components/alert.vue new file mode 100644 index 0000000..d614581 --- /dev/null +++ b/documents/.vitepress/theme/components/alert.vue @@ -0,0 +1,65 @@ + + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/caution.vue b/documents/.vitepress/theme/components/caution.vue new file mode 100644 index 0000000..2099558 --- /dev/null +++ b/documents/.vitepress/theme/components/caution.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/choiceBox.vue b/documents/.vitepress/theme/components/choiceBox.vue new file mode 100644 index 0000000..d70fb9f --- /dev/null +++ b/documents/.vitepress/theme/components/choiceBox.vue @@ -0,0 +1,495 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/ginput.vue b/documents/.vitepress/theme/components/ginput.vue new file mode 100644 index 0000000..c422def --- /dev/null +++ b/documents/.vitepress/theme/components/ginput.vue @@ -0,0 +1,53 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/important.vue b/documents/.vitepress/theme/components/important.vue new file mode 100644 index 0000000..d9535fe --- /dev/null +++ b/documents/.vitepress/theme/components/important.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/info.vue b/documents/.vitepress/theme/components/info.vue new file mode 100644 index 0000000..1041dfa --- /dev/null +++ b/documents/.vitepress/theme/components/info.vue @@ -0,0 +1,27 @@ + + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/mdinput.vue b/documents/.vitepress/theme/components/mdinput.vue new file mode 100644 index 0000000..df55b17 --- /dev/null +++ b/documents/.vitepress/theme/components/mdinput.vue @@ -0,0 +1,1456 @@ + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/note.vue b/documents/.vitepress/theme/components/note.vue new file mode 100644 index 0000000..4adae87 --- /dev/null +++ b/documents/.vitepress/theme/components/note.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/strongCard.vue b/documents/.vitepress/theme/components/strongCard.vue new file mode 100644 index 0000000..cb13df7 --- /dev/null +++ b/documents/.vitepress/theme/components/strongCard.vue @@ -0,0 +1,678 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/subtitle.vue b/documents/.vitepress/theme/components/subtitle.vue new file mode 100644 index 0000000..d56f977 --- /dev/null +++ b/documents/.vitepress/theme/components/subtitle.vue @@ -0,0 +1,64 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/tip.vue b/documents/.vitepress/theme/components/tip.vue new file mode 100644 index 0000000..6d33f0f --- /dev/null +++ b/documents/.vitepress/theme/components/tip.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/components/warning.vue b/documents/.vitepress/theme/components/warning.vue new file mode 100644 index 0000000..f3b01dc --- /dev/null +++ b/documents/.vitepress/theme/components/warning.vue @@ -0,0 +1,25 @@ + + + + + \ No newline at end of file diff --git a/documents/.vitepress/theme/custom.css b/documents/.vitepress/theme/custom.css new file mode 100644 index 0000000..a7a95b0 --- /dev/null +++ b/documents/.vitepress/theme/custom.css @@ -0,0 +1,165 @@ +/* 梦幻色系 */ +:root { + --dream-color-blue-1: #4b83fc; + --dream-color-blue-2: #4f52f4; + --dream-color-blue-3: #3bbaf9; + --dream-color-blue-soft: rgba(63, 87, 244, 0.3); + + --dream-color-cyan-1: #1fb4b2; + --dream-color-cyan-2: #0b90d2; + --dream-color-cyan-3: #51d1cf; + --dream-color-cyan-soft: rgba(13, 157, 154, 0.3); + + --dream-color-gray-1: #808080; + --dream-color-gray-2: #666666; + --dream-color-gray-3: #404040; + --dream-color-gray-soft: rgba(48, 48, 48, 0.3); + + --dream-color-white-1: #ffffff; + --dream-color-white-2: #fafafa; + --dream-color-white-3: #f2f2f2; + --dream-color-white-soft: rgba(247, 247, 247, 0.3); + + --dream-color-lightgray-1: #e0e0e0; + --dream-color-lightgray-2: #c6c6c6; + --dream-color-lightgray-3: #a5a5a5; + --dream-color-lightgray-soft: rgba(204, 204, 204, 0.3); + + --dream-color-black-1: #000000; + --dream-color-black-2: #202020; + --dream-color-black-3: #383838; + --dream-color-black-soft: #2d2d2d4d; + + --dream-color-darkgray-1: #202020; + --dream-color-darkgray-2: #2d2d2d; + --dream-color-darkgray-3: #383838; + --dream-color-darkgray-soft: #2020204d; + + --dream-color-green-1: #19c541; + --dream-color-green-2: #3eeb9d; + --dream-color-green-3: #95f472; + --dream-color-green-soft: rgba(59, 196, 111, 0.3); + + --drean-color-dodgerblue-1: #1e5184; + --dream-color-dogerblue-2: #1a90e4; + --dream-color-dogerblue-3: #7979ef; + --drean-color-dodgerblue-soft: rgba(38, 153, 235, 0.3); + + --drean-color-pink-1: #662a7b; + --drean-color-pink-2: #cf7bcf; + --drean-color-pink-3: #e361e6; + --drean-color-pink-soft: rgba(175, 119, 196, 0.3); + + --dream-color-purple-1: #612778; + --dream-color-purple-2: #9a52f6; + --dream-color-purple-3: #944cbb; + --dream-color-purple-soft: rgba(112, 66, 204, 0.3); + + --dream-color-yellow-1: #9b9917; + --dream-color-yellow-2: #eccb11; + --dream-color-yellow-3: #fcba05; + --dream-color-yellow-soft: rgba(236, 209, 12, 0.3); + + --dream-color-orange-1: #a06f2a; + --dream-color-orange-2: #ed6904; + --dream-color-orange-3: #dfa252; + --dream-color-orange-soft: rgba(238, 148, 14, 0.3); + + --dream-color-red-1: #751818; + --dream-color-red-2: #ec2c6c; + --dream-color-red-3: #e91505; + --dream-color-red-soft: rgba(239, 11, 34, 0.3); +} + +/* 浅色主题变量 */ +:root { + /* 背景色 */ + --vp-c-bg: var(--dream-color-white-1); + --vp-c-bg-alt: var(--dream-color-white-3); + --vp-c-bg-elv: var(--dream-color-white-1); + --vp-c-bg-soft: var(--dream-color-white-2); + + /* 文字色 */ + --vp-c-text-1: var(--dream-color-black-1); + --vp-c-text-2: var(--dream-color-black-2); + --vp-c-text-3: var(--dream-color-black-3); + + /* 品牌色 */ + --vp-c-brand-1: var(--dream-color-cyan-1); + --vp-c-brand-2: var(--dream-color-cyan-2); + --vp-c-brand-3: var(--dream-color-cyan-3); + --vp-c-brand-soft: var(--dream-color-cyan-soft); + + /* 边框 */ + --vp-c-border: var(--dream-color-white-3); + --vp-c-divider: var(--dream-color-lightgray-3); + --vp-c-gutter: var(--dream-color-white-3); + + --vp-c-tip-1: var(--dream-color-black-1); + --vp-c-tip-2: var(--dream-color-green-2); + --vp-c-tip-3: var(--dream-color-green-3); + --vp-c-tip-soft: var(--dream-color-green-soft); + + --vp-c-note-1: var(--dream-color-black-1); + --vp-c-note-2: var(--dream-color-dodgerblue-2); + --vp-c-note-3: var(--dream-color-dodgerblue-3); + --vp-c-note-soft: var(--drean-color-dodgerblue-soft); + + --vp-c-success-1: var(--dream-color-black-1); + --vp-c-success-2: var(--dream-color-pink-2); + --vp-c-success-3: var(--dream-color-pink-3); + --vp-c-success-soft: var(--drean-color-pink-soft); + + --vp-c-important-1: var(--dream-color-black-1); + --vp-c-important-2: var(--dream-color-purple-2); + --vp-c-important-3: var(--dream-color-purple-3); + --vp-c-important-soft: var(--dream-color-purple-soft); + + --vp-c-warning-1: var(--dream-color-black-1); + --vp-c-warning-2: var(--dream-color-yellow-2); + --vp-c-warning-3: var(--dream-color-yellow-3); + --vp-c-warning-soft: var(--dream-color-yellow-soft); + + --vp-c-danger-1: var(--dream-color-black-1); + --vp-c-danger-2: var(--dream-color-orange-2); + --vp-c-danger-3: var(--dream-color-orange-3); + --vp-c-danger-soft: var(--dream-color-orange-soft); + + --vp-c-caution-1: var(--dream-color-black-1); + --vp-c-caution-2: var(--dream-color-red-2); + --vp-c-caution-3: var(--dream-color-red-3); + --vp-c-caution-soft: var(--dream-color-red-soft); +} + +/* 深色主题变量 */ +.dark { + /* 背景色 */ + --vp-c-bg: var(--dream-color-darkgray-1); + --vp-c-bg-alt: var(--dream-color-darkgray-2); + --vp-c-bg-elv: var(--dream-color-darkgray-3); + --vp-c-bg-soft: var(--dream-color-darkgray-2); + + /* 文字色 */ + --vp-c-text-1: var(--dream-color-white-1); + --vp-c-text-2: var(--dream-color-gray-1); + --vp-c-text-3: var(--dream-color-lightgray-3); + + /* 品牌色 */ + --vp-c-brand-1: var(--dream-color-blue-1); + --vp-c-brand-2: var(--dream-color-blue-2); + --vp-c-brand-3: var(--dream-color-blue-3); + --vp-c-brand-soft: var(--dream-color-blue-soft); + + /* 边框 */ + --vp-c-border: var(--dream-color-gray-3); + --vp-c-divider: var(--dream-color-gray-1); + --vp-c-gutter: var(--dream-color-gray-2); + + --vp-c-tip-1: var(--dream-color-white-1); + --vp-c-note-1: var(--dream-color-white-1); + --vp-c-success-1: var(--dream-color-white-1); + --vp-c-important-1: var(--dream-color-white-1); + --vp-c-warning-1: var(--dream-color-white-1); + --vp-c-danger-1: var(--dream-color-white-1); + --vp-c-caution-1: var(--dream-color-white-1); +} \ No newline at end of file diff --git a/documents/.vitepress/theme/index.js b/documents/.vitepress/theme/index.js new file mode 100644 index 0000000..f0dda4e --- /dev/null +++ b/documents/.vitepress/theme/index.js @@ -0,0 +1,6 @@ +import DefaultTheme from 'vitepress/theme'; +import './custom.css'; + +export default { + ...DefaultTheme +}; diff --git a/documents/agents.md b/documents/agents.md new file mode 100644 index 0000000..bcfce2c --- /dev/null +++ b/documents/agents.md @@ -0,0 +1,16 @@ +# agent对话模板 +## 需求 +需要把zh-CN下的所有markdown文件翻译成英语,并输出到en文件夹下。 + +如果文件内容有图片。并且图片路径有zh-CN,则把这个图片的zh-CN替换为en,并保持原文件夹结构。 + +## 条件 +- 不能把zh-CN文件夹替换掉,需要保留原文件夹;也不能修改zh-CN文件夹的内容 +- 我的中文文档不会有错误,如果有疑似错误,也不要修正后翻译,按照原文翻译。 +- 如果en文件夹已存在,则清空该文件夹后再写入。 +- 不要翻译已经是英文的内容(如产品名,网址等)。 +- 翻译的英文要符合语法。 +- 翻译不能修改文档的结构,需要和zh-CN的格式一致。 +- 注释不用翻译。 +- 必须翻译所有的内容,不能只翻译部分内容。 +- 不能动其他配置文件 \ No newline at end of file diff --git a/documents/en/blog/decoupling-code-and-ui.md b/documents/en/blog/decoupling-code-and-ui.md new file mode 100644 index 0000000..c451af8 --- /dev/null +++ b/documents/en/blog/decoupling-code-and-ui.md @@ -0,0 +1,59 @@ +--- +title: Decoupling code and ui +layout: doc +--- + +# Decoupling UI and program + +## Background + +- To increase extensibility, users can import other player's gui files. +- To reduce code redundancy. + +## Result + +Move all ui control code to `res/ui/` directory, so that other player's gui files can be imported to extend the functionality. + +Make the source code a code library, and modify the operation through the `name` component attribute. + +## Format + +The `gui` file is in json format, like: + +```json +{ + "name": "layout", + "value": { + "direction": "h", + "content": [ + { + "name": "button", + "value": { + "type": "QPushButton", + "args": ["hello"], + "style": "selected", + "init_steps": { "setFixedHeight": [30], "setFixedWidth": [100] } + } + }, + { + "name": "label", + "value": { + "type": "QLabel", + "args": ["world"], + "style": "big_text_16", + "init_steps": { "setFixedHeight": [30], "setFixedWidth": [100] } + } + } + ] + } +} +``` + +## Enable method + +
Minimum required clickmouse version +

+Clickmouse beta, >=3.3.0.23alpha5 +

+
+Open the main program settings, find `Labs`, check `Decoupling UI and program`, restart the program. \ No newline at end of file diff --git a/documents/en/develop/clicker/cpp.md b/documents/en/develop/clicker/cpp.md new file mode 100644 index 0000000..1133005 --- /dev/null +++ b/documents/en/develop/clicker/cpp.md @@ -0,0 +1,75 @@ +--- +title: Python/pyd calling +description: Introduction to how to use Python to call pyd files. +layout: doc +--- + + + +# header/dll calling + +This article introduces how to use Python to call pyd files. + +## Download + +Go to [github releases](https://github.com/xystudiocode/pyclickmouse/releases), find latest version with .h or dll version files. + + +In the following text, CLICKMOUSE_CLASS in dll refers to int, in header calling refers to void. + + +## Function Library + +`ClickMouse` function: +- Definition: +```cpp +CLICKMOUSE_CLASS ClickMouse( + unsinged int MouseButton, + unsigned int delay, + unsigned int pressTime, + int times = 1 +) +``` +- Parameters: +- - MouseButton: Pressed key, optional `LEFT` or `RIGHT` +- - delay: Click delay +- - time: Click count, default is 1 time, if `INFINITE` then infinite + +`LeftClick` function: +```cpp +CLICKMOUSE_CLASS LeftClick( + int times = 1, + unsigned int delay, + unsigned int pressTime +) +``` +Equivalent to `ClickMouse(LEFT, delay, pressTime, times)` + +`RightClick` function: +```cpp +CLICKMOUSE_CLASS RightClick( + int times = 1, + unsigned int delay, + unsigned int pressTime +) +``` +Equivalent to `ClickMouse(RIGHT, delay, pressTime, times)` + +## Example +```cpp +#include +#include +using namespace std; + +int main(){ + cout << CLICKMOUSE_VERSION << endl; // Print version information, if successfully output a string of numbers, then installation successful + clickMouse(LEFT, 1000, 10, 10); // Click left button 10 times, interval 1000ms, press time 10ms + return 0; +} +``` +## Usage Priority +```mermaid +graph LR +C[C/C++] --> E[dll calling] --> D[command line calling] \ No newline at end of file diff --git a/documents/en/develop/clicker/index.md b/documents/en/develop/clicker/index.md new file mode 100644 index 0000000..322765f --- /dev/null +++ b/documents/en/develop/clicker/index.md @@ -0,0 +1,30 @@ +--- +title: clickmouse Clicker Introduction +description: Introduction to ClickMouse clicker +layout: doc +--- + +# Introduction + +clickmouse library is an open source mouse control library, can perform mouse click operations. + +## clickmouse library + +clickmouse library is a library for controlling mouse, can simulate mouse click operations. + +Select documentation on the right for reference. + +## Calling Methods +Calling methods include: +- ✅ C/C++ header file calling Using original C++ version clickMouse modified Fastest speed, best compatibility, but highest possibility of usage failure. Can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- ✅ Using original C++ version clickMouse Fastest speed, best compatibility, but highest possibility of usage failure, already stopped updating, can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases), [previous clickmouse project](https://github.com/xystudio889/ClickMouse) +- ✅ Using .dll calling Based on C++ language, fastest speed, better compatibility, highest possibility of usage failure. (Configuration more difficult, recommend using C/C++ header files) Can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- ✅ (Developer recommended) python calling Medium speed, best compatibility, lowest possibility of usage failure. Can use `pip install clickmouse` to download +- ✅ Using .pyd calling Based on python language, faster speed, poorer compatibility (different python versions may not be compatible), lower possibility of usage failure. Can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) (separate compilation only needs to compile cython/ directory) +- ❌ Using standard command line Based on python language. ~~Will be included in GUI version and pip installation version~~ Temporarily no such version, please stay tuned + +## Usage Priority +```mermaid +graph LR +A[python] --> B[pyd calling] --> D[command line calling] +C[C/C++] --> E[dll calling] --> D \ No newline at end of file diff --git a/documents/en/develop/clicker/python.md b/documents/en/develop/clicker/python.md new file mode 100644 index 0000000..6efcd0a --- /dev/null +++ b/documents/en/develop/clicker/python.md @@ -0,0 +1,67 @@ +--- +title: Python/pyd calling +description: Introduction to how to use Python to call pyd files. +layout: doc +--- + + + +# Python/pyd calling + +This article introduces how to use Python to call pyd files. + +## Download + +### Library +Run `pip install clickmouse`, wait for download to complete + + +If you are in China, `pip` speed is slow, you can enter: + +
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple clickmouse
+
+ +```bash +pip install -i https://pypi.tuna.tsinghua.edu.cn/simple clickmouse +``` + +### pyd +Go to [github releases](https://github.com/xystudiocode/pyclickmouse/releases), find latest version with pyd version files. + +::: warning Note +Please ensure downloading pyd files. + +pyd files need to match python version, for example Python3.7 needs to download version with `cp37`. + +free threaded version pyd files download needs to include t, such as 3.14t needs to download version with `cp314t`. +::: + +## Function Library + +`click_mouse` function: +- Definition: +```python +def click_mouse( + button: Literal['left', 'right'], + delay: int, + time: int=1) -> None: +``` +- Parameters: +- - button: Pressed key, optional `clickmouse.LEFT` or `clickmouse.RIGHT` +- - delay: Click delay +- - time: Click count, default is 1 time, if `clickmouse.INFINITE` then infinite + +## Example + +```python +import clickmouse + +clickMouse.click_mouse(clickmouse.LEFT, 1000, 10, 10) # Click left button 10 times, interval 1000ms, press interval 10ms +``` + +## Usage Priority +```mermaid +graph LR +A[python] --> B[pyd calling] --> D[command line calling] \ No newline at end of file diff --git a/documents/en/develop/contributing/Configuration.md b/documents/en/develop/contributing/Configuration.md new file mode 100644 index 0000000..367d715 --- /dev/null +++ b/documents/en/develop/contributing/Configuration.md @@ -0,0 +1,47 @@ +--- +title: Configuring Repository +description: Introduction to how to configure repository +layout: doc +--- + +# Configuring Repository +1. Download repository: `git clone https://github.com/xystudiocode/pyclickmouse.git` +2. For python version install python, recommend using 3.13, consistent with software developer's version, [download link](https://www.python.org/downloads/release/python-31312/) +3. For header files and dll version, can install [visual studio](https://visualstudio.microsoft.com/). +## GUI Version +1. Download source code +2. Place a `7z.exe` and `7z.dll` in `gui` directory +3. Install chocolately +```powershell +Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) +``` +4. Install make tool +```powershell +choco install make +``` +5. Configure python packages +```powershell +pip install -r requirements.txt +``` +6. Compile +```powershell +make clickmouse # compile clickmouse +make extension # compile extension +make clickclean # if you want to make clean version, please run this command +``` +7. Run `dist/clickmouse/main.exe` to load clickmouse. +## Header Files +Only need to modify header files, can be called +## dll Calling +Use visual studio modify `./dll/dll.sln` inside `source files/dllmain.cpp` +## GUI Old Version +GUI old version recompilation does not accept pull request +Use visual studio modify `./ClickMouse-old/ClickMouse.sln` inside `source files/clickmouse.cpp` +## python Library Calling +Modify code under `clickmouse/`, run `pip install .` to install +## pyd Calling +Modify code of `cython/main.py`, then execute +```python cython/setup.py build_ext --inplace``` +After compilation ends, there should be a file ending with `.pyd` in this directory. \ No newline at end of file diff --git a/documents/en/develop/contributing/SECURITY.md b/documents/en/develop/contributing/SECURITY.md new file mode 100644 index 0000000..ebf862f --- /dev/null +++ b/documents/en/develop/contributing/SECURITY.md @@ -0,0 +1,29 @@ +# Security Policy + +## How to report a vulnerability + +Commit a GitHub security to report a vulnerability. Provide detailed information about the affected range, trigger condition, and vulnerability details. + +## Security Policy + +```markdown +# Security Policy + +## Supported Versions + +clickmouse >= **version** + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. + +## How to fix +> [!TIP] +> This section is optional. + +If the vulnerability is accepted, provide information on how to fix the vulnerability. +``` \ No newline at end of file diff --git a/documents/en/develop/contributing/doc.md b/documents/en/develop/contributing/doc.md new file mode 100644 index 0000000..f411457 --- /dev/null +++ b/documents/en/develop/contributing/doc.md @@ -0,0 +1,136 @@ +--- +title: Participating in Documentation Collaboration +description: Introduction to how to participate in documentation collaboration +layout: doc +--- + +# Documentation Collaboration + +commit message etc. content not repeated, please check Collaboration Documentation + + +## Reasons for Modifying Content +If actual functionality does not match documentation description, please modify documentation description, not modify code. + +::: warning Note +Cannot modify code, only can modify content, and need to ensure modified content matches actual. +::: + +Also can be you want to modify typos, add new description + +Or documentation not updated in time, but this way you suggest first submit an issue. + +## Modification Methods +If you only want to modify one document, you can directly click `Edit this page` below document page to modify + +But if you want to modify many documents, you need to download repository then modify. + +::: warning Note +If want to modify content, need to submit PR not directly merge. +::: + +### Local Configuration +#### Install Environment +First you need to install git, Chinese users open [this link]`https://cn-git.com/`, foreign users please search yourself. +You also need to install nodejs, open [this link](https://nodejs.org/) + +#### Configure npm +npm is Node.js package management tool, we need to configure npm to use it. +##### Create Folders +Open your Node.js installation directory (e.g. D:\software\nodejs, following examples use this), manually create two folders: +``` +node_global +node_cache +``` + +##### Execute Configuration Commands +In terminal, execute following two commands in order (note replace with your actual path): +```bash +npm config set prefix "D:\software\nodejs\node_global" +npm config set cache "D:\software\nodejs\node_cache" +``` +##### Configure Environment Variables +If not configure this, later you use npm install -g installed tools will prompt "command not found". + +1. On desktop right click "This PC" -> "Properties" -> "Advanced system settings" -> "Environment Variables". +2. Modify `Path` in 【System Variables】: +2. 1. Find `Path` variable, click "Edit". +2. 2. Check if have default C drive npm path, if yes, delete it. +2. 3. Create new one, fill your Node.js installation path: `D:\software\nodejs\`. +3. Create/Modify Path in 【User Variables】: +3. 1. In 【User Variables】 find Path, click "Edit". +3. 2. Change default `C:\Users\username\AppData\Roaming\npm` to: `D:\software\nodejs\node_global`. +::: info Tip +If don't have this `C:\Users\username\AppData\Roaming\npm`, create new one, fill your Node.js installation path. +::: +4. Create `NODE_PATH` variable: +4. 1. In 【System Variables】 area, click "New". +4. 2. Variable name: `NODE_PATH` +4. 3. Variable value: `D:\software\nodejs\node_global\node_modules` +4. 4. Click OK save all windows. +##### Configure Mirror (For Chinese Developers) +Default npm source is abroad, download speed slow. We configure Taobao latest mirror source, in terminal input: +```bash +npm config set registry https://registry.npmmirror.com +``` +Verify if configuration successful: +```bash +npm config get registry +``` + +If returns `https://registry.npmmirror.com/`, indicates speed up successful. + +#### Clone Repository +You need create fork on github, then clone to local: + +You can use `git clone https://github.com/username/pyclickmouse.git` download source code to local + +Run `npm install` in **administrator terminal** to install dependencies. + +#### Publish and Submit +You need create new branch: +```bash +git checkout -b my-branch +``` +And create remote link: +```bash +git remote add origin https://github.com/username/pyclickmouse.git +``` + +Configure your email and username: +```bash +git config --global user.email "your email" +git config --global user.name "your name" +``` + +Then, you can submit. + +Documentation path is at `documents/`. + +--- + +When publishing, may need your username and password, so you need set a key on github. + +1. Set name and expiration time, in `Repository access` select All repositories, +2. Click `Add permissons`, select `Contents`, `Contents` checkbox select `Read and write`, then select `workflows`, confirm. + +Then, you can publish. + +#### Submit PR +You need create Pull request on [this link](https://github.com/xystudiocode/pyclickmouse), then wait for review. + +[Click to understand PR specifications](./github.md) + +Open [this link](https://github.com/settings/personal-access-tokens/new) + +#### Compile and Debug +Can run `npm run dev` open compilation environment, open webpage according to prompt. + +Run `npm run build` compile script, can put in `/pyclickmouse/` directory to deploy. + + +But we will automatically deploy each commit to main branch, so you don't need compile yourself. + \ No newline at end of file diff --git a/documents/en/develop/contributing/github.md b/documents/en/develop/contributing/github.md new file mode 100644 index 0000000..57c0970 --- /dev/null +++ b/documents/en/develop/contributing/github.md @@ -0,0 +1,123 @@ +--- +title: Participating in Collaboration +description: Introduction to how to participate in collaboration +layout: doc +--- + + + +# Participating in Collaboration +## commit message + +Need follow following format: +``` +Update type(Update module):(optional)(version number) (Update summary): + +- [(optional)Sub update type]Update content 1 +- [(optional)Sub update type]Update content 2 +- ... +``` + +Update types have these contents: +| Type | Description | +| --- | --- | +| ✅feat | New feature | +| 🔧modify | Modify feature | +| 🐛fix | Fix bug | +| ⚒️refactor | Refactor | +| 📃docs | Modify documentation, e.g. README | +| ❇️style | Modify code style, not affecting functionality | +| 🔎test | Add test, modify test | +| 📆chore | Miscellaneous, e.g. modify .gitignore | +| ⏫perf | Performance optimization | +| 🛒ci | CI/CD related changes | +| 🚅build | Modify build system or dependencies | +| ◀️revert | Rollback | +| 🔡dependency | Dependency update | +| ❌remove | Remove deprecated components | +| ↪️move | Moved components | +| ❓unknown | Unknown type | +| Custom | Try to describe with intuitive English word, best with emoji | + +When content many need add update type prompt for update content + +## Branches + +Please update according to branch structure shown in this diagram: +Merge Steps + +Created branches need start with `feature/` to indicate feature branch, or create a fork, and develop in fork branch. + +When publishing pr need select **merge to `develop` branch**. + +## Version Number +clickmouse version format: `A.B.C.D[(alpha | beta |.dev | rc) E]` +## Official Version +Official version without .dev, alpha, beta or rc suffix. + +A position represents major update, has code level changes. E.g. 1.0 upgrade to 2.0 refactored code. + +B position represents normal update, usually updates some major features. + +C position represents fix update, usually updates some minor features and some bugs. + +D position represents version code, usually +1 when A, B, C positions change. Also possible A, B, C positions not change, D position +1, this represents emergency update, usually fixes several major impact bugs. + +## Test Version +Test version with .dev, alpha, beta or rc suffix. + +Usually preceding `A.B.C.D` unchanged during test cycle, represents next version. + +`.dev` represents early development update, functionality unstable, many bugs, located at version project initial stage.The new features in this phase will be put in the lab and turned off by default. + +`alpha` represents late development update, functionality incomplete, many bugs, located at version project early stage.The new features in this phase will be put in the lab and turned off by default. + +`beta` represents release test update, functionality complete, fewer bugs, will not add new features, located at version project middle stage. It is usually released in the middle of the development cycle and will gradually merge features from the lab. + +`rc` represents pre-release version, functionality complete, fewer bugs, will fix some important security issues or bugs, closest to official version, about to release official version, located at version project final stage. + +## issue +- Title format: `[Type] Title` etc., can write casually, but need accurately describe update content. +- Content should accurately write your requirements, and optionally give solutions, upload screenshots, add additional information (e.g. clickmouse version number) +- Types are `bug`, `enhancement`, `question` etc. +- We provided some templates, can directly use. +- Use `labels` to mark issue type, e.g. `bug`, `enhancement`, `question` etc. +- Set issue `milestone` to version you want to apply. +- Security issues please see [Security Documentation](./SECURITY.md). + +## pr +- Title format: `[Type] Title` +- Use `labels` to mark pr type, e.g. `bug`, `enhancement`, `question` etc. +- Associate issue, so we can know which issue this pr solves. +- Need accurately write update content, associate to version number milestone. +- Optionally add implementation ideas + +### Specifications +Our pr merge order: +```mermaid +graph LR +A(Other user feature development branch) --> B(develop branch) +B --> C(main branch) +``` + +pr no specific format, but must clearly describe update content, associate to version number milestone; title need briefly describe update content, if fixed or added suggestions in issue, write that issue number in this line, if multiple duplicate issues appear, only write one, and simply describe this bug. + +### Express pr + +Express pr please use carefully + + +- Express pr means skip some normal pr merge branch steps, to faster merge to target branch functionality. +- Title format: `[✈️Express] Title` +- Using express must explain reason in pr description + +If someone express merge, but didn't write express merge reason, then reject merge that person's branch. + +Express pr has high priority, will process first. + +## milestone +- We set a milestone for each version, to manage that version's issues and pr. +- Need each issue or pr associate to a milestone, so we can know if that issue or pr added in next version. +- milestone format:`dev_version number` \ No newline at end of file diff --git a/documents/en/develop/contributing/issue_template.md b/documents/en/develop/contributing/issue_template.md new file mode 100644 index 0000000..f2c3844 --- /dev/null +++ b/documents/en/develop/contributing/issue_template.md @@ -0,0 +1,213 @@ +--- +title: issue template +description: View issue template online +layout: doc +--- + + + + + + +# issue template +## Bug Report +Report a bug. +
+ +Add a title + +To avoid causing more trouble, before reporting issue, first check if others have already reported same problem.Check if duplicate exists😊 +We will not handle issues on gitee, please use github to publish.🙋‍♂️ +Please only report 1 problem at a time.😀 +🔡Clickmouse version + +🎭Did you discover bug from official version +

❗clickmouse official version only published ongithub releases or gitee releases, others are unofficial versions.

+ + +
+🐛Module where you encountered bug + +🐍Describe your bug. + +🔦Impact of this bug. + +📝Reproduction steps + +ℹ️Estimated affected Clickmouse versions + +📄Your solution step ideas + +🔄️Bug mitigation solutions + +📂File logs + +➕Other related information + +
+ +## Feature Request +A new feature you suggest to add. +
+ +Add a title + +To avoid causing more trouble, before reporting issue, first check if others have already reported same problem.Check if duplicate exists😊 +We will not handle issues on gitee, please use github to publish.🙋‍♂️ +Please only report 1 feature at a time.😀 +❇️Module for new feature + +📄New feature description + +❔Reason for needing this feature + +🧾Implementation step ideas + +➕Other related information + + + +## New Standard +Will suggest, establish or modify a standard. +
+ +Add a title + +To avoid causing more trouble, before reporting issue, first check if others have already reported same problem.Check if duplicate exists😊 +We will not handle issues on gitee, please use github to publish.🙋‍♂️ +Please only report 1 project at a time.😀 +🧾New project + +ℹ️Clickmouse version for project implementation + +❓Reason for needing these projects + +➕Other related information + + + +## Task Order +Some task orders, can be used to draft new version planning, etc. +
+ +Add a title + +To avoid causing more trouble, before reporting issue, first check if others have already reported same problem.Check if duplicate exists😊 +We will not handle issues on gitee, please use github to publish.🙋‍♂️ +☑️Modules included in new task + +📄Description of each new feature + +❓Reason for needing these features + +📄Implementation step ideas + +➕Other related information + + \ No newline at end of file diff --git a/documents/en/develop/contributing/license.md b/documents/en/develop/contributing/license.md new file mode 100644 index 0000000..7859800 --- /dev/null +++ b/documents/en/develop/contributing/license.md @@ -0,0 +1,42 @@ +--- +title: Software License +description: Introduction to software license +layout: doc +--- +# Software License +## Copyright Notice +Mouse icon by Icons8 + +## Open Source License +This software is based on the MIT open source license. I will include the license content at the end. You can copy, modify, and distribute this software and documentation site, but you must retain the original author information and license declaration in the source code. + +This software and documentation site are both open source on GitHub. You can open them at [Software link](https://github.com/xystudiocode/pyclickmouse) + +At the same time, the software source code is open source on Gitee for convenient download by Chinese users. [Software link](https://gitee.com/xystudio889/pyclickmouse) + +## Commercial Authorization +We do not oppose commercial authorization. You can use this software for commercial purposes without contacting the author, but you must retain the original author information and license declaration in the source code. + +## License Content +``` +MIT License + +Copyright (c) 2026 xystudiocode + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/documents/en/develop/dependencies.md b/documents/en/develop/dependencies.md new file mode 100644 index 0000000..10ad1d9 --- /dev/null +++ b/documents/en/develop/dependencies.md @@ -0,0 +1,19 @@ +--- +title: Dependencies +description: clickmouse dependencies +layout: doc +--- + +# clickmouse dependencies +- PySide6: For GUI interface, it is the graphical core framework +- pyautogui: Mouse clicker core +- requests: Used to check version number +- nuitka: Library for packaging as GUI or ~~interactive command line~~ +- cython: Library for packaging as pyd +- setuptools: Library for packaging as python package +- pywin32: win32 control +- pynput: Keyboard control library +- pyperclip: Clipboard library +- psutil: Process management library +- packaging: Version management library +- pytz: Timezone management library \ No newline at end of file diff --git a/documents/en/develop/index.md b/documents/en/develop/index.md new file mode 100644 index 0000000..b4f67a8 --- /dev/null +++ b/documents/en/develop/index.md @@ -0,0 +1,34 @@ +--- +title: Introduction +description: Introduction to ClickMouse developer version +layout: doc +--- + + + +# Introduction + +ClickMouse developer version provides some code libraries, with the following features: + +- clickmouse library: +- - Library for controlling mouse, can simulate mouse click operations. +- ~~clickmouse api: Create clickmouse extensions through python~~ Not yet completed + +## clickmouse library + +clickmouse library is a library for controlling mouse, can simulate mouse click operations. + +Go to [documentation](./clicker/) for reference. + +## clickmouse api +~~clickmouse api creates clickmouse extensions through python, can implement some extension functions, such as:~~ + +::: warning Tip +clickmouse api not yet completed +::: + +## clickmouse officially made python libraries +- clickmouse: Clicker management library +- clickmouse_api: Extension creation calling api \ No newline at end of file diff --git a/documents/en/features/cleancache.md b/documents/en/features/cleancache.md new file mode 100644 index 0000000..26be13c --- /dev/null +++ b/documents/en/features/cleancache.md @@ -0,0 +1,39 @@ +--- +title: Clean Cache +description: Clean cache +layout: doc +--- + + + + +# Clean Cache + +::: warning Warning +Not recommended to manually clean cache, because clickmouse will automatically clean cache. +::: + +## Function Description + +Can be used to clean clickmouse's cache, currently can clean: + +- Logs: Used for feedback error information +- Update cache: Used to reduce update check requests +- Other temporary files: Usually not generated, unless you manually created temporary files + + + +## Usage Method + +1. Open File - Clean Cache +2. Select the cache type to clean +3. (Optional) Click "Scan" button to scan cache file size +3. Click "Clean" button to start cleaning cache \ No newline at end of file diff --git a/documents/en/features/clickclean.md b/documents/en/features/clickclean.md new file mode 100644 index 0000000..23f0d78 --- /dev/null +++ b/documents/en/features/clickclean.md @@ -0,0 +1,42 @@ +--- +title: ClickClean +description: ClickClean +layout: doc +--- + + + +# ClickClean + +ClickClean is a version of clickmouse with a simplified interface, removing the following features: + +- Most settings, leaving only hotkeys, clicker, and a small number of basic settings +- Clicker properties and quick click settings +- Cache cleaning +- Updates +- Extensions +- Installer and uninstaller + +Additionally: +- Lightweight and fast: the installer is much smaller +- No installation required, just download and run + +ClickClean +
+ClickClean Settings diff --git a/documents/en/features/extensions/index.md b/documents/en/features/extensions/index.md new file mode 100644 index 0000000..43ddf81 --- /dev/null +++ b/documents/en/features/extensions/index.md @@ -0,0 +1,12 @@ +--- +title: Extensions +description: clickmouse features +layout: doc +--- + +# Features + +clickmouse provides powerful extensibility, but currently we are making extension api, so extensions are temporarily only official components. + +Official extension list: +- Repair Tool: One-click repair mouse clicker startup issues, can also restore to just downloaded state, and through removing components, no need for online reinstallation. \ No newline at end of file diff --git a/documents/en/features/help.md b/documents/en/features/help.md new file mode 100644 index 0000000..4eec503 --- /dev/null +++ b/documents/en/features/help.md @@ -0,0 +1,46 @@ +--- +title: Help Menu +description: Help menu +layout: doc +--- + + + +# Help Menu + +## About + +### Function Description +Can query clickmouse version, author and other information. + +### Function List +- Query version number + +### Usage Method +1. Open `Help` menu -> click `About` button + +## Feedback +### Function Description +If you have any opinions or suggestions, you can provide feedback by clicking the feedback menu + +The opened URL is the `Software Feedback URL` in settings, default is [link](https://github.com/xystudiocode/pyclickmouse/issues/new/choose)`https://github.com/xystudiocode/pyclickmouse/issues/new/choose` + +### Usage Method +1. Open `Help` menu -> click `Feedback` button +2. According to prompts, fill in relevant content and submit + +## Documentation +### Function Description +Can open clickmouse's official documentation for reference + +Default opened URL is the `Documentation Link` in settings, default is [link](https://xystudiocode.github.io/pyclickmouse/)`https://xystudiocode.github.io/pyclickmouse/` + +About \ No newline at end of file diff --git a/documents/en/features/index.md b/documents/en/features/index.md new file mode 100644 index 0000000..3ed14de --- /dev/null +++ b/documents/en/features/index.md @@ -0,0 +1,26 @@ +--- +title: Features +description: clickmouse features +layout: doc +--- + +# Features + +clickmouse has many features, they are all in the menu section: + +- File: +- - Clean Cache: Clean cache, free up memory. +- - Exit: Exit program. +- Settings: Set some parameters of the software. +- Update: +- - Check for Updates: Check if software has updates. +- - Update Log: View update log. +- Help: +- - About: View software version, author, license information. +- - Hotkey Help: View software hotkeys. +- - Help: View clickmouse documentation. +- - Feedback: Send feedback to the author. +- Extensions: +- - Official Extensions: +- - - Manage Extensions: Install, uninstall extensions through clickmouse's package manager. +- - - Extension Software: Official extension software, see [Extension List](./extensions/). \ No newline at end of file diff --git a/documents/en/features/settings.md b/documents/en/features/settings.md new file mode 100644 index 0000000..b680257 --- /dev/null +++ b/documents/en/features/settings.md @@ -0,0 +1,564 @@ +--- +title: Settings +description: Settings +layout: doc +--- + + + + + +# Settings + +Some settings items need beta version and open some developing features to enable. + +## Function Description + +Can be used to manage clickmouse's operation strategies. + +## Function List + +- General Settings: Adjust some items not in the list below, such as software language. +- Style Settings: Set clickmouse's theme, style. +- Clicker Settings: Control clicker behavior, such as default click interval, click count. +- Update Settings: Used to control clickmouse's update service, such as whether to auto-update, update check frequency. +- Hotkey Settings: Used to control hotkey functions, such as left click, right click hotkeys. +- Documentation Settings: Control documentation function default opened website. +- Notification Settings: Used to control software notification reminders, such as whether to show notifications. + +## General Settings +General settings include some basic software settings, such as software language, etc. + +Setting items include: +- Software Language: Used to switch software language, currently officially supports Simplified Chinese and English. +- - Type: Dropdown box +- - Default value: System language +- - Optional values: Determined by language pack files, officially supports `Simplified Chinese` and `English`. +- - Field name: `select_language` +::: tip Tip +After switching language, software needs to restart to take effect. +::: +::: info Tip +If custom language pack is not updated in time, lacking translation for new content, new content will display in English. +::: +- Keep Tray Icon: Used to control whether software shows icon in taskbar; +- - Type: Checkbox +- - Default value: On +- - Field name: `show_tray_icon` + +If turn off Keep Tray Icon option, tray icon will not completely close, but will exit after program main window closes. + + +- Auto-start on Boot: If checked, software will automatically start when system boots; +- - Default value: Off +- - Field name: None, it depends on system's own auto-start settings. +- Reset Auto-start Configuration: If your auto-start shows window or has other issues, you can try clicking this button to repair. +- - Type: Button +- Software Feedback URL: Controls the URL opened during software feedback. +This setting item needs to enable More settings to enable. + +- - Type: Input box +- - Default value: [link](https://github.com/xystudiocode/pyclickmouse/issues/new/choose) `https://github.com/xystudiocode/pyclickmouse/issues/new/choose` +- - Field name: `feedback` +- Reset feedback URL: Reset the feedback URL to default value. +This setting item needs to enable More settings to enable. + +- - Type: Button +- Software Response Delay: Used to control software response speed; *Faster response delay means faster response when switching styles, but CPU usage will also be higher.* +- - Type: Slider +- - Default value: 100ms +- - Minimum value: 1ms +- - Maximum value: 1000ms +- - Interval value: 10ms +- - Field name: `soft_delay` + +- Hide "lab" tab when no experimental features: If checked, "lab" tab will be hidden when no experimental features. +This setting item needs to enable More settings to enable. + +- - Type: Checkbox +- - Default value: On +- - Field name: `hide_flags` + +- Reset All Settings: Used to restore default settings, after restoration need to restart software to take effect. +- - Type: Button + +::: warning Warning +***Settings modifications take effect immediately, but some settings require restarting software to take effect.*** + +This operation will overwrite previous settings, relatively dangerous, please operate carefully. +::: + +General Settings + +--- + +## Style Settings + +Style settings used to adjust software theme and style. + +Setting items include: +- Window Style: Used to switch software window style; +- - Type: Dropdown box +- - Default value: System default +- - Optional values: Determined by style files, officially supports according to system color, light, dark +- - Field name: `select_style` +- Use Windows accent color to display components: Control whether components use Windows accent color; after turning off, use clickmouse color. See demo below +- - Type: Checkbox +- - Default value: On +- - Field name: `use_windows_color` + +This operation will not completely change component style, checkboxes and other components will still use system accent color + + +
+

Color demo:

+
+ + +
+
+ + +
+
+ +- Window Theme: Set window theme +- - Type: Dropdown box +- - Default value: Determined by system version: +- - - Windows 10: `Windows10` style +- - - Windows 11: `Windows11` style +- - - Other Windows: `Windows` style +- - - Other: `Fusion` style +- - Optional values: Determined by system, Windows has: `Windows standard style`, `Windows classic style`, `Windows Vista style` and `Fusion style` +- - Field name: `theme` + +::: warning Warning +Some themes cannot adapt well to other clickmouse components, such as dark mode, inverted color mode, etc. +::: + +Style Settings + +## Clicker Settings + +Can set some clicker parameters, such as click interval, click count, etc. + +Setting items include: +- Click Delay Default Value: Control default delay when click number is empty +- - Type: Input box +- - Default value: Empty +- - Field name: `click_delay` +- Click Delay Unit: Control default delay unit +- - Type: Dropdown box +- - Default value: `Millisecond` +- - Optional values: `Millisecond`, `Second` +- - Field name: `delay_unit` +- Default Value Used When Click Delay Error: If enabled, when click delay input box input error, will use default value +- - Type: Checkbox +- - Default value: Off +- - Field name: `delay_error_use_default` + +This operation is disabled when Click Delay parameter is set to empty + + + +If turn off this option, only when click is empty will use default value; after enabling, as long as input format error will use default value. + + +- Click Count Default Value: Control default count when click count is empty +- - Type: Input box +- - Default value: Empty +- - Field name: `click_times` +- Click Count Unit: Control default click count unit +- - Type: Dropdown box +- - Default value: `Times` +- - Optional values: `Times`, `Ten thousand times`, `Infinite` +- - Field name: `times_unit` +- Default Value Used When Click Count Error: If enabled, when click count input box input error, will use default value +- - Type: Checkbox +- - Default value: Off +- - Field name: `times_error_use_default` +- Total Click Time: Total time calculated through software click count and interval. +- - Type: Text +- - Value: Total time calculated based on click count and interval +- - Field name: None + +Clicker Settings + +## Update Settings + +Used to control software's update service, such as whether to auto-update, update check frequency. +Setting items include: +- Enable Update: If enabled, can manage update settings below. +- - Type: Checkbox +- - Default value: On +- - Field name: `update_enabled` + +I do not recommend turning off updates, this will cause more problems for your clickmouse. + + +::: tip Tip +If you find check update prompt: 'Update not enabled', please turn on this setting. +::: + +- Update Notification: If turned off, then cannot see update notification. +- - Type: Checkbox +- - Default value: On +- - Field name: `update_notify` + +Update Notification + + +This setting is independent of update completion notification, if turn off this setting, update completion notification will also not turn off. + + +- Silent Update: If enabled, then software update will not pop up notification box. +- - Type: Checkbox +- - Default value: Off +- - Field name: `quiet_update` + + +If enable this setting, then update notification will be turned off, even if you enabled this setting. + + +- Update Completion Notification: If enabled, then after update completion will pop up notification box. +- - Type: Checkbox +- - Default value: On +- - Field name: `update_ok_notify` + +Update Completion Popup + + +This popup will appear after silent update completion. + + +::: tip Tip +The notification settings below are also affected by update settings, if grayed out, may be because update service not enabled. +::: + +Update Settings + +## Hotkey Settings + +Used to set software's hotkey functions, such as left click, right click hotkeys. + +Setting items include: +- Hotkey Enabled: If turned off, then software's hotkey function will be turned off. +This setting item needs to enable More settings to enable. + +- - Type: Checkbox +- - Default value: On +- - Field name: `hotkey_enabled` +- Left Click Hotkey: Set left click hotkey. +- - Type: Input box +- - Default value: `F2` +- - Field name: `left_click_hotkey` +- Right Click Hotkey: Set right click hotkey. +- - Type: Input box +- - Default value: `F3` +- - Field name: `right_click_hotkey` +- Pause/Restart Click Hotkey: Set pause/restart clicker hotkey. +- - Type: Input box +- - Default value: `F4` +- - Field name: `pause_click_hotkey` +- Stop Click Hotkey: Set stop click hotkey. +- - Type: Input box +- - Default value: `F6` +- - Field name: `stop_click_hotkey` +- Click Attribute Hotkey: Set open click attribute hotkey. +- - Type: Input box +- - Default value: `Ctrl+Alt+A` +- - Field name: `click_attr_hotkey` +- Fast Click Hotkey: Set open fast click hotkey. +- - Type: Input box +- - Default value: `Ctrl+Alt+F` +- - Field name: `fast_click_hotkey` +- Main Window Hotkey: Set open main window hotkey. +- - Type: Input box +- - Default value: `Ctrl+Alt+M` +- - Field name: `main_window_hotkey` +- Reset Left Click Settings: Used to restore default left click settings. +- - Type: Button +- Reset Right Click Settings: Used to restore default right click settings. +- - Type: Button +- Reset Pause/Restart Click Settings: Used to restore default pause/restart click settings. +- - Type: Button +- Reset Stop Click Settings: Used to restore default stop click settings. +- - Type: Button +- Reset Click Attribute Settings: Used to restore default click attribute settings. +- - Type: Button +- Reset Fast Click Settings: Used to restore default fast click settings. +- - Type: Button +- Reset Main Window Settings: Used to restore default main window settings. +- - Type: Button + +Hotkey Settings + +## Documentation Settings + +Used to set documentation function default opened website. + +Setting items include: +- Documentation Default Link: +- - Type: Input box +- - Default value: [link](https://xystudiocode.github.io/pyclickmouse/{lang})`https://xystudiocode.github.io/pyclickmouse/{lang}` +- - Field name: `doc_default_link` +- Reset documentation default link: Used to restore default documentation default link. +This setting item needs to enable More settings to enable. + +- - Type: Button +::: tip Tip +`{lang}` will be replaced with current software language, such as `zh-CN` or `en`. +::: + +- Documentation Language: +- - Type: Dropdown box +- - Default value: Software language +- - Optional values: `Software language`, `System language` and according to software supported language packs (default `Simplified Chinese`, `English`) + +- Update Log Path: Set update log path. +- - Type: Input box +- - Default value: `updatelog` +- Reset update log path: Used to restore default update log path. +This setting item needs to enable More settings to enable. + +- - Type: Button + +::: tip Tip +Software's update log path is relative to documentation default link path, such as default open update log link is [link](https://xystudiocode.github.io/pyclickmouse/{lang}/updatelog)`https://xystudiocode.github.io/pyclickmouse/{lang}/updatelog`, then update log path fill in `updatelog`. +::: + +> This section's {lang} will also be parsed. + +Documentation Settings + +## Notification Settings + +Used to control software's notification reminders, such as whether to show notifications. + +Setting items include: + +Used to control software's update service, such as whether to auto-update, update check frequency. +Setting items include: +- Enable Update: If enabled, can manage update settings below. +- - Type: Checkbox +- - Default value: On +- - Field name: `update_enabled` + +I do not recommend turning off updates, this will cause more problems for your clickmouse. + + + +If you find check update prompt: 'Update not enabled', please turn on this setting. + + +- Update Notification: If turned off, then cannot see update notification. +- - Type: Checkbox +- - Default value: On +- - Field name: `update_notify` + +Update Notification + + +If enable this setting, then update notification will be turned off, even if you enabled this setting. + + +- Update Completion Notification: If enabled, then after update completion will pop up notification box. +- - Type: Checkbox +- - Default value: On +- - Field name: `update_ok_notify` + + +This popup will appear after silent update completion. + + +::: tip Tip +The update settings above are also affected by notification settings, if grayed out, may be because update service not enabled. +::: + +- Software Startup Warning: If enabled, then when software starts, resource loss will pop up warning notification box. +- - Type: Checkbox +- - Default value: On +- - Field name: `show_warning` + +::: info Tip +clickmouse checks resources when starting, if finds missing some content, will pop up `Software Startup Warning` +::: + +- Official Extension Package Missing Warning: If enabled, then when software starts, official extension package missing will pop up warning notification box. +- - Type: Checkbox +- - Default value: On +- - Field name: `show_package_warning` + +Notification Settings + +## Lab + +To test new features. + +Because the test items will be updated with each version, the settings items are not listed. + +Lab + +## Usage Method + +1. Open Settings - Settings options +2. On left side select option to switch settings +3. Click switch/input box on right side to toggle settings \ No newline at end of file diff --git a/documents/en/features/update.md b/documents/en/features/update.md new file mode 100644 index 0000000..eca4d20 --- /dev/null +++ b/documents/en/features/update.md @@ -0,0 +1,45 @@ +--- +title: Update Management Menu +description: Update management menu +layout: doc +--- + + + +# Update Management Menu + +## Check for Updates + +### Function Description + +Check for updates function can help users check if software has new version released, and prompt users to download latest version. + +### Usage Method + +As long as update is enabled, clickmouse will periodically check for updates. + +To start through menu, please go to "Update" - "Check for Updates" to view updates + +### FAQ + +**1. Software update failed: Update service not enabled** + +Please go to `Settings`, select `Update` on the left, then enable `Enable Update`, then try again. + +Update service not enabled + +## Update Log +### Function Description +Open a webpage, domain is combined value of `Documentation Default Link` and `Update Log Path` in settings, default is [link](https://xystudiocode.github.io/updatelog/)`https://xystudiocode.github.io/updatelog/` + +### Usage Method + +1. Open Update - Update Log \ No newline at end of file diff --git a/documents/en/guide/faq.md b/documents/en/guide/faq.md new file mode 100644 index 0000000..6788f7d --- /dev/null +++ b/documents/en/guide/faq.md @@ -0,0 +1,130 @@ +--- +layout: doc +title: Frequently Asked Questions +--- + + + + + +# Frequently Asked Questions + + +All paths in this page are relative to the clickmouse installation directory. +If Windows cannot open the files mentioned inside, please try opening with Notepad. + + +## Errors + +**1. Language pack does not exist:** + +Please check if there is a langs directory in clickmouse's `res` directory. If yes, check if there is a `langs.json` file inside. If not, please reinstall clickmouse. [Download link](https://github.com/xystudiocode/pyclickmouse/releases/latest) + +Language pack not found + +**2. Cannot start:** + +There might be some bugs. You can modify the content in `packages.json` to: +```json +["xystudio.clickmouse", "xystudio.clickmouse.repair"] +``` +Then run the `repair.exe` file in the current directory, check the content you want to clear, click the `Repair` button, and start clickmouse again to see. + +::: tip Tip +It is recommended to select all repair items, but this will delete all user data and extensions, restoring to initial state. +::: + +If you can compile source code, you can also try using makefile, remove the `--windows-console-mode=disable` from compiling source code to get error stack trace. + +If still not working, try uninstalling and reinstalling clickmouse. [Download link](https://github.com/xystudiocode/pyclickmouse/releases/latest) + +If the problem persists, you can [report an issue](https://github.com/xystudiocode/pyClickMouse/issues/new/choose) + +**3. Cannot connect to update, showing `timeout`:** + +Our update content is stored on GitHub, and the network in China is slower. + +You can install [watt toolkit](https://gitee.com/rmbgame/SteamTools/releases/download/3.0.0-rc.16/Steam%20%20_v3.0.0-rc.16_win_x64.exe) +Then: +1. Open watt toolkit, click `Network Acceleration` on the left +2. Check `github` +3. Click `One-click Acceleration` + +> This method can only ensure no timeout error, but cannot guarantee fast network speed. + +If still not working, I have no more methods + +## Software Function Usage Issues +**1. Why is the click button grayed out?** + +You may not have correctly entered click delay and click count. You can set click time and click count in the input boxes below, and select the unit for click count/delay in the dropdown box. + +::: warning Note +Need to enter correct numbers, otherwise clicking will fail. +::: + +**2. Click input box is grayed out/cannot open click settings** + +This may be because you are currently clicking, need to click the `Stop` button to stop before entering again. + +Click input box grayed out +
+Cannot open click settings + +**3. Software update failed: Update service not enabled** + +Please go to `Settings`, select `Update` on the left, then enable `Enable Update` + +Update service not enabled + +**4. Prompt that package manager folder does not exist, pops up every time** + +You can go to Settings - Notifications - turn off `Official extension package missing warning` + +Prompt that package manager folder does not exist + +**5. Checkbox click invalid** + +You may have clicked on the text area. Clickmouse checkbox needs to be clicked inside the box to be effective. \ No newline at end of file diff --git a/documents/en/guide/getting-started.md b/documents/en/guide/getting-started.md new file mode 100644 index 0000000..76ab3d1 --- /dev/null +++ b/documents/en/guide/getting-started.md @@ -0,0 +1,90 @@ +--- +layout: doc +title: Getting Started +--- + + + +# Getting Started +## Download and Install + +Go to [GitHub releases page](https://github.com/xystudiocode/pyclickmouse/releases/latest) + +Select `clickmouse.7z`, then download, after downloading, extract to current directory + +## Running +### Initialization +Click `extracted folder/main.exe`, agree to UAC popup, wait for program initialization to complete. + +First click Next, then "Agree to this agreement", click "Next" 2 times +License agreement + +Then you will be asked whether to create a shortcut, recommended to create, click "Next" + +Create shortcut + +Then select packages, you can choose as appropriate, click "Next", confirm component selection popup. + +Component selection + +Then wait for installation to complete, enter installation completion prompt page, recommended to check "Run clickmouse", click "Finish" + +Installation complete + +### Usage + +Set a click interval and click count, the button next to the click input box can set the unit + +After setting, click "Left Click" or "Right Click" button to start clicking + +> If grayed out, check if numbers are entered, clickmouse only detects integer numbers + +Click "Stop" button to stop clicking + +Click "Pause" button can pause clicking, then you can click "Restart" button to continue clicking + +clickmouse running interface + +::: tip Tip +Afterwards, to run, you can double-click `extracted folder/main.exe` to run the program, or right-click desktop or start menu shortcut to run +::: \ No newline at end of file diff --git a/documents/en/guide/index.md b/documents/en/guide/index.md new file mode 100644 index 0000000..3992394 --- /dev/null +++ b/documents/en/guide/index.md @@ -0,0 +1,36 @@ +--- +layout: doc +title: Clickmouse Guide +--- + +# Clickmouse Guide + +## Introduction +Clickmouse guide, mainly introducing the usage methods, features, principles, configurations, etc., of Clickmouse GUI. + +Click on the sidebar to browse. + +## Features +- Clicking functionality +- Input interval +- Hotkey startup +- Input count +- Automatic update check +- Automatic download and installation of updates +- Settings +- Official installation assistant +- Package management +- Background operation + +## Clicking Features +- Mouse auto-clicking +- Custom click interval +- Custom click count + +## ⬇️Download +Go to [releases](https://github.com/xystudiocode/pyClickMouse/releases/releases) to download + +## Usage Priority +```mermaid +graph LR +A[exe] --> B["cli version (not completed)"] \ No newline at end of file diff --git a/documents/en/guide/license.md b/documents/en/guide/license.md new file mode 100644 index 0000000..7859800 --- /dev/null +++ b/documents/en/guide/license.md @@ -0,0 +1,42 @@ +--- +title: Software License +description: Introduction to software license +layout: doc +--- +# Software License +## Copyright Notice +Mouse icon by Icons8 + +## Open Source License +This software is based on the MIT open source license. I will include the license content at the end. You can copy, modify, and distribute this software and documentation site, but you must retain the original author information and license declaration in the source code. + +This software and documentation site are both open source on GitHub. You can open them at [Software link](https://github.com/xystudiocode/pyclickmouse) + +At the same time, the software source code is open source on Gitee for convenient download by Chinese users. [Software link](https://gitee.com/xystudio889/pyclickmouse) + +## Commercial Authorization +We do not oppose commercial authorization. You can use this software for commercial purposes without contacting the author, but you must retain the original author information and license declaration in the source code. + +## License Content +``` +MIT License + +Copyright (c) 2026 xystudiocode + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. \ No newline at end of file diff --git a/documents/en/guide/version-naming.md b/documents/en/guide/version-naming.md new file mode 100644 index 0000000..7214f0e --- /dev/null +++ b/documents/en/guide/version-naming.md @@ -0,0 +1,35 @@ +--- +title: Version Naming Rules +description: Introduction to ClickMouse version naming rules. +layout: doc +--- + +# Version Naming Rules +clickmouse version format is: `A.B.C.D[(alpha | beta |.dev | rc) E]` +## Official Versions +Official versions do not have .dev, alpha, beta, or rc suffixes. + +A position represents major updates with code-level changes. For example, upgrading from 1.0 to 2.0 involves code refactoring. + +B position represents regular updates, usually updating some major features. + +C position represents fix updates, usually updating some small features and fixing some bugs. + +D position represents version code, usually increments by 1 when A, B, C positions change. It is also possible that A, B, C positions do not change but D position increments by 1, representing emergency updates, usually fixing several major impact bugs. + +## Test Versions +Test versions have .dev, alpha, beta, or rc suffixes. + +Usually the preceding `A.B.C.D` does not change within a testing cycle, representing the next version. + +`.dev` represents early development updates, features are unstable, many bugs, located in the early stage of version project.The new features in this phase will be put in the lab and turned off by default. + +`alpha` represents late development updates, features are incomplete, many bugs, located in the early stage of version project.The new features in this phase will be put in the lab and turned off by default. + +`beta` represents release testing updates, features are complete, few bugs, no new features will be added, located in the middle stage of version project. It is usually released in the middle of the development cycle and will gradually merge features from the lab. + +`rc` represents release candidate versions, features are complete, few bugs, will fix some important security issues or bugs, closest to official version, about to release official version, located in the late stage of version project. + +::: tip Tip +The last rc version will be directly merged into the beta version; features are exactly the same. +::: \ No newline at end of file diff --git a/documents/en/index.md b/documents/en/index.md new file mode 100644 index 0000000..9eac473 --- /dev/null +++ b/documents/en/index.md @@ -0,0 +1,59 @@ +--- +layout: home +lang: en +title: Home +description: Clickmouse documentation built with VitePress. +hero: + title: Clickmouse + text: Clickmouse + tagline: A fast, simple, lightweight mouse auto-clicker made with Python + image: + src: /imgs/icons/icon.ico + alt: Clickmouse Logo + actions: + - theme: brand + text: Download + link: https://github.com/xystudiocode/pyClickMouse/releases/latest + - theme: brand + text: Get Started + link: /en/guide/getting-started.html + - theme: alt + text: View Source Code + link: /en/githublink.html +features: + - icon: ⬇️ + title: Rich Clicking Features + details: Offers extensive clicking capabilities, including setting click count, interval time, default click properties, hotkey clicking, etc. + - icon: ⚙️ + title: Abundant Settings + details: Can configure theme, default click count and interval; use default values on errors, etc. + - icon: ♻️ + title: Lightweight + details: Clean UI, simple and lightweight to use. + - icon: 🔄️ + title: Auto Update + details: Software automatically updates to ensure you have the latest version. + - icon: 🖥️ + title: Background Operation + details: Software can run in the background without affecting your work; can be awakened or start clicking using hotkeys. + - icon: 🧩 + title: High Extensibility + details: Software can be extended by importing extensions to achieve more functionality. + - icon: 💻 + title: Easy Development + details: Extension development is simple, only requiring the use of the clickmouseAPI library. + - icon: + dark: /imgs/icons/cmd/dark.png + light: /imgs/icons/cmd/light.png + title: Command Line and CLI + details: Software supports more lightweight command line and CLI modes, easily callable by other software. + - icon: 🎀 + title: Installation Assistant + details: The official installation assistant makes it easy to configure clickmouse and package manager, simplifying your operations. + - icon: 📦 + title: Package Manager + details: Software officially supports package manager for easy installation, uninstallation, and updating of extensions. + - icon: 🔛 + title: Open Source + details: This software is open source under the MIT license, allowing you to freely modify, distribute, use, and even charge for it; you can also make suggestions to the clickmouse official team to help improve the software. +--- diff --git a/documents/en/updatelog/beta/3/30011a1.md b/documents/en/updatelog/beta/3/30011a1.md new file mode 100644 index 0000000..2fe306d --- /dev/null +++ b/documents/en/updatelog/beta/3/30011a1.md @@ -0,0 +1,32 @@ +--- +title: 3.0.0.11alpha1 +layout: doc +--- + +# 3.0.0.11alpha1 + +Release Date: 2025/12/06 + +## Update Content + +- Added a new settings UI. This UI is a redesigned UI, not ported from wx. +- Beautified buttons. +- Added adaptive system color functionality, perfectly compatible with Windows light/dark modes. +- Shortcut key: ctrl+alt+d to show or hide the main window. + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0alpha1-re) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011a2.md b/documents/en/updatelog/beta/3/30011a2.md new file mode 100644 index 0000000..7caa736 --- /dev/null +++ b/documents/en/updatelog/beta/3/30011a2.md @@ -0,0 +1,31 @@ +--- +title: 3.0.0.11alpha2 +layout: doc +--- + +# 3.0.0.11alpha2 + +Release Date: 2025/12/07 + +## Update Content + +- Completely refactored settings +- New setting options: software theme, show tray icon. +- Continued modifying and beautifying components + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0alpha2) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011a3.md b/documents/en/updatelog/beta/3/30011a3.md new file mode 100644 index 0000000..e488682 --- /dev/null +++ b/documents/en/updatelog/beta/3/30011a3.md @@ -0,0 +1,29 @@ +--- +title: 3.0.0.11alpha3 +layout: doc +--- + +# 3.0.0.11alpha3 + +Release Date: 2025/12/11 + +## Update Content + +- Continued modifying and beautifying components + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0alpha3) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011dev1.md b/documents/en/updatelog/beta/3/30011dev1.md new file mode 100644 index 0000000..343334c --- /dev/null +++ b/documents/en/updatelog/beta/3/30011dev1.md @@ -0,0 +1,27 @@ +--- +title: 3.0.0.11.dev1 +layout: doc +--- + +# 3.0.0.11.dev1 + +Release Date: 2025/11/23 + +## Update Content + +- Rewrote clickmouse using pyside6 (based on Qt) + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.dev1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011dev3.md b/documents/en/updatelog/beta/3/30011dev3.md new file mode 100644 index 0000000..ff1c46d --- /dev/null +++ b/documents/en/updatelog/beta/3/30011dev3.md @@ -0,0 +1,31 @@ +--- +title: 3.0.0.11.dev4 +layout: doc +--- + +# 3.0.0.11.dev4 + +Release Date: 2025/11/29 + +## Update Content + +- Changed the clear cache page to a tri-state checkbox +- Check for updates and select language interface refactored based on Pyside6 +- Fixed some bugs + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.dev3) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011dev4.md b/documents/en/updatelog/beta/3/30011dev4.md new file mode 100644 index 0000000..dae2c6f --- /dev/null +++ b/documents/en/updatelog/beta/3/30011dev4.md @@ -0,0 +1,31 @@ +--- +title: 3.0.0.11.dev4 +layout: doc +--- + +# 3.0.0.11.dev4 + +Release Date: 2025/11/30 + +## Update Content + +- Added clickmouse background running functionality +- Added hotkey startup functionality. +- Fixed the issue where the software could not start immediately after selecting a language. + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.dev3) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011rc1.md b/documents/en/updatelog/beta/3/30011rc1.md new file mode 100644 index 0000000..4941baa --- /dev/null +++ b/documents/en/updatelog/beta/3/30011rc1.md @@ -0,0 +1,40 @@ +--- +title: 3.0.0.11rc1 +layout: doc +--- + +# 3.0.0.11rc1 + +Release Date: 2025/12/13 + +## Update Content + +- UI refactored using Pyside6, giving the interface a fresh new look +- New setting content +- Added hotkey startup, hotkeys can be found in software help +- Added click input count functionality +- Added status bar to view clicking status. +- Temporarily disabled features originally planned for release in 2.3.0, postponed to 3.1.0.12. +- Fixed some bugs + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| English language pack has unexpected characters | None | ==3.0.0.11 | 3.0.1.12 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/26) | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.11rc1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30011rc2.md b/documents/en/updatelog/beta/3/30011rc2.md new file mode 100644 index 0000000..ec90757 --- /dev/null +++ b/documents/en/updatelog/beta/3/30011rc2.md @@ -0,0 +1,36 @@ +--- +title: 3.0.0.11rc2 +layout: doc +--- + +# 3.0.0.11rc2 + +Release Date: 2025/12/14 + +## Update Content + +- Added support for English + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| English language pack has unexpected characters | None | ==3.0.0.11 | 3.0.1.12 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/26) | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.11rc2) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30112rc1.md b/documents/en/updatelog/beta/3/30112rc1.md new file mode 100644 index 0000000..3e0ff45 --- /dev/null +++ b/documents/en/updatelog/beta/3/30112rc1.md @@ -0,0 +1,42 @@ +--- +title: 3.0.1.12rc1 +layout: doc +--- + +# 3.0.1.12rc1 + +Release Date: 2025/12/19 + +## Update Content + +- Optimized language packs +- - Modified the English language pack, fixed the issue where some version number characters displayed without spaces, and removed extra commas +- - Other language pack optimizations... +- Error style automatic uninstallation functionality +- Fixed some bugs: +- - After switching languages, the interface opened again would become the selected updated language, causing interface fragmentation +- - Fixed the issue where the English language pack had unexpected characters +- - Some other bugs... +- - Adjusted settings: Changed the 'Software needs to restart' interface to a pop-up window and removed character display +- - Removed clickmouse initialization, now automatically gets language + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Next Version Preview +Version number: 3.1.0.13 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.1.12rc1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/30213rc1.md b/documents/en/updatelog/beta/3/30213rc1.md new file mode 100644 index 0000000..f88a3c0 --- /dev/null +++ b/documents/en/updatelog/beta/3/30213rc1.md @@ -0,0 +1,36 @@ +--- +title: 3.0.2.13rc1 +layout: doc +--- + +# 3.0.2.13rc1 + +Release Date: 2025/12/27 + +## Update Content + +- Optimized color management +- - Added Windows accent color detection functionality +- - Added dark title bar in light mode + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| Sometimes, style-changed buttons still have the original style color | None | ==3.0.2.13 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/40) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Next Version Preview +Version number: 3.1.0.14 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.2.13rc1-re1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/31015b1.md b/documents/en/updatelog/beta/3/31015b1.md new file mode 100644 index 0000000..26176eb --- /dev/null +++ b/documents/en/updatelog/beta/3/31015b1.md @@ -0,0 +1,34 @@ +--- +title: 3.1.0.15beta1 +layout: doc +--- + +# 3.1.0.15beta1 +Release Date: 2026/01/10 + +## Update Content + +- Modified styles: +- - Integrated styles into one file +- - Removed no-style mode +- - Fixed some style display bugs +- - Added style out-of-bounds protection +- - Changed styles +- Unified the style of initialization and installing extension applications +- Completed installation program and package manager + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| init program's component selection is still in English even when the window displays Chinese | None | >=3.1.0.15beta1, only applies to beta versions | None | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/74) | +| Settings response delay slider displays as 1 | None | >=3.1.0.15;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.14beta1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/31015b2.md b/documents/en/updatelog/beta/3/31015b2.md new file mode 100644 index 0000000..7a4b369 --- /dev/null +++ b/documents/en/updatelog/beta/3/31015b2.md @@ -0,0 +1,28 @@ +--- +title: 3.1.0.15beta2 +layout: doc +--- + +# 3.1.0.15beta3 +Release Date: 2026/01/11 + +## Update Content + +- Modified start menu creation files for file installation +- Modified uninstall program, now cannot be removed from Control Panel + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| init program's component selection is still in English even when the window displays Chinese | None | >=3.1.0.15beta1, only applies to beta versions | None | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/74) | +| Settings response delay slider displays as 1 | None | >=3.1.0.15;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.15beta2) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/31015b3.md b/documents/en/updatelog/beta/3/31015b3.md new file mode 100644 index 0000000..5ed60af --- /dev/null +++ b/documents/en/updatelog/beta/3/31015b3.md @@ -0,0 +1,30 @@ +--- +title: 3.1.0.15beta1 +layout: doc +--- + +# 3.1.0.15beta3 +Release Date: 2026/01/17 + +## Update Content + +- Modified styles +- Fixed some bugs +- Modified style, using light checkmarks in light mode +- Modified uninstall program, now cannot be removed from Control Panel + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| init program's component selection is still in English even when the window displays Chinese | None | >=3.1.0.15beta1, only applies to beta versions | None | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/74) | +| Settings response delay slider displays as 1 | None | >=3.1.0.15;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.15beta3) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/31015dev0.md b/documents/en/updatelog/beta/3/31015dev0.md new file mode 100644 index 0000000..3e9be6f --- /dev/null +++ b/documents/en/updatelog/beta/3/31015dev0.md @@ -0,0 +1,36 @@ +--- +title: 3.1.0.15.dev0 +layout: doc +--- + +# 3.1.0.15.dev0 + +Release Date: 2025/12/27 + +## Update Content + +- Added menus for extensions, macros, and documentation + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| Sometimes, style-changed buttons still have the original style color | None | ==3.0.2.13 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/40) | +| Settings opened then closed, changing Windows theme at this time will display settings | None | ==3.0.2.13 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/41) | +| When hovering over the menu, status bar characters disappear | None | >=3.0.0.11;<3.1.0.15 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/43) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Next Version Preview +Version number: 3.1.0.14 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.14.dev0) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/31217b1.md b/documents/en/updatelog/beta/3/31217b1.md new file mode 100644 index 0000000..2a526d8 --- /dev/null +++ b/documents/en/updatelog/beta/3/31217b1.md @@ -0,0 +1,28 @@ +--- +title: 3.1.2.17beta1 +layout: doc +--- + +# 3.1.2.17beta1 +Release Date: 2026/01/23 + +## Update Content + +- Optimized performance +- Added setting delay settings +- Optimized clicker settings display +- Modified update log +- Fixed "langs.json does not exist" when displaying auto-start on boot + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.2.17beta1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/31217b3.md b/documents/en/updatelog/beta/3/31217b3.md new file mode 100644 index 0000000..bcd95a6 --- /dev/null +++ b/documents/en/updatelog/beta/3/31217b3.md @@ -0,0 +1,30 @@ +--- +title: 3.1.2.17beta3 +layout: doc +--- + +# 3.1.2.17beta3 +Release Date: 2026/01/25 + +## Update Content + +- For beta versions, all clickmouse component icons will have 'pre' text below them. +- New message box version, now message box options are translated into Chinese, multilingual version will be released later. +- Fixed bug where clear cache tool checkboxes become unresponsive after selecting "Select All" +- Fixed issue where settings response delay slider displays as 1 +- Fixed bug where init program cannot run +- Refactored clickmouse cache clearing tool +- Modified logs, now reduces output text and is easier to manage +- Now cache calculation filters undeletable files, making calculations more accurate + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.2.17beta3) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32018b4.md b/documents/en/updatelog/beta/3/32018b4.md new file mode 100644 index 0000000..2ce722a --- /dev/null +++ b/documents/en/updatelog/beta/3/32018b4.md @@ -0,0 +1,31 @@ +--- +title: 3.2.0.18beta4 +layout: doc +--- + +# 3.2.0.18beta4 +Release Date: 2026/02/03 + +## Update Content + +- Completed update installation service +- Added "Report Bug" button +- Fixed some bugs: +- - When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups #123 +- - In English mode, dragging response delay, total delay prompt becomes Chinese #121 +- - Fixed issue where update resource decryption failed + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| If the latest version checked by clickmouse does not have clickmouse.7z, it will report an error | None | >=3.2.0.18beta3;<3.2.0.18beta7, only in beta versions | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/140) | +| Software update fails, showing 404 | None | >=3.2.0.18beta3;<3.2.0.18beta7, only in beta versions | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/151) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| If your language is Chinese, the maximum value unit will display in English | None | >=3.2.0.18beta4;<3.2.0.19beta9, only in beta versions | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/170) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.18beta4-re2) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32018b5.md b/documents/en/updatelog/beta/3/32018b5.md new file mode 100644 index 0000000..e2140dd --- /dev/null +++ b/documents/en/updatelog/beta/3/32018b5.md @@ -0,0 +1,28 @@ +--- +title: 3.2.0.18beta5 +layout: doc +--- + +# 3.2.0.18beta5 +Release Date: 2026/02/04 + +## Update Content + +- Added themes, original themes have been retranslated as "Style" +- ~~If the release is a remastered version, it will not detect the update~~ bug still exists + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| If the latest version checked by clickmouse does not have clickmouse.7z, it will report an error | None | >=3.2.0.18beta3;<3.2.0.18beta7, only in beta versions | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/140) | +| Software update fails, showing 404 | None | >=3.2.0.18beta3;<3.2.0.18beta7, only in beta versions | 3.2.0.18beta7 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/151) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| If your language is Chinese, the maximum value unit will display in English | None | >=3.2.0.18beta4;<3.2.0.19beta9, only in beta versions | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/170) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.18beta5) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32018b8.md b/documents/en/updatelog/beta/3/32018b8.md new file mode 100644 index 0000000..10db11b --- /dev/null +++ b/documents/en/updatelog/beta/3/32018b8.md @@ -0,0 +1,28 @@ +--- +title: 3.2.0.18beta8 +layout: doc +--- + +# 3.2.0.18beta8 +Release Date: 2026/02/14 + +## Update Content + +- Fixed update program bugs: +- - If the version number tag is a remastered version, the download program cannot be used and reports error 404 +- - Software update index error causes update failure, showing 404 +- - If the latest version checked by clickmouse does not have clickmouse.7z, it will report an error +- Documentation functionality completed +- Removed local update logs, changed to online document viewing +- Modified about interface prompt text + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| If your language is Chinese, the maximum value unit will display in English | None | >=3.2.0.18beta4;<3.2.0.19beta9, only in beta versions | 3.2.0.19beta9 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/170) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.18beta8-re1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32019b10.md b/documents/en/updatelog/beta/3/32019b10.md new file mode 100644 index 0000000..b64010f --- /dev/null +++ b/documents/en/updatelog/beta/3/32019b10.md @@ -0,0 +1,28 @@ +--- +title: 3.2.0.19beta10 +layout: doc +--- + +# 3.2.0.19beta10 +Release Date: 2026/02/19 + +## Update Content + +- Fix the problem that Init cannot run +- Removed unnecessary content + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Cannot load default total delay when first loading settings | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/182) | +| The title bar is light when the style is dark and open a window twice | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/183) | +| The folder will not revert when revert an update | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/184) | +| If there is an update and the installation is complete, the update is displayed as "updating" when opening it again | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/185) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19beta10) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32019b11.md b/documents/en/updatelog/beta/3/32019b11.md new file mode 100644 index 0000000..0d5d5a3 --- /dev/null +++ b/documents/en/updatelog/beta/3/32019b11.md @@ -0,0 +1,29 @@ +--- +title: 3.2.0.19beta11 +layout: doc +--- + +# 3.2.0.19beta11 +Release date: 2026/02/20 + +## Update content + +- Fix some bugs: +- - Rollback clickmouse update folder +- - Estimated time to load settings doesn't load default value for the first time +- - If there is an update and installed, then closing the update completed and opening again will show that it is updating +- - When the mode is dark and multiple windows are opened, the title bar becomes white +- Rollback when installing the update, close the window +- Prevent switching between clicking when running +- Optimize performance + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19beta11) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32019b9.md b/documents/en/updatelog/beta/3/32019b9.md new file mode 100644 index 0000000..e194f59 --- /dev/null +++ b/documents/en/updatelog/beta/3/32019b9.md @@ -0,0 +1,36 @@ +--- +title: 3.2.0.19beta9 +layout: doc +--- + +# 3.2.0.19beta9 +Release Date: 2026/02/18 + +## Update Content + +- Simplify components, optimize code structure, improve performance and compress installation package size. +- Fix some bugs: +- - Fix the problem that infinite clicking cannot be enabled in English mode. +- - Fix the error of "Paused" displayed in English mode. +- - Fix the problem that the unit of the maximum value is displayed in English if your language is Chinese. +- - Fix the problem that you need to click cancel to confirm the installation. +- Add the translation of the new feature in English. +- Remove the hotkey documentation from the help menu. +- Change the default response delay to 100ms, 1000ms is too slow. + + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Init cannot run | None | ==3.2.0.19beta9 | 3.2.0.18beta10 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/173) | +| Cannot load default total delay when first loading settings | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/182) | +| The title bar is light when the style is dark and open a window twice | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/183) | +| The folder will not revert when revert an update | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/184) | +| If there is an update and the installation is complete, the update is displayed as "updating" when opening it again | None | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/185) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyClickMouse/releases/tag/3.2.0.19beta9) diff --git a/documents/en/updatelog/beta/3/32019rc1.md b/documents/en/updatelog/beta/3/32019rc1.md new file mode 100644 index 0000000..8e3ab54 --- /dev/null +++ b/documents/en/updatelog/beta/3/32019rc1.md @@ -0,0 +1,25 @@ +--- +title: 3.2.0.19rc1 +layout: doc +--- + +# 3.2.0.19rc1 +Release date: 2026/02/22 + +## Update content + +- Add simple documentation and update settings +- Simple modification of styles +- Added security when updating +- Simplified components + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click here to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19rc1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32019rc2.md b/documents/en/updatelog/beta/3/32019rc2.md new file mode 100644 index 0000000..6acadba --- /dev/null +++ b/documents/en/updatelog/beta/3/32019rc2.md @@ -0,0 +1,22 @@ +--- +title: 3.2.0.19rc2 +layout: doc +--- + +# 3.2.0.19rc2 +Release date: 2026/02/24 + +## Update content + +- Update style + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click here to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19rc2) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32019rc3.md b/documents/en/updatelog/beta/3/32019rc3.md new file mode 100644 index 0000000..a79a83e --- /dev/null +++ b/documents/en/updatelog/beta/3/32019rc3.md @@ -0,0 +1,21 @@ +--- +title: 3.2.0.19rc2 +layout: doc +--- + +# 3.2.0.19rc2 + +## Update Content + +- Bug fixes: +- - Tray right-click language display error +- - Cannot use "Set Delay" function +- - If you modify the hotkey, you cannot use the tray right-click + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19rc3) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32120a1.md b/documents/en/updatelog/beta/3/32120a1.md new file mode 100644 index 0000000..ecb128e --- /dev/null +++ b/documents/en/updatelog/beta/3/32120a1.md @@ -0,0 +1,28 @@ +--- +title: 3.2.1.20alpha1 +layout: doc +--- + +# 3.2.1.20alpha1 +Release date: 2026/03/10 + +## Update content + +- After that, new features will be added to the lab first, and then merged into the official version gradually. +- New experimental projects: More settings: +- - Reset startup components +- - Feedback software website +- - Reset documentation link button +- - Notification settings +- Bug fixes: +- - Tray right-click language display error +- - Cannot use "Set delay" function +- - If you modify the hotkey, you cannot use the tray right-click + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.20alpha1) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/32120a2.md b/documents/en/updatelog/beta/3/32120a2.md new file mode 100644 index 0000000..90621c0 --- /dev/null +++ b/documents/en/updatelog/beta/3/32120a2.md @@ -0,0 +1,18 @@ +--- +title: 3.2.1.20alpha2 +layout: doc +--- + +# 3.2.1.20alpha2 +Release date: 2026/03/14 + +## Update content +- Added a setting item to close the experiment menu when there are no experimental items + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.1.20alpha2) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/33022a4.md b/documents/en/updatelog/beta/3/33022a4.md new file mode 100644 index 0000000..e33373d --- /dev/null +++ b/documents/en/updatelog/beta/3/33022a4.md @@ -0,0 +1,35 @@ +--- +title: 3.3.0.22alpha4 +layout: doc +--- + +# 3.3.0.22alpha4 +Release date: 2026/04/19 + +This is a development update. Upgraded from the original `3.2.1.20`, synchronized with the current `3.2.1.20` and `3.2.2.21` + +## Update content + +- Fix the following issues: +- - In the inverted or dark mode, non-windows default style menu bar will display abnormally: the font is the current style, but the background is the system color. +- - In the inverted or dark mode, non-windows default style title bar may "crash", the dark mode title bar is light color. +- - Clean cache cannot be cleaned +- Upgrade to Qt 6.11 version, fixing or adding some display: +- - Now, the maximize button will hide or become lighter, just like the effect of 3.1.0 using Qt 6.9, not the effect of 6.10. +- - Added immersive rounded menu bar and dropdown box, not the straight-cornered dropdown box and the uncropped rounded menu bar. +- Adjust the lower limit of response delay to 50ms, to fix the "crash" problem of the title bar. +- New product: `clickclean`, which has greatly simplified clickmouse, leaving only the clicker and its related settings, its update frequency is slower than clickmouse, and you need to manually check for updates. +- Now, startup on boot will run in the background. If you are an older version user, you need to reset the startup on boot configuration in the settings to enable it. +- Setting window icon changes to the clickmouse logo, not clickmouse logo with a setting icon. +- Changed the `More settings` item description to `To enable or disable experimental features, click here.` + +## ClickClean update content +- Setting window icon changes to the clickmouse logo, not clickmouse logo with a setting icon. + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.2.21) \ No newline at end of file diff --git a/documents/en/updatelog/beta/3/33023a5.md b/documents/en/updatelog/beta/3/33023a5.md new file mode 100644 index 0000000..2c85893 --- /dev/null +++ b/documents/en/updatelog/beta/3/33023a5.md @@ -0,0 +1,28 @@ +--- +title: 3.3.0.22alpha5 +layout: doc +--- + +# 3.3.0.22alpha5 +Release Date: 2026/05/23 + +> This is a development update of the 4th version of the `3.3.0` development cycle, synchronized with the current `3.2.3.22`. + +## Update Content + +- Now, the status bar will display the click status immediately when starting to click. +- If there is already a clickmouse instance running, clicking another clickmouse program will pop up a prompt box instead of displaying the window directly. +- *[Laboratory Functions]* The **Click attributes** and **Fast click settings** windows are now decoupled from the code and turned into independent gui files. +> For more information about code decoupling, please refer to [this](/en/blog/decoupling-code-and-ui) + +## ClickClean Update Content +- Now, the status bar will display the click status immediately when starting to click. +- If there is already a clickmouse instance running, clicking another clickmouse program will pop up a prompt box instead of displaying the window directly. + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Cannot open dev flags "Decoupling UI and program" | None | clickmouse beta, 3.3.0.23alpha5 | None | Fixing | https://github.com/xystudiocode/pyclickmouse/issues/255 | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.3.0.22alpha5) \ No newline at end of file diff --git a/documents/en/updatelog/final/1/1000.md b/documents/en/updatelog/final/1/1000.md new file mode 100644 index 0000000..1556961 --- /dev/null +++ b/documents/en/updatelog/final/1/1000.md @@ -0,0 +1,22 @@ +--- +title: 1.0.0.0 +layout: doc +--- + +# 1.0.0.0 + +Release Date: 2025/08/03 + +## Update Content + +Initial version + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | Issue Link | +| --- | --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | None | + +## Download Link + +[Click to download](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.0) \ No newline at end of file diff --git a/documents/en/updatelog/final/1/1011.md b/documents/en/updatelog/final/1/1011.md new file mode 100644 index 0000000..3b78e33 --- /dev/null +++ b/documents/en/updatelog/final/1/1011.md @@ -0,0 +1,26 @@ +--- +title: 1.0.1.1 +layout: doc +--- + +# 1.0.1.1 + +Release Date: 2025/08/04 + +## Update Content + +- Updated 'About' interface: + +- - Added 'Support Author' button +- - Moved 'Update' button to the 'Help' menu in the main window +- Added click failure prompt + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Download Link + +[Click to download](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.1.0) \ No newline at end of file diff --git a/documents/en/updatelog/final/1/1022.md b/documents/en/updatelog/final/1/1022.md new file mode 100644 index 0000000..11e60f0 --- /dev/null +++ b/documents/en/updatelog/final/1/1022.md @@ -0,0 +1,22 @@ +--- +title: 1.0.2.2 +layout: doc +--- + +# 1.0.2.2 + +Release Date: 2025/08/08 + +## Update Content + +Added "Update Log" option. + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| When closing "Update Log", the main window also closes | None | 1.0.2.2 | 1.0.2.3 | Fixed | None | +| Some places display incorrectly | None | 1.0.2.2 | 1.0.2.3 | Fixed | None | + +## Download Link +[Click to download](https://github.com/xystudioc889/clickmouse/releases/tag/v1.0.2.2) \ No newline at end of file diff --git a/documents/en/updatelog/final/1/1023.md b/documents/en/updatelog/final/1/1023.md new file mode 100644 index 0000000..635e877 --- /dev/null +++ b/documents/en/updatelog/final/1/1023.md @@ -0,0 +1,23 @@ +--- +title: 1.0.2.3 +layout: doc +--- + +# 1.0.2.3 + +Release Date: 2025/08/12 + +## Update Content + +- Modified some display characters + +- Fixed the issue where the main window also closes when closing "Update Log" + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Download Link +[Click to download](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.2.3) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/2004.md b/documents/en/updatelog/final/2/2004.md new file mode 100644 index 0000000..db7f480 --- /dev/null +++ b/documents/en/updatelog/final/2/2004.md @@ -0,0 +1,21 @@ +--- +title: 2.0.0.4 +layout: doc +--- + +# 2.0.0.4 + +Release Date: 2025/08/21 + +## Update Content + +- Rewrote the program's GUI interface using Python and wxPython, making the program more beautiful and concise. + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.0.0.0) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.0.0.4) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/2105.md b/documents/en/updatelog/final/2/2105.md new file mode 100644 index 0000000..98c607b --- /dev/null +++ b/documents/en/updatelog/final/2/2105.md @@ -0,0 +1,23 @@ +--- +title: 2.1.0.5 +layout: doc +--- + +# 2.1.0.5 + +Release Date: 2025/08/24 + +## Update Content + +- Added logging system. If there are bugs, it is recommended to provide log files at the same time. +- Added automatic update function, which can automatically detect new versions and download/install them. + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Update prompt not displayed | Please manually go to [github releases](https://github.com/xystudiocode/pyClickMouse/releases) or [gitee releases](https://gitee.com/xystudio889/pyclickmouse/releases) to manually download the new version | >=2.1.0.5;<2.2.0.7 | 2.2.0.7 | Fixed | None | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5 | None | Fixed | None | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.1.0.5) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.1.0.5) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/2116.md b/documents/en/updatelog/final/2/2116.md new file mode 100644 index 0000000..0698cb5 --- /dev/null +++ b/documents/en/updatelog/final/2/2116.md @@ -0,0 +1,22 @@ +--- +title: 2.1.1.6 +layout: doc +--- + +# 2.1.1.6 + +Release Date: 2025/08/25 + +## Update Content + +- ~~Fixed the issue where update prompt was not displayed~~ Still has bug, reverted fix. + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Update prompt not displayed | Please manually go to [github releases](https://github.com/xystudiocode/pyClickMouse/releases) or [gitee releases](https://gitee.com/xystudio889/pyclickmouse/releases) to manually download the new version | >=2.1.0.5;<2.2.0.7 | 2.2.0.7 | Fixed | None | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5 | None | Fixed | None | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.1.1.6) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.1.1.6) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/2207.md b/documents/en/updatelog/final/2/2207.md new file mode 100644 index 0000000..63f3b7c --- /dev/null +++ b/documents/en/updatelog/final/2/2207.md @@ -0,0 +1,33 @@ +--- +title: 2.2.0.7 +layout: doc +--- + +# 2.2.0.7 + +Release Date: 2025/09/05 + +## Update Content + +- Added cache clearing functionality + +- Changed and added functions to the top menu bar: +- - Update-related functions moved to the Update menu bar +- - Added "Edit/Options" menu bar +- Fixed the issue where updates could not be checked + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5 | None | Fixed | None | + +## Next Version Preview +Version number: 2.3.0.8 (tentative) + +Expected update content: +- Add update installer, no need to replace folders +- Add installation manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.0.7) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.0.7) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/2218.md b/documents/en/updatelog/final/2/2218.md new file mode 100644 index 0000000..3e76d5d --- /dev/null +++ b/documents/en/updatelog/final/2/2218.md @@ -0,0 +1,34 @@ +--- +title: 2.2.1.8 +layout: doc +--- + +# 2.2.1.8 + +Release Date: 2025/10/02 + +## Update Content + +- Added language selection functionality +- Added file not found prompt +- Refactored some code + +## Known Issues + +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| 2.1.1.8 update log does not display version number | None | >=2.2.1.8;<2.2.3.10 | 2.2.3.10 | Fixed | None | +| About interface in English shows Chinese buttons | None | >=2.2.1.8;<2.2.3.10 | 2.2.3.10 | Fixed | None | +| Clear cache selecting "Select All" switches to "Partial Select" | None | >=2.2.1.8;<2.2.3.10 | 2.2.3.10 | Fixed | None | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5 | None | Fixed | None | + +## Next Version Preview +Version number: 2.3.0.8 (tentative) + +Expected update content: +- Add update installer, no need to replace folders +- Add installation manager +- Add command line + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.1.8) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.1.8) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/2229.md b/documents/en/updatelog/final/2/2229.md new file mode 100644 index 0000000..23c42fd --- /dev/null +++ b/documents/en/updatelog/final/2/2229.md @@ -0,0 +1,38 @@ +--- +title: 2.2.2.9 +layout: doc +--- + +# 2.2.2.9 + +Release Date: 2025/10/03 + +## Update Content + +- Fixed some bugs: +- - Fixed the issue where 2.1.1.8 update log does not display version number +- - Fixed the issue where Chinese buttons appear in the "About" page in English +- - Fixed "Clear Cache" issues: +- - - Fixed the issue where "Select All" switches to "Partially Selected" prompt +- - - Fixed the issue where partial selection displays as "Select None" + +- Updated "Changing language pack requires restart": +- - Modified language prompts and display icons +- - Modified click steps, no longer has prompts for saving only language or saving all settings +- - Removed "Restart Now" button + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5 | None | Fixed | None | + +## Next Version Preview +Version number: 2.3.0.11 (tentative) + +Expected update content: +- Add update installer, no need to replace folders +- Add installation manager +- Add command line + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.2.9) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.2.9) \ No newline at end of file diff --git a/documents/en/updatelog/final/2/22310.md b/documents/en/updatelog/final/2/22310.md new file mode 100644 index 0000000..e2a5017 --- /dev/null +++ b/documents/en/updatelog/final/2/22310.md @@ -0,0 +1,28 @@ +--- +title: 2.2.3.10 +layout: doc +--- + +# 2.2.3.10 + +Release Date: 2025/11/29 + +## Update Content + +- Improved clickmouse quality + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5 | None | Fixed | None | + +## Next Version Preview +Version number: 2.3.0.11 (tentative) + +Expected update content: +- Add update installer, no need to replace folders +- Add installation manager +- Add command line + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.3.10) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.3.10) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/30011.md b/documents/en/updatelog/final/3/30011.md new file mode 100644 index 0000000..968b701 --- /dev/null +++ b/documents/en/updatelog/final/3/30011.md @@ -0,0 +1,46 @@ +--- +title: 3.0.0.11 +layout: doc +--- + +# 3.0.0.11 + +Release Date: 2025/12/14 + +## Update Content + +- UI refactored using Pyside6, giving the interface a fresh new look +- New setting content +- Added hotkey startup, hotkeys can be found in software help +- Added click input count functionality +- Added status bar to view clicking status. +- Temporarily disabled features originally planned for release in 2.3.0, postponed to 3.1.0.12. +- Fixed some bugs + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| English language pack has unexpected characters | None | ==3.0.0.11 | 3.0.1.12 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/26) | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| When hovering over the menu, status bar characters disappear | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/43) | +| After switching languages, the interface opened again would become the selected updated language, causing interface fragmentation | None | ==3.0.0.11 | 3.0.1.12 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/23) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview +Version number: 3.1.0.12 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager +- Documentation functionality +- Add command line and CLI + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.11) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.0.11) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/30112.md b/documents/en/updatelog/final/3/30112.md new file mode 100644 index 0000000..e8c0fd3 --- /dev/null +++ b/documents/en/updatelog/final/3/30112.md @@ -0,0 +1,44 @@ +--- +title: 3.0.1.12 +layout: doc +--- + +# 3.0.1.12 + +Release Date: 2025/12/20 + +## Update Content + +- Optimized language packs +- - Modified the English language pack, fixed the issue where some version number characters displayed without spaces, and removed extra commas +- - Other language pack optimizations... +- Error style automatic uninstallation functionality +- Fixed some bugs: +- - After switching languages, the interface opened again would become the selected updated language, causing interface fragmentation +- - Fixed the issue where the English language pack had unexpected characters +- - Some other bugs... +- - Adjusted settings: Changed the 'Software needs to restart' interface to a pop-up window and removed character display +- - Removed clickmouse initialization, now automatically gets language + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview +Version number: 3.1.0.13 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.1.12) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.1.12) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/30213.md b/documents/en/updatelog/final/3/30213.md new file mode 100644 index 0000000..9c035a5 --- /dev/null +++ b/documents/en/updatelog/final/3/30213.md @@ -0,0 +1,38 @@ +--- +title: 3.0.2.13 +layout: doc +--- + +# 3.0.2.13 + +Release Date: 2025/12/27 + +## Update Content + +- Optimized color management +- - Added Windows accent color detection functionality +- - Added dark title bar in light mode + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| After settings trigger a restart, it returns to the first page | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| Sometimes, style-changed buttons still have the original style color | None | ==3.0.2.13 | 3.0.3.14 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/40) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview +Version number: 3.1.0.14 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.2.13) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.2.13) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/30314.md b/documents/en/updatelog/final/3/30314.md new file mode 100644 index 0000000..7feb9cd --- /dev/null +++ b/documents/en/updatelog/final/3/30314.md @@ -0,0 +1,47 @@ +--- +title: 3.0.3.14 +layout: doc +--- + +# 3.0.3.14 + +Release Date: 2026/01/11 + +## Update Content + +- Fixed some issues: +- - English language pack has unexpected characters +- - Settings opened then closed, changing Windows theme at this time will display settings +- - After settings trigger a restart, it returns to the first page +- - When hovering over the menu, status bar characters disappear +- - Sometimes clicker ending does not cause button display changes +- Added retain settings tab page functionality +- Now when the clicker is running, clicker settings or time changes cannot be made to avoid misunderstandings. +- Modified styles: +- - Integrated styles into one file +- - Removed no-style mode +- - Fixed some style display bugs +- - Added style out-of-bounds protection + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| Settings cannot enable `Use default value when click count is wrong` | None | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview +Version number: 3.1.0.15 (tentative) + +Expected update content: +- Add an initialization program, no need to replace folders +- Add a package manager + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.3.14) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.3.14) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/31015.md b/documents/en/updatelog/final/3/31015.md new file mode 100644 index 0000000..44bf6de --- /dev/null +++ b/documents/en/updatelog/final/3/31015.md @@ -0,0 +1,53 @@ +--- +title: 3.1.0.15 +layout: doc +--- + +# 3.1.0.15 + +Release Date: 2026/01/11 + +## Update Content + +- Added package manager +- Added initialization program and Control Panel installation information functionality +- Added uninstall clickmouse functionality +- Added clickmouse restore environment component extension +- Modified styles: +- - Added system color hover highlight +- - Settings checkbox shows white checkmark in light mode +- - Fixed some style bugs +- - Some other features +- Fixed some bugs: +- - Settings cannot enable "Use default value when click count is wrong" +- - Fixed some style issues +- - Other bug fixes + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| Settings response delay slider displays as 1 | None | >=3.0.0.11;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview +## 3.1.1.16 +- Add auto-start on boot settings +## 3.2.0.17 +- Add update installer +- Add some settings +- - Theme settings +- - Documentation settings +- - ~~Update settings~~ temporarily not added in 3.2.0 version +- Fix some bugs +- Documentation functionality +- Remove local update logs + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.15) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.1.0.15) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/31116.md b/documents/en/updatelog/final/3/31116.md new file mode 100644 index 0000000..598e19a --- /dev/null +++ b/documents/en/updatelog/final/3/31116.md @@ -0,0 +1,46 @@ +--- +title: 3.1.1.16 +layout: doc +--- + +# 3.1.1.16 + +Release Date: 2026/01/22 + +## Update Content + +- Added auto-start on boot settings +- Added anti-multiple instance functionality +- Optimized program performance +- Added update file automatic modification of Control Panel version number functionality +- Fixed some bugs + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| Settings response delay slider displays as 1 | None | >=3.0.0.11;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| Clear cache tool checkboxes become unresponsive after selecting "Select All" | Manually check sub-options | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| init program cannot run | Manually run as administrator | ==3.1.1.16 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/116) | +| Auto-start on boot shows "langs.json does not exist" | Manually start | ==3.1.1.16 | 3.1.2.17 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/90) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview + +## 3.2.0.17 +- Add update installer +- Add some settings +- - Theme settings +- - Documentation settings +- - ~~Update settings~~ temporarily not added in 3.2.0 version +- Fix some bugs +- Documentation functionality +- Remove local update logs + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.1.16) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.1.1.16) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/31217.md b/documents/en/updatelog/final/3/31217.md new file mode 100644 index 0000000..5ac5e81 --- /dev/null +++ b/documents/en/updatelog/final/3/31217.md @@ -0,0 +1,53 @@ +--- +title: 3.1.2.17 +layout: doc +--- + +# 3.1.2.17 + +Release Date: 2026/01/31 + +## Update Content + +- For beta versions, all clickmouse component icons will have 'pre' text below them. +- New message box version, now message box options are translated into Chinese, multilingual version will be released later. +- Fixed bug where clear cache tool checkboxes become unresponsive after selecting "Select All" +- Fixed issue where settings response delay slider displays as 1 +- Fixed issue where auto-start on boot cannot run +- Refactored clickmouse cache clearing tool +- Modified logs, now reduces output text and is easier to manage +- Now cache calculation filters undeletable files, making calculations more accurate +- Optimized performance +- Added setting delay settings +- Optimized clicker settings display +- Modified update log +- Fixed "langs.json does not exist" when displaying auto-start on boot + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| If the release is a remastered version, it will not detect the update | None | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| When there is an update, opening the application from the tray shows there is an update, causing continuous pop-ups | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| In English mode, dragging response delay, total delay prompt becomes Chinese | None | >=3.1.2.17 | None | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/121) | +| English mode cannot enable infinite clicking | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| English mode "Paused" display error | None | >=3.0.0.11 | 3.1.3.18 | Fixed | [Issue Link](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| If the hotkey is modified, the tray right-click cannot be used | >=3.2.0.19beta9; only in beta versions | None | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/206) | + +## Next Version Preview + +## 3.1.3.18 +- Add update installer +- Add some settings +- - Theme settings +- - Documentation settings +- - ~~Update settings~~ temporarily not added in 3.2.0 version +- - Hotkey settings +- Optimize performance +- Fix some bugs +- Documentation functionality +- Remove local update logs + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.2.17) or [China Accelerated Link](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.1.2.17) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/31318.md b/documents/en/updatelog/final/3/31318.md new file mode 100644 index 0000000..6115b28 --- /dev/null +++ b/documents/en/updatelog/final/3/31318.md @@ -0,0 +1,39 @@ +--- +title: 3.1.3.18 +layout: doc +--- + +# 3.1.3.18 +Release Date: 2026/02/19 + +## Update Log + +- Add "Feedback" button +- Fix some bugs: + - When there is an update, the application will always pop up the update notification, which will cause the application to always pop up the update notification. + - The drag response delay in English mode is too long, and the total delay prompt is in Chinese. + - Fix the problem of decryption of update resources. + - If the version label is a reissue, the download program cannot be used and an error 404 is reported. + - Fix the problem of unable to enable infinite clicking in English mode. + - Fix the problem of "Paused" in English mode is displayed incorrectly. + - Fix the problem of the unit of the maximum value being displayed in English if your language is Chinese. + - Fix the problem of not being able to confirm the installation, you need to click cancel to install. +- Document function completed +- Remove the local update log and turn it into online document consultation. +- Modify the prompt text of the about interface. +- Significantly simplify components, optimize code structure, improve performance and compress the installation package size. +- Modify the default response delay to 100ms, 1000ms is too slow. + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| Cannot load default total delay when first loading settings | None | 3.1.3.18 | 3.2.0.19 | Already fixed in beta version | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/182) | +| The title bar is light when the style is dark and open a window twice | None | 3.1.3.18 | 3.2.0.19 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/183) | +| The folder will not revert when revert an update | None | 3.1.3.18 | 3.2.0.19 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/184) | +| If there is an update and the installation is complete, the update is displayed as "updating" when opening it again | None | 3.1.3.18 | 3.2.0.19 | Fixed | [isssue link](https://github.com/xystudiocode/pyClickMouse/issues/185) | +| Tray right-click language display error | None | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| Unable to use the “Set Delay” function | None | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | Fixed | [issue link](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| Clean cache cannot clean | None | >3.1.3.18;<3.2.1.20 | 3.2.1.20 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/234 | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.3.18) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/32019.md b/documents/en/updatelog/final/3/32019.md new file mode 100644 index 0000000..7f58c83 --- /dev/null +++ b/documents/en/updatelog/final/3/32019.md @@ -0,0 +1,40 @@ +--- +title: 3.2.0.19 +layout: doc +--- + +# 3.2.0.19 +Release date: 2026/03/14 + +## Update content + +- Completed update installation service +- Added "Feedback bug" button +- Fixed some bugs: +- - The estimated time to load the default settings is not loaded for the first time +- - If there is an update and the installation is complete, then closing the update completed and opening again will show that it is updating +- - The folder will not be rolled back when rolling back updates +- - When the mode is dark and multiple windows are opened, the title bar becomes white +- - The language of the right-click menu in the tray is incorrect +- - The "Set delay" function cannot be used +- Added themes, the original theme has been re-translated into "style" +- Document function completed +- Removed local update log, and the online documentation is consulted +- Modified the prompt text in the About interface +- Compressed the installation package size +- Removed the hotkey help in the "Help" menu, because custom hotkeys have been added. +- Modified the default response delay to 100ms, 1000ms delay is too slow. +- Simplified unnecessary content +- Prevent switching between clicking when running +- Optimize performance +- Added update settings +- Simple style modification + +## Known issues +| Problem description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| Clean cache cannot clean | None | >3.1.3.18;<3.2.1.20 | 3.2.1.20 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/234 | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/32120.md b/documents/en/updatelog/final/3/32120.md new file mode 100644 index 0000000..406fd6d --- /dev/null +++ b/documents/en/updatelog/final/3/32120.md @@ -0,0 +1,26 @@ +--- +title: 3.2.1.20 +layout: doc +--- + +# 3.2.1.20 +Release date: 2026/04/11 + +## Update Content + +- Fix the following issues: +- - Clean cache cannot be cleaned +- Upgrade to Qt 6.11 version, fixing or adding some display: +- - Now, the maximize button will hide or become lighter, just like the effect of 3.1.0 using Qt 6.9, not the effect of 6.10. +- - Added immersive rounded menu bar and dropdown box, not the straight-cornered dropdown box and the uncropped rounded menu bar. +- New product: `clickclean`, which has greatly simplified clickmouse, leaving only the clicker and its related settings, its update frequency is slower than clickmouse, and you need to manually check for updates. +- Now, startup on boot will run in the background. If you are an older version user, you need to reset the startup on boot configuration in the settings to enable it. + +## Known issues + +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| Non-default themes in inverted or dark mode display the title bar and menus abnormally | None | >3.2.0.19;<3.2.2.21 | 3.2.2.21 | Fixed | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.1.20) diff --git a/documents/en/updatelog/final/3/32221.md b/documents/en/updatelog/final/3/32221.md new file mode 100644 index 0000000..503e9a1 --- /dev/null +++ b/documents/en/updatelog/final/3/32221.md @@ -0,0 +1,29 @@ +--- +title: 3.2.2.21 +layout: doc +--- + +# 3.2.2.21 +Release date: 2026/04/19 + +This is a minor update, mainly fixing some known issues. + +## Update content + +- Fix the following issues: +- - In the inverted or dark mode, non-windows default style menu bar will display abnormally: the font is the current style, but the background is the system color. +- - In the inverted or dark mode, non-windows default style title bar may "crash", the dark mode title bar is light color. +- Adjust the lower limit of response delay to 50ms, to fix the "crash" problem of the title bar. +- Setting window icon changes to the clickmouse logo, not clickmouse logo with a setting icon. +- Disabled the lab. + +## ClickClean update content +- Setting window icon changes to the clickmouse logo, not clickmouse logo with a setting icon. + +## Known issues +| Issue description | Solution | Affected version | Fixed version | Status | Issue link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Download link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.2.21) \ No newline at end of file diff --git a/documents/en/updatelog/final/3/32322.md b/documents/en/updatelog/final/3/32322.md new file mode 100644 index 0000000..8d72cfb --- /dev/null +++ b/documents/en/updatelog/final/3/32322.md @@ -0,0 +1,26 @@ +--- +title: 3.2.3.22 +layout: doc +--- + +# 3.2.3.22 +Release Date: 2026/05/23 + +> This is a development update of the 4th version of the `3.3.0` development cycle, synchronized with the current `3.2.3.22`. + +## Update Content + +- Now, the status bar will display the click status immediately when starting to click. +- If there is already a clickmouse instance running, clicking another clickmouse program will pop up a prompt box instead of displaying the window directly. + +## ClickClean Update Content +- Now, the status bar will display the click status immediately when starting to click. +- If there is already a clickmouse instance running, clicking another clickmouse program will pop up a prompt box instead of displaying the window directly. + +## Known Issues +| Issue Description | Solution | Affected Version | Fixed Version | Status | Issue Link | +| --- | --- | --- | --- | --- | --- | +| None | None | None | None | None | None | + +## Download Link +[Click to download](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.3.22) \ No newline at end of file diff --git a/documents/en/updatelog/index.md b/documents/en/updatelog/index.md new file mode 100644 index 0000000..4ac3611 --- /dev/null +++ b/documents/en/updatelog/index.md @@ -0,0 +1,2 @@ +# Update Log +Please go to the directory to view the update log. \ No newline at end of file diff --git a/documents/index.md b/documents/index.md new file mode 100644 index 0000000..157f9e8 --- /dev/null +++ b/documents/index.md @@ -0,0 +1,26 @@ + + +# Please select your language + +- [English](/en/) +- [简体中文](/zh-CN/) \ No newline at end of file diff --git a/documents/public/imgs/clickclean/en/dark/home.png b/documents/public/imgs/clickclean/en/dark/home.png new file mode 100644 index 0000000..297e63a Binary files /dev/null and b/documents/public/imgs/clickclean/en/dark/home.png differ diff --git a/documents/public/imgs/clickclean/en/dark/setting.png b/documents/public/imgs/clickclean/en/dark/setting.png new file mode 100644 index 0000000..85acba7 Binary files /dev/null and b/documents/public/imgs/clickclean/en/dark/setting.png differ diff --git a/documents/public/imgs/clickclean/en/light/home.png b/documents/public/imgs/clickclean/en/light/home.png new file mode 100644 index 0000000..ec4f9f5 Binary files /dev/null and b/documents/public/imgs/clickclean/en/light/home.png differ diff --git a/documents/public/imgs/clickclean/en/light/setting.png b/documents/public/imgs/clickclean/en/light/setting.png new file mode 100644 index 0000000..3c43440 Binary files /dev/null and b/documents/public/imgs/clickclean/en/light/setting.png differ diff --git a/documents/public/imgs/clickclean/zh-CN/dark/home.png b/documents/public/imgs/clickclean/zh-CN/dark/home.png new file mode 100644 index 0000000..452b94d Binary files /dev/null and b/documents/public/imgs/clickclean/zh-CN/dark/home.png differ diff --git a/documents/public/imgs/clickclean/zh-CN/dark/setting.png b/documents/public/imgs/clickclean/zh-CN/dark/setting.png new file mode 100644 index 0000000..df6934e Binary files /dev/null and b/documents/public/imgs/clickclean/zh-CN/dark/setting.png differ diff --git a/documents/public/imgs/clickclean/zh-CN/light/home.png b/documents/public/imgs/clickclean/zh-CN/light/home.png new file mode 100644 index 0000000..7625657 Binary files /dev/null and b/documents/public/imgs/clickclean/zh-CN/light/home.png differ diff --git a/documents/public/imgs/clickclean/zh-CN/light/setting.png b/documents/public/imgs/clickclean/zh-CN/light/setting.png new file mode 100644 index 0000000..6ffb99d Binary files /dev/null and b/documents/public/imgs/clickclean/zh-CN/light/setting.png differ diff --git a/documents/public/imgs/en/mergeSteps.png b/documents/public/imgs/en/mergeSteps.png new file mode 100644 index 0000000..7b65339 Binary files /dev/null and b/documents/public/imgs/en/mergeSteps.png differ diff --git a/documents/public/imgs/faq/dark/lang_not_found.png b/documents/public/imgs/faq/dark/lang_not_found.png new file mode 100644 index 0000000..dafa038 Binary files /dev/null and b/documents/public/imgs/faq/dark/lang_not_found.png differ diff --git a/documents/public/imgs/faq/en/dark/input_disable.png b/documents/public/imgs/faq/en/dark/input_disable.png new file mode 100644 index 0000000..772fcf7 Binary files /dev/null and b/documents/public/imgs/faq/en/dark/input_disable.png differ diff --git a/documents/public/imgs/faq/en/dark/ipk_not_found.png b/documents/public/imgs/faq/en/dark/ipk_not_found.png new file mode 100644 index 0000000..9d77d90 Binary files /dev/null and b/documents/public/imgs/faq/en/dark/ipk_not_found.png differ diff --git a/documents/public/imgs/faq/en/dark/stop_click.png b/documents/public/imgs/faq/en/dark/stop_click.png new file mode 100644 index 0000000..9759fb8 Binary files /dev/null and b/documents/public/imgs/faq/en/dark/stop_click.png differ diff --git a/documents/public/imgs/faq/en/dark/update_disable.png b/documents/public/imgs/faq/en/dark/update_disable.png new file mode 100644 index 0000000..90bd184 Binary files /dev/null and b/documents/public/imgs/faq/en/dark/update_disable.png differ diff --git a/documents/public/imgs/faq/en/light/input_disable.png b/documents/public/imgs/faq/en/light/input_disable.png new file mode 100644 index 0000000..4b22da3 Binary files /dev/null and b/documents/public/imgs/faq/en/light/input_disable.png differ diff --git a/documents/public/imgs/faq/en/light/ipk_not_found.png b/documents/public/imgs/faq/en/light/ipk_not_found.png new file mode 100644 index 0000000..fe3dd17 Binary files /dev/null and b/documents/public/imgs/faq/en/light/ipk_not_found.png differ diff --git a/documents/public/imgs/faq/en/light/stop_click.png b/documents/public/imgs/faq/en/light/stop_click.png new file mode 100644 index 0000000..7d43975 Binary files /dev/null and b/documents/public/imgs/faq/en/light/stop_click.png differ diff --git a/documents/public/imgs/faq/en/light/update_disable.png b/documents/public/imgs/faq/en/light/update_disable.png new file mode 100644 index 0000000..5b7d493 Binary files /dev/null and b/documents/public/imgs/faq/en/light/update_disable.png differ diff --git a/documents/public/imgs/faq/light/lang_not_found.png b/documents/public/imgs/faq/light/lang_not_found.png new file mode 100644 index 0000000..4b6211e Binary files /dev/null and b/documents/public/imgs/faq/light/lang_not_found.png differ diff --git a/documents/public/imgs/faq/zh-CN/dark/input_disable.png b/documents/public/imgs/faq/zh-CN/dark/input_disable.png new file mode 100644 index 0000000..3b234c4 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/dark/input_disable.png differ diff --git a/documents/public/imgs/faq/zh-CN/dark/ipk_not_found.png b/documents/public/imgs/faq/zh-CN/dark/ipk_not_found.png new file mode 100644 index 0000000..1cfd4e7 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/dark/ipk_not_found.png differ diff --git a/documents/public/imgs/faq/zh-CN/dark/stop_click.png b/documents/public/imgs/faq/zh-CN/dark/stop_click.png new file mode 100644 index 0000000..a22aeb8 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/dark/stop_click.png differ diff --git a/documents/public/imgs/faq/zh-CN/dark/update_disable.png b/documents/public/imgs/faq/zh-CN/dark/update_disable.png new file mode 100644 index 0000000..d065bce Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/dark/update_disable.png differ diff --git a/documents/public/imgs/faq/zh-CN/light/input_disable.png b/documents/public/imgs/faq/zh-CN/light/input_disable.png new file mode 100644 index 0000000..b9109a0 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/light/input_disable.png differ diff --git a/documents/public/imgs/faq/zh-CN/light/ipk_not_found.png b/documents/public/imgs/faq/zh-CN/light/ipk_not_found.png new file mode 100644 index 0000000..d17edb7 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/light/ipk_not_found.png differ diff --git a/documents/public/imgs/faq/zh-CN/light/stop_click.png b/documents/public/imgs/faq/zh-CN/light/stop_click.png new file mode 100644 index 0000000..78378b5 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/light/stop_click.png differ diff --git a/documents/public/imgs/faq/zh-CN/light/update_disable.png b/documents/public/imgs/faq/zh-CN/light/update_disable.png new file mode 100644 index 0000000..c241774 Binary files /dev/null and b/documents/public/imgs/faq/zh-CN/light/update_disable.png differ diff --git a/documents/public/imgs/features/en/dark/about.png b/documents/public/imgs/features/en/dark/about.png new file mode 100644 index 0000000..1d55c5a Binary files /dev/null and b/documents/public/imgs/features/en/dark/about.png differ diff --git a/documents/public/imgs/features/en/dark/cleancache.png b/documents/public/imgs/features/en/dark/cleancache.png new file mode 100644 index 0000000..7667552 Binary files /dev/null and b/documents/public/imgs/features/en/dark/cleancache.png differ diff --git a/documents/public/imgs/features/en/dark/settings/clicker.png b/documents/public/imgs/features/en/dark/settings/clicker.png new file mode 100644 index 0000000..08f6082 Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/clicker.png differ diff --git a/documents/public/imgs/features/en/dark/settings/document.png b/documents/public/imgs/features/en/dark/settings/document.png new file mode 100644 index 0000000..475912c Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/document.png differ diff --git a/documents/public/imgs/features/en/dark/settings/general.png b/documents/public/imgs/features/en/dark/settings/general.png new file mode 100644 index 0000000..ded8354 Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/general.png differ diff --git a/documents/public/imgs/features/en/dark/settings/hotkey.png b/documents/public/imgs/features/en/dark/settings/hotkey.png new file mode 100644 index 0000000..b38299c Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/hotkey.png differ diff --git a/documents/public/imgs/features/en/dark/settings/lab.png b/documents/public/imgs/features/en/dark/settings/lab.png new file mode 100644 index 0000000..49ea3ff Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/lab.png differ diff --git a/documents/public/imgs/features/en/dark/settings/notify.png b/documents/public/imgs/features/en/dark/settings/notify.png new file mode 100644 index 0000000..26c3e5d Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/notify.png differ diff --git a/documents/public/imgs/features/en/dark/settings/style.png b/documents/public/imgs/features/en/dark/settings/style.png new file mode 100644 index 0000000..a0e4a38 Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/style.png differ diff --git a/documents/public/imgs/features/en/dark/settings/update.png b/documents/public/imgs/features/en/dark/settings/update.png new file mode 100644 index 0000000..e20f3a6 Binary files /dev/null and b/documents/public/imgs/features/en/dark/settings/update.png differ diff --git a/documents/public/imgs/features/en/light/about.png b/documents/public/imgs/features/en/light/about.png new file mode 100644 index 0000000..f7143e7 Binary files /dev/null and b/documents/public/imgs/features/en/light/about.png differ diff --git a/documents/public/imgs/features/en/light/cleancache.png b/documents/public/imgs/features/en/light/cleancache.png new file mode 100644 index 0000000..3d21630 Binary files /dev/null and b/documents/public/imgs/features/en/light/cleancache.png differ diff --git a/documents/public/imgs/features/en/light/settings/clicker.png b/documents/public/imgs/features/en/light/settings/clicker.png new file mode 100644 index 0000000..fe362be Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/clicker.png differ diff --git a/documents/public/imgs/features/en/light/settings/document.png b/documents/public/imgs/features/en/light/settings/document.png new file mode 100644 index 0000000..f9ef987 Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/document.png differ diff --git a/documents/public/imgs/features/en/light/settings/general.png b/documents/public/imgs/features/en/light/settings/general.png new file mode 100644 index 0000000..5ad40f8 Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/general.png differ diff --git a/documents/public/imgs/features/en/light/settings/hotkey.png b/documents/public/imgs/features/en/light/settings/hotkey.png new file mode 100644 index 0000000..511c696 Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/hotkey.png differ diff --git a/documents/public/imgs/features/en/light/settings/lab.png b/documents/public/imgs/features/en/light/settings/lab.png new file mode 100644 index 0000000..0e4f554 Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/lab.png differ diff --git a/documents/public/imgs/features/en/light/settings/notify.png b/documents/public/imgs/features/en/light/settings/notify.png new file mode 100644 index 0000000..81fe2b0 Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/notify.png differ diff --git a/documents/public/imgs/features/en/light/settings/style.png b/documents/public/imgs/features/en/light/settings/style.png new file mode 100644 index 0000000..e7586ba Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/style.png differ diff --git a/documents/public/imgs/features/en/light/settings/update.png b/documents/public/imgs/features/en/light/settings/update.png new file mode 100644 index 0000000..f7eb553 Binary files /dev/null and b/documents/public/imgs/features/en/light/settings/update.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/about.png b/documents/public/imgs/features/zh-CN/dark/about.png new file mode 100644 index 0000000..9d23ca3 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/about.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/cleancache.png b/documents/public/imgs/features/zh-CN/dark/cleancache.png new file mode 100644 index 0000000..e989f85 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/cleancache.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/clicker.png b/documents/public/imgs/features/zh-CN/dark/settings/clicker.png new file mode 100644 index 0000000..309f231 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/clicker.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/document.png b/documents/public/imgs/features/zh-CN/dark/settings/document.png new file mode 100644 index 0000000..50b031b Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/document.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/general.png b/documents/public/imgs/features/zh-CN/dark/settings/general.png new file mode 100644 index 0000000..649c2ca Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/general.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/hotkey.png b/documents/public/imgs/features/zh-CN/dark/settings/hotkey.png new file mode 100644 index 0000000..aba6411 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/hotkey.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/lab.png b/documents/public/imgs/features/zh-CN/dark/settings/lab.png new file mode 100644 index 0000000..cd7cd80 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/lab.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/notify.png b/documents/public/imgs/features/zh-CN/dark/settings/notify.png new file mode 100644 index 0000000..6d659c5 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/notify.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/style.png b/documents/public/imgs/features/zh-CN/dark/settings/style.png new file mode 100644 index 0000000..3ac1a83 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/style.png differ diff --git a/documents/public/imgs/features/zh-CN/dark/settings/update.png b/documents/public/imgs/features/zh-CN/dark/settings/update.png new file mode 100644 index 0000000..7f92b6d Binary files /dev/null and b/documents/public/imgs/features/zh-CN/dark/settings/update.png differ diff --git a/documents/public/imgs/features/zh-CN/light/about.png b/documents/public/imgs/features/zh-CN/light/about.png new file mode 100644 index 0000000..3d78f2c Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/about.png differ diff --git a/documents/public/imgs/features/zh-CN/light/cleancache.png b/documents/public/imgs/features/zh-CN/light/cleancache.png new file mode 100644 index 0000000..1972eab Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/cleancache.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/clicker.png b/documents/public/imgs/features/zh-CN/light/settings/clicker.png new file mode 100644 index 0000000..d362d64 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/clicker.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/document.png b/documents/public/imgs/features/zh-CN/light/settings/document.png new file mode 100644 index 0000000..ba9fce3 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/document.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/general.png b/documents/public/imgs/features/zh-CN/light/settings/general.png new file mode 100644 index 0000000..a6f2328 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/general.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/hotkey.png b/documents/public/imgs/features/zh-CN/light/settings/hotkey.png new file mode 100644 index 0000000..b336fdf Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/hotkey.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/lab.png b/documents/public/imgs/features/zh-CN/light/settings/lab.png new file mode 100644 index 0000000..0ac41e3 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/lab.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/notify.png b/documents/public/imgs/features/zh-CN/light/settings/notify.png new file mode 100644 index 0000000..5b510f1 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/notify.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/style.png b/documents/public/imgs/features/zh-CN/light/settings/style.png new file mode 100644 index 0000000..75540b7 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/style.png differ diff --git a/documents/public/imgs/features/zh-CN/light/settings/update.png b/documents/public/imgs/features/zh-CN/light/settings/update.png new file mode 100644 index 0000000..1ce7a60 Binary files /dev/null and b/documents/public/imgs/features/zh-CN/light/settings/update.png differ diff --git a/documents/public/imgs/icons/cmd/dark.png b/documents/public/imgs/icons/cmd/dark.png new file mode 100644 index 0000000..dff848a Binary files /dev/null and b/documents/public/imgs/icons/cmd/dark.png differ diff --git a/documents/public/imgs/icons/cmd/light.png b/documents/public/imgs/icons/cmd/light.png new file mode 100644 index 0000000..9c35a4e Binary files /dev/null and b/documents/public/imgs/icons/cmd/light.png differ diff --git a/documents/public/imgs/icons/icon.ico b/documents/public/imgs/icons/icon.ico new file mode 100644 index 0000000..3724d95 Binary files /dev/null and b/documents/public/imgs/icons/icon.ico differ diff --git a/documents/public/imgs/install/en/dark/clickmouse.png b/documents/public/imgs/install/en/dark/clickmouse.png new file mode 100644 index 0000000..84a7188 Binary files /dev/null and b/documents/public/imgs/install/en/dark/clickmouse.png differ diff --git a/documents/public/imgs/install/en/dark/compoments.png b/documents/public/imgs/install/en/dark/compoments.png new file mode 100644 index 0000000..1134f41 Binary files /dev/null and b/documents/public/imgs/install/en/dark/compoments.png differ diff --git a/documents/public/imgs/install/en/dark/finish.png b/documents/public/imgs/install/en/dark/finish.png new file mode 100644 index 0000000..75bd5b0 Binary files /dev/null and b/documents/public/imgs/install/en/dark/finish.png differ diff --git a/documents/public/imgs/install/en/dark/license.png b/documents/public/imgs/install/en/dark/license.png new file mode 100644 index 0000000..f8733dd Binary files /dev/null and b/documents/public/imgs/install/en/dark/license.png differ diff --git a/documents/public/imgs/install/en/dark/shortcut.png b/documents/public/imgs/install/en/dark/shortcut.png new file mode 100644 index 0000000..666ddb4 Binary files /dev/null and b/documents/public/imgs/install/en/dark/shortcut.png differ diff --git a/documents/public/imgs/install/en/light/clickmouse.png b/documents/public/imgs/install/en/light/clickmouse.png new file mode 100644 index 0000000..d66fbff Binary files /dev/null and b/documents/public/imgs/install/en/light/clickmouse.png differ diff --git a/documents/public/imgs/install/en/light/compoments.png b/documents/public/imgs/install/en/light/compoments.png new file mode 100644 index 0000000..a50c9a9 Binary files /dev/null and b/documents/public/imgs/install/en/light/compoments.png differ diff --git a/documents/public/imgs/install/en/light/finish.png b/documents/public/imgs/install/en/light/finish.png new file mode 100644 index 0000000..d7e1b78 Binary files /dev/null and b/documents/public/imgs/install/en/light/finish.png differ diff --git a/documents/public/imgs/install/en/light/license.png b/documents/public/imgs/install/en/light/license.png new file mode 100644 index 0000000..27ab412 Binary files /dev/null and b/documents/public/imgs/install/en/light/license.png differ diff --git a/documents/public/imgs/install/en/light/shortcut.png b/documents/public/imgs/install/en/light/shortcut.png new file mode 100644 index 0000000..771dff4 Binary files /dev/null and b/documents/public/imgs/install/en/light/shortcut.png differ diff --git a/documents/public/imgs/install/zh-CN/dark/clickmouse.png b/documents/public/imgs/install/zh-CN/dark/clickmouse.png new file mode 100644 index 0000000..dae0d9a Binary files /dev/null and b/documents/public/imgs/install/zh-CN/dark/clickmouse.png differ diff --git a/documents/public/imgs/install/zh-CN/dark/compoments.png b/documents/public/imgs/install/zh-CN/dark/compoments.png new file mode 100644 index 0000000..945d87a Binary files /dev/null and b/documents/public/imgs/install/zh-CN/dark/compoments.png differ diff --git a/documents/public/imgs/install/zh-CN/dark/finish.png b/documents/public/imgs/install/zh-CN/dark/finish.png new file mode 100644 index 0000000..482cd25 Binary files /dev/null and b/documents/public/imgs/install/zh-CN/dark/finish.png differ diff --git a/documents/public/imgs/install/zh-CN/dark/license.png b/documents/public/imgs/install/zh-CN/dark/license.png new file mode 100644 index 0000000..8e2731a Binary files /dev/null and b/documents/public/imgs/install/zh-CN/dark/license.png differ diff --git a/documents/public/imgs/install/zh-CN/dark/shortcut.png b/documents/public/imgs/install/zh-CN/dark/shortcut.png new file mode 100644 index 0000000..783e6bb Binary files /dev/null and b/documents/public/imgs/install/zh-CN/dark/shortcut.png differ diff --git a/documents/public/imgs/install/zh-CN/light/clickmouse.png b/documents/public/imgs/install/zh-CN/light/clickmouse.png new file mode 100644 index 0000000..186f43c Binary files /dev/null and b/documents/public/imgs/install/zh-CN/light/clickmouse.png differ diff --git a/documents/public/imgs/install/zh-CN/light/compoments.png b/documents/public/imgs/install/zh-CN/light/compoments.png new file mode 100644 index 0000000..27ebb20 Binary files /dev/null and b/documents/public/imgs/install/zh-CN/light/compoments.png differ diff --git a/documents/public/imgs/install/zh-CN/light/finish.png b/documents/public/imgs/install/zh-CN/light/finish.png new file mode 100644 index 0000000..a8903cd Binary files /dev/null and b/documents/public/imgs/install/zh-CN/light/finish.png differ diff --git a/documents/public/imgs/install/zh-CN/light/license.png b/documents/public/imgs/install/zh-CN/light/license.png new file mode 100644 index 0000000..7934edc Binary files /dev/null and b/documents/public/imgs/install/zh-CN/light/license.png differ diff --git a/documents/public/imgs/install/zh-CN/light/shortcut.png b/documents/public/imgs/install/zh-CN/light/shortcut.png new file mode 100644 index 0000000..5618ed3 Binary files /dev/null and b/documents/public/imgs/install/zh-CN/light/shortcut.png differ diff --git a/documents/public/imgs/zh-CN/mergeSteps.png b/documents/public/imgs/zh-CN/mergeSteps.png new file mode 100644 index 0000000..e0e4189 Binary files /dev/null and b/documents/public/imgs/zh-CN/mergeSteps.png differ diff --git a/documents/zh-CN/blog/decoupling-code-and-ui.md b/documents/zh-CN/blog/decoupling-code-and-ui.md new file mode 100644 index 0000000..5852eb1 --- /dev/null +++ b/documents/zh-CN/blog/decoupling-code-and-ui.md @@ -0,0 +1,60 @@ +--- +title: Decoupling code and ui +layout: doc +--- + +# ui和代码解耦 + +## 背景 + +- 为了增加可扩展性,用户可以导入其他玩家的gui文件。 +- 减少代码冗余 + +## 结果 + +把所有ui控制的代码都移动到`res/ui/`下的gui文件,这样就可以通过导入其他玩家的gui文件来扩展功能。 + +把源码本身变成一个代码库,通过`name`的组件名字属性来修改操作 + +## 格式 + +`gui`文件采用json格式,类似: + +```json +{ + "name": "layout", + "value": { + "direction": "h", + "content": [ + { + "name": "button", + "value": { + "type": "QPushButton", + "args": ["hello"], + "style": "selected", + "init_steps": { "setFixedHeight": [30], "setFixedWidth": [100] } + } + }, + { + "name": "label", + "value": { + "type": "QLabel", + "args": ["world"], + "style": "big_text_16", + "init_steps": { "setFixedHeight": [30], "setFixedWidth": [100] } + } + } + ] + } +} +``` + +## 启用方法 + +
最低要求的clickmouse版本 +

+Clickmouse测试版, >=3.3.0.23alpha5 +

+
+ +打开主程序设置,找到`实验室`,勾选`Decoupling UI and program`,重启程序。 \ No newline at end of file diff --git a/documents/zh-CN/develop/clicker/cpp.md b/documents/zh-CN/develop/clicker/cpp.md new file mode 100644 index 0000000..a82bd16 --- /dev/null +++ b/documents/zh-CN/develop/clicker/cpp.md @@ -0,0 +1,76 @@ +--- +title: Python/pyd调用 +description: 介绍如何使用Python调用pyd文件。 +layout: doc +--- + + + +# header/dll调用 + +本文介绍了如何使用Python调用pyd文件。 + +## 下载 + +前往[github releases](https://github.com/xystudiocode/pyclickmouse/releases),找到最新版本有.h或dll的版本文件。 + + +在下文,CLICKMOUSE_CLASS在dll中指int,在header调用中指void。 + + +## 函数库 + +`ClickMouse`函数: +- 定义: +```cpp +CLICKMOUSE_CLASS ClickMouse( + unsinged int MouseButton, + unsigned int delay, + unsigned int pressTime, + int times = 1 +) +``` +- 参数: +- - MouseButton:按下的键位,可选`LEFT`或`RIGHT` +- - delay:点击延迟 +- - time:点击次数,默认为1次,如果是`INFINITE`则为无限 + +`LeftClick`函数: +```cpp +CLICKMOUSE_CLASS LeftClick( + int times = 1, + unsigned int delay, + unsigned int pressTime +) +``` +等同于`ClickMouse(LEFT, delay, pressTime, times)` + +`RightClick`函数: +```cpp +CLICKMOUSE_CLASS RightClick( + int times = 1, + unsigned int delay, + unsigned int pressTime +) +``` +等同于`ClickMouse(RIGHT, delay, pressTime, times)` + +## 示例 +```cpp +#include +#include +using namespace std; + +int main(){ + cout << CLICKMOUSE_VERSION << endl; // 打印版本信息,若成功输出一串数字,则安装成功 + clickMouse(LEFT, 1000, 10, 10); // 连点10次左键,间隔为1000ms,按下时间为10ms + return 0; +} +``` +## 使用优先级 +```mermaid +graph LR +C[C/C++] --> E[dll调用] --> D[命令行调用] +``` \ No newline at end of file diff --git a/documents/zh-CN/develop/clicker/index.md b/documents/zh-CN/develop/clicker/index.md new file mode 100644 index 0000000..57026b0 --- /dev/null +++ b/documents/zh-CN/develop/clicker/index.md @@ -0,0 +1,31 @@ +--- +title: clickmouse连点器介绍 +description: 介绍 ClickMouse 连点器 +layout: doc +--- + +# 介绍 + +clickmouse库是一款开源的控制鼠标库,可以进行鼠标连点的操作。 + +## clickmouse库 + +clickmouse库是用于控制鼠标的库,可以模拟鼠标点击操作。 + +选择右侧的文档进行查阅。 + +## 调用方法 +调用方法有: +- ✅ C/C++头文件调用 使用原本C++版本的clickMouse改装而来 速度最快,兼容性最好,但是使用失效的可能性最大。可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载 +- ✅ 使用原本C++版本的clickMouse 速度最快,兼容性最好,但是使用失效的可能性最大,已经停止更新,可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载,[之前的clickmouse项目](https://github.com/xystudio889/ClickMouse) +- ✅ 使用.dll调用 基于C++语言,速度最快,兼容性较好,使用失效的可能性最大。(配置较难,推荐使用C/C++头文件)可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载 +- ✅ (开发人员推荐)python调用 速度中等,兼容性最好,使用失效的可能性最小。可以使用`pip install clickmouse`下载 +- ✅ 使用.pyd调用 基于python语言,速度较快,兼容性较差(不同版本的python可能不兼容),使用失效的可能性较小。可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载(单独编译仅需编译cython/目录) +- ❌ 使用标准命令行 使用 基于python语言。~~将会自带在gui版本和pip安装版本中~~ 暂时没有该版本,敬请期待 + +## 使用优先级 +```mermaid +graph LR +A[python] --> B[pyd调用] --> D[命令行调用] +C[C/C++] --> E[dll调用] --> D +``` \ No newline at end of file diff --git a/documents/zh-CN/develop/clicker/python.md b/documents/zh-CN/develop/clicker/python.md new file mode 100644 index 0000000..82286f9 --- /dev/null +++ b/documents/zh-CN/develop/clicker/python.md @@ -0,0 +1,68 @@ +--- +title: Python/pyd调用 +description: 介绍如何使用Python调用pyd文件。 +layout: doc +--- + + + +# Python/pyd调用 + +本文介绍了如何使用Python调用pyd文件。 + +## 下载 + +### 库 +运行`pip install clickmouse`,等待下载完成 + + +若你在中国,`pip`的速度较慢,你可以输入: + +
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple clickmouse
+
+ +```bash +pip install -i https://pypi.tuna.tsinghua.edu.cn/simple clickmouse +``` + +### pyd +前往[github releases](https://github.com/xystudiocode/pyclickmouse/releases),找到最新版本有pyd的版本文件。 + +::: warning 注意 +请确保下载的是pyd文件。 + +pyd文件要和python的版本匹配,比如Python3.7要下载带有`cp37`的版本。 + +free threaded版本的pyd文件下载要带t,如3.14t要下载带有`cp314t`的版本。 +::: + +## 函数库 + +`click_mouse`函数: +- 定义: +```python +def click_mouse( + button: Literal['left', 'right'], + delay: int, + time: int=1) -> None: +``` +- 参数: +- - button:按下的键位,可选`clickmouse.LEFT`或`clickmouse.RIGHT` +- - delay:点击延迟 +- - time:点击次数,默认为1次,如果是`clickmouse.INFINITE`则为无限 + +## 示例 + +```python +import clickmouse + +clickMouse.click_mouse(clickmouse.LEFT, 1000, 10, 10) # 连点10次左键,间隔为1000ms,按下间隔为10ms +``` + +## 使用优先级 +```mermaid +graph LR +A[python] --> B[pyd调用] --> D[命令行调用] +``` \ No newline at end of file diff --git a/documents/zh-CN/develop/contributing/Configuration.md b/documents/zh-CN/develop/contributing/Configuration.md new file mode 100644 index 0000000..c870439 --- /dev/null +++ b/documents/zh-CN/develop/contributing/Configuration.md @@ -0,0 +1,47 @@ +--- +title: 配置仓库 +description: 介绍如何配置仓库 +layout: doc +--- + +# 配置仓库 +1. 下载仓库:`git clone https://github.com/xystudiocode/pyclickmouse.git` +2. 对于python版本安装python,推荐使用3.13,和软件开发者的版本一一致,[下载连接](https://www.python.org/downloads/release/python-31312/) +3. 对于头文件和dll版本,可以安装[visual studio](https://visualstudio.microsoft.com/)。 +## GUI版本 +1. 下载源码 +2. 放置一个`7z.exe`和`7z.dll`到`gui`目录 +3. 安装chocolately +```powershell +Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1')) +``` +4. 安装make工具 +```powershell +choco install make +``` +5. 配置python包 +```powershell +pip install -r requirements.txt +``` +6. 编译 +```powershell +make clickmouse # 编译clickmouse +make extension # 编译扩展 +make clickclean # 如果你要编译精简版,请用这个。 +``` +7. 运行`dist/clickmouse/main.exe`就可以加载clickmouse了。 +## 头文件 +仅需修改头文件,就可以被调用 +## dll调用 +使用visual studio修改`./dll/dll.sln`里的`源文件/dllmain.cpp` +## gui旧版本 +gui旧版本的再编译不接受pull request +使用visual studio修改`./ClickMouse-old/ClickMouse.sln`里的`源文件/clickmouse.cpp` +## python库调用 +修改`clickmouse/`下的代码,运行`pip install .`安装 +## pyd调用 +修改`cython/main.py`的代码,然后执行 +```python cython/setup.py build_ext --inplace``` +编译结束后,该目录下应该会有个以`.pyd`结尾的文件。 \ No newline at end of file diff --git a/documents/zh-CN/develop/contributing/SECURITY.md b/documents/zh-CN/develop/contributing/SECURITY.md new file mode 100644 index 0000000..95d1d80 --- /dev/null +++ b/documents/zh-CN/develop/contributing/SECURITY.md @@ -0,0 +1,29 @@ +# 安全漏洞报告 + +## 怎么提交漏洞? + +提交一个github security,详细说明漏洞的影响范围、触发条件、漏洞详情等。 + +## 提交漏洞格式 + +```markdown +# Security Policy + +## Supported Versions + +clickmouse >= **version** + +## Reporting a Vulnerability + +Use this section to tell people how to report a vulnerability. + +Tell them where to go, how often they can expect to get an update on a +reported vulnerability, what to expect if the vulnerability is accepted or +declined, etc. + +## How to fix +> [!TIP] +> This section is optional. + +If the vulnerability is accepted, provide information on how to fix the vulnerability. +``` \ No newline at end of file diff --git a/documents/zh-CN/develop/contributing/doc.md b/documents/zh-CN/develop/contributing/doc.md new file mode 100644 index 0000000..dfe5ebf --- /dev/null +++ b/documents/zh-CN/develop/contributing/doc.md @@ -0,0 +1,134 @@ +--- +title: 参与文档协作 +description: 介绍如何参加文档协作 +layout: doc +--- + +# 文档协作 + +commit message等内容不再重复,请查看协作文档 + + +## 修改内容的原因 +如果实际功能与文档描述不符,请修改文档描述,而不是修改代码。 + +::: warning 注意 +不能修改代码,只能修改内容,并需要确保修改内容与实际一致。 +::: + +也可以是你想修改错字,添加新的描述 + +或者是文档未及时更新,但是这样你建议优先提出一个issue。 + +## 修改方法 +如果你只想修改一个文档,你可以直接点击文档页面下面的`编辑此页`来修改 + +但是如果你想修改很多文档,你需要下载仓库再修改。 + +::: warning 注意 +如果要修改内容,需要提交PR而不是直接合并。 +::: + +### 本地配置 +#### 安装环境 +首先你要安装git,中国用户打开[此链接]`https://cn-git.com/`,外国用户请自行查找。 +你还要同时安装nodejs,打开[此链接](https://nodejs.org/) + +#### 配置 npm +npm 是 Node.js 的包管理工具,我们需要配置 npm 才能使用它。 +##### 创建文件夹 +打开你的 Node.js 安装目录(例如 D:\software\nodejs,之后均以此为例),手动新建两个文件夹: +``` +node_global +node_cache +``` + +##### 执行配置命令 +在终端,依次执行以下两条命令(注意替换成你自己的实际路径): +```bash +npm config set prefix "D:\software\nodejs\node_global" +npm config set cache "D:\software\nodejs\node_cache" +``` +##### 配置环境变量 +如果不配置这个,以后你用 npm install -g 安装的工具都会提示“找不到命令”。 + +1. 在桌面右键“此电脑” -> “属性” -> “高级系统设置” -> “环境变量”。 +2. 修改【系统变量】中的 `Path`: +2. 1. 找到 `Path` 变量,点击“编辑”。 +2. 2. 检查是否有默认的 C 盘 npm 路径,如果有,删除它。 +2. 3. 新建一条,填入你的 Node.js 安装路径:`D:\software\nodejs\`。 +3. 新建/修改【用户变量】中的 Path: +3. 1. 在【用户变量】里找到 Path,点击“编辑”。 +3. 2. 将默认的`C:\Users\用户名\AppData\Roaming\npm`修改为:`D:\software\nodejs\node_global`。 +::: info 提示 +如果没有这个`C:\Users\用户名\AppData\Roaming\npm`,就新建一条,填入你的 Node.js 安装路径。 +::: +4. 新建 `NODE_PATH` 变量: +4. 1. 在【系统变量】区域,点击“新建”。 +4. 2. 变量名:`NODE_PATH` +4. 3. 变量值:`D:\software\nodejs\node_global\node_modules` +4. 4. 点击确定保存所有窗口。 +##### 配置镜像(对于中国开发者) +默认的 npm 源在国外,下载速度很慢。我们配置淘宝最新的镜像源,在终端输入: +```bash +npm config set registry https://registry.npmmirror.com +``` +验证是否配置成功: +```bash +npm config get registry +``` + +若返回 `https://registry.npmmirror.com/`,说明提速成功。 + +#### 克隆仓库 +你需要在github创建一个fork,然后克隆到本地: + +你可以使用`git clone https://github.com/username/pyclickmouse.git`下载源码到本地 + +在**管理员终端**运行`npm install`进行安装依赖。 + +#### 发布和提交 +你需要创建个新的分支: +```bash +git checkout -b my-branch +``` +并创建一个remote链接: +```bash +git remote add origin https://github.com/username/pyclickmouse.git +``` + +配置你的邮箱和用户名: +```bash +git config --global user.email "your email" +git config --global user.name "your name" +``` + +然后,你就可以提交了。 + +--- + +在发布的时候,可能需要你的用户名和密码,所以你需要在github上设置一个key。 + +1. 设置好名字和到期时间,在`Repository access`选择All repositories, +2. 点击`Add permissons`,选择`Contents`,`Contents`的选择框选择`Read and write`,再选择`workflows`,确定。 + +然后,你就可以发布了。 + +#### 提交PR +你需要在[此链接](https://github.com/xystudiocode/pyclickmouse)上创建一个Pull request,然后等待review。 + +[点击了解PR的规范](./github.md) + +打开[此链接](https://github.com/settings/personal-access-tokens/new) + +#### 编译和调试 +可以运行`npm run dev`打开编译环境,根据提示打开网页即可。 + +运行`npm run build`编译脚本,可以放到`/pyclickmouse/`目录来部署。 + + +但是我们会对每个提交到main分支的更改自动部署,所以你不需要自己编译。 + \ No newline at end of file diff --git a/documents/zh-CN/develop/contributing/github.md b/documents/zh-CN/develop/contributing/github.md new file mode 100644 index 0000000..e275f5f --- /dev/null +++ b/documents/zh-CN/develop/contributing/github.md @@ -0,0 +1,123 @@ +--- +title: 参与协作 +description: 介绍如何参加协作 +layout: doc +--- + + + +# 参与协作 +## commit message + +需要遵循以下格式: +``` +更新类型(更新模块):(可选)(版本号) (更新概括): + +- [(可选)子更新类型]更新内容1 +- [(可选)子更新类型]更新内容2 +- ... +``` + +更新类型有这些内容: +| 类型 | 说明 | +| --- | --- | +| ✅feat | 新功能 | +| 🔧modify | 修改功能 | +| 🐛fix | 修bug | +| ⚒️refactor | 重构 | +| 📃docs | 改文档,比如README | +| ❇️style | 改代码风格,不影响功能 | +| 🔎test | 加测试、改测试 | +| 📆chore | 杂项,比如改.gitignore | +| ⏫perf | 性能优化 | +| 🛒ci | CI/CD相关改动 | +| 🚅build | 改构建系统或依赖 | +| ◀️revert | 回滚 | +| 🔡dependency | 依赖更新 | +| ❌remove | 删除弃用的组件 | +| ↪️move | 移动了组件 | +| ❓unknown | 未知类型 | +| 自定义 | 尽量以一个直观的英文单词描述,最好配上emoji | + +内容较多时需要对更新内容添加更新类型提示 + +## 分支 + +请按此图所示的分支结构来更新: +合并步骤 + +创建的分支需要以`feature/`开头,以表示功能分支,或创建一个fork,并在fork的分支开发。 + +发布pr时要选择**合并到`develop`分支**。 + +## 版本号 +clickmouse版本格式为:`A.B.C.D[(alpha | beta |.dev | rc) E]` +## 正式版本 +正式版不带.dev、alpha、beta或rc后缀。 + +A位代表有重大更新,有代码级的变动。如1.0升级到2.0就重构了代码。 + +B位代表有普通更新,通常是更新一些大功能。 + +C位代表有修复更新,通常会更新一些小功能和一些bug。 + +D位代表版本代号,通常每A, B, C位有变动时候+1。也有可能A, B, C位没有变动,D位+1,这代表紧急更新,通常是修复几个重大影响的bug。 + +## 测试版本 +测试版本带.dev、alpha、beta或rc后缀。 + +通常前面的`A.B.C.D`在一个测试周期内不变,代表下一个版本。 + +`.dev`代表早期开发更新,功能不稳定,bug很多,位于版本项目初期。这阶段新增的功能将会被放到实验室中,并默认关闭。 + +`alpha`代表晚期开发更新,功能不完善,bug较多,位于版本项目早期。这阶段新增的功能将会被放到实验室中,并默认关闭。 + +`beta`代表发布测试更新,功能完善,bug较少,不会再新增功能,位于版本项目中期,并且会逐步合并实验室中的feature。 + +`rc`代表预备发布版本,功能完善,bug较少,会修复一些重要安全问题或bug,最接近正式版,即将发布正式版,位于版本项目末期。 + +## issue +- 标题格式:`[类型] 标题`等,可以随便写,但要准确描述更新内容。 +- 内容应准确写出你的需求,并选择性给出解决方案,上传截图,添加附加信息(如clickmouse版本号) +- 类型为`bug`、`enhancement`、`question`等。 +- 我们给了一些模板,可直接使用。 +- 使用`labels`来标记issue的类型,比如`bug`、`enhancement`、`question`等。 +- 设置issue的`milestone`为你想应用的issue版本。 +- 安全问题请见[安全说明文档](./SECURITY.md)。 + +## pr +- 标题格式:`[类型] 标题` +- 使用`labels`来标记pr的类型,比如`bug`、`enhancement`、`question`等。 +- 关联issue,这样我们就可以知道这个pr解决了哪个issue。 +- 需要准确写出更新内容,关联到版本号的milestone。 +- 可选添加实现思路 + +### 规范 +我们pr合并的顺序为: +```mermaid +graph LR +A(其他用户的功能开发分支) --> B(develop分支) +B --> C(main分支) +``` + +pr无特定格式,但是必须清晰描述更新内容,关联到版本号的milestone;标题要简略描述更新内容,若修复或添加了issue里的建议,把该issue编号写进该行为,若出现多个重复issue,则只用写一个,并简单描述此bug。 + +### 快车pr + +快车pr请谨慎使用 + + +- 快车pr的意思是跳过部分正常的pr合并分支步骤,以更快的合并到目标分支的功能。 +- 标题格式:`[✈️快车] 标题` +- 使用快车必须在pr描述中说明使用的原因 + +如果有人快车合并,但没写快车合并的原因,则拒绝合并该人的分支。 + +快车pr有高优先级,会优先进行处理。 + +## milestone +- 我们给每个版本都设置了一个milestone,用来管理该版本的issue和pr。 +- 需要每个issue或pr都关联到一个milestone,这样我们才能知道该issue或pr是否在下个版本中添加。 +- milestone格式为:`dev_版本号` diff --git a/documents/zh-CN/develop/contributing/issue_template.md b/documents/zh-CN/develop/contributing/issue_template.md new file mode 100644 index 0000000..6e41ead --- /dev/null +++ b/documents/zh-CN/develop/contributing/issue_template.md @@ -0,0 +1,269 @@ +--- +title: issue模板 +description: 在线查看issue模板 +layout: doc +--- + + + + + + +# issue模板 + +## Bug报告 + +报告一个bug。 +
+ +添加一个标题 + +为避免造成更多的麻烦,请在报告issue前,先检查是否有其他人已经报告过相同的问题。检查是否存在重复😊 +我们不会在gitee上处理issue,请使用github发布。🙋‍♂️ +请一次只报告1个问题。😀 +🔡Clickmouse版本 + +🎭你是否从官方版本发现bug +

❗clickmouse官方版本只在github releasesgitee releases页面发布,其他均为非官方版本。

+ + +
+🐛你运行出现bug的模块 + +🐍描述你的bug。 + +🔦这个bug的影响。 + +📝重现步骤 + +ℹ️你预估的受影响的Clickmouse版本 + +📄你的解决步骤想法 + +🔄️缓解bug的方案 + +📂文件日志 + +➕其他相关信息 + +
+ +## 功能请求 + +一个你建议添加的新功能。 +
+ +添加一个标题 + +为避免造成更多的麻烦,请在报告issue前,先检查是否有其他人已经报告过相同的问题。检查是否存在重复😊 +我们不会在gitee上处理issue,请使用github发布。🙋‍♂️ +请一次只报告1个功能。😀 +❇️新增功能的模块 + +📄新增功能描述 + +❔需要这个功能的原因 + +🧾实行步骤想法 + +➕其他相关信息 + + + +## 新标准 + +将会建议,建立或修改一个标准。 +
+ +添加一个标题 + +为避免造成更多的麻烦,请在报告issue前,先检查是否有其他人已经报告过相同的问题。检查是否存在重复😊 +我们不会在gitee上处理issue,请使用github发布。🙋‍♂️ +请一次只报告1个立项。😀 +🧾新增的立项 + +ℹ️立项施行的clickmouse版本 + +❓需要这些立项的原因 + +➕其他相关信息 + + + +## 任务单 + +一些任务单,可以用来起草新版本的规划等。 +
+ +添加一个标题 + +为避免造成更多的麻烦,请在报告issue前,先检查是否有其他人已经报告过相同的问题。检查是否存在重复😊 +我们不会在gitee上处理issue,请使用github发布。🙋‍♂️ +☑️新增任务包含的模块 + +📄新增的每个功能描述 + +❓需要这些功能的原因 + +📄实行步骤想法 + +➕其他相关信息 + + diff --git a/documents/zh-CN/develop/contributing/license.md b/documents/zh-CN/develop/contributing/license.md new file mode 100644 index 0000000..fd902dd --- /dev/null +++ b/documents/zh-CN/develop/contributing/license.md @@ -0,0 +1,43 @@ +--- +title: 软件协议 +description: 介绍软件协议 +layout: doc +--- +# 软件协议 +## 版权声明 +鼠标 的图标 Icons8 + +## 开源协议 +本软件基于MIT开源协议,最后我会放出协议内容,你可以复制、修改、分发本软件及文档站,但你必须在源代码中保留原作者信息和协议声明。 + +本软件及文档站均开源在github上,你可以在[软件链接](https://github.com/xystudiocode/pyclickmouse)打开 + +同时软件的源代码开源在gitee上,方便中国用户下载。[软件链接](https://gitee.com/xystudio889/pyclickmouse) + +## 商业授权 +我们不反对商业授权,你可以在无需联系作者的情况下,将本软件用于商业用途,但必须在源代码中保留原作者信息和协议声明。 + +## 协议内容 +``` +MIT License + +Copyright (c) 2026 xystudiocode + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` \ No newline at end of file diff --git a/documents/zh-CN/develop/dependencies.md b/documents/zh-CN/develop/dependencies.md new file mode 100644 index 0000000..7f2f0aa --- /dev/null +++ b/documents/zh-CN/develop/dependencies.md @@ -0,0 +1,19 @@ +--- +title: 依赖 +description: clickmouse的依赖 +layout: doc +--- + +# clickmouse的依赖 +- PySide6:对于gui界面,他是图形核心框架 +- pyautogui:鼠标连点器核心 +- requests:用于检查版本号 +- nuitka:打包为gui或~~交互式命令行~~的库 +- cython:打包为pyd的库 +- setuptools:打包为python包的库 +- pywin32:win32控制 +- pynput: 键盘控制库 +- pyperclip: 剪贴板库 +- psutil: 进程管理库 +- packaging: 版本管理库 +- pytz: 时区管理库 \ No newline at end of file diff --git a/documents/zh-CN/develop/index.md b/documents/zh-CN/develop/index.md new file mode 100644 index 0000000..d39e027 --- /dev/null +++ b/documents/zh-CN/develop/index.md @@ -0,0 +1,34 @@ +--- +title: 介绍 +description: 介绍 ClickMouse 开发人员版本 +layout: doc +--- + + + +# 介绍 + +ClickMouse 开发人员版本提供了一些代码库,具有以下功能: + +- clickmouse库: +- - 用于控制鼠标的库,可以模拟鼠标点击操作。 +- ~~clickmouse api:通过python制作clickmouse扩展~~暂未完成 + +## clickmouse库 + +clickmouse库是用于控制鼠标的库,可以模拟鼠标点击操作。 + +前往[文档](./clicker/)进行查阅。 + +## clickmouse api +~~clickmouse api通过python制作clickmouse扩展,可以实现一些扩展功能,如:~~ + +::: warning 提示 +clickmouse api暂未完成 +::: + +## clickmouse官方制作的python库 +- clickmouse: 连点器管理库 +- clickmouse_api: 扩展制作的调用api \ No newline at end of file diff --git a/documents/zh-CN/features/cleancache.md b/documents/zh-CN/features/cleancache.md new file mode 100644 index 0000000..4c2f9e3 --- /dev/null +++ b/documents/zh-CN/features/cleancache.md @@ -0,0 +1,39 @@ +--- +title: 清理缓存 +description: 清理缓存 +layout: doc +--- + + + + +# 清理缓存 + +::: warning 警告 +不建议手动清理缓存,因为clickmouse会自动清理缓存。 +::: + +## 功能描述 + +可以用来清理clickmouse的缓存,现在可以清理: + +- 日志:用于反馈错误信息 +- 更新缓存:用于减少检查更新的请求 +- 其他临时文件:通常不会产生,除非你手动创建了临时文件 + + + +## 使用方法 + +1. 打开文件-清理缓存 +2. 选择要清理的缓存类型 +3. (可选)点击“扫描”按钮,扫描缓存文件的大小 +3. 点击“清理”按钮,开始清理缓存 \ No newline at end of file diff --git a/documents/zh-CN/features/clickclean.md b/documents/zh-CN/features/clickclean.md new file mode 100644 index 0000000..861a7c1 --- /dev/null +++ b/documents/zh-CN/features/clickclean.md @@ -0,0 +1,42 @@ +--- +title: ClickClean +description: ClickClean +layout: doc +--- + + + +# ClickClean + +ClickClean是clickmouse的精简版,移除了以下内容: + +- 大部分设置,剩余热键、连点器和小部分基础设置 +- 连点属性查看和快速连点设置 +- 清理缓存 +- 更新 +- 扩展功能 +- 安装、卸载助手 + +并且: +- 轻便快捷:安装包大幅缩小 +- 无需安装,开箱即用 + +ClickClean +
+ClickClean Settings \ No newline at end of file diff --git a/documents/zh-CN/features/extensions/index.md b/documents/zh-CN/features/extensions/index.md new file mode 100644 index 0000000..1d5facd --- /dev/null +++ b/documents/zh-CN/features/extensions/index.md @@ -0,0 +1,21 @@ +--- +title: 扩展 +description: clickmouse的功能 +layout: doc +--- + +# 功能 +## 介绍 +clickmouse提供了强大的扩展性,但是目前我们正在制作扩展api,所以扩展暂时还只有官方组件。 + +官方的扩展列表: +- 修复工具:一键修复鼠标连点器无法启动的问题,也可以恢复到刚下载的状态,并且通过移除组件,不需要联网重装。 + +## 安装 +打开clickmouse,点击'扩展'-'官方扩展'-'修改' + +然后在选择扩展菜单编辑即可,完成后重启软件生效。 + +## FAQ +1. **'修改'菜单是灰色的** +可能是包管理器丢失,这样装不了扩展,请尝试重新安装clickmouse。 \ No newline at end of file diff --git a/documents/zh-CN/features/extensions/repair.md b/documents/zh-CN/features/extensions/repair.md new file mode 100644 index 0000000..ab07ec9 --- /dev/null +++ b/documents/zh-CN/features/extensions/repair.md @@ -0,0 +1,43 @@ +--- +title: 修复软件 +description: 修复clickmouse的问题 +layout: doc +--- + + + +# 功能 + +如果你的clickmouse软件出现问题,你可以在不重装软件的清情况下进行尽可能的修复。 + +## 修复项 + +- 缓存:清除错误的缓存文件,并重新构建来解决问题。(不会清除更新缓存) +- 更新缓存:重置更新缓存,并重新构建来解决问题。 +- 扩展文件:移除所有的扩展文件,以尝试解决扩展冲突。 +- 安装信息注册表:将会重置clickmouse的注册表信息,这样你可以再次运行初始化程序。 +- 软件数据:删除clickmouse的软件数据,并重新安装来解决问题。 +- 首次运行文件:如果删除,将会自动重新运行初始化程序。 + +如果你全选修复项后修复,将会恢复到新装状态,但是要你的res仍然完整就可以全新安装。 + +## 打开方式 +1. 安装扩展:clickmouse 修复 +1. 1. 打开clickmouse,选择扩展-官方扩展-修改扩展; +1. 2. 点击“安装”按钮,选择要修复的扩展; +1. 3. 等待安装完成,点击“完成”按钮,并重启软件; +2. 点击扩展-官方扩展-修复; +3. 根据提示关闭软件和其托盘图标,然后将会启动修复程序; + +## 急救方案 +如果你主程序无法使用,你可以打开**管理员**终端,运行`./install_pack --ipk`来启动包管理器。 + +然后你再运行`repair.exe`来进行修复 + +如果你的包管理器也被损毁了,你可以修改packages.json,修改为以下内容: +```json +["xystudio.clickmouse", "xystudio.clickmouse.repair"] +``` +然后再运行`repair.exe`来进行修复。 diff --git a/documents/zh-CN/features/help.md b/documents/zh-CN/features/help.md new file mode 100644 index 0000000..9af1fa3 --- /dev/null +++ b/documents/zh-CN/features/help.md @@ -0,0 +1,46 @@ +--- +title: 帮助菜单 +description: 帮助菜单 +layout: doc +--- + + + +# 帮助菜单 + +## 关于 + +### 功能介绍 +能查询clickmouse的版本,作者等信息。 + +### 功能列表 +- 查询版本号 + +### 使用方法 +1. 打开`帮助`菜单->点击`关于`按钮 + +## 反馈 +### 功能介绍 +如果您有任何意见或建议,可以通过点击反馈菜单来进行反馈 + +打开的网址是设置中的`软件反馈网址`,默认为[链接](https://github.com/xystudiocode/pyclickmouse/issues/new/choose)`https://github.com/xystudiocode/pyclickmouse/issues/new/choose` + +### 使用方法 +1. 打开`帮助`菜单->点击`反馈`按钮 +2. 根据提示,填写相关内容并提交 + +## 文档 +### 功能介绍 +能打开clickmouse的官方文档进行查阅 + +默认打开的网址是设置中的`文档链接`,默认为[链接](https://xystudiocode.github.io/pyclickmouse/)`https://xystudiocode.github.io/pyclickmouse/` + +关于 \ No newline at end of file diff --git a/documents/zh-CN/features/index.md b/documents/zh-CN/features/index.md new file mode 100644 index 0000000..cbb6683 --- /dev/null +++ b/documents/zh-CN/features/index.md @@ -0,0 +1,26 @@ +--- +title: 功能 +description: clickmouse的功能 +layout: doc +--- + +# 功能 + +clickmouse有很多功能,他们都在menu栏目: + +- 文件: +- - 清理缓存:清理缓存,释放内存。 +- - 退出:退出程序。 +- 设置:设置软件的一些参数。 +- 更新: +- - 检查更新:检查软件是否有更新。 +- - 更新日志:查看更新日志。 +- 帮助: +- - 关于:查看软件的版本、作者、许可证信息。 +- - 热键帮助:查看软件的热键。 +- - 帮助:查看clickmouse文档。 +- - 反馈:给作者发送反馈。 +- 扩展: +- - 官方扩展: +- - - 管理扩展:通过clickmouse的包管理器来安装、卸载扩展。 +- - - 扩展软件:官方扩展软件,见[扩展列表](./extensions/)。 \ No newline at end of file diff --git a/documents/zh-CN/features/settings.md b/documents/zh-CN/features/settings.md new file mode 100644 index 0000000..e4d0a48 --- /dev/null +++ b/documents/zh-CN/features/settings.md @@ -0,0 +1,568 @@ +--- +title: 设置 +description: 设置 +layout: doc +--- + + + + + +# 设置 + +有些设置项目可能需要进入测试版本打开部分实验项目才能启用。 + +## 功能介绍 + +可以用来管理clickmouse运行时候的策略。 + +## 功能列表 + +- 常规设置:调整一些不在下面列表中的项目,如软件语言。 +- 样式设置:设置clickmouse的主题、样式。 +- 连点器设置:控制连点器的行为,如默认连点间隔、连点次数。 +- 更新设置:用于控制clickmouse的更新服务,如是否自动更新、检查更新频率。 +- 热键设置:用于控制热键功能,如左键连点、右键连点的热键。 +- 文档设置:控制文档功能默认打开的网站。 +- 通知设置:用于控制软件的通知提醒,如是否显示通知。 + +## 常规设置 +常规设置包含了一些软件的基础设置,如软件语言等。 + +设置项目有: +- 软件语言:用于切换软件的语言,目前官方支持简体中文和英文。 +- - 类型:下拉框 +- - 默认值:系统语言 +- - 可选值:根据语言包文件决定,官方支持`简体中文`和`英语`。 +- - 字段名:`select_language` +::: tip 提示 +切换语言后,软件需要重启才能生效。 +::: +::: info 提示 +如果自定义语言包没有及时更新,缺少新内容的翻译,新内容将会显示为英文。 +::: +- 保留托盘图标:用于控制软件是否在任务栏显示图标; +- - 类型:开关 +- - 默认值:开启 +- - 字段名:`show_tray_icon` + +如果关闭保留托盘图标选项,托盘图标不会完全关闭,而是会在程序主窗口关闭后退出。 + + +- 开机自启动:如果勾选,软件会在系统启动时自动启动; +- - 默认值:关闭 +- - 字段名:无,他依赖系统自身的开机自启动设置。 +- 重置开机自启动配置:如果你的开机自启动会显示窗口或有其他问题,可以尝试点击这个按钮来修复。 +- - 类型:按钮 +- 软件反馈网址:控制在软件反馈时候打开的网址。 +这个设置项需要在实验室开启More settings才能启用 + +- - 类型:输入框 +- - 默认值:[链接](https://github.com/xystudiocode/pyclickmouse/issues/new/choose) `https://github.com/xystudiocode/pyclickmouse/issues/new/choose` +- - 字段名:`feedback` +- 重置反馈链接:重置软件反馈网站的链接。 +这个设置项需要在实验室开启More settings才能启用 + +- - 类型:按钮 +- 软件响应延迟:用于控制软件响应速度;*相应延迟越快,软件在切换样式的时候相应越快,但是CPU占用率也会越高。* +- - 类型:滑块 +- - 默认值:100ms +- - 最小值:1ms +- - 最大值:1000ms +- - 间隔值:10ms +- - 字段名:`soft_delay` + +- 无实验项时候隐藏“实验室”设置项:如果勾选,没有实验室设置项目时候,“实验室”设置项会被隐藏。 +这个设置项需要在实验室开启More settings才能启用 + +- - 类型:开关 +- - 默认值:开启 +- - 字段名:`hide_flags` + +- 重置所有设置:用于恢复默认设置,恢复后需要重启软件才能生效。 +- - 类型:按钮 + +::: warning 警告 +***设置的修改会立即生效,但是部分设置需要重启软件才能生效。*** + +这个操作会覆盖掉之前的设置,比较危险,请谨慎操作。 +::: + +常规设置 + +--- + +## 风格设置 + +风格设置用于调整软件的主题和样式。 + +设置项目有: +- 窗口样式:用于切换软件的窗口样式; +- - 类型:下拉框 +- - 默认值:系统默认 +- - 可选值:根据样式文件决定,官方支持根据系统颜色、浅色、深色 +- - 字段名:`select_style` +- 使用windows强调色显示组件:控制组件是否使用windows强调色;关闭后使用clickmouse颜色。下面查看demo +- - 类型:开关 +- - 默认值:开 +- - 字段名:`use_windows_color` + +这个操作不会完全改变组件风格,选择框等组件仍会使用系统强调色 + + +
+

颜色demo:

+
+ + +
+
+ + +
+
+ +- 窗口主题:设置窗口主题 +- - 类型:下拉框 +- - 默认值:根据系统版本决定: +- - - Windows 10:`Windows10`样式 +- - - Windows 11:`Windows11`样式 +- - - 其他windows:`Windows`样式 +- - - 其他:`Fusion`样式 +- - 可选值:根据系统决定,windows有:`windows标准样式`、`windows经典样式`、`windows Vista样式`和`Fusion样式` +- - 字段名:`theme` + +::: warning 警告 +部分主题不能很好的适配clickmouse的其他组件,如深色模式、反色模式等。 +::: + +风格设置 + +## 连点器设置 + +可以设置连点器的一些参数,如连点间隔、连点次数等。 + +设置项目有: +- 连点延迟默认值:控制连点数字为空的时候的默认延迟 +- - 类型:输入框 +- - 默认值:空 +- - 字段名:`click_delay` +- 连点延迟单位:控制默认延迟的单位 +- - 类型:下拉框 +- - 默认值:`毫秒` +- - 可选值:`毫秒`、`秒` +- - 字段名:`delay_unit` +- 连点延迟错误时候使用的默认值:如果开启,在连点延迟输入框输入错误的时候,会使用默认值 +- - 类型:开关 +- - 默认值:关 +- - 字段名:`delay_error_use_default` + +此操作在连点延迟参数设置为空的时候禁用 + + + +如果关闭此选项,只有在连点为空的时候才会使用默认值;开启后只要输入格式错误就会使用默认值。 + + +- 连点次数默认值:控制连点次数为空的时候的默认次数 +- - 类型:输入框 +- - 默认值:空 +- - 字段名:`click_times` +- 连点次数单位:控制默认连点次数的单位 +- - 类型:下拉框 +- - 默认值:`次` +- - 可选值:`次`、`万次`、`无限` +- - 字段名:`times_unit` +- 连点次数错误时候使用的默认值:如果开启,在连点次数输入框输入错误的时候,会使用默认值 +- - 类型:开关 +- - 默认值:关 +- - 字段名:`times_error_use_default` +- 连点总耗时:通过软件连点次数和间隔,计算出的总耗时。 +- - 类型:文本 +- - 值:根据连点次数和间隔计算出来的总耗时 +- - 字段名:无 + +连点器设置 + +## 更新设置 + +用于控制软件的更新服务,如是否自动更新、检查更新频率。 +设置项目有: +- 开启更新:如果开启,就可以管理下面的更新设置。 +- - 类型:开关 +- - 默认值:开 +- - 字段名:`update_enabled` + +我不建议关闭更新,这会让你的clickmouse有更多的问题。 + + +::: tip 提示 +如果你发现检查更新提示:'更新未开启',请打开这个设置。 +::: + +- 更新提示:如果关闭,那么看不到更新提示。‘ +- - 类型:开关 +- - 默认值:开 +- - 字段名:`update_notify` + +更新提示 + + +这个设置和更新完成提示独立,如果关闭此设置,更新完成提示也不会关闭。 + + +- 静默更新:如果开启,那么软件更新时不会弹出提示框。 +- - 类型:开关 +- - 默认值:关 +- - 字段名:`quiet_update` + + +如果开启此设置,那么更新提示将会关闭,即使你开启了此设置。 + + +- 更新完成提示:如果开启,那么更新完成后会弹出提示框。 +- - 类型:开关 +- - 默认值:开 +- - 字段名:`update_ok_notify` + +更新完成弹窗 + + +这个弹窗会在静默更新完成后弹出。 + + +::: tip 提示 +下面的通知设置也受更新设置影响,如果是灰色,可能是因为更新服务未开启。 +::: + +更新设置 + +## 热键设置 + +用于设置软件的热键功能,如左键连点、右键连点的热键。 + +设置项目有: +- 热键启用:如果关闭,那么软件的热键功能将会关闭。 +这个设置项需要在实验室开启More settings才能启用 + +- - 类型:开关 +- - 默认值:开 +- - 字段名:`hotkey_enabled` +- 左键连点热键:设置左键连点的热键。 +- - 类型:输入框 +- - 默认值:`F2` +- - 字段名:`left_click_hotkey` +- 右键连点热键:设置右键连点的热键。 +- - 类型:输入框 +- - 默认值:`F3` +- - 字段名:`right_click_hotkey` +- 暂停/重启连点热键:设置暂停/重启连点器的热键。 +- - 类型:输入框 +- - 默认值:`F4` +- - 字段名:`pause_click_hotkey` +- 停止连点热键:设置停止连点的热键。 +- - 类型:输入框 +- - 默认值:`F6` +- - 字段名:`stop_click_hotkey` +- 连点属性热键:设置打开连点属性的热键。 +- - 类型:输入框 +- - 默认值:`Ctrl+Alt+A` +- - 字段名:`click_attr_hotkey` +- 快速连点热键:设置打开快速连点的热键。 +- - 类型:输入框 +- - 默认值:`Ctrl+Alt+F` +- - 字段名:`fast_click_hotkey` +- 主窗口热键:设置打开主窗口的热键。 +- - 类型:输入框 +- - 默认值:`Ctrl+Alt+M` +- - 字段名:`main_window_hotkey` +- 重置左键连点设置:用于恢复默认左键连点设置。 +- - 类型:按钮 +- 重置右键连点设置:用于恢复默认右键连点设置。 +- - 类型:按钮 +- 重置暂停/重启连点设置:用于恢复默认暂停/重启连点设置。 +- - 类型:按钮 +- 重置停止连点设置:用于恢复默认停止连点设置。 +- - 类型:按钮 +- 重置连点属性设置:用于恢复默认连点属性设置。 +- - 类型:按钮 +- 重置快速连点设置:用于恢复默认快速连点设置。 +- - 类型:按钮 +- 重置主窗口设置:用于恢复默认主窗口设置。 +- - 类型:按钮 + +热键设置 + +## 文档设置 + +用于设置文档功能默认打开的网站。 + +设置项目有: +- 文档默认连接: +- - 类型:输入框 +- - 默认值:[链接](https://xystudiocode.github.io/pyclickmouse/{lang})`https://xystudiocode.github.io/pyclickmouse/{lang}` +- - 字段名:`doc_default_link` +- 重置文档默认链接:用于恢复默认文档默认链接。 +这个设置项需要在实验室开启More settings才能启用 + +- - 类型:按钮 + +::: tip 提示 +`{lang}`会被替换为当前软件语言,如`zh-CN`或`en`。 +::: + +- 文档语言: +- - 类型:下拉框 +- - 默认值:软件语言 +- - 可选值:`软件语言`、`系统语言`和根据软件支持的语言包(默认`简体中文`、`英语`) + +- 更新日志路径:设置更新日志的路径。 +- - 类型:输入框 +- - 默认值:`updatelog` + +::: tip 提示 +软件的更新日志路径是相对于文档默认连接的路径,如默认的打开更新日志的链接是[链接](https://xystudiocode.github.io/pyclickmouse/{lang}/updatelog)`https://xystudiocode.github.io/pyclickmouse/{lang}/updatelog`,那么更新日志路径就填入`updatelog`。 +::: + +- 重置更新日志路径:用于恢复默认更新日志路径。 +这个设置项需要在实验室开启More settings才能启用 + +- - 类型:按钮 + +> 这一段的{lang}也会被解析。 + +文档设置 + +## 通知设置 + +这个设置项需要在实验室开启More settings才能启用 + +用于控制软件的通知提醒,如是否显示通知。 + +设置项目有: + +用于控制软件的更新服务,如是否自动更新、检查更新频率。 +设置项目有: +- 开启更新:如果开启,就可以管理下面的更新设置。 +- - 类型:开关 +- - 默认值:开 +- - 字段名:`update_enabled` + +我不建议关闭更新,这会让你的clickmouse有更多的问题。 + + + +如果你发现检查更新提示:'更新未开启',请打开这个设置。 + + +- 更新提示:如果关闭,那么看不到更新提示。‘ +- - 类型:开关 +- - 默认值:开 +- - 字段名:`update_notify` + +更新提示 + + +如果开启此设置,那么更新提示将会关闭,即使你开启了此设置。 + + +- 更新完成提示:如果开启,那么更新完成后会弹出提示框。 +- - 类型:开关 +- - 默认值:开 +- - 字段名:`update_ok_notify` + + +这个弹窗会在静默更新完成后弹出。 + + +::: tip 提示 +上面的更新设置也受通知设置影响,如果是灰色,可能是因为更新服务未开启。 +::: + +- 软件启动警告:如果开启,那么软件启动时资源丢失会弹出警告提示框。 +- - 类型:开关 +- - 默认值:开 +- - 字段名:`show_warning` + +::: info 提示 +clickmouse在启动时候会检查资源,如果发现缺少了部分内容,就会弹出`软件启动警告` +::: + +- 官方扩展包丢失警告:如果开启,那么软件启动时官方扩展包丢失会弹出警告提示框。 +- - 类型:开关 +- - 默认值:开 +- - 字段名:`show_package_warning` + +通知设置 + +## 实验室 + +将会测试新的功能 + +因为会随版本更新测试项,所以不例举设置项了。 + +实验室 + +## 使用方法 + +1. 打开设置-设置选项 +2. 在左侧选择要切换设置的选项 +3. 点击右侧的开关/输入框以切换设置 \ No newline at end of file diff --git a/documents/zh-CN/features/update.md b/documents/zh-CN/features/update.md new file mode 100644 index 0000000..a047bde --- /dev/null +++ b/documents/zh-CN/features/update.md @@ -0,0 +1,45 @@ +--- +title: 更新管理菜单 +description: 更新管理菜单 +layout: doc +--- + + + +# 更新管理菜单 + +## 检查更新 + +### 功能描述 + +检查更新功能可以帮助用户检查软件是否有新版本发布,并提示用户下载最新版本。 + +### 使用方法 + +只要更新开启,clickmouse就会定期检查更新。 + +若要通过菜单启动,请前往“更新”-“检查更新”查看更新 + +### FAQ + +**1. 软件更新失败:更新服务未开启** + +请在`设置`,左侧选择`更新`,然后开启`启用更新`,然后再次尝试。 + +更新服务未开启 + +## 更新日志 +### 功能描述 +打开一个网页,域名是设置中的`文档默认连接`和`更新日志路径`合并后的值,默认为[链接](https://xystudiocode.github.io/updatelog/)`https://xystudiocode.github.io/updatelog/` + +### 使用方法 + +1. 打开更新-更新日志 \ No newline at end of file diff --git a/documents/zh-CN/guide/faq.md b/documents/zh-CN/guide/faq.md new file mode 100644 index 0000000..ccd1bdf --- /dev/null +++ b/documents/zh-CN/guide/faq.md @@ -0,0 +1,132 @@ +--- +layout: doc +title: 常见问题 +--- + + + + + +# 常见问题 + + +本页中所有路径均为相对于clickmouse安装目录的路径。 +如果windows无法打开里面提到的文件,请尝试用记事本打开。 + + +## 错误 + +**1. 语言包不存在:** + +请检查clickmouse的`res`目录里是否存在langs目录,如果有,检查里面是否有`langs.json`文件,如果没有,请重新安装clickmouse。[下载链接](https://github.com/xystudiocode/pyclickmouse/releases/latest) + +语言包不存在 + +**2. 无法启动:** + +可能是出现了一些bug,可以在`packages.json`中的内容修改为: +```json +["xystudio.clickmouse", "xystudio.clickmouse.repair"] +``` +然后运行当前目录的`repair.exe`文件,勾选你想清除的内容,点击`修复`按钮,再次启动clickmouse看看。 + +::: tip 提示 +推荐全选修复项,但是这样会删除所有用户数据和扩展,恢复到初始状态。 +::: + +如果你能编译源码,也可以尝试使用makefile,移除编译源码的`--windows-console-mode=disable`获取错误堆栈。 + +如果仍然不行,可尝试卸载重装clickmouse。[下载链接](https://github.com/xystudiocode/pyclickmouse/releases/latest) + +若问题持续,你可以向我们[报告问题](https://github.com/xystudiocode/pyClickMouse/issues/new/choose) + +**3. 无法连接到更新,提示`timeout`:** + +我们更新内容存放在github上,国内网络较慢。 + +你可以安装[watt toolkit](https://gitee.com/rmbgame/SteamTools/releases/download/3.0.0-rc.16/Steam%20%20_v3.0.0-rc.16_win_x64.exe) +然后: +1. 打开watt toolkit,点击左侧的`网络加速` +2. 勾选`github` +3. 点击`一键加速` + +> 这种方法只能保证不报错timeout,但是不能保证网速快。 + +如果仍然不行,我也没有更多方法了 + +## 软件功能使用问题 +**1. 为什么连点按钮是灰色的?** + +可能是你没有正确的血连点延迟和连点次数,可以在下面的输入框设置连点时间和连点次数,在下拉框中可以选择连点次数/延迟的单位 + +::: warning 注意 +需要填入正确的数字,否则会导致连点失败。 +::: + +**2. 连点输入框是灰色的/无法打开连点设置** + +这可能是你正在连点,需要点击`停止`按钮停止后再次输入。 + +连点输入框灰色 +
+无法打开连点设置 + +**3. 软件更新失败:更新服务未开启** + +请在`设置`,左侧选择`更新`,然后开启`启用更新` + +更新服务未开启 + +**4. 提示包管理器文件夹不存在,每次都弹出** + +可以前往设置-通知-关闭`官方扩展包丢失警告` + +提示包管理器文件夹不存在 + +**5. 选择框点击无效** + +你可能点到了文字区域,clickmouse选择框需要点击到框内才有效。 + + diff --git a/documents/zh-CN/guide/getting-started.md b/documents/zh-CN/guide/getting-started.md new file mode 100644 index 0000000..5369cec --- /dev/null +++ b/documents/zh-CN/guide/getting-started.md @@ -0,0 +1,90 @@ +--- +layout: doc +title: 开始使用 +--- + + + +# 开始使用 +## 下载安装 + +前往[github发布页面](https://github.com/xystudiocode/pyclickmouse/releases/latest) + +选择`clickmouse.7z`,然后下载,下载完成后解压到当前目录 + +## 运行 +### 初始化 +点击`解压后的文件夹/main.exe`,同意UAC弹窗,等待程序初始化完成。 + +先点击下一步,然后"同意此协议",点击2次"下一步" +协议 + +之后会让你选择是否创建快捷方式,建议创建,点击"下一步" + +创建快捷方式 + +然后是选择包,你可以酌情选择,点击"下一步",确认组件选择弹窗。 + +组件选择 + +之后等待安装完成,进入安装完成提示页面,建议勾选"运行clickmouse",点击"完成" + +安装完成 + +### 使用 + +设置一个连点间隔和连点次数,连点输入框旁边的按钮可以设置单位 + +设置结束后,点击"左键连点"或者"右键连点"按钮,开始连点 + +> 若是灰色,可以检查是否填入的是数字,clickmouse只检测整数数字 + +点击"停止"按钮停止连点 + +点击"暂停"按钮可以暂停连点,然后你可以点击"重启"按钮继续连点 + +clickmouse运行图 + +::: tip 提示 +之后如果要运行,可以双击`解压后的文件夹/main.exe`运行程序,也可以右键点击桌面或开始菜单快捷方式运行 +::: \ No newline at end of file diff --git a/documents/zh-CN/guide/index.md b/documents/zh-CN/guide/index.md new file mode 100644 index 0000000..a1c630b --- /dev/null +++ b/documents/zh-CN/guide/index.md @@ -0,0 +1,59 @@ +--- +layout: doc +title: Clickmouse 指南 +--- + +# Clickmouse 指南 + +## 介绍 +Clickmouse指南,主要介绍Clickmouse gui的使用方法、功能、原理、配置等。 + +点击侧边栏以进行查阅。 + +## 功能 +- 连点功能 +- 输入间隔 +- 热键启动 +- 输入次数 +- 自动检查更新 +- 自动下载和安装更新 +- 设置 +- 官方安装助手 +- 包管理 +- 后台运行 + +## 调用方法 +- [x] C/C++头文件调用 使用原本C++版本的clickMouse改装而来 速度最快,兼容性最好,但是使用失效的可能性最大。可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载 +- [x] 使用原本C++版本的clickMouse 速度最快,兼容性最好,但是使用失效的可能性最大,已经停止更新,可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载,[之前的clickmouse项目](https://github.com/xystudio889/ClickMouse) +- [x] 使用.dll调用 基于C++语言,速度最快,兼容性较好,使用失效的可能性最大。(配置较难,推荐使用C/C++头文件)可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载 +- [x] (开发人员推荐)python调用 速度中等,兼容性最好,使用失效的可能性最小。可以使用`pip install clickmouse`下载 +- [x] 使用.pyd调用 基于python语言,速度较快,兼容性较差(不同版本的python可能不兼容),使用失效的可能性较小。可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载(单独编译仅需编译cython/目录) +- [x] (普通用户推荐)使用exe 使用 基于交互式命令行添加了gui。可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载 +- [ ] 使用交互式命令行 使用 基于python语言,比gui轻便。~~可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases)下载~~ 暂时没有该版本,敬请期待 +- [ ] 使用标准命令行 使用 基于python语言。~~将会自带在gui版本和pip安装版本中~~ 暂时没有该版本,敬请期待 +- [x] 精简版(ClickClean) 比exe gui版本更加精简,告别臃肿的无用功能。可以从[releases](https://github.com/xystudiocode/pyClickMouse/releases) + +## Usage +- [x] C/C++ header file usage: Use the original clickMouse re-packaged as C++ version, which is fast and compatible, but the maximum susceptibility to invalid use. You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- [x] Original C++ version usage: Use the original clickMouse, which is fast and compatible, but the maximum susceptibility to invalid use, and has stopped updating. You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- [x] dll calling: Based on C++ language, which is fast and compatible, but the maximum susceptibility to invalid use. (The configuration is more difficult, it is recommended to use C/C++ header file) You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- [x] (Developer recommended) Python calling: Slow, but compatible, and the minimum susceptibility to invalid use. (Recommended to use `pip install clickmouse`) You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- [x] .pyd calling: Based on python language, which is faster, but compatible (different versions of python may not be compatible), and the susceptibility to invalid use is relatively small. You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) (only need to compile cython/ directory) +- [x] (General user recommended) exe usage: Based on interactive command line with gui. You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) +- [ ] Interactive command line usage: Based on python language, lightweight than gui. (~~You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases)~~) Not yet available, please wait. +- [ ] Standard command line usage: Based on python language. (~~Will be included in the gui version and pip installation version~~) Not yet available, please wait. +- [x] Simplified version (ClickClean) is more lightweight and eliminates unnecessary functions. You can download from [releases](https://github.com/xystudiocode/pyClickMouse/releases) + +## 连点功能 +- 鼠标连点 +- 自定义连点间隔 +- 自定义连点次数 + +## ⬇️下载 +前往[releases](https://github.com/xystudiocode/pyClickMouse/releases/releases)下载 + +## 使用优先级 +```mermaid +graph LR +A[exe] --> B["cli版本(未完成)"] +``` \ No newline at end of file diff --git a/documents/zh-CN/guide/license.md b/documents/zh-CN/guide/license.md new file mode 100644 index 0000000..fd902dd --- /dev/null +++ b/documents/zh-CN/guide/license.md @@ -0,0 +1,43 @@ +--- +title: 软件协议 +description: 介绍软件协议 +layout: doc +--- +# 软件协议 +## 版权声明 +鼠标 的图标 Icons8 + +## 开源协议 +本软件基于MIT开源协议,最后我会放出协议内容,你可以复制、修改、分发本软件及文档站,但你必须在源代码中保留原作者信息和协议声明。 + +本软件及文档站均开源在github上,你可以在[软件链接](https://github.com/xystudiocode/pyclickmouse)打开 + +同时软件的源代码开源在gitee上,方便中国用户下载。[软件链接](https://gitee.com/xystudio889/pyclickmouse) + +## 商业授权 +我们不反对商业授权,你可以在无需联系作者的情况下,将本软件用于商业用途,但必须在源代码中保留原作者信息和协议声明。 + +## 协议内容 +``` +MIT License + +Copyright (c) 2026 xystudiocode + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +``` \ No newline at end of file diff --git a/documents/zh-CN/guide/version-naming.md b/documents/zh-CN/guide/version-naming.md new file mode 100644 index 0000000..5ad54d7 --- /dev/null +++ b/documents/zh-CN/guide/version-naming.md @@ -0,0 +1,35 @@ +--- +title: 版本命名规则 +description: 介绍 ClickMouse 版本命名规则。 +layout: doc +--- + +# 版本命名规则 +clickmouse版本格式为:`A.B.C.D[(alpha | beta |.dev | rc) E]` +## 正式版本 +正式版不带.dev、alpha、beta或rc后缀。 + +A位代表有重大更新,有代码级的变动。如1.0升级到2.0就重构了代码。 + +B位代表有普通更新,通常是更新一些大功能。 + +C位代表有修复更新,通常会更新一些小功能和一些bug。 + +D位代表版本代号,通常每A, B, C位有变动时候+1。也有可能A, B, C位没有变动,D位+1,这代表紧急更新,通常是修复几个重大影响的bug。 + +## 测试版本 +测试版本带.dev、alpha、beta或rc后缀。 + +通常前面的`A.B.C.D`在一个测试周期内不变,代表下一个版本。 + +`.dev`代表早期开发更新,功能不稳定,bug很多,位于版本项目初期。这阶段新增的功能将会被放到实验室中,并默认关闭。 + +`alpha`代表晚期开发更新,功能不完善,bug较多,位于版本项目早期。这阶段新增的功能将会被放到实验室中,并默认关闭。 + +`beta`代表发布测试更新,功能完善,bug较少,不会再新增功能,位于版本项目中期,并且会逐步合并实验室中的feature。 + +`rc`代表预备发布版本,功能完善,bug较少,会修复一些重要安全问题或bug,最接近正式版,即将发布正式版,位于版本项目末期。 + +::: tip 提示 +rc最后一个版本将直接合并到测试版;功能完全一样。 +::: diff --git a/documents/zh-CN/index.md b/documents/zh-CN/index.md new file mode 100644 index 0000000..bd109b4 --- /dev/null +++ b/documents/zh-CN/index.md @@ -0,0 +1,59 @@ +--- +layout: home +lang: zh-CN +title: 首页 +description: 使用VitePress制作的Clickmouse文档。 +hero: + title: Clickmouse + text: Clickmouse + tagline: 一款快捷,简洁,轻便;使用python制作的鼠标连点器 + image: + src: /imgs/icons/icon.ico + alt: Clickmouse Logo + actions: + - theme: brand + text: 下载软件 + link: https://github.com/xystudiocode/pyClickMouse/releases/releases/latest + - theme: alt + text: 开始使用 + link: /zh-CN/guide/getting-started.html + - theme: alt + text: 查阅源码 + link: /zh-CN/githublink.html +features: + - icon: ⬇️ + title: 连点功能丰富 + details: 有丰富的连点功能,可以设置连点次数,间隔时间,默认连点属性,热键连点等 + - icon: ⚙️ + title: 设置丰富 + details: 可以设置主题,连点默认次数、间隔;错误时候使用默认值等 + - icon: ♻️ + title: 轻量化 + details: UI简洁,使用简单、轻便。 + - icon: 🔄️ + title: 自动更新 + details: 软件自动更新,保证软件最新。 + - icon: 🖥️ + title: 后台运行 + details: 软件可以后台运行,不会影响到你的工作;可以使用热键唤醒或开启连点。 + - icon: 🧩 + title: 扩展性强 + details: 软件可以扩展,导入扩展以实现更多功能。 + - icon: 💻 + title: 开发简单 + details: 扩展开发简单,只需要使用clickmouseAPI库即可制作。 + - icon: + dark: /imgs/icons/cmd/dark.png + light: /imgs/icons/cmd/light.png + title: 命令行和cli + details: 软件支持更轻便的命令行和cli模式,能被其他软件轻松调用 + - icon: 🎀 + title: 安装助手 + details: 通过官方的安装助手能很简单的配置clickmouse和包管理器,让你的操作更加简单。 + - icon: 📦 + title: 包管理器 + details: 软件官方支持包管理器,可以简单的安装、卸载、更新扩展。 + - icon: 🔛 + title: 开源 + details: 本软件使用mit协议开源,你可以任意修改,分发,使用,甚至收费;你也可以向clickmouse官方提出建议,帮助改进软件。 +--- diff --git a/documents/zh-CN/updatelog/beta/3/30011a1.md b/documents/zh-CN/updatelog/beta/3/30011a1.md new file mode 100644 index 0000000..18b3d3b --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011a1.md @@ -0,0 +1,32 @@ +--- +title: 3.0.0.11alpha1 +layout: doc +--- + +# 3.0.0.11alpha1 + +发布日期:2025/12/06 + +## 更新内容 + +- 新增了设置ui,该ui是重构的ui,而非从wx移植。 +- 美化了按钮。 +- 自适应系统颜色功能,完美兼容windows的亮暗模式。 +- 快捷键:ctrl+alt+d,显示或隐藏主窗口。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0alpha1-re) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011a2.md b/documents/zh-CN/updatelog/beta/3/30011a2.md new file mode 100644 index 0000000..10d22af --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011a2.md @@ -0,0 +1,31 @@ +--- +title: 3.0.0.11alpha2 +layout: doc +--- + +# 3.0.0.11alpha2 + +发布日期:2025/12/07 + +## 更新内容 + +- 完全重构设置 +- 新的设置选项:软件主题,显示托盘图标。 +- 继续修改美化组件 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0alpha2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011a3.md b/documents/zh-CN/updatelog/beta/3/30011a3.md new file mode 100644 index 0000000..65509be --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011a3.md @@ -0,0 +1,29 @@ +--- +title: 3.0.0.11alpha3 +layout: doc +--- + +# 3.0.0.11alpha3 + +发布日期:2025/12/11 + +## 更新内容 + +- 继续修改美化组件 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0alpha3) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011dev1.md b/documents/zh-CN/updatelog/beta/3/30011dev1.md new file mode 100644 index 0000000..8c348ba --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011dev1.md @@ -0,0 +1,27 @@ +--- +title: 3.0.0.11.dev1 +layout: doc +--- + +# 3.0.0.11.dev1 + +发布日期:2025/11/23 + +## 更新内容 + +- 使用pyside6(基于Qt)重写了clickmouse + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.dev1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011dev3.md b/documents/zh-CN/updatelog/beta/3/30011dev3.md new file mode 100644 index 0000000..e6ef9a3 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011dev3.md @@ -0,0 +1,31 @@ +--- +title: 3.0.0.11.dev4 +layout: doc +--- + +# 3.0.0.11.dev4 + +发布日期:2025/11/29 + +## 更新内容 + +- 将清理缓存页面换成了三态选择框 +- 基于Pyside6重构的检查更新、选择语言界面 +- 修复了一些bug + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.dev3) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011dev4.md b/documents/zh-CN/updatelog/beta/3/30011dev4.md new file mode 100644 index 0000000..d2fb007 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011dev4.md @@ -0,0 +1,31 @@ +--- +title: 3.0.0.11.dev4 +layout: doc +--- + +# 3.0.0.11.dev4 + +发布日期:2025/11/30 + +## 更新内容 + +- 新增了clickmouse后台运行功能 +- 新增了热键启动功能。 +- 修复了选择好语言后无法立即启动软件的问题。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.dev3) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011rc1.md b/documents/zh-CN/updatelog/beta/3/30011rc1.md new file mode 100644 index 0000000..106462a --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011rc1.md @@ -0,0 +1,40 @@ +--- +title: 3.0.0.11rc1 +layout: doc +--- + +# 3.0.0.11rc1 + +发布日期:2025/12/13 + +## 更新内容 + +- 使用Pyside6重构的ui,使界面焕然一新 +- 新的设置内容 +- 添加热键启动,热键请见软件帮助 +- 添加连点输入次数功能 +- 添加状态栏,查看连点状况。 +- 暂时禁用了原计划在2.3.0推出的功能,延期到3.1.0.12。 +- 修复了一些bug + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 英语语言包有意外字符 | 无 | ==3.0.0.11 | 3.0.1.12 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/26) | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.11rc1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30011rc2.md b/documents/zh-CN/updatelog/beta/3/30011rc2.md new file mode 100644 index 0000000..0f1517f --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30011rc2.md @@ -0,0 +1,36 @@ +--- +title: 3.0.0.11rc2 +layout: doc +--- + +# 3.0.0.11rc2 + +发布日期:2025/12/14 + +## 更新内容 + +- 添加对英语的支持 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 英语语言包有意外字符 | 无 | ==3.0.0.11 | 3.0.1.12 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/26) | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.11rc2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30112rc1.md b/documents/zh-CN/updatelog/beta/3/30112rc1.md new file mode 100644 index 0000000..7c6c5f4 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30112rc1.md @@ -0,0 +1,42 @@ +--- +title: 3.0.1.12rc1 +layout: doc +--- + +# 3.0.1.12rc1 + +发布日期:2025/12/19 + +## 更新内容 + +- 优化了语言包 +- - 修改了英语语言包,修复了部分版本号字符显示没有空格的问题,并删除了多余的逗号 +- - 其他语言包优化... +- 错误样式自动卸载功能 +- 修复了一些bug: +- - 切换语言后,再次打开的界面会变成选择更新后的语言,导致的界面割裂感 +- - 修复了英语语言包有意外字符的问题 +- - 其他一些bug... +- - 调整设置:更改了'软件需要重启'的界面,变成一个弹窗,并删除了字符显示 +- - 移除了clickmouse 初始化,现在自动获取语言 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.13(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.1.12rc1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/30213rc1.md b/documents/zh-CN/updatelog/beta/3/30213rc1.md new file mode 100644 index 0000000..22cee28 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/30213rc1.md @@ -0,0 +1,36 @@ +--- +title: 3.0.2.13rc1 +layout: doc +--- + +# 3.0.2.13rc1 + +发布日期:2025/12/27 + +## 更新内容 + +- 对颜色管理优化 +- - 添加了检测windows强调色功能 +- - 添加了浅色模式下的深色标题栏 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有些时候,风格变化的按钮仍是原风格的颜色 | 无 | ==3.0.2.13 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/40) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.14(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.2.13rc1-re1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/31015b1.md b/documents/zh-CN/updatelog/beta/3/31015b1.md new file mode 100644 index 0000000..da0b952 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/31015b1.md @@ -0,0 +1,34 @@ +--- +title: 3.1.0.15beta1 +layout: doc +--- + +# 3.1.0.15beta1 +发布日期:2026/01/10 + +## 更新内容 + +- 修改了风格: +- - 将风格整合为一个文件 +- - 移除了无风格模式 +- - 修复部分风格显示bug +- - 添加风格越界保护 +- - 更改风格 +- 统一初始化和安装扩展应用的风格 +- 完成的安装程序和包管理器 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| init程序的选择组件,即使窗口显示成中文仍是英文 | 无 | >=3.1.0.15beta1,仅作用与测试版 | 无 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/74) | +| 设置的响应延迟滚动条显示为1 | 无 | >=3.1.0.15;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.14beta1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/31015b2.md b/documents/zh-CN/updatelog/beta/3/31015b2.md new file mode 100644 index 0000000..f707496 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/31015b2.md @@ -0,0 +1,28 @@ +--- +title: 3.1.0.15beta2 +layout: doc +--- + +# 3.1.0.15beta3 +发布日期:2026/01/11 + +## 更新内容 + +- 修改文件安装的开始菜单创建文件 +- 修改了删除程序,现在不能从控制面板移除 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| init程序的选择组件,即使窗口显示成中文仍是英文 | 无 | >=3.1.0.15beta1,仅作用与测试版 | 无 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/74) | +| 设置的响应延迟滚动条显示为1 | 无 | >=3.1.0.15;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.15beta2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/31015b3.md b/documents/zh-CN/updatelog/beta/3/31015b3.md new file mode 100644 index 0000000..5f8cad8 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/31015b3.md @@ -0,0 +1,30 @@ +--- +title: 3.1.0.15beta1 +layout: doc +--- + +# 3.1.0.15beta3 +发布日期:2026/01/17 + +## 更新内容 + +- 修改了风格 +- 修复了一些bug +- 修改style, 在浅色模式下使用浅色勾 +- 修改了删除程序,现在不能从控制面板移除 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| init程序的选择组件,即使窗口显示成中文仍是英文 | 无 | >=3.1.0.15beta1,仅作用与测试版 | 无 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/74) | +| 设置的响应延迟滚动条显示为1 | 无 | >=3.1.0.15;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.15beta3) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/31015dev0.md b/documents/zh-CN/updatelog/beta/3/31015dev0.md new file mode 100644 index 0000000..afb4b0d --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/31015dev0.md @@ -0,0 +1,36 @@ +--- +title: 3.1.0.15.dev0 +layout: doc +--- + +# 3.1.0.15.dev0 + +发布日期:2025/12/27 + +## 更新内容 + +- 添加扩展,宏和文档的菜单 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有些时候,风格变化的按钮仍是原风格的颜色 | 无 | ==3.0.2.13 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/40) | +| 设置先开启再关闭,此时更改windows主题会显示设置 | 无 | ==3.0.2.13 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/41) | +| 悬浮在menu上时,状态栏的字符会消失 | 无 | >=3.0.0.11;<3.1.0.15 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/43) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.14(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.14.dev0) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/31217b1.md b/documents/zh-CN/updatelog/beta/3/31217b1.md new file mode 100644 index 0000000..740c399 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/31217b1.md @@ -0,0 +1,28 @@ +--- +title: 3.1.2.17beta1 +layout: doc +--- + +# 3.1.2.17beta1 +发布日期:2026/01/23 + +## 更新内容 + +- 优化性能 +- 添加设置延迟设置 +- 优化连点器设置显示 +- 修改更新日志 +- 修复开机自启动显示“langs.json不存在” + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.2.17beta1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/31217b3.md b/documents/zh-CN/updatelog/beta/3/31217b3.md new file mode 100644 index 0000000..73e349e --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/31217b3.md @@ -0,0 +1,30 @@ +--- +title: 3.1.2.17beta3 +layout: doc +--- + +# 3.1.2.17beta3 +发布日期:2026/01/25 + +## 更新内容 + +- 对于测试版,所有clickmouse组件图标下方会有'pre'字样。 +- 新的提示框版本,现在提示框的选项已经翻译成中文,稍后会出多语言版本。 +- 修复清理缓存工具勾选为全选后子选项选择框无响应的bug +- 修复设置的响应延迟滚动条显示为1的问题 +- 修复init程序无法运行的bug +- 重构clickmouse缓存清除工具; +- 修改日志,现在减少了输出文本,并更易管理 +- 现在计算缓存会过滤无法删除文件,计算更准确 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.2.17beta3) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32018b4.md b/documents/zh-CN/updatelog/beta/3/32018b4.md new file mode 100644 index 0000000..6b7b422 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32018b4.md @@ -0,0 +1,31 @@ +--- +title: 3.2.0.18beta4 +layout: doc +--- + +# 3.2.0.18beta4 +发布日期:2026/02/03 + +## 更新内容 + +- 完成的更新安装服务 +- 添加“反馈bug”按钮 +- 修复了一些bug: +- - 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 #123 +- - 英文模式拖动响应延迟,总延迟提示变为中文 #121 +- - 修复了更新资源解密失败的问题 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 如果clickmouse检查到的最新版本没有clickmouse.7z会报错 | 无 | >=3.2.0.18beta3;<3.2.0.18beta7,仅在测试版 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/140) | +| 更新软件更新失败,显示404 | 无 | >=3.2.0.18beta3;<3.2.0.18beta7,仅在测试版 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/151) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 如果你的语言是中文,最大值的单位将显示为英文 | 无 | >=3.2.0.18beta4;<3.2.0.19beta9, 仅在测试版中 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/170) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.18beta4-re2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32018b5.md b/documents/zh-CN/updatelog/beta/3/32018b5.md new file mode 100644 index 0000000..02bf014 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32018b5.md @@ -0,0 +1,28 @@ +--- +title: 3.2.0.18beta5 +layout: doc +--- + +# 3.2.0.18beta5 +发布日期:2026/02/04 + +## 更新内容 + +- 添加了主题,原有的主题被重新翻译为了”风格“ +- ~~如果release是重制版,则不会检查到该更新~~bug仍然存在 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.2.0.18beta7 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 如果clickmouse检查到的最新版本没有clickmouse.7z会报错 | 无 | >=3.2.0.18beta3;<3.2.0.18beta7,仅在测试版 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/140) | +| 更新软件更新失败,显示404 | 无 | >=3.2.0.18beta3;<3.2.0.18beta7,仅在测试版 | 3.2.0.18beta7 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/151) | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 如果你的语言是中文,最大值的单位将显示为英文 | 无 | >=3.2.0.18beta4;<3.2.0.19beta9, 仅在测试版中 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/170) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.18beta5) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32018b8.md b/documents/zh-CN/updatelog/beta/3/32018b8.md new file mode 100644 index 0000000..a717074 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32018b8.md @@ -0,0 +1,29 @@ +--- +title: 3.2.0.18beta8 +layout: doc +--- + +# 3.2.0.18beta8 +发布日期:2026/02/14 + +## 更新内容 + +- 修复更新程序bug: +- - 如果版本号标签是重制版,那么下载程序无法使用报错404 +- - 更新软件索引错误导致更新失败,显示404 +- - 如果clickmouse检查到的最新版本没有clickmouse.7z会报错 +- 文档功能完成 +- 移除了本地的更新日志,变为在线文档查阅 +- 修改了关于界面提示文本 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 英语模式无法启用无限连点| 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 如果你的语言是中文,最大值的单位将显示为英文 | 无 | >=3.2.0.18beta4;<3.2.0.19beta9, 仅在测试版中 | 3.2.0.19beta9 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/170) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.18beta8-re1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32019b10.md b/documents/zh-CN/updatelog/beta/3/32019b10.md new file mode 100644 index 0000000..4584285 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32019b10.md @@ -0,0 +1,27 @@ +--- +title: 3.2.0.19beta10 +layout: doc +--- + +# 3.2.0.18beta10 +发布日期:2026/02/19 + +## 更新内容 + +- 修复Init无法运行的问题 +- 精简了无用的内容 + +## 已知问题 +| 问题描述 | 解决方案 | 受影响版本 | 已修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 第一次加载设置不会加载设置默认值的估计时间 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/182) | +| 如果有更新并安装完成,那么关闭更新完成再打开会显示正在更新 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/185) | +| 回滚更新时候,文件夹不会回滚 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/184) | +| 当模式是深色且多次打开一个窗口时候,标题栏变为白色 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/183) | +| 托盘右键语言显示错误 | 无 | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 如果修改了热键,那么无法使用托盘右键 | >=3.2.0.19beta9;仅在测试版 | 无 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +# 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19beta10) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32019b11.md b/documents/zh-CN/updatelog/beta/3/32019b11.md new file mode 100644 index 0000000..ffe3261 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32019b11.md @@ -0,0 +1,29 @@ +--- +title: 3.2.0.19beta11 +layout: doc +--- + +# 3.2.0.19beta11 +发布日期: 2026/02/20 + +## 更新内容 + +- 修复一些bug: +- - 无法回滚clickmouse更新文件夹 +- - 第一次加载设置不会加载设置默认值的估计时间 +- - 如果有更新并安装完成,那么关闭更新完成再打开会显示正在更新 +- - 当模式是深色且多次打开一个窗口时候,标题栏变为白色 +- 在安装完成提示的地方回滚时候,关闭该窗口 +- 禁止在运行连点时候切换连点 +- 优化性能 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 托盘右键语言显示错误 | 无 | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 如果修改了热键,那么无法使用托盘右键 | >=3.2.0.19beta9;仅在测试版 | 无 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19beta11) diff --git a/documents/zh-CN/updatelog/beta/3/32019b9.md b/documents/zh-CN/updatelog/beta/3/32019b9.md new file mode 100644 index 0000000..b1ddd41 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32019b9.md @@ -0,0 +1,34 @@ +--- +title: 3.2.0.19beta9 +layout: doc +--- + +# 3.2.0.19beta9 +发布日期:2026/02/18 + +## 更新内容 + +- 大幅精简组件,优化代码结构,提升性能并压缩安装包体积。 +- 修复了一些bug: +- - 修复了英语模式无法启用无限连点的问题。 +- - 修复了英语模式"已暂停"显示错误的问题。 +- - 修复了如果你的语言是中文,最大值的单位将显示为英文的问题。 +- - 修复了无法确认安装,需要点击取消安装的问题 +- 添加新功能的英语翻译 +- 移除了“帮助”菜单的热键帮助,因为现在有了自定义热键。 +- 修改默认响应延迟为100ms,1000ms的延迟过于卡顿。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| init程序无法加载 | 无 | 3.2.0.19beta9 | 3.2.0.19beta10 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/173) | +| 如果有更新并安装完成,那么关闭更新完成再打开会显示正在更新 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/185) | +| 回滚更新时候,文件夹不会回滚 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/184) | +| 当模式是深色且多次打开一个窗口时候,标题栏变为白色 | 无 | 3.1.3.18; 3.2.0.19beta9; 3.2.0.19beta10 | 3.2.0.19beta11 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/183) | +| 托盘右键语言显示错误 | 无 | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 如果修改了热键,那么无法使用托盘右键 | >=3.2.0.19beta9;仅在测试版 | 无 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19beta9) diff --git a/documents/zh-CN/updatelog/beta/3/32019rc1.md b/documents/zh-CN/updatelog/beta/3/32019rc1.md new file mode 100644 index 0000000..110f73a --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32019rc1.md @@ -0,0 +1,25 @@ +--- +title: 3.2.0.19rc1 +layout: doc +--- + +# 3.2.0.19rc1 +发布日期:2026/02/22 + +## 更新内容 + +- 添加简单的文档和更新设置 +- 简单修改了样式 +- 增加了更新时候的安全性 +- 精简组件 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 托盘右键语言显示错误 | 无 | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 如果修改了热键,那么无法使用托盘右键 | >=3.2.0.19beta9;仅在测试版 | 无 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19rc1) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32019rc2.md b/documents/zh-CN/updatelog/beta/3/32019rc2.md new file mode 100644 index 0000000..93d518d --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32019rc2.md @@ -0,0 +1,22 @@ +--- +title: 3.2.0.19rc2 +layout: doc +--- + +# 3.2.0.19rc2 +发布日期:2026/02/24 + +## 更新内容 + +- 修改样式 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 托盘右键语言显示错误 | 无 | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 如果修改了热键,那么无法使用托盘右键 | >=3.2.0.19beta9;仅在测试版 | 无 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/206) | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19rc2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/32019rc3.md b/documents/zh-CN/updatelog/beta/3/32019rc3.md new file mode 100644 index 0000000..6c2c844 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32019rc3.md @@ -0,0 +1,23 @@ +--- +title: 3.2.0.19rc3 +layout: doc +--- + +# 3.2.0.19rc3 +发布日期:2026/03/10 + +## 更新内容 + +- 修复一些bug: +- - 托盘右键语言显示错误 +- - 无法使用“设置延迟“功能 +- - 如果修改了热键,那么无法使用托盘右键 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19rc3) diff --git a/documents/zh-CN/updatelog/beta/3/32120a1.md b/documents/zh-CN/updatelog/beta/3/32120a1.md new file mode 100644 index 0000000..418e777 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32120a1.md @@ -0,0 +1,29 @@ +--- +title: 3.2.1.20alpha1 +layout: doc +--- + +# 3.2.1.20alpha1 +发布日期:2026/03/10 + +## 更新内容 + +- 之后,预览版的新功能会先加入到实验室中,到beta阶段才会逐一合并到正式版 +- 新增实验项目:更多的设置,包括: +- - 重置开机启动组件 +- - 反馈软件网址 +- - 重置文档链接按钮 +- - 通知设置 +- 修复一些bug: +- - 托盘右键语言显示错误 +- - 无法使用“设置延迟“功能 +- - 如果修改了热键,那么无法使用托盘右键 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.20alpha1) diff --git a/documents/zh-CN/updatelog/beta/3/32120a2.md b/documents/zh-CN/updatelog/beta/3/32120a2.md new file mode 100644 index 0000000..41baa1e --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/32120a2.md @@ -0,0 +1,20 @@ +--- +title: 3.2.1.20alpha2 +layout: doc +--- + +# 3.2.1.20alpha2 +发布日期:2026/03/14 + +## 更新内容 + +- 添加了“无实验项时候,关闭实验室菜单”的设置项目 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | 问题链接 | +| --- | --- | --- | --- | --- | --- | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19beta5;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.1.20alpha2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/beta/3/33022a4.md b/documents/zh-CN/updatelog/beta/3/33022a4.md new file mode 100644 index 0000000..499748b --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/33022a4.md @@ -0,0 +1,35 @@ +--- +title: 3.2.3.22 +layout: doc +--- + +# 3.2.3.22 +发布日期: 2026/04/19 + +这是一个开发测试更新,为`3.3.0`的开发周期的第3个版本,由原`3.2.1.20`升级而来,同步了现在的`3.2.1.20`和`3.2.2.21`。 + +## 更新内容 + +- 修复以下问题: +- - 在反色或深色模式下,非windows默认样式的样式的菜单栏会显示异常:字体是当前风格的,但是背景是系统配色的。 +- - 在反色或深色模式下,非windows默认样式的标题栏有可能“卡壳”,深色模式标题栏是浅色的 +- - 清理缓存无法清理 +- 升级到Qt 6.11版本,修复或添加了一些显示: +- - 现在,最大化按钮会正常隐藏或变浅色,和3.1.0用的Qt 6.9版本的效果一样,而不是6.10的不起效果。 +- - 添加了沉浸式圆角菜单栏和下拉框,而不是直角下拉框和向没有抠图一样的圆角菜单栏。 +- 调整了响应延迟的下限,从1ms调整为50ms,以修复标题栏“卡壳”的问题 +- 新增新的产品: `clickclean`,大幅精简了clickmouse,只保留连点器和其相关的设置,它的更新频率会比clickmouse慢,并且要手动检查更新。 +- 现在开机自启动会在后台运行,若你是旧版本用户,需要在设置中重置开机自启动配置才能启用。 +- 设置窗口图标变成了clickmouse的logo,而不是带有设置图标的clickmouse logo。 +- `More settings`实验项的描述开头从`Can`变成了`To` + +## ClickClean更新内容 +- 设置窗口图标变成了clickmouse的logo,而不是带有设置图标的clickmouse logo。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.3.0.22alpha4) diff --git a/documents/zh-CN/updatelog/beta/3/33023a5.md b/documents/zh-CN/updatelog/beta/3/33023a5.md new file mode 100644 index 0000000..a3151b0 --- /dev/null +++ b/documents/zh-CN/updatelog/beta/3/33023a5.md @@ -0,0 +1,28 @@ +--- +title: 3.3.0.22alpha5 +layout: doc +--- + +# 3.3.0.22alpha5 +发布日期: 2026/05/23 + +> 这是一个开发测试版更新,为`3.3.0`的开发周期的第4个版本,同步了现在的`3.2.3.22`。 + +## 更新内容 + +- 现在无需等到第一次连点按下,启动连点时候状态栏会立即显示连点状态 +- 之后,如果已经有一个clickmouse实例在运行,再点击一个clickmouse程序会弹出提示框而不是直接不显示窗口。 +- *[实验室功能]*现在将**连点属性**和**快速连点设置**两个窗口与代码解耦,变成独立的gui文件。 +> 有关代码解耦的消息,请查阅[这个](/zh-CN/blog/decoupling-code-and-ui) + +## ClickClean更新内容 +- 现在无需等到第一次连点按下,启动连点时候状态栏会立即显示连点状态 +- 之后,如果已经有一个clickmouse实例在运行,再点击一个clickmouse程序会弹出提示框而不是直接不显示窗口。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无法打开"Decoupling UI and program"这个开发项 | None | clickmouse 测试版, 3.3.0.23alpha5 | None | 正在修复 | https://github.com/xystudiocode/pyclickmouse/issues/255 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.3.0.22alpha5) diff --git a/documents/zh-CN/updatelog/final/1/1000.md b/documents/zh-CN/updatelog/final/1/1000.md new file mode 100644 index 0000000..327dd79 --- /dev/null +++ b/documents/zh-CN/updatelog/final/1/1000.md @@ -0,0 +1,22 @@ +--- +title: 1.0.0.0 +layout: doc +--- + +# 1.0.0.0 + +发布日期:2025/08/03 + +## 更新内容 + +初始版本 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | issue链接 | +| --- | --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 + +[点击下载](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.0) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/1/1011.md b/documents/zh-CN/updatelog/final/1/1011.md new file mode 100644 index 0000000..daf48c0 --- /dev/null +++ b/documents/zh-CN/updatelog/final/1/1011.md @@ -0,0 +1,26 @@ +--- +title: 1.0.1.1 +layout: doc +--- + +# 1.0.1.1 + +发布日期:2025/08/04 + +## 更新内容 + +- 对'关于'界面更新: + +- - 添加了'支持作者按钮' +- - 移动'更新按钮'到主窗口的'帮助'菜单 +- 添加了连点失败提示 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 + +[点击下载](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.1.0) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/1/1022.md b/documents/zh-CN/updatelog/final/1/1022.md new file mode 100644 index 0000000..a609410 --- /dev/null +++ b/documents/zh-CN/updatelog/final/1/1022.md @@ -0,0 +1,22 @@ +--- +title: 1.0.2.2 +layout: doc +--- + +# 1.0.2.2 + +发布日期:2025/08/08 + +## 更新内容 + +添加了"更新日志"选项。 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 当关闭"更新日志"时,主窗口一并关闭 | 无 | 1.0.2.2 | 1.0.2.3 | 已修复 | 无 | +| 部分地方显示有误 | 无 | 1.0.2.2 | 1.0.2.3 | 已修复 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.2.2) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/1/1023.md b/documents/zh-CN/updatelog/final/1/1023.md new file mode 100644 index 0000000..e8fbb49 --- /dev/null +++ b/documents/zh-CN/updatelog/final/1/1023.md @@ -0,0 +1,23 @@ +--- +title: 1.0.2.3 +layout: doc +--- + +# 1.0.2.3 + +发布日期:2025/08/12 + +## 更新内容 + +- 修改了部分显示字符 + +- 修复了当关闭"更新日志"时,主窗口一并关闭的问题 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudio889/clickmouse/releases/tag/v1.0.2.3) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/2/2004.md b/documents/zh-CN/updatelog/final/2/2004.md new file mode 100644 index 0000000..ca4a5af --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/2004.md @@ -0,0 +1,21 @@ +--- +title: 2.0.0.4 +layout: doc +--- + +# 2.0.0.4 + +发布日期:2025/08/21 + +## 更新内容 + +- 使用python和wxPython重写了程序的GUI界面,让程序更加美观、简洁。 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.0.0.0)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.0.0.4) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/2/2105.md b/documents/zh-CN/updatelog/final/2/2105.md new file mode 100644 index 0000000..834ec5f --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/2105.md @@ -0,0 +1,23 @@ +--- +title: 2.1.0.5 +layout: doc +--- + +# 2.1.0.5 + +发布日期:2025/08/24 + +## 更新内容 + +- 添加日志系统,若有bug建议同时提供日志文件 +- 添加自动更新功能,可自动检测新版本并下载安装 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 不显示更新提示 | 请手动前往[github releases](https://github.com/xystudiocode/pyClickMouse/releases)或[gitee releases](https://gitee.com/xystudio889/pyclickmouse/releases)手动下载新版本 | >=2.1.0.5;<2.2.0.7 | 2.2.0.7 | 已修复 | 无 | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5 | 无 | 已修复 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.1.0.5)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.1.0.5) diff --git a/documents/zh-CN/updatelog/final/2/2116.md b/documents/zh-CN/updatelog/final/2/2116.md new file mode 100644 index 0000000..d7b6f02 --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/2116.md @@ -0,0 +1,22 @@ +--- +title: 2.1.1.6 +layout: doc +--- + +# 2.1.1.6 + +发布日期:2025/08/25 + +## 更新内容 + +- ~~修复了不显示更新提示的问题~~ 仍然有bug,撤销修复。 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 不显示更新提示 | 请手动前往[github releases](https://github.com/xystudiocode/pyClickMouse/releases)或[gitee releases](https://gitee.com/xystudio889/pyclickmouse/releases)手动下载新版本 | >=2.1.0.5;<2.2.0.7 | 2.2.0.7 | 已修复 | 无 | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5 | 无 | 已修复 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.1.1.6)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.1.1.6) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/2/2207.md b/documents/zh-CN/updatelog/final/2/2207.md new file mode 100644 index 0000000..8a1a879 --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/2207.md @@ -0,0 +1,33 @@ +--- +title: 2.2.0.7 +layout: doc +--- + +# 2.2.0.7 + +发布日期:2025/09/05 + +## 更新内容 + +- 添加了清理缓存功能 + +- 更改和添加了上方的menu栏的功能: +- - 更新相关功能移动到更新菜单栏 +- - 添加了"编辑/选项"菜单栏 +- 修复了无法检查更新的问题 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5 | 无 | 已修复 | 无 | + +## 下个版本预告 +版本号为2.3.0.8(暂定) + +预计更新内容: +- 添加更新安装器,不用替换文件夹 +- 添加安装管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.0.7)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.0.7) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/2/2218.md b/documents/zh-CN/updatelog/final/2/2218.md new file mode 100644 index 0000000..292bd8c --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/2218.md @@ -0,0 +1,34 @@ +--- +title: 2.2.1.8 +layout: doc +--- + +# 2.2.1.8 + +发布日期:2025/10/02 + +## 更新内容 + +- 添加了语言选择功能 +- 添加了找不到文件的提示 +- 重构了一些代码 + +## 已知问题 + +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 2.1.1.8的更新日志不显示版本号的问题 | 无 | >=2.2.1.8;<2.2.3.10 | 2.2.3.10 | 已修复 | 无 | +| 英文下的关于界面出现中文按钮 | 无 | >=2.2.1.8;<2.2.3.10 | 2.2.3.10 | 已修复 | 无 | +| 清理缓存选择"全选"会切换为"部分选择" | 无 | >=2.2.1.8;<2.2.3.10 | 2.2.3.10 | 已修复 | 无 | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5 | 无 | 已修复 | 无 | + +## 下个版本预告 +版本号为2.3.0.8(暂定) + +预计更新内容: +- 添加更新安装器,不用替换文件夹 +- 添加安装管理器 +- 添加命令行 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.1.8)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.1.8) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/2/2229.md b/documents/zh-CN/updatelog/final/2/2229.md new file mode 100644 index 0000000..4088381 --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/2229.md @@ -0,0 +1,38 @@ +--- +title: 2.2.2.9 +layout: doc +--- + +# 2.2.2.9 + +发布日期:2025/10/03 + +## 更新内容 + +- 修复了一些bug: +- - 修复了2.1.1.8的更新日志不显示版本号的问题 +- - 修复了在英文下,"关于"页面出现中文按钮的问题 +- - 修复了"清理缓存"的问题: +- - - 修复了"全选"会切换为"部分选中"提示的问题 +- - - 修复了部分选中时候显示为"全不选"问题 + +- 对"更换语言包需要重启"更新: +- - 修改了语言提示和显示图标 +- - 修改了点击步骤,不会再有选择仅保存语言和保存所有设置的提示 +- - 删除了"立即重启"按钮 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5 | 无 | 已修复 | 无 | + +## 下个版本预告 +版本号为2.3.0.11(暂定) + +预计更新内容: +- 添加更新安装器,不用替换文件夹 +- 添加安装管理器 +- 添加命令行 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.2.9)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.2.9) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/2/22310.md b/documents/zh-CN/updatelog/final/2/22310.md new file mode 100644 index 0000000..0527683 --- /dev/null +++ b/documents/zh-CN/updatelog/final/2/22310.md @@ -0,0 +1,28 @@ +--- +title: 2.2.3.10 +layout: doc +--- + +# 2.2.3.10 + +发布日期:2025/11/29 + +## 更新内容 + +- 改进了clickmouse的质量 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5 | 无 | 已修复 | 无 | + +## 下个版本预告 +版本号为2.3.0.11(暂定) + +预计更新内容: +- 添加更新安装器,不用替换文件夹 +- 添加安装管理器 +- 添加命令行 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/2.2.3.10)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/2.2.3.10) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/30011.md b/documents/zh-CN/updatelog/final/3/30011.md new file mode 100644 index 0000000..e94dcf4 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/30011.md @@ -0,0 +1,44 @@ +--- +title: 3.0.0.11 +layout: doc +--- + +# 3.0.0.11 + +发布日期:2025/12/14 + +## 更新内容 + +- 使用Pyside6重构的ui,使界面焕然一新 +- 新的设置内容 +- 添加热键启动,热键请见软件帮助 +- 添加连点输入次数功能 +- 添加状态栏,查看连点状况。 +- 暂时禁用了原计划在2.3.0推出的功能,延期到3.1.0.12。 +- 修复了一些bug + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 英语语言包有意外字符 | 无 | ==3.0.0.11 | 3.0.1.12 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/26) | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 悬浮在menu上时,状态栏的字符会消失 | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/43) | +| 切换语言后,再次打开的界面会变成选择更新后的语言,导致的界面割裂感 | 无 | ==3.0.0.11 | 3.0.1.12 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/23) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.12(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 +- 文档功能 +- 添加命令行和cli + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.0.11)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.0.11) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/30112.md b/documents/zh-CN/updatelog/final/3/30112.md new file mode 100644 index 0000000..f616733 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/30112.md @@ -0,0 +1,42 @@ +--- +title: 3.0.1.12 +layout: doc +--- + +# 3.0.1.12 + +发布日期:2025/12/20 + +## 更新内容 + +- 优化了语言包 +- - 修改了英语语言包,修复了部分版本号字符显示没有空格的问题,并删除了多余的逗号 +- - 其他语言包优化... +- 错误样式自动卸载功能 +- 修复了一些bug: +- - 切换语言后,再次打开的界面会变成选择更新后的语言,导致的界面割裂感 +- - 修复了英语语言包有意外字符的问题 +- - 其他一些bug... +- - 调整设置:更改了'软件需要重启'的界面,变成一个弹窗,并删除了字符显示 +- - 移除了clickmouse 初始化,现在自动获取语言 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.0.3.14 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.13(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.1.12)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.1.12) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/30213.md b/documents/zh-CN/updatelog/final/3/30213.md new file mode 100644 index 0000000..80b873b --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/30213.md @@ -0,0 +1,36 @@ +--- +title: 3.0.2.13 +layout: doc +--- + +# 3.0.2.13 + +发布日期:2025/12/27 + +## 更新内容 + +- 对颜色管理优化 +- - 添加了检测windows强调色功能 +- - 添加了浅色模式下的深色标题栏 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 设置触发重启后,会回到第一页 | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/42) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 在有些时候,风格变化的按钮仍是原风格的颜色 | 无 | ==3.0.2.13 | 3.0.3.14 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/40) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.14(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.2.13)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.2.13) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/30314.md b/documents/zh-CN/updatelog/final/3/30314.md new file mode 100644 index 0000000..150bdc0 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/30314.md @@ -0,0 +1,45 @@ +--- +title: 3.0.3.14 +layout: doc +--- + +# 3.0.3.14 + +发布日期:2026/01/11 + +## 更新内容 + +- 修复一些问题: +- - 英语语言包有意外字符的问题 +- - 设置先开启再关闭,此时更改windows主题会显示设置 +- - 设置触发重启后,会回到第一页 +- - 悬浮在menu上时,状态栏的字符会消失 +- - 有些情况连点器结束不会导致按钮显示变化 +- 添加保留设置标签页面功能 +- 现在连点器运行时候不能进行连点器设置或者时间更改,以避免一些误会。 +- 修改了风格: +- - 将风格整合为一个文件 +- - 移除了无风格模式 +- - 修复部分风格显示bug +- - 添加风格越界保护 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 设置无法启用`连点次数错误时候使用默认值` | 无 | >=3.0.0.11;<3.1.0.15 | 3.1.0.15 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/70) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +版本号为3.1.0.15(暂定) + +预计更新内容: +- 添加初始化程序,不用替换文件夹 +- 添加包管理器 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.0.3.14)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.0.3.14) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/31015.md b/documents/zh-CN/updatelog/final/3/31015.md new file mode 100644 index 0000000..5179b82 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/31015.md @@ -0,0 +1,51 @@ +--- +title: 3.1.0.15 +layout: doc +--- + +# 3.1.0.15 + +发布日期:2026/01/11 + +## 更新内容 + +- 添加包管理器 +- 添加初始化程序和控制面板安装信息功能 +- 添加卸载clickmouse功能 +- 添加clickmouse 恢复环境组件扩展 +- 修改了风格: +- - 添加了系统色的悬停亮色 +- - 设置选择框亮色模式下显示白色勾 +- - 修复一些风格的bug +- - 一些其他功能 +- 修复了一些bug: +- - 设置无法启用“连点次数错误时候使用默认值” +- - 修复了部分风格的问题 +- - 其他bug修复 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 设置的响应延迟滚动条显示为1 | 无 | >=3.0.0.11;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 +## 3.1.1.16 +- 添加开机自启动设置 +## 3.2.0.17 +- 添加更新安装器 +- 添加一些设置 +- - 主题设置 +- - 文档设置 +- - ~~更新设置~~暂时不在3.2.0版本中添加 +- 修复一些bug +- 文档功能 +- 移除本地更新日志 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.0.15)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.1.0.15) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/31116.md b/documents/zh-CN/updatelog/final/3/31116.md new file mode 100644 index 0000000..7fb6973 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/31116.md @@ -0,0 +1,44 @@ +--- +title: 3.1.1.16 +layout: doc +--- + +# 3.1.1.16 + +发布日期:2026/01/22 + +## 更新内容 + +- 添加开机自启动设置 +- 添加防多开功能 +- 优化程序性能 +- 添加更新文件自动修改控制面板版本号功能 +- 修复一些bug + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 设置的响应延迟滚动条显示为1 | 无 | >=3.0.0.11;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/115) | +| 清理缓存工具勾选为全选后子选项选择框无响应 | 手动勾选子选项 | >=3.0.3.14;<3.1.2.17 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/110) | +| init程序无法运行 | 手动以管理员身份运行 | ==3.1.1.16 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/116) | +| 开机自启动显示“langs.json不存在” | 手动启动 | ==3.1.1.16 | 3.1.2.17 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/90) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 + +## 3.2.0.17 +- 添加更新安装器 +- 添加一些设置 +- - 主题设置 +- - 文档设置 +- - ~~更新设置~~暂时不在3.2.0版本中添加 +- 修复一些bug +- 文档功能 +- 移除本地更新日志 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.1.16)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.1.1.16) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/31217.md b/documents/zh-CN/updatelog/final/3/31217.md new file mode 100644 index 0000000..82f3b72 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/31217.md @@ -0,0 +1,51 @@ +--- +title: 3.1.2.17 +layout: doc +--- + +# 3.1.2.17 + +发布日期:2026/01/31 + +## 更新内容 + +- 对于测试版,所有clickmouse组件图标下方会有'pre'字样。 +- 新的提示框版本,现在提示框的选项已经翻译成中文,稍后会出多语言版本。 +- 修复清理缓存工具勾选为全选后子选项选择框无响应的bug +- 修复设置的响应延迟滚动条显示为1的问题 +- 修复开机自启动无法运行的问题 +- 重构clickmouse缓存清除工具 +- 修改日志,现在减少了输出文本,并更易管理 +- 现在计算缓存会过滤无法删除文件,计算更准确 +- 优化性能 +- 添加设置延迟设置 +- 优化连点器设置显示 +- 修改更新日志 +- 修复开机自启动显示“langs.json不存在” + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 如果release是重制版,则不会检查到该更新 | 无 | >=2.1.0.5;<3.1.3.18 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/132) | +| 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/123) | +| 英文模式拖动响应延迟,总延迟提示变为中文 | 无 | >=3.1.2.17 | 无 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/121) | +| 英语模式无法启用无限连点 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/168) | +| 英语模式"已暂停"显示错误 | 无 | >=3.0.0.11 | 3.1.3.18 | 已修复 | [issue链接](https://github.com/xystudiocode/pyClickMouse/issues/169) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | + +## 下个版本预告 + +## 3.1.3.18 +- 添加更新安装器 +- 添加一些设置 +- - 主题设置 +- - 文档设置 +- - ~~更新设置~~暂时不在3.2.0版本中添加 +- - 热键设置 +- 优化性能 +- 修复一些bug +- 文档功能 +- 移除本地更新日志 + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.2.17)或[中国加速链接](https://gitee.com/xystudio889/pyclickmouse/releases/tag/3.1.2.17) \ No newline at end of file diff --git a/documents/zh-CN/updatelog/final/3/31318.md b/documents/zh-CN/updatelog/final/3/31318.md new file mode 100644 index 0000000..c0c91c4 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/31318.md @@ -0,0 +1,40 @@ +--- + +title: 3.13.18 +layout: doc +--- + +# 3.1.3.18 +发布日期:2026/02/19 + +## 更新内容 + +- 添加“反馈bug”按钮 +- 修复了一些bug: +- - 在有更新的情况下,托盘打开应用程序会显示有更新,导致一直弹窗 +- - 英文模式拖动响应延迟,总延迟提示变为中文 +- - 修复了更新资源解密失败的问题 +- - 如果版本号标签是重制版,那么下载程序无法使用报错404 +- - 修复了英语模式无法启用无限连点的问题。 +- - 修复了英语模式"已暂停"显示错误的问题。 +- - 修复了如果你的语言是中文,最大值的单位将显示为英文的问题。 +- - 修复了无法确认安装,需要点击取消安装的问题 +- 文档功能完成 +- 移除了本地的更新日志,变为在线文档查阅 +- 修改了关于界面提示文本 +- 大幅精简组件,优化代码结构,提升性能并压缩安装包体积。 +- 修改默认响应延迟为100ms,1000ms的延迟过于卡顿。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 第一次加载设置不会加载设置默认值的估计时间 | 无 | 3.1.3.18 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/182) | +| 如果有更新并安装完成,那么关闭更新完成再打开会显示正在更新 | 无 | 3.1.3.18 | 3.2.0.19 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/185) | +| 回滚更新时候,文件夹不会回滚 | 无 | 3.1.3.18 | 3.2.0.19 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/184) | +| 当模式是深色且多次打开一个窗口时候,标题栏变为白色 | 无 | 3.1.3.18 | 3.2.0.19 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/183) | +| 托盘右键语言显示错误 | 无 | 3.1.3.18; >=3.2.0.19beta9; <3.2.0.19rc3 | 3.2.0.19rc3 | 已修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/205) | +| 无法使用“设置延迟“功能 | 无 | >3.0.0.11 | 3.2.0.19 | 已在测试版修复 | [isssue链接](https://github.com/xystudiocode/pyClickMouse/issues/207) | +| 清理缓存无法清理 | 无 | >3.1.3.18;<3.2.1.20 | 3.2.1.20 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/234 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.1.3.18) diff --git a/documents/zh-CN/updatelog/final/3/32019.md b/documents/zh-CN/updatelog/final/3/32019.md new file mode 100644 index 0000000..64f05f7 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/32019.md @@ -0,0 +1,40 @@ +--- +title: 3.2.0.19 +layout: doc +--- + +# 3.2.0.19 +发布日期: 2026/03/14 + +## 更新内容 + +- 完成的更新安装服务 +- 添加“反馈bug”按钮 +- 修复了一些bug: +- - 第一次加载设置不会加载设置默认值的估计时间 +- - 如果有更新并安装完成,那么关闭更新完成再打开会显示正在更新 +- - 回滚更新时候,文件夹不会回滚 +- - 当模式是深色且多次打开一个窗口时候,标题栏变为白色 +- - 托盘右键语言显示错误 +- - 无法使用“设置延迟“功能 +- 添加了主题,原有的主题被重新翻译为了”风格“ +- 文档功能完成 +- 移除了本地的更新日志,变为在线文档查阅 +- 修改了关于界面提示文本 +- 压缩安装包体积 +- 移除了“帮助”菜单的热键帮助,因为现在有了自定义热键。 +- 修改默认响应延迟为100ms,1000ms的延迟过于卡顿。 +- 精简了无用的内容 +- 禁止在运行连点时候切换连点 +- 优化性能 +- 添加更新设置 +- 简单修改了样式 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 清理缓存无法清理 | 无 | >3.1.3.18;<3.2.1.20 | 3.2.1.20 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/234 | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.0.19) diff --git a/documents/zh-CN/updatelog/final/3/32120.md b/documents/zh-CN/updatelog/final/3/32120.md new file mode 100644 index 0000000..6d4b44b --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/32120.md @@ -0,0 +1,26 @@ +--- +title: 3.2.1.20 +layout: doc +--- + +# 3.2.1.20 +发布日期: 2026/04/11 + +## 更新内容 + +- 修复以下问题: +- - 清理缓存无法清理 +- 升级到Qt 6.11版本,修复或添加了一些显示: +- - 现在,最大化按钮会正常隐藏或变浅色,和3.1.0用的Qt 6.9版本的效果一样,而不是6.10的不起效果。 +- - 添加了沉浸式圆角菜单栏和下拉框,而不是直角下拉框和向没有抠图一样的圆角菜单栏。 +- 新增新的产品: `clickclean`,大幅精简了clickmouse,只保留连点器和其相关的设置,它的更新频率会比clickmouse慢,并且要手动检查更新。 +- 现在开机自启动会在后台运行,若你是旧版本用户,需要在设置中重置开机自启动配置才能启用。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 反色或深色模式的非默认主题显示标题栏和菜单异常 | 无 | >3.2.0.19;<3.2.2.21 | 3.2.2.21 | 已修复 | https://github.com/xystudiocode/pyClickMouse/issues/240 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.1.20) + diff --git a/documents/zh-CN/updatelog/final/3/32221.md b/documents/zh-CN/updatelog/final/3/32221.md new file mode 100644 index 0000000..af18534 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/32221.md @@ -0,0 +1,29 @@ +--- +title: 3.2.2.21 +layout: doc +--- + +# 3.2.2.21 +发布日期: 2026/04/19 + +这是一个次要更新,主要修复了一些已知问题。 + +## 更新内容 + +- 修复以下问题: +- - 在反色或深色模式下,非windows默认样式的样式的菜单栏会显示异常:字体是当前风格的,但是背景是系统配色的。 +- - 在反色或深色模式下,非windows默认样式的标题栏有可能“卡壳”,深色模式标题栏是浅色的。 +- 调整了响应延迟的下限,从1ms调整为50ms,以修复标题栏“卡壳”的问题。 +- 设置窗口图标变成了clickmouse的logo,而不是带有设置图标的clickmouse logo。 +- 禁用了误加入的实验室功能。 + +## ClickClean更新内容 +- 设置窗口图标变成了clickmouse的logo,而不是带有设置图标的clickmouse logo。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.2.21) diff --git a/documents/zh-CN/updatelog/final/3/32322.md b/documents/zh-CN/updatelog/final/3/32322.md new file mode 100644 index 0000000..b0473d9 --- /dev/null +++ b/documents/zh-CN/updatelog/final/3/32322.md @@ -0,0 +1,26 @@ +--- +title: 3.2.3.22 +layout: doc +--- + +# 3.2.3.22 +发布日期: 2026/05/23 + +> 这是一个开发测试版更新,为`3.3.0`的开发周期的第4个版本,同步了现在的`3.2.3.22`。 + +## 更新内容 + +- 现在无需等到第一次连点按下,启动连点时候状态栏会立即显示连点状态 +- 之后,如果已经有一个clickmouse实例在运行,再点击一个clickmouse程序会弹出提示框而不是直接不显示窗口。 + +## ClickClean更新内容 +- 现在无需等到第一次连点按下,启动连点时候状态栏会立即显示连点状态 +- 之后,如果已经有一个clickmouse实例在运行,再点击一个clickmouse程序会弹出提示框而不是直接不显示窗口。 + +## 已知问题 +| 问题描述 | 解决方案 | 影响版本 | 修复版本 | 状态 | issue链接 | +| --- | --- | --- | --- | --- | --- | +| 无 | 无 | 无 | 无 | 无 | 无 | + +## 下载链接 +[点击下载](https://github.com/xystudiocode/pyclickmouse/releases/tag/3.2.3.22) diff --git a/documents/zh-CN/updatelog/index.md b/documents/zh-CN/updatelog/index.md new file mode 100644 index 0000000..bf0818c --- /dev/null +++ b/documents/zh-CN/updatelog/index.md @@ -0,0 +1,2 @@ +# 更新日志 +请前往目录下查看更新日志。 \ No newline at end of file diff --git a/imgs/readme/icon.ico b/imgs/readme/icon.ico new file mode 100644 index 0000000..3724d95 Binary files /dev/null and b/imgs/readme/icon.ico differ diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..943ea80 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,3813 @@ +{ + "name": "clickmouse_docs", + "version": "1.2.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "clickmouse_docs", + "version": "1.2.0", + "license": "MIT", + "devDependencies": { + "marked": "^17.0.4", + "mermaid": "^11.14.0", + "vitepress": "^1.0.0-rc.32", + "vitepress-plugin-mermaid": "^2.0.17" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.19.0", + "resolved": "https://registry.npmmirror.com/@algolia/abtesting/-/abtesting-1.19.0.tgz", + "integrity": "sha512-Lhnez3hhXHk25lfxLAMxvkP4fmN3+1RgADhD2ssMDBYuAsDVReeyP+3SGRx+ntq8ijMrLqUyfvO72TB6jsTteQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/autocomplete-core": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-core/-/autocomplete-core-1.17.7.tgz", + "integrity": "sha512-BjiPOW6ks90UKl7TwMv7oNQMnzU+t/wk9mgIDi6b1tXpUek7MW0lbNOUHpvam9pe3lVCf4xPFT+lK7s+e+fs7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-plugin-algolia-insights": "1.17.7", + "@algolia/autocomplete-shared": "1.17.7" + } + }, + "node_modules/@algolia/autocomplete-plugin-algolia-insights": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.17.7.tgz", + "integrity": "sha512-Jca5Ude6yUOuyzjnz57og7Et3aXjbwCSDf/8onLHSQgw1qW3ALl9mrMWaXb5FmPVkV3EtkD2F/+NkT6VHyPu9A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "search-insights": ">= 1 < 3" + } + }, + "node_modules/@algolia/autocomplete-preset-algolia": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-preset-algolia/-/autocomplete-preset-algolia-1.17.7.tgz", + "integrity": "sha512-ggOQ950+nwbWROq2MOCIL71RE0DdQZsceqrg32UqnhDz8FlO9rL8ONHNsI2R1MH0tkgVIDKI/D0sMiUchsFdWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-shared": "1.17.7" + }, + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/autocomplete-shared": { + "version": "1.17.7", + "resolved": "https://registry.npmmirror.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.17.7.tgz", + "integrity": "sha512-o/1Vurr42U/qskRSuhBH+VKxMvkkUVTLU6WZQr+L5lGZZLYWyhdzWjW0iGXY7EkwRTjBqvN2EsR81yCTGV/kmg==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@algolia/client-search": ">= 4.9.1 < 6", + "algoliasearch": ">= 4.9.1 < 6" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-abtesting/-/client-abtesting-5.53.0.tgz", + "integrity": "sha512-0ZjA5Hcmaoz5Lj6OG0zhfIyeqzJZnLW2CRJA1W17UwMFGRtZAJ9yJKRvPEDA6gkpsIoQxORTSW6sWFiuYncPNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-analytics/-/client-analytics-5.53.0.tgz", + "integrity": "sha512-kWNodP75iiEaOtemC9F/hlxNBG5E2QUjN1BusnE6m2b4l7Qh/BUO3fGCVsmKJI65VO4VKGGmT43ICvHtTcJ2JQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-common/-/client-common-5.53.0.tgz", + "integrity": "sha512-YPN45TXD9Wrse185t/Ta7nktZsqpv97oOjCzp2sblHnCL6rBc9TDeJAg1IGl2UpdwnSD05Zu/5wLB4watOUMyg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-insights/-/client-insights-5.53.0.tgz", + "integrity": "sha512-qAcYTDJE6m924FDDUQvdD6vh7DYaqOeSpFS74IP37/JRV0v4cGBauyxTF2WzDnokUylQDbqreoFIJZfg0Fitmw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-personalization/-/client-personalization-5.53.0.tgz", + "integrity": "sha512-fQaY+DkSJOpuUVUe8MQTwrdiKAqkJGhpDarB08duBn/sUv7Bkib6MDRQauCcWTWTe4HIW+EbwQP9R4kci1V/Yw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.53.0.tgz", + "integrity": "sha512-o72tsiEZGfeS/dxL9IADfzcZWGEwKDEe5CvtrBuT//3JR+SHuTtHRI2ZTf7D7bcKagcbojvO8hnkHdfoakSlYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/client-search/-/client-search-5.53.0.tgz", + "integrity": "sha512-Ds16IyPm/dNJPCU8OzApo2gwGrgWT5BYHhE3NFwZbpCveqyvPDB9sZDDkJ5DsdOGT2aC+R3i0/M1OVXF2qdgPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/ingestion/-/ingestion-1.53.0.tgz", + "integrity": "sha512-oNbT6z4NwD8Pou9VPINGlN/tlG1afESh2EbxqnP6rwl95xKVD/Zlciis1PpNeO/9U/rrajc1+7DcfKi03tX1KQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/monitoring/-/monitoring-1.53.0.tgz", + "integrity": "sha512-G+KZb/yd+qAOFn/cEvTGeLxQm8aP3a0od50l3z/ylccY+/o4YG3TNcjU1tFQHW4mXC137GPyR7W70R0kRQDLnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/recommend/-/recommend-5.53.0.tgz", + "integrity": "sha512-6aVfYd55Un6IUgPLbo84WfgFZlS3L0vA1ttzXL5vahHewUJ8jYgd89TzlWRTeej7w70mb9RWsVlFYGmJ/diQww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.53.0.tgz", + "integrity": "sha512-ke27DqgzCOlt+RbeEdCxtXxMQOnAOi8ujr2wid0DmDKzR95Kw/f9sBsuhBxtjevCqJRJszfRTLY0B1pbO6IhkA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/requester-fetch/-/requester-fetch-5.53.0.tgz", + "integrity": "sha512-GngiOqt2Gq4oLno6yXQVj9om+qSO9SWAoduoTOEg79dKZ62brB8OOIvSJG/vDNoanYi6a7Al9uDZwXvi+bcVTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/@algolia/requester-node-http/-/requester-node-http-5.53.0.tgz", + "integrity": "sha512-6mF9LZMUk0QqWvrnxkxBqhswwz6Xfiwy6/gmTzL5HrlhdVG3ITAqGV2k3XmVThP1h0Ulc3VQwiNCD7/Nr4JNlQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@antfu/install-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/@antfu/install-pkg/-/install-pkg-1.1.0.tgz", + "integrity": "sha512-MGQsmw10ZyI+EJo45CdSER4zEb+p31LpDAFp2Z3gkSd1yqVZGi0Ebx++YTEMonJy4oChEMLsxZ64j8FH6sSqtQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "package-manager-detector": "^1.3.0", + "tinyexec": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.29.7.tgz", + "integrity": "sha512-Pb5ijPrZ89GDH8223L4UP8i6QApWxs04RbPQJTeWDV0/keR2E36MeKnyr6LYmUUvqRRI+Iv87SuF1W6ErINzYw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.7.tgz", + "integrity": "sha512-hnORnjP/1P/zFEndoeX+n+t1RwWRJiJpM/jO7FW32Kn9r5+sJB2JWOdYo4L6k78j15eCwY3Gm/7364B1EMwtNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.7" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.7", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.7.tgz", + "integrity": "sha512-4zBIxpPzowiZpusoFkyGVwakdRJUyuH5PxQ/PrqghfdFWWasvnCdPfQXHrenDai+gyLARulZjZowCOj6fjT4pA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.29.7", + "@babel/helper-validator-identifier": "^7.29.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@braintree/sanitize-url": { + "version": "7.1.2", + "resolved": "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-7.1.2.tgz", + "integrity": "sha512-jigsZK+sMF/cuiB7sERuo9V7N9jx+dhmHHnQyDSVdpZwVutaBu7WvNYqMDLSgFgfB30n452TP3vjDAvFC973mA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@chevrotain/types": { + "version": "11.1.2", + "resolved": "https://registry.npmmirror.com/@chevrotain/types/-/types-11.1.2.tgz", + "integrity": "sha512-U+HFai5+zmJCkK86QsaJtoITlboZHBqrVketcO2ROv865xfCMSFpELQoz1GkX5GzME8pTa+3kbKrZHQtI0gdbw==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/@docsearch/css": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@docsearch/css/-/css-3.8.2.tgz", + "integrity": "sha512-y05ayQFyUmCXze79+56v/4HpycYF3uFqB78pLPrSV5ZKAlDuIAAJNhaRi8tTdRNXh05yxX/TyNnzD6LwSM89vQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@docsearch/js": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@docsearch/js/-/js-3.8.2.tgz", + "integrity": "sha512-Q5wY66qHn0SwA7Taa0aDbHiJvaFJLOJyHmooQ7y8hlwwQLQ/5WwCcoX0g7ii04Qi2DJlHsd0XXzJ8Ypw9+9YmQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/react": "3.8.2", + "preact": "^10.0.0" + } + }, + "node_modules/@docsearch/react": { + "version": "3.8.2", + "resolved": "https://registry.npmmirror.com/@docsearch/react/-/react-3.8.2.tgz", + "integrity": "sha512-xCRrJQlTt8N9GU0DG4ptwHRkfnSnD/YpdeaXe02iKfqs97TkZJv60yE+1eq/tjPcVnTW8dP5qLP7itifFVV5eg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/autocomplete-core": "1.17.7", + "@algolia/autocomplete-preset-algolia": "1.17.7", + "@docsearch/css": "3.8.2", + "algoliasearch": "^5.14.2" + }, + "peerDependencies": { + "@types/react": ">= 16.8.0 < 19.0.0", + "react": ">= 16.8.0 < 19.0.0", + "react-dom": ">= 16.8.0 < 19.0.0", + "search-insights": ">= 1 < 3" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + }, + "react-dom": { + "optional": true + }, + "search-insights": { + "optional": true + } + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.21.5.tgz", + "integrity": "sha512-1SDgH6ZSPTlggy1yI6+Dbkiz8xzpHJEVAlF/AM1tHPLsf5STom9rwtjE4hKAF20FfXXNTFqEYXyJNWh1GiZedQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.21.5.tgz", + "integrity": "sha512-vCPvzSjpPHEi1siZdlvAlsPxXl7WbOVUBBAowWug4rJHb68Ox8KualB+1ocNvT5fjv6wpkX6o/iEpbDrf68zcg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.21.5.tgz", + "integrity": "sha512-c0uX9VAUBQ7dTDCjq+wdyGLowMdtR/GoC2U5IYk/7D1H1JYC0qseD7+11iMP2mRLN9RcCMRcjC4YMclCzGwS/A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.21.5.tgz", + "integrity": "sha512-D7aPRUUNHRBwHxzxRvp856rjUHRFW1SdQATKXH2hqA0kAZb1hKmi02OpYRacl0TxIGz/ZmXWlbZgjwWYaCakTA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.21.5.tgz", + "integrity": "sha512-DwqXqZyuk5AiWWf3UfLiRDJ5EDd49zg6O9wclZ7kUMv2WRFr4HKjXp/5t8JZ11QbQfUS6/cRCKGwYhtNAY88kQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.21.5.tgz", + "integrity": "sha512-se/JjF8NlmKVG4kNIuyWMV/22ZaerB+qaSi5MdrXtd6R08kvs2qCN4C09miupktDitvh8jRFflwGFBQcxZRjbw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.21.5.tgz", + "integrity": "sha512-5JcRxxRDUJLX8JXp/wcBCy3pENnCgBR9bN6JsY4OmhfUtIHe3ZW0mawA7+RDAcMLrMIZaf03NlQiX9DGyB8h4g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.21.5.tgz", + "integrity": "sha512-J95kNBj1zkbMXtHVH29bBriQygMXqoVQOQYA+ISs0/2l3T9/kj42ow2mpqerRBxDJnmkUDCaQT/dfNXWX/ZZCQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.21.5.tgz", + "integrity": "sha512-bPb5AHZtbeNGjCKVZ9UGqGwo8EUu4cLq68E95A53KlxAPRmUyYv2D6F0uUI65XisGOL1hBP5mTronbgo+0bFcA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.21.5.tgz", + "integrity": "sha512-ibKvmyYzKsBeX8d8I7MH/TMfWDXBF3db4qM6sy+7re0YXya+K1cem3on9XgdT2EQGMu4hQyZhan7TeQ8XkGp4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.21.5.tgz", + "integrity": "sha512-YvjXDqLRqPDl2dvRODYmmhz4rPeVKYvppfGYKSNGdyZkA01046pLWyRKKI3ax8fbJoK5QbxblURkwK/MWY18Tg==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.21.5.tgz", + "integrity": "sha512-uHf1BmMG8qEvzdrzAqg2SIG/02+4/DHB6a9Kbya0XDvwDEKCoC8ZRWI5JJvNdUjtciBGFQ5PuBlpEOXQj+JQSg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.21.5.tgz", + "integrity": "sha512-IajOmO+KJK23bj52dFSNCMsz1QP1DqM6cwLUv3W1QwyxkyIWecfafnI555fvSGqEKwjMXVLokcV5ygHW5b3Jbg==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.21.5.tgz", + "integrity": "sha512-1hHV/Z4OEfMwpLO8rp7CvlhBDnjsC3CttJXIhBi+5Aj5r+MBvy4egg7wCbe//hSsT+RvDAG7s81tAvpL2XAE4w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.21.5.tgz", + "integrity": "sha512-2HdXDMd9GMgTGrPWnJzP2ALSokE/0O5HhTUvWIbD3YdjME8JwvSCnNGBnTThKGEB91OZhzrJ4qIIxk/SBmyDDA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.21.5.tgz", + "integrity": "sha512-zus5sxzqBJD3eXxwvjN1yQkRepANgxE9lgOW2qLnmr8ikMTphkjgXu1HR01K4FJg8h1kEEDAqDcZQtbrRnB41A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.21.5.tgz", + "integrity": "sha512-1rYdTpyv03iycF1+BhzrzQJCdOuAOtaqHTWJZCWvijKD2N5Xu0TtVC8/+1faWqcP9iBCWOmjmhoH94dH82BxPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.21.5.tgz", + "integrity": "sha512-Woi2MXzXjMULccIwMnLciyZH4nCIMpWQAs049KEeMvOcNADVxo0UBIQPfSmxB3CWKedngg7sWZdLvLczpe0tLg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.21.5.tgz", + "integrity": "sha512-HLNNw99xsvx12lFBUwoT8EVCsSvRNDVxNpjZ7bPn947b8gJPzeHWyNVhFsaerc0n3TsbOINvRP2byTZ5LKezow==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.21.5.tgz", + "integrity": "sha512-6+gjmFpfy0BHU5Tpptkuh8+uw3mnrvgs+dSPQXQOv3ekbordwnzTVEb4qnIvQcYXq6gzkyTnoZ9dZG+D4garKg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.21.5.tgz", + "integrity": "sha512-Z0gOTd75VvXqyq7nsl93zwahcTROgqvuAcYDUr+vOv8uHhNSKROyU961kgtCD1e95IqPKSQKH7tBTslnS3tA8A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.21.5.tgz", + "integrity": "sha512-SWXFF1CL2RVNMaVs+BBClwtfZSvDgtL//G/smwAc5oVK/UPu2Gu9tIaRgFmYFFKrmg3SyAjSrElf0TiJ1v8fYA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.21.5.tgz", + "integrity": "sha512-tQd/1efJuzPC6rCFwEvLtci/xNFcTZknmXs98FYDfGE4wP9ClFV98nyKrzJKVPMhdDnjzLhdUyMX4PsQAPjwIw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@iconify-json/simple-icons": { + "version": "1.2.84", + "resolved": "https://registry.npmmirror.com/@iconify-json/simple-icons/-/simple-icons-1.2.84.tgz", + "integrity": "sha512-v4JVu6xIewGoETD4mm2k6UAdFAbTlY1duw5ZNSxYORfs2yFsHDhoU9Omn/BgrV0nR/ptWkF3ZIr/ZHoYXI/6Jw==", + "dev": true, + "license": "CC0-1.0", + "dependencies": { + "@iconify/types": "*" + } + }, + "node_modules/@iconify/types": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@iconify/types/-/types-2.0.0.tgz", + "integrity": "sha512-+wluvCrRhXrhyOmRDJ3q8mux9JkKy5SJ/v8ol2tu4FVjyYvtEzkc/3pK15ET6RKg4b4w4BmTk1+gsCUhf21Ykg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@iconify/utils": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/@iconify/utils/-/utils-3.1.3.tgz", + "integrity": "sha512-LPKOXPn/zV+zis1oOfGWogaXVpqUybF3ZS6SCZIsz8vg0ivVp9+fVqyYB7xq0aiST/VhUQYGO1qo6uoYSiEJqw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@antfu/install-pkg": "^1.1.0", + "@iconify/types": "^2.0.0", + "import-meta-resolve": "^4.2.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@mermaid-js/mermaid-mindmap": { + "version": "9.3.0", + "resolved": "https://registry.npmmirror.com/@mermaid-js/mermaid-mindmap/-/mermaid-mindmap-9.3.0.tgz", + "integrity": "sha512-IhtYSVBBRYviH1Ehu8gk69pMDF8DSRqXBRDMWrEfHoaMruHeaP2DXA3PBnuwsMaCdPQhlUUcy/7DBLAEIXvCAw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@braintree/sanitize-url": "^6.0.0", + "cytoscape": "^3.23.0", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.1.0", + "d3": "^7.0.0", + "khroma": "^2.0.0", + "non-layered-tidy-tree-layout": "^2.0.2" + } + }, + "node_modules/@mermaid-js/mermaid-mindmap/node_modules/@braintree/sanitize-url": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/@braintree/sanitize-url/-/sanitize-url-6.0.4.tgz", + "integrity": "sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@mermaid-js/parser": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/@mermaid-js/parser/-/parser-1.1.1.tgz", + "integrity": "sha512-VuHdsYMK1bT6X2JbcAaWAhugTRvRBRyuZgd+c22swUeI9g/ntaxF7CY7dYarhZovofCbUNO0G7JesfmNtjYOCw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@chevrotain/types": "~11.1.1" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.4.tgz", + "integrity": "sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.4.tgz", + "integrity": "sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.4.tgz", + "integrity": "sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.4.tgz", + "integrity": "sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.4.tgz", + "integrity": "sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.4.tgz", + "integrity": "sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.4.tgz", + "integrity": "sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.4.tgz", + "integrity": "sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==", + "cpu": [ + "arm" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.4.tgz", + "integrity": "sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.4.tgz", + "integrity": "sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==", + "cpu": [ + "arm64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.4.tgz", + "integrity": "sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.4.tgz", + "integrity": "sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==", + "cpu": [ + "loong64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.4.tgz", + "integrity": "sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.4.tgz", + "integrity": "sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==", + "cpu": [ + "ppc64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.4.tgz", + "integrity": "sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.4.tgz", + "integrity": "sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.4.tgz", + "integrity": "sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.4.tgz", + "integrity": "sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "glibc" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.4.tgz", + "integrity": "sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==", + "cpu": [ + "x64" + ], + "dev": true, + "libc": [ + "musl" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.4.tgz", + "integrity": "sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.4.tgz", + "integrity": "sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.4.tgz", + "integrity": "sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.4.tgz", + "integrity": "sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", + "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", + "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/core/-/core-2.5.0.tgz", + "integrity": "sha512-uu/8RExTKtavlpH7XqnVYBrfBkUc20ngXiX9NSrBhOVZYv/7XQRKUyhtkeflY5QsxC0GbJThCerruZfsUaSldg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.4" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/engine-javascript/-/engine-javascript-2.5.0.tgz", + "integrity": "sha512-VjnOpnQf8WuCEZtNUdjjwGUbtAVKuZkVQ/5cHy/tojVVRIRtlWMYVjyWhxOmIq05AlSOv72z7hRNRGVBgQOl0w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^3.1.0" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/engine-oniguruma/-/engine-oniguruma-2.5.0.tgz", + "integrity": "sha512-pGd1wRATzbo/uatrCIILlAdFVKdxImWJGQ5rFiB5VZi2ve5xj3Ax9jny8QvkaV93btQEwR/rSz5ERFpC5mKNIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/langs/-/langs-2.5.0.tgz", + "integrity": "sha512-Qfrrt5OsNH5R+5tJ/3uYBBZv3SuGmnRPejV9IlIbFH3HTGLDlkqgHymAlzklVmKBjAaVmkPkyikAV/sQ1wSL+w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/themes/-/themes-2.5.0.tgz", + "integrity": "sha512-wGrk+R8tJnO0VMzmUExHR+QdSaPUl/NKs+a4cQQRWyoc3YFbUzuLEi/KWK1hj+8BfHRKm2jNhhJck1dfstJpiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/transformers": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/transformers/-/transformers-2.5.0.tgz", + "integrity": "sha512-SI494W5X60CaUwgi8u4q4m4s3YAFSxln3tzNjOSYqq54wlVgz0/NbbXEb3mdLbqMBztcmS7bVTaEd2w0qMmfeg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/types": "2.5.0" + } + }, + "node_modules/@shikijs/types": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/@shikijs/types/-/types-2.5.0.tgz", + "integrity": "sha512-ygl5yhxki9ZLNuNpPitBWvcy9fsSKKaRuO4BAlMyagszQidxcpLAr0qiW/q43DtSIDxO6hEbtYLiFZNXO/hdGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmmirror.com/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3": { + "version": "7.4.3", + "resolved": "https://registry.npmmirror.com/@types/d3/-/d3-7.4.3.tgz", + "integrity": "sha512-lZXZ9ckh5R8uiFVt8ogUNf+pIrK4EsWrx2Np75WvF/eTpJ0FMHNhjXk8CKEx/+gpHbNQyJWehbFaTvqmHWB3ww==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/d3-axis": "*", + "@types/d3-brush": "*", + "@types/d3-chord": "*", + "@types/d3-color": "*", + "@types/d3-contour": "*", + "@types/d3-delaunay": "*", + "@types/d3-dispatch": "*", + "@types/d3-drag": "*", + "@types/d3-dsv": "*", + "@types/d3-ease": "*", + "@types/d3-fetch": "*", + "@types/d3-force": "*", + "@types/d3-format": "*", + "@types/d3-geo": "*", + "@types/d3-hierarchy": "*", + "@types/d3-interpolate": "*", + "@types/d3-path": "*", + "@types/d3-polygon": "*", + "@types/d3-quadtree": "*", + "@types/d3-random": "*", + "@types/d3-scale": "*", + "@types/d3-scale-chromatic": "*", + "@types/d3-selection": "*", + "@types/d3-shape": "*", + "@types/d3-time": "*", + "@types/d3-time-format": "*", + "@types/d3-timer": "*", + "@types/d3-transition": "*", + "@types/d3-zoom": "*" + } + }, + "node_modules/@types/d3-array": { + "version": "3.2.2", + "resolved": "https://registry.npmmirror.com/@types/d3-array/-/d3-array-3.2.2.tgz", + "integrity": "sha512-hOLWVbm7uRza0BYXpIIW5pxfrKe0W+D5lrFiAEYR+pb6w3N2SwSMaJbXdUfSEv+dT4MfHBLtn5js0LAWaO6otw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-axis": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-axis/-/d3-axis-3.0.6.tgz", + "integrity": "sha512-pYeijfZuBd87T0hGn0FO1vQ/cgLk6E1ALJjfkC0oJ8cbwkZl3TpgS8bVBLZN+2jjGgg38epgxb2zmoGtSfvgMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-brush": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-brush/-/d3-brush-3.0.6.tgz", + "integrity": "sha512-nH60IZNNxEcrh6L1ZSMNA28rj27ut/2ZmI3r96Zd+1jrZD++zD3LsMIjWlvg4AYrHn/Pqz4CF3veCxGjtbqt7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-chord": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-chord/-/d3-chord-3.0.6.tgz", + "integrity": "sha512-LFYWWd8nwfwEmTZG9PfQxd17HbNPksHBiJHaKuY1XeqscXacsS2tyoo6OdRsjf+NQYeB6XrNL3a25E3gH69lcg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmmirror.com/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-contour": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-contour/-/d3-contour-3.0.6.tgz", + "integrity": "sha512-BjzLgXGnCWjUSYGfH1cpdo41/hgdWETu4YxpezoztawmqsvCeep+8QGfiY6YbDvfgHz/DkjeIkkZVJavB4a3rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-array": "*", + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-ZMaSKu4THYCU6sV64Lhg6qjf1orxBthaC161plr5KuPHo3CNm8DTHiLw/5Eq2b6TsNP0W0iJrUOFscY6Q450Hw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-dispatch": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-dispatch/-/d3-dispatch-3.0.7.tgz", + "integrity": "sha512-5o9OIAdKkhN1QItV2oqaE5KMIiXAvDWBDPrD85e58Qlz1c1kI/J0NcqbEG88CoTwJrYe7ntUCVfeUl2UJKbWgA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-drag": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-drag/-/d3-drag-3.0.7.tgz", + "integrity": "sha512-HE3jVKlzU9AaMazNufooRJ5ZpWmLIoc90A37WU2JMmeq28w1FQqCZswHZ3xR+SuxYftzHq6WU6KJHvqxKzTxxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-dsv": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-dsv/-/d3-dsv-3.0.7.tgz", + "integrity": "sha512-n6QBF9/+XASqcKK6waudgL0pf/S5XHPPI8APyMLLUHd8NqouBGLsU8MgtO7NINGtPBtk9Kko/W4ea0oAspwh9g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-fetch": { + "version": "3.0.7", + "resolved": "https://registry.npmmirror.com/@types/d3-fetch/-/d3-fetch-3.0.7.tgz", + "integrity": "sha512-fTAfNmxSb9SOWNB9IoG5c8Hg6R+AzUHDRlsXsDZsNp6sxAEOP0tkP3gKkNSO/qmHPoBFTxNrjDprVHDQDvo5aA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-dsv": "*" + } + }, + "node_modules/@types/d3-force": { + "version": "3.0.10", + "resolved": "https://registry.npmmirror.com/@types/d3-force/-/d3-force-3.0.10.tgz", + "integrity": "sha512-ZYeSaCF3p73RdOKcjj+swRlZfnYpK1EbaDiYICEEp5Q6sUiqFaFQ9qgoshp5CzIyyb/yD09kD9o2zEltCexlgw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-format": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-format/-/d3-format-3.0.4.tgz", + "integrity": "sha512-fALi2aI6shfg7vM5KiR1wNJnZ7r6UuggVqtDA+xiEdPZQwy/trcQaHnwShLuLdta2rTymCNpxYTiMZX/e09F4g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@types/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-856sckF0oP/diXtS4jNsiQw/UuK5fQG8l/a9VVLeSouf1/PPbBE1i1W852zVwKwYCBkFJJB7nCFTbk6UMEXBOQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/geojson": "*" + } + }, + "node_modules/@types/d3-hierarchy": { + "version": "3.1.7", + "resolved": "https://registry.npmmirror.com/@types/d3-hierarchy/-/d3-hierarchy-3.1.7.tgz", + "integrity": "sha512-tJFtNoYBtRtkNysX1Xq4sxtjK8YgoWUNpIiUee0/jHGRwqvzYxkq0hGVbbOGSz+JgFxxRu4K8nb3YpG3CMARtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/@types/d3-path/-/d3-path-3.1.1.tgz", + "integrity": "sha512-VMZBYyQvbGmWyWVea0EHs/BwLgxc+MKi1zLDCONksozI4YJMcTt8ZEuIR4Sb1MMTE8MMW49v0IwI5+b7RmfWlg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-polygon": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/d3-polygon/-/d3-polygon-3.0.2.tgz", + "integrity": "sha512-ZuWOtMaHCkN9xoeEMr1ubW2nGWsp4nIql+OPQRstu4ypeZ+zk3YKqQT0CXVe/PYqrKpZAi+J9mTs05TKwjXSRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-quadtree": { + "version": "3.0.6", + "resolved": "https://registry.npmmirror.com/@types/d3-quadtree/-/d3-quadtree-3.0.6.tgz", + "integrity": "sha512-oUzyO1/Zm6rsxKRHA1vH0NEDG58HrT5icx/azi9MF1TWdtttWl0UIUsjEQBBh+SIkrpd21ZjEv7ptxWys1ncsg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-random": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/d3-random/-/d3-random-3.0.3.tgz", + "integrity": "sha512-Imagg1vJ3y76Y2ea0871wpabqp613+8/r0mCLEBfdtqC7xMSfj9idOnmBYyMoULfHePJyxMAw3nWhJxzc+LFwQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.9", + "resolved": "https://registry.npmmirror.com/@types/d3-scale/-/d3-scale-4.0.9.tgz", + "integrity": "sha512-dLmtwB8zkAeO/juAMfnV+sItKjlsw2lKdZVVy6LRr0cBmegxSABiLEpGVmSJJ8O08i4+sGR6qQtb6WtuwJdvVw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/@types/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-iWMJgwkK7yTRmWqRB5plb1kadXyQ5Sj8V/zYlFGMUBbIPKQScw+Dku9cAAMgJG+z5GYDoMjWGLVOvjghDEFnKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-selection": { + "version": "3.0.11", + "resolved": "https://registry.npmmirror.com/@types/d3-selection/-/d3-selection-3.0.11.tgz", + "integrity": "sha512-bhAXu23DJWsrI45xafYpkQ4NtcKMwWnAC/vKrd2l+nxMFuvOT3XMYTIj2opv8vq8AO5Yh7Qac/nSeP/3zjTK0w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-shape": { + "version": "3.1.8", + "resolved": "https://registry.npmmirror.com/@types/d3-shape/-/d3-shape-3.1.8.tgz", + "integrity": "sha512-lae0iWfcDeR7qt7rA88BNiqdvPS5pFVPpo5OfjElwNaT2yyekbM0C9vK+yqBqEmHr6lDkRnYNoTBYlAgJa7a4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/d3-time/-/d3-time-3.0.4.tgz", + "integrity": "sha512-yuzZug1nkAAaBlBBikKZTgzCeA+k1uy4ZFwWANOfKw5z5LRhV0gNA7gNkKm7HoK+HRN0wX3EkxGk0fpbWhmB7g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-time-format": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/@types/d3-time-format/-/d3-time-format-4.0.3.tgz", + "integrity": "sha512-5xg9rC+wWL8kdDj153qZcsJ0FWiFt0J5RB6LYUNZjwSnesfblqrI/bJ1wBdJ8OQfncgbJG5+2F+qfqnqyzYxyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmmirror.com/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/d3-transition": { + "version": "3.0.9", + "resolved": "https://registry.npmmirror.com/@types/d3-transition/-/d3-transition-3.0.9.tgz", + "integrity": "sha512-uZS5shfxzO3rGlu0cC3bjmMFKsXv+SmZZcgp0KD22ts4uGXp5EVYGzu/0YdwZeKmddhcAccYtREJKkPfXkZuCg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-selection": "*" + } + }, + "node_modules/@types/d3-zoom": { + "version": "3.0.8", + "resolved": "https://registry.npmmirror.com/@types/d3-zoom/-/d3-zoom-3.0.8.tgz", + "integrity": "sha512-iqMC4/YlFCSlO8+2Ii1GGGliCAY4XdeG748w5vQUbevlbDu0zSjH/+jojorQVBK/se0j6DUFNPBGSqD3YWYnDw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/d3-interpolate": "*", + "@types/d3-selection": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/geojson": { + "version": "7946.0.16", + "resolved": "https://registry.npmmirror.com/@types/geojson/-/geojson-7946.0.16.tgz", + "integrity": "sha512-6C8nqWur3j98U6+lXDfTUWIfgvZU+EumvpHKcYjujKH7woYyLj2sUmff0tRhrqM7BohUw7Pz3ZB1jj2gW9Fvmg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmmirror.com/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/linkify-it": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/@types/linkify-it/-/linkify-it-5.0.0.tgz", + "integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/markdown-it": { + "version": "14.1.2", + "resolved": "https://registry.npmmirror.com/@types/markdown-it/-/markdown-it-14.1.2.tgz", + "integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/linkify-it": "^5", + "@types/mdurl": "^2" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/trusted-types": { + "version": "2.0.7", + "resolved": "https://registry.npmmirror.com/@types/trusted-types/-/trusted-types-2.0.7.tgz", + "integrity": "sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.21", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.21.tgz", + "integrity": "sha512-oIQLCGWtcFZy2JW77j9k8nHzAOpqMHLQejDA48XXMWH6tjCQHz5RCFz1bzsmROyL6PUm+LLnUiI4BCn221inxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.3.1", + "resolved": "https://registry.npmmirror.com/@ungap/structured-clone/-/structured-clone-1.3.1.tgz", + "integrity": "sha512-mUFwbeTqrVgDQxFveS+df2yfap6iuP20NAKAsBt5jDEoOTDew+zwLAOilHCeQJOVSvmgCX4ogqIrA0mnyr08yQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@upsetjs/venn.js": { + "version": "2.0.0", + "resolved": "https://registry.npmmirror.com/@upsetjs/venn.js/-/venn.js-2.0.0.tgz", + "integrity": "sha512-WbBhLrooyePuQ1VZxrJjtLvTc4NVfpOyKx0sKqioq9bX1C1m7Jgykkn8gLrtwumBioXIqam8DLxp88Adbue6Hw==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "d3-selection": "^3.0.0", + "d3-transition": "^3.0.1" + } + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.35.tgz", + "integrity": "sha512-BUmHaR1J+O+CKZ9uJucdVTEr1LHsdyvv7vG3eNRhK3CczEHeMd/LtsHAuD7PbrxvI2envCY2v7HI1vC1aBRzKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/shared": "3.5.35", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.35.tgz", + "integrity": "sha512-k+bprkXxuqhVajgTx5mUHuir7TwQzUKOWR40ng1ncAqQRPnrLngGGgqVEEhOnTMlc8btHYVKmrP8s5Qyg0hvYA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.35", + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.35.tgz", + "integrity": "sha512-G5VPMcXTSywXBgtFOZOnHKBxKSrwXUcvY1iaF5/hRcy7t0J6CH/d8ha9F4nzi00Fax1eLV0QHM7v4mQu68jydw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/compiler-core": "3.5.35", + "@vue/compiler-dom": "3.5.35", + "@vue/compiler-ssr": "3.5.35", + "@vue/shared": "3.5.35", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.15", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.35.tgz", + "integrity": "sha512-rGhAeXgdM7/ffTJGXT69rCCdTmjDewnFuUZfBQQHTdcEBeWdT5HCGY60y2ytLJr9/Dsu7IntUi5z/w0h6Rjnzw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.35", + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/devtools-api": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-7.7.9.tgz", + "integrity": "sha512-kIE8wvwlcZ6TJTbNeU2HQNtaxLx3a84aotTITUuL/4bzfPxzajGBOoqjMhwZJ8L9qFYDU/lAYMEEm11dnZOD6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-kit": "^7.7.9" + } + }, + "node_modules/@vue/devtools-kit": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-kit/-/devtools-kit-7.7.9.tgz", + "integrity": "sha512-PyQ6odHSgiDVd4hnTP+aDk2X4gl2HmLDfiyEnn3/oV+ckFDuswRs4IbBT7vacMuGdwY/XemxBoh302ctbsptuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/devtools-shared": "^7.7.9", + "birpc": "^2.3.0", + "hookable": "^5.5.3", + "mitt": "^3.0.1", + "perfect-debounce": "^1.0.0", + "speakingurl": "^14.0.1", + "superjson": "^2.2.2" + } + }, + "node_modules/@vue/devtools-shared": { + "version": "7.7.9", + "resolved": "https://registry.npmmirror.com/@vue/devtools-shared/-/devtools-shared-7.7.9.tgz", + "integrity": "sha512-iWAb0v2WYf0QWmxCGy0seZNDPdO3Sp5+u78ORnyeonS6MT4PC7VPrryX2BpMJrwlDeaZ6BD4vP4XKjK0SZqaeA==", + "dev": true, + "license": "MIT", + "dependencies": { + "rfdc": "^1.4.1" + } + }, + "node_modules/@vue/reactivity": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.35.tgz", + "integrity": "sha512-tVc+SsHConvh/Lz64qq1pP3rYArBmK42xonovEcxY74SQtvctZodG/zhq54P5dr38cVuw25d27cPNRdlMidpGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.35.tgz", + "integrity": "sha512-A/xFNX9loIcWDygeQuNCfKuh0CoYBzxhqEMNah5TSFg9Z53DrFYEN2qi5CU9necjM1OWYegYREUTHmXTmhfXtg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.35", + "@vue/shared": "3.5.35" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.35.tgz", + "integrity": "sha512-odrJ1C391dbGnyDRh8U+rnP7J2amIEzfmRk5vXy7xi3aZhEXofTvpi0T4HJb6jlNqQZTNPR5MPHSB3RHNkIORA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.35", + "@vue/runtime-core": "3.5.35", + "@vue/shared": "3.5.35", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.35.tgz", + "integrity": "sha512-NkebSOYdB97wi8OQcO3HqzZSlymJi/aWsN/7h74OSVhRTm6qGs3Jp3e0rCXynmWwSlKeRrnlIug+ilYoHBmQDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.35", + "@vue/shared": "3.5.35" + }, + "peerDependencies": { + "vue": "3.5.35" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.35.tgz", + "integrity": "sha512-zSbjL7gRXwks2ZQLRGCajBtBXEOXW9Ddhn/HvSdrGkE2dqGnumzW8XtusRrxrE9LvqtiqDXQ+A60Hp6mvdYxfA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-12.8.2.tgz", + "integrity": "sha512-HbvCmZdzAu3VGi/pWYm5Ut+Kd9mn1ZHnn4L5G8kOQTPs/IwIAmJoBrmYk2ckLArgMXZj0AW3n5CAejLUO+PhdQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.21", + "@vueuse/metadata": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/integrations": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/integrations/-/integrations-12.8.2.tgz", + "integrity": "sha512-fbGYivgK5uBTRt7p5F3zy6VrETlV9RtZjBqd1/HxGdjdckBgBM4ugP8LHpjolqTj14TXTxSK1ZfgPbHYyGuH7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vueuse/core": "12.8.2", + "@vueuse/shared": "12.8.2", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + }, + "peerDependencies": { + "async-validator": "^4", + "axios": "^1", + "change-case": "^5", + "drauu": "^0.4", + "focus-trap": "^7", + "fuse.js": "^7", + "idb-keyval": "^6", + "jwt-decode": "^4", + "nprogress": "^0.2", + "qrcode": "^1.5", + "sortablejs": "^1", + "universal-cookie": "^7" + }, + "peerDependenciesMeta": { + "async-validator": { + "optional": true + }, + "axios": { + "optional": true + }, + "change-case": { + "optional": true + }, + "drauu": { + "optional": true + }, + "focus-trap": { + "optional": true + }, + "fuse.js": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "jwt-decode": { + "optional": true + }, + "nprogress": { + "optional": true + }, + "qrcode": { + "optional": true + }, + "sortablejs": { + "optional": true + }, + "universal-cookie": { + "optional": true + } + } + }, + "node_modules/@vueuse/metadata": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-12.8.2.tgz", + "integrity": "sha512-rAyLGEuoBJ/Il5AmFHiziCPdQzRt88VxR+Y/A/QhJ1EWtWqPBBAxTAFaSkviwEuOEZNtW8pvkPgoCZQ+HxqW1A==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "12.8.2", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-12.8.2.tgz", + "integrity": "sha512-dznP38YzxZoNloI0qpEfpkms8knDtaoQ6Y/sfS0L7Yki4zh40LFHEhur0odJC6xTHG5dxWVPiUWBXn+wCG2s5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/algoliasearch": { + "version": "5.53.0", + "resolved": "https://registry.npmmirror.com/algoliasearch/-/algoliasearch-5.53.0.tgz", + "integrity": "sha512-OGW1q6b91CRSSeiOnM8LxuR5NYJ2esvw66jUZ4IIvdv+ItNkx3pwLuyR+jaCdbGee4ov5WgUnyPryyh11xvByQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.19.0", + "@algolia/client-abtesting": "5.53.0", + "@algolia/client-analytics": "5.53.0", + "@algolia/client-common": "5.53.0", + "@algolia/client-insights": "5.53.0", + "@algolia/client-personalization": "5.53.0", + "@algolia/client-query-suggestions": "5.53.0", + "@algolia/client-search": "5.53.0", + "@algolia/ingestion": "1.53.0", + "@algolia/monitoring": "1.53.0", + "@algolia/recommend": "5.53.0", + "@algolia/requester-browser-xhr": "5.53.0", + "@algolia/requester-fetch": "5.53.0", + "@algolia/requester-node-http": "5.53.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/birpc": { + "version": "2.9.0", + "resolved": "https://registry.npmmirror.com/birpc/-/birpc-2.9.0.tgz", + "integrity": "sha512-KrayHS5pBi69Xi9JmvoqrIgYGDkD6mcSe/i6YKi3w5kekCLzrX4+nawcXqrj2tIp50Kw/mT/s3p+GVK0A0sKxw==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/copy-anything": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/copy-anything/-/copy-anything-4.0.5.tgz", + "integrity": "sha512-7Vv6asjS4gMOuILabD3l739tsaxFQmC+a7pLZm02zyvs8p977bL3zEgq3yDk5rn9B0PbYgIv++jmHcuUab4RhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-what": "^5.2.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/cose-base": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-1.0.3.tgz", + "integrity": "sha512-s9whTXInMSgAp/NVXVNuVxVKzGH2qck3aQlVHxDCdAEPgtMKwc4Wq6/QKhgdEdgbLSi9rBTAcPoRa6JpiG4ksg==", + "dev": true, + "license": "MIT", + "dependencies": { + "layout-base": "^1.0.0" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/cytoscape": { + "version": "3.33.4", + "resolved": "https://registry.npmmirror.com/cytoscape/-/cytoscape-3.33.4.tgz", + "integrity": "sha512-HIN5Pmd9MrX9BkV7tDwnOcEJCSFvCpc8X97h3f508J6I5FsqAY65wKOCvgH2CuP42CaahWaz4tuh32SOOIH7ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10" + } + }, + "node_modules/cytoscape-cose-bilkent": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/cytoscape-cose-bilkent/-/cytoscape-cose-bilkent-4.1.0.tgz", + "integrity": "sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cose-base": "^1.0.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/cytoscape-fcose/-/cytoscape-fcose-2.2.0.tgz", + "integrity": "sha512-ki1/VuRIHFCzxWNrsshHYPs6L7TvLu3DL+TyIGEsRcvVERmxokbf5Gdk7mFxZnTdiGtnA4cfSmjZJMviqSuZrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "cose-base": "^2.2.0" + }, + "peerDependencies": { + "cytoscape": "^3.2.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/cose-base": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/cose-base/-/cose-base-2.2.0.tgz", + "integrity": "sha512-AzlgcsCbUMymkADOJtQm3wO9S3ltPfYOFD5033keQn9NJzIbtnZj+UdBJe7DYml/8TdbtHJW3j58SOnKhWY/5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "layout-base": "^2.0.0" + } + }, + "node_modules/cytoscape-fcose/node_modules/layout-base": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-2.0.1.tgz", + "integrity": "sha512-dp3s92+uNI1hWIpPGH3jK2kxE2lMjdXdr+DH8ynZHpd6PUlH6x6cbuXnoMmiNumznqaNO31xu9e79F0uuZ0JFg==", + "dev": true, + "license": "MIT" + }, + "node_modules/d3": { + "version": "7.9.0", + "resolved": "https://registry.npmmirror.com/d3/-/d3-7.9.0.tgz", + "integrity": "sha512-e1U46jVP+w7Iut8Jt8ri1YsPOvFpg46k+K8TpCb0P+zjCkjkPnV7WzfDJzMHy1LnA+wj5pLT1wjO901gLXeEhA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "3", + "d3-axis": "3", + "d3-brush": "3", + "d3-chord": "3", + "d3-color": "3", + "d3-contour": "4", + "d3-delaunay": "6", + "d3-dispatch": "3", + "d3-drag": "3", + "d3-dsv": "3", + "d3-ease": "3", + "d3-fetch": "3", + "d3-force": "3", + "d3-format": "3", + "d3-geo": "3", + "d3-hierarchy": "3", + "d3-interpolate": "3", + "d3-path": "3", + "d3-polygon": "3", + "d3-quadtree": "3", + "d3-random": "3", + "d3-scale": "4", + "d3-scale-chromatic": "3", + "d3-selection": "3", + "d3-shape": "3", + "d3-time": "3", + "d3-time-format": "4", + "d3-timer": "3", + "d3-transition": "3", + "d3-zoom": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dev": true, + "license": "ISC", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-axis": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-axis/-/d3-axis-3.0.0.tgz", + "integrity": "sha512-IH5tgjV4jE/GhHkRV0HiVYPDtvfjHQlQfJHs0usq7M30XcSBvOotpmH1IgkcXsO/5gEQZD43B//fc7SRT5S+xw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-brush": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-brush/-/d3-brush-3.0.0.tgz", + "integrity": "sha512-ALnjWlVYkXsVIGlOsuWH1+3udkYFI48Ljihfnh8FZPF2QS9o+PzGLBslO0PjzVoHLZ2KCVgAM8NVkXPJB2aNnQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "3", + "d3-transition": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-chord": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-chord/-/d3-chord-3.0.1.tgz", + "integrity": "sha512-VE5S6TNa+j8msksl7HwjxMHDM2yNK3XCkusIlpX5kwauBfXuyLAtNg9jCp/iHH61tgI4sb6R/EIMWCqEIdjT/g==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-path": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-contour": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-contour/-/d3-contour-4.0.2.tgz", + "integrity": "sha512-4EzFTRIikzs47RGmdxbeUvLWtGedDUNkTcmzoeyg4sP/dvCexO47AaQL7VKy/gul85TOxw+IBgA8US2xwbToNA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "^3.2.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-delaunay": { + "version": "6.0.4", + "resolved": "https://registry.npmmirror.com/d3-delaunay/-/d3-delaunay-6.0.4.tgz", + "integrity": "sha512-mdjtIZ1XLAM8bm/hx3WwjfHt6Sggek7qH043O8KEjDXN40xi3vx/6pYSVTwLjEgiXQTbvaouWKynLBiUZ6SK6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "delaunator": "5" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-drag": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-drag/-/d3-drag-3.0.0.tgz", + "integrity": "sha512-pWbUJLdETVA8lQNJecMxoXfH6x+mO2UQo8rSmZ+QqxcbyA3hfeprFgIT//HW2nlHChWeIIMwS2Fq+gEARkhTkg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-selection": "3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-fetch": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-fetch/-/d3-fetch-3.0.1.tgz", + "integrity": "sha512-kpkQIM20n3oLVBKGg6oHrUchHM3xODkTzjMoj7aWQFq5QEM+R6E4WkzT5+tojDY7yjez8KgCBRoj4aEr99Fdqw==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dsv": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/d3-format/-/d3-format-3.1.2.tgz", + "integrity": "sha512-AJDdYOdnyRDV5b6ArilzCPPwc1ejkHcoyFarqlPqT7zRYjhavcT3uSrqcMvsgh2CgoPbK3RCwyHaVyxYcP2Arg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/d3-geo/-/d3-geo-3.1.1.tgz", + "integrity": "sha512-637ln3gXKXOwhalDzinUgY83KzNWZRKbYubaG+fGVuc/dxO64RRljtCTnf5ecMyE1RIdtqpkVcq0IbtU2S8j2Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmmirror.com/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-polygon": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-polygon/-/d3-polygon-3.0.1.tgz", + "integrity": "sha512-3vbA7vXYwfe1SYhED++fPUQlWSYTTGmFmQiany/gdbiWgU/iEyQzyymwL9SkJjFFuCS4902BSzewVGsHHmHtXg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-random": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-random/-/d3-random-3.0.1.tgz", + "integrity": "sha512-FXMe9GfxTxqd5D6jFsQ+DJ8BJS4E/fT5mqqdjovykEB2oFbTMDVdg1MGFxfQW+FBOGoB++k8swBrgwSHT1cUXQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-sankey": { + "version": "0.12.3", + "resolved": "https://registry.npmmirror.com/d3-sankey/-/d3-sankey-0.12.3.tgz", + "integrity": "sha512-nQhsBRmM19Ax5xEIPLMY9ZmJ/cDvd1BG3UVvt5h3WRxKg5zGRbvnteTyWAbzeSvlh3tW7ZEmq4VwR5mB3tutmQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "d3-array": "1 - 2", + "d3-shape": "^1.2.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-array": { + "version": "2.12.1", + "resolved": "https://registry.npmmirror.com/d3-array/-/d3-array-2.12.1.tgz", + "integrity": "sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "internmap": "^1.0.0" + } + }, + "node_modules/d3-sankey/node_modules/d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmmirror.com/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/d3-sankey/node_modules/d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "d3-path": "1" + } + }, + "node_modules/d3-sankey/node_modules/internmap": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-1.0.1.tgz", + "integrity": "sha512-lDB5YccMydFBtasVtxnZ3MRBHuaoE8GKsppq+EchKL2U4nK/DmEpPHNH8MZe5HkMtpSiTSOZwfN0tzYjO/lJEw==", + "dev": true, + "license": "ISC" + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmmirror.com/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-scale-chromatic/-/d3-scale-chromatic-3.1.0.tgz", + "integrity": "sha512-A3s5PWiZ9YCXFye1o246KoscMWqf8BsD9eRiJ3He7C9OBaxKhAd5TFCdEx/7VbKtxxTsu//1mMJFrEt572cEyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-selection": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-selection/-/d3-selection-3.0.0.tgz", + "integrity": "sha512-fmTRWbNMmsmWq6xJV8D19U/gw/bwrHfNXxrIN+HfZgnzqTHp9jOmKMhsTUjXOJnZOdZY9Q28y4yebKzqDKlxlQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmmirror.com/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmmirror.com/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmmirror.com/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-transition": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/d3-transition/-/d3-transition-3.0.1.tgz", + "integrity": "sha512-ApKvfjsSR6tg06xrL434C0WydLr7JewBB3V+/39RMHsaXTOG0zmt/OAXeng5M5LBm0ojmxJrpomQVZ1aPvBL4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-color": "1 - 3", + "d3-dispatch": "1 - 3", + "d3-ease": "1 - 3", + "d3-interpolate": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "d3-selection": "2 - 3" + } + }, + "node_modules/d3-zoom": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/d3-zoom/-/d3-zoom-3.0.0.tgz", + "integrity": "sha512-b8AmV3kfQaqWAuacbPuNbL6vahnOJflOhexLzMMNLga62+/nh0JzvJ0aO/5a5MVgUFGS7Hu1P9P03o3fJkDCyw==", + "dev": true, + "license": "ISC", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-drag": "2 - 3", + "d3-interpolate": "1 - 3", + "d3-selection": "2 - 3", + "d3-transition": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/dagre-d3-es": { + "version": "7.0.14", + "resolved": "https://registry.npmmirror.com/dagre-d3-es/-/dagre-d3-es-7.0.14.tgz", + "integrity": "sha512-P4rFMVq9ESWqmOgK+dlXvOtLwYg0i7u0HBGJER0LZDJT2VHIPAMZ/riPxqJceWMStH5+E61QxFra9kIS3AqdMg==", + "dev": true, + "license": "MIT", + "dependencies": { + "d3": "^7.9.0", + "lodash-es": "^4.17.21" + } + }, + "node_modules/dayjs": { + "version": "1.11.21", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.21.tgz", + "integrity": "sha512-98IT+HOahAisibz/yjKbzuOBwYcjJ7BCLPzARyHiyEBmRz4fatF+KPJszEHXsGYjUG234aH/cOjW1wwTbKUZlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/delaunator": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/delaunator/-/delaunator-5.1.0.tgz", + "integrity": "sha512-AGrQ4QSgssa1NGmWmLPqN5NY2KajF5MqxetNEO+o0n3ZwZZeTmt7bBnvzHWrmkZFxGgr4HdyFgelzgi06otLuQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "robust-predicates": "^3.0.2" + } + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dompurify": { + "version": "3.4.7", + "resolved": "https://registry.npmmirror.com/dompurify/-/dompurify-3.4.7.tgz", + "integrity": "sha512-2jBxDJY4RR06tQNy4w5FlFH7kfxsQZlufd0sbv+chfHCxeJwrFw2baUDsSwvBISD4K4RDbd0PTfy3uNXsR6siA==", + "dev": true, + "license": "(MPL-2.0 OR Apache-2.0)", + "optionalDependencies": { + "@types/trusted-types": "^2.0.7" + } + }, + "node_modules/emoji-regex-xs": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/emoji-regex-xs/-/emoji-regex-xs-1.0.0.tgz", + "integrity": "sha512-LRlerrMYoIDrT6jgpeZ2YYl/L8EulRTt5hQcYjy5AInh7HWXKimpqx68aknBFpGL2+/IcogTcaydJEgaTmOpDg==", + "dev": true, + "license": "MIT" + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-toolkit": { + "version": "1.47.0", + "resolved": "https://registry.npmmirror.com/es-toolkit/-/es-toolkit-1.47.0.tgz", + "integrity": "sha512-n1GuoD0WEQZMBk5tttoZSqwgyLx01oqa5XsBmCHwPyNe1S9jPBEmtR2pSgp2kJuWE3ciFZ6yRHmY4pM4C3OOkw==", + "dev": true, + "license": "MIT", + "workspaces": [ + "docs", + "benchmarks" + ] + }, + "node_modules/esbuild": { + "version": "0.21.5", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.21.5.tgz", + "integrity": "sha512-mg3OPMV4hXywwpoDxu3Qda5xCKQi+vCTZq8S9J/EpkhB2HzKXq4SNFZE3+NK93JYxc8VMSep+lOUSC/RVKaBqw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.21.5", + "@esbuild/android-arm": "0.21.5", + "@esbuild/android-arm64": "0.21.5", + "@esbuild/android-x64": "0.21.5", + "@esbuild/darwin-arm64": "0.21.5", + "@esbuild/darwin-x64": "0.21.5", + "@esbuild/freebsd-arm64": "0.21.5", + "@esbuild/freebsd-x64": "0.21.5", + "@esbuild/linux-arm": "0.21.5", + "@esbuild/linux-arm64": "0.21.5", + "@esbuild/linux-ia32": "0.21.5", + "@esbuild/linux-loong64": "0.21.5", + "@esbuild/linux-mips64el": "0.21.5", + "@esbuild/linux-ppc64": "0.21.5", + "@esbuild/linux-riscv64": "0.21.5", + "@esbuild/linux-s390x": "0.21.5", + "@esbuild/linux-x64": "0.21.5", + "@esbuild/netbsd-x64": "0.21.5", + "@esbuild/openbsd-x64": "0.21.5", + "@esbuild/sunos-x64": "0.21.5", + "@esbuild/win32-arm64": "0.21.5", + "@esbuild/win32-ia32": "0.21.5", + "@esbuild/win32-x64": "0.21.5" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "dev": true, + "license": "MIT" + }, + "node_modules/focus-trap": { + "version": "7.8.0", + "resolved": "https://registry.npmmirror.com/focus-trap/-/focus-trap-7.8.0.tgz", + "integrity": "sha512-/yNdlIkpWbM0ptxno3ONTuf+2g318kh2ez3KSeZN5dZ8YC6AAmgeWz+GasYYiBJPFaYcSAPeu4GfhUaChzIJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "tabbable": "^6.4.0" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/hachure-fill": { + "version": "0.5.2", + "resolved": "https://registry.npmmirror.com/hachure-fill/-/hachure-fill-0.5.2.tgz", + "integrity": "sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==", + "dev": true, + "license": "MIT" + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmmirror.com/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hookable": { + "version": "5.5.3", + "resolved": "https://registry.npmmirror.com/hookable/-/hookable-5.5.3.tgz", + "integrity": "sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmmirror.com/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/is-what": { + "version": "5.5.0", + "resolved": "https://registry.npmmirror.com/is-what/-/is-what-5.5.0.tgz", + "integrity": "sha512-oG7cgbmg5kLYae2N5IVd3jm2s+vldjxJzK1pcu9LfpGuQ93MQSzo0okvRna+7y5ifrD+20FE8FvjusyGaz14fw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" + } + }, + "node_modules/katex": { + "version": "0.16.47", + "resolved": "https://registry.npmmirror.com/katex/-/katex-0.16.47.tgz", + "integrity": "sha512-Eeo8Ys1doU1z+x8AZsPpQu+p/QcZBI5PeOo7QGQdy2x2m0MU/hYagBbGOmXwr5KVbEfVuWv9LpnQWeehogurjg==", + "dev": true, + "funding": [ + "https://opencollective.com/katex", + "https://github.com/sponsors/katex" + ], + "license": "MIT", + "dependencies": { + "commander": "^8.3.0" + }, + "bin": { + "katex": "cli.js" + } + }, + "node_modules/katex/node_modules/commander": { + "version": "8.3.0", + "resolved": "https://registry.npmmirror.com/commander/-/commander-8.3.0.tgz", + "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/khroma": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/khroma/-/khroma-2.1.0.tgz", + "integrity": "sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==", + "dev": true + }, + "node_modules/layout-base": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/layout-base/-/layout-base-1.0.2.tgz", + "integrity": "sha512-8h2oVEZNktL4BH2JCOI90iD1yXwL6iNW7KcCKT2QZgQJR2vbqDsldCTPRU9NifTCqHZci57XvQQ15YTu+sTYPg==", + "dev": true, + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", + "dev": true, + "license": "MIT" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/mark.js": { + "version": "8.11.1", + "resolved": "https://registry.npmmirror.com/mark.js/-/mark.js-8.11.1.tgz", + "integrity": "sha512-1I+1qpDt4idfgLQG+BNWmrqku+7/2bi5nLf4YwF8y8zXvmfiTBY3PV3ZibfrjBueCByROpuBjLLFCajqkgYoLQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/marked": { + "version": "17.0.6", + "resolved": "https://registry.npmmirror.com/marked/-/marked-17.0.6.tgz", + "integrity": "sha512-gB0gkNafnonOw0obSTEGZTT86IuhILt2Wfx0mWH/1Au83kybTayroZ/V6nS25mN7u8ASy+5fMhgB3XPNrOZdmA==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mermaid": { + "version": "11.15.0", + "resolved": "https://registry.npmmirror.com/mermaid/-/mermaid-11.15.0.tgz", + "integrity": "sha512-pTMbcf3rWdtLiYGpmoTjHEpeY8seiy6sR+9nD7LOs8KfUbHE4lOUAprTRqRAcWSQ6MQpdX+YEsxShtGsINtPtw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@braintree/sanitize-url": "^7.1.1", + "@iconify/utils": "^3.0.2", + "@mermaid-js/parser": "^1.1.1", + "@types/d3": "^7.4.3", + "@upsetjs/venn.js": "^2.0.0", + "cytoscape": "^3.33.1", + "cytoscape-cose-bilkent": "^4.1.0", + "cytoscape-fcose": "^2.2.0", + "d3": "^7.9.0", + "d3-sankey": "^0.12.3", + "dagre-d3-es": "7.0.14", + "dayjs": "^1.11.19", + "dompurify": "^3.3.1", + "es-toolkit": "^1.45.1", + "katex": "^0.16.25", + "khroma": "^2.1.0", + "marked": "^16.3.0", + "roughjs": "^4.6.6", + "stylis": "^4.3.6", + "ts-dedent": "^2.2.0", + "uuid": "^11.1.0 || ^12 || ^13 || ^14.0.0" + } + }, + "node_modules/mermaid/node_modules/marked": { + "version": "16.4.2", + "resolved": "https://registry.npmmirror.com/marked/-/marked-16.4.2.tgz", + "integrity": "sha512-TI3V8YYWvkVf3KJe1dRkpnjs68JUPyEa5vjKrp1XEEJUAOaQc+Qj+L1qWbPd0SJuAdQkFU0h73sXXqwDYxsiDA==", + "dev": true, + "license": "MIT", + "bin": { + "marked": "bin/marked.js" + }, + "engines": { + "node": ">= 20" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmmirror.com/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmmirror.com/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/micromark-util-types/-/micromark-util-types-2.0.2.tgz", + "integrity": "sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==", + "dev": true, + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/minisearch": { + "version": "7.2.0", + "resolved": "https://registry.npmmirror.com/minisearch/-/minisearch-7.2.0.tgz", + "integrity": "sha512-dqT2XBYUOZOiC5t2HRnwADjhNS2cecp9u+TJRiJ1Qp/f5qjkeT5APcGPjHw+bz89Ms8Jp+cG4AlE+QZ/QnDglg==", + "dev": true, + "license": "MIT" + }, + "node_modules/mitt": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/mitt/-/mitt-3.0.1.tgz", + "integrity": "sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/non-layered-tidy-tree-layout": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/non-layered-tidy-tree-layout/-/non-layered-tidy-tree-layout-2.0.2.tgz", + "integrity": "sha512-gkXMxRzUH+PB0ax9dUN0yYF0S25BqeAYqhgMaLUFmpXLEk7Fcu8f4emJuOAY0V8kjDICxROIKsTAKsV/v355xw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/oniguruma-to-es": { + "version": "3.1.1", + "resolved": "https://registry.npmmirror.com/oniguruma-to-es/-/oniguruma-to-es-3.1.1.tgz", + "integrity": "sha512-bUH8SDvPkH3ho3dvwJwfonjlQ4R80vjyvrU8YpxuROddv55vAEJrTuCuCVUhhsHbtlD9tGGbaNApGQckXhS8iQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex-xs": "^1.0.0", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmmirror.com/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-data-parser": { + "version": "0.1.0", + "resolved": "https://registry.npmmirror.com/path-data-parser/-/path-data-parser-0.1.0.tgz", + "integrity": "sha512-NOnmBpt5Y2RWbuv0LMzsayp3lVylAHLPUTut412ZA3l+C4uw4ZVkQbjShYCQ8TCpUMdPapr4YjUqLYD6v68j+w==", + "dev": true, + "license": "MIT" + }, + "node_modules/perfect-debounce": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/perfect-debounce/-/perfect-debounce-1.0.0.tgz", + "integrity": "sha512-xCy9V055GLEqoFaHoC1SoLIaLmWctgCUaBaWxDZ7/Zx4CTyX7cJQLJOok/orfjZAh9kEYpjJa4d0KcJmCbctZA==", + "dev": true, + "license": "MIT" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/points-on-curve": { + "version": "0.2.0", + "resolved": "https://registry.npmmirror.com/points-on-curve/-/points-on-curve-0.2.0.tgz", + "integrity": "sha512-0mYKnYYe9ZcqMCWhUjItv/oHjvgEsfKvnUTg8sAtnHr3GVy7rGkXCb6d5cSyqrWqL4k81b9CPg3urd+T7aop3A==", + "dev": true, + "license": "MIT" + }, + "node_modules/points-on-path": { + "version": "0.2.1", + "resolved": "https://registry.npmmirror.com/points-on-path/-/points-on-path-0.2.1.tgz", + "integrity": "sha512-25ClnWWuw7JbWZcgqY/gJ4FQWadKxGWk+3kR/7kD0tCaDtPPMj7oHu2ToLaVhfpnHrZzYby2w6tUA0eOIuUg8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-data-parser": "0.1.0", + "points-on-curve": "0.2.0" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/preact": { + "version": "10.29.2", + "resolved": "https://registry.npmmirror.com/preact/-/preact-10.29.2.tgz", + "integrity": "sha512-7tNmwg/7mzzAoB/8kSg6Hl37JraAZw3Z3A0JSY7VXlZwo82Xn0G7wKbNNs2qoF4ZEEsQGTwDAroNdqKs1ofJxQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/preact" + } + }, + "node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmmirror.com/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmmirror.com/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "dev": true, + "license": "MIT" + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmmirror.com/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "dev": true, + "license": "MIT" + }, + "node_modules/robust-predicates": { + "version": "3.0.3", + "resolved": "https://registry.npmmirror.com/robust-predicates/-/robust-predicates-3.0.3.tgz", + "integrity": "sha512-NS3levdsRIUOmiJ8FZWCP7LG3QpJyrs/TE0Zpf1yvZu8cAJJ6QMW92H1c7kWpdIHo8RvmLxN/o2JXTKHp74lUA==", + "dev": true, + "license": "Unlicense" + }, + "node_modules/rollup": { + "version": "4.60.4", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/roughjs": { + "version": "4.6.6", + "resolved": "https://registry.npmmirror.com/roughjs/-/roughjs-4.6.6.tgz", + "integrity": "sha512-ZUz/69+SYpFN/g/lUlo2FXcIjRkSu3nDarreVdGGndHEBJ6cXPdKguS8JGxwj5HA5xIbVKSmLgr5b3AWxtRfvQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "hachure-fill": "^0.5.2", + "path-data-parser": "^0.1.0", + "points-on-curve": "^0.2.0", + "points-on-path": "^0.2.1" + } + }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmmirror.com/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/search-insights": { + "version": "2.17.3", + "resolved": "https://registry.npmmirror.com/search-insights/-/search-insights-2.17.3.tgz", + "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/shiki": { + "version": "2.5.0", + "resolved": "https://registry.npmmirror.com/shiki/-/shiki-2.5.0.tgz", + "integrity": "sha512-mI//trrsaiCIPsja5CNfsyNOqgAZUb6VpJA+340toL42UpzQlXpwRV9nch69X6gaUxrr9kaOOa6e3y3uAkGFxQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@shikijs/core": "2.5.0", + "@shikijs/engine-javascript": "2.5.0", + "@shikijs/engine-oniguruma": "2.5.0", + "@shikijs/langs": "2.5.0", + "@shikijs/themes": "2.5.0", + "@shikijs/types": "2.5.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/speakingurl": { + "version": "14.0.1", + "resolved": "https://registry.npmmirror.com/speakingurl/-/speakingurl-14.0.1.tgz", + "integrity": "sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "dev": true, + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stylis": { + "version": "4.4.0", + "resolved": "https://registry.npmmirror.com/stylis/-/stylis-4.4.0.tgz", + "integrity": "sha512-5Z9ZpRzfuH6l/UAvCPAPUo3665Nk2wLaZU3x+TLHKVzIz33+sbJqbtrYoC3KD4/uVOr2Zp+L0LySezP9OHV9yA==", + "dev": true, + "license": "MIT" + }, + "node_modules/superjson": { + "version": "2.2.6", + "resolved": "https://registry.npmmirror.com/superjson/-/superjson-2.2.6.tgz", + "integrity": "sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA==", + "dev": true, + "license": "MIT", + "dependencies": { + "copy-anything": "^4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/tabbable": { + "version": "6.4.0", + "resolved": "https://registry.npmmirror.com/tabbable/-/tabbable-6.4.0.tgz", + "integrity": "sha512-05PUHKSNE8ou2dwIxTngl4EzcnsCDZGJ/iCLtDflR/SHB/ny14rXc+qU5P4mG9JkusiV7EivzY9Mhm55AzAvCg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.2.3", + "resolved": "https://registry.npmmirror.com/tinyexec/-/tinyexec-1.2.3.tgz", + "integrity": "sha512-g62dB+w1/OEFnPvmX0yd/HnetYITOL+1nJW7kitOycOeAvmbWC/nu0fwmmQ/kupNojqExzyC/T++pST/jRJ2mQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmmirror.com/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/ts-dedent": { + "version": "2.2.0", + "resolved": "https://registry.npmmirror.com/ts-dedent/-/ts-dedent-2.2.0.tgz", + "integrity": "sha512-q5W7tVM71e2xjHZTlgfTDoPF/SmqKG5hddq9SzR49CH2hayqRKJtQ4mtRlSxKaJlR/+9rEM+mnBHf7I2/BQcpQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.10" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.1", + "resolved": "https://registry.npmmirror.com/unist-util-is/-/unist-util-is-6.0.1.tgz", + "integrity": "sha512-LsiILbtBETkDz8I9p1dQ0uyRUWuaQzd/cuEeS1hoRSyW5E5XGmTzlwY1OrNzzakGowI9Dr/I8HVaw4hTtnxy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmmirror.com/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.1.0", + "resolved": "https://registry.npmmirror.com/unist-util-visit/-/unist-util-visit-5.1.0.tgz", + "integrity": "sha512-m+vIdyeCOpdr/QeQCu2EzxX/ohgS8KbnPDgFni4dQsfSCtpz8UqDyY5GjRru8PDKuYn7Fq19j1CQ+nJSsGKOzg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmmirror.com/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/uuid": { + "version": "14.0.0", + "resolved": "https://registry.npmmirror.com/uuid/-/uuid-14.0.0.tgz", + "integrity": "sha512-Qo+uWgilfSmAhXCMav1uYFynlQO7fMFiMVZsQqZRMIXp0O7rR7qjkj+cPvBHLgBqi960QCoo/PH2/6ZtVqKvrg==", + "dev": true, + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "license": "MIT", + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmmirror.com/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.3", + "resolved": "https://registry.npmmirror.com/vfile-message/-/vfile-message-4.0.3.tgz", + "integrity": "sha512-QTHzsGd1EhbZs4AsQ20JX1rC3cOlt/IWJruk893DfLRr57lcnOeMaWG4K0JrRta4mIJZKth2Au3mM3u03/JWKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "5.4.21", + "resolved": "https://registry.npmmirror.com/vite/-/vite-5.4.21.tgz", + "integrity": "sha512-o5a9xKjbtuhY6Bi5S3+HvbRERmouabWbyUcpXXUA1u+GNUKoROi9byOJ8M0nHbHYHkYICiMlqxkg1KkYmm25Sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.21.3", + "postcss": "^8.4.43", + "rollup": "^4.20.0" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || >=20.0.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + } + } + }, + "node_modules/vitepress": { + "version": "1.6.4", + "resolved": "https://registry.npmmirror.com/vitepress/-/vitepress-1.6.4.tgz", + "integrity": "sha512-+2ym1/+0VVrbhNyRoFFesVvBvHAVMZMK0rw60E3X/5349M1GuVdKeazuksqopEdvkKwKGs21Q729jX81/bkBJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@docsearch/css": "3.8.2", + "@docsearch/js": "3.8.2", + "@iconify-json/simple-icons": "^1.2.21", + "@shikijs/core": "^2.1.0", + "@shikijs/transformers": "^2.1.0", + "@shikijs/types": "^2.1.0", + "@types/markdown-it": "^14.1.2", + "@vitejs/plugin-vue": "^5.2.1", + "@vue/devtools-api": "^7.7.0", + "@vue/shared": "^3.5.13", + "@vueuse/core": "^12.4.0", + "@vueuse/integrations": "^12.4.0", + "focus-trap": "^7.6.4", + "mark.js": "8.11.1", + "minisearch": "^7.1.1", + "shiki": "^2.1.0", + "vite": "^5.4.14", + "vue": "^3.5.13" + }, + "bin": { + "vitepress": "bin/vitepress.js" + }, + "peerDependencies": { + "markdown-it-mathjax3": "^4", + "postcss": "^8" + }, + "peerDependenciesMeta": { + "markdown-it-mathjax3": { + "optional": true + }, + "postcss": { + "optional": true + } + } + }, + "node_modules/vitepress-plugin-mermaid": { + "version": "2.0.17", + "resolved": "https://registry.npmmirror.com/vitepress-plugin-mermaid/-/vitepress-plugin-mermaid-2.0.17.tgz", + "integrity": "sha512-IUzYpwf61GC6k0XzfmAmNrLvMi9TRrVRMsUyCA8KNXhg/mQ1VqWnO0/tBVPiX5UoKF1mDUwqn5QV4qAJl6JnUg==", + "dev": true, + "license": "MIT", + "optionalDependencies": { + "@mermaid-js/mermaid-mindmap": "^9.3.0" + }, + "peerDependencies": { + "mermaid": "10 || 11", + "vitepress": "^1.0.0 || ^1.0.0-alpha" + } + }, + "node_modules/vue": { + "version": "3.5.35", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.35.tgz", + "integrity": "sha512-cx89fnr+0kVGHiNFG6y6s0bdjypJRFNZn6x3WPstNdQR1bi1mbB7h4v5IBGTsPJU3nK1+0Iqj3Zf+hZWMieR4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.35", + "@vue/compiler-sfc": "3.5.35", + "@vue/runtime-dom": "3.5.35", + "@vue/server-renderer": "3.5.35", + "@vue/shared": "3.5.35" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmmirror.com/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "dev": true, + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..f8201d4 --- /dev/null +++ b/package.json @@ -0,0 +1,19 @@ +{ + "name": "clickmouse_docs", + "version": "1.2.0", + "type": "module", + "description": "Clickmouse documentation built in vitepress", + "scripts": { + "dev": "vitepress dev documents", + "build": "vitepress build documents", + "preview": "vitepress preview documents" + }, + "author": "xystudio", + "license": "MIT", + "devDependencies": { + "marked": "^17.0.4", + "vitepress": "^1.0.0-rc.32", + "vitepress-plugin-mermaid": "^2.0.17", + "mermaid": "^11.14.0" + } +} diff --git a/requirements.txt b/requirements.txt index eac476e..011efec 100644 --- a/requirements.txt +++ b/requirements.txt @@ -12,4 +12,5 @@ clickMouse_api pytz>=2014 nuitka>=2.8 psutil>=1 -pytest>=5 \ No newline at end of file +pytest>=5 +uiml >=0.1 \ No newline at end of file