From 610cc1ac639718d107eb026616fc9d06bac50bb4 Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 22:12:24 +0800 Subject: [PATCH 01/11] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96=E5=BC=80?= =?UTF-8?q?=E5=8F=91=E7=8E=AF=E5=A2=83=E9=85=8D=E7=BD=AE=EF=BC=88.gitignor?= =?UTF-8?q?e=E3=80=81.cnb.yml=E3=80=81.dockerignore=20=E7=AD=89=EF=BC=89?= =?UTF-8?q?=E5=8F=8A=E9=9B=86=E6=88=90=E8=BF=9C=E7=A8=8B=E5=BC=80=E5=8F=91?= =?UTF-8?q?=E5=B7=A5=E5=85=B7=E9=93=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cnb.yml | 47 +++++++++++++++++++++ .dockerignore | 90 +++++++++++++++++++++++++++++++++++++++++ .gitignore | 76 ++++++++++++++++++++++++++++++++++ .ide/Dockerfile | 51 +++++++++++++++++++++++ .ide/argv.json | 3 ++ .ide/languagepacks.json | 1 + 6 files changed, 268 insertions(+) create mode 100644 .cnb.yml create mode 100644 .dockerignore create mode 100644 .ide/Dockerfile create mode 100644 .ide/argv.json create mode 100644 .ide/languagepacks.json diff --git a/.cnb.yml b/.cnb.yml new file mode 100644 index 0000000..8c38d47 --- /dev/null +++ b/.cnb.yml @@ -0,0 +1,47 @@ +$: +# 网页远程开发 + vscode: + - services: + - docker + - vscode + runner: + cpus: 1 + docker: + build: .ide/Dockerfile + env: + CNB_WELCOME_CMD: fastfetch + stages: + - name: update dependencies + script: fastfetch + +# VS code打开 + api_trigger_cnb_dev_plugin: + - services: + - docker + - vscode + docker: + build: .ide/Dockerfile + env: + CNB_WELCOME_CMD: fastfetch + stages: + - name: update dependencies + script: fastfetch + + push: + - runner: + cpus: 1 + imports: https://cnb.cool/BlueScreen-Studio/Tech/secrets/-/blob/sdcom/github.yml + stages: + - name: Remove unwanted files + script: rm -rf .ide/ && rm .cnb.yml + - name: Sync to github + image: tencentcom/git-sync + settings: + target_url: https://github.com/SDCOM-0415/Image-to-Braille.git + auth_type: https + username: ${GIT_USERNAME} + password: ${GIT_ACCESS_TOKEN} + git_user: ${GIT_USERNAME} + git_email: ${GIT_EMAIL} + force: true + branch: master \ No newline at end of file diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..c7b9f58 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,90 @@ +# Git +.git +.gitignore +.gitattributes + +# Documentation +README.md +README.txt +CHANGELOG.md +LICENSE +*.md + +# Development files +.vscode/ +.idea/ +*.swp +*.swo +*~ + +# OS generated files +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# Node.js (if using build tools) +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +.npm +.yarn-integrity + +# Build tools and dependencies +package-lock.json +yarn.lock +gulpfile.js +webpack.config.js +.babelrc +.eslintrc* +.prettierrc* + +# Logs +logs/ +*.log + +# Temporary files +tmp/ +temp/ +*.tmp + +# Docker +Dockerfile* +docker-compose*.yml +.dockerignore + +# CI/CD +.github/ +.gitlab-ci.yml +.travis.yml +.circleci/ + +# Environment files +.env +.env.local +.env.development +.env.test +.env.production + +# IDE files +*.sublime-project +*.sublime-workspace + +# Backup files +*.backup +*.bak +*.old + +# Testing +test/ +tests/ +spec/ +__tests__/ +coverage/ + +# Source maps (if you don't want them in production) +*.map \ No newline at end of file diff --git a/.gitignore b/.gitignore index 314f02b..4333227 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,77 @@ +# 操作系统生成的文件 +.DS_Store +.DS_Store? +._* +.Spotlight-V100 +.Trashes +ehthumbs.db +Thumbs.db + +# 编辑器和IDE文件 +.vscode/ +.idea/ +*.swp +*.swo +*~ +.project +.settings/ +.classpath + +# 临时文件 +*.tmp +*.temp +*.log +*.cache + +# 依赖管理 +node_modules/ +npm-debug.log* +yarn-debug.log* +yarn-error.log* +package-lock.json +yarn.lock + +# 构建输出 +dist/ +build/ +out/ + +# 环境配置文件 +.env +.env.local +.env.development.local +.env.test.local +.env.production.local + +# 备份文件 +*.bak +*.backup +*.old + +# 特定于HTML项目的文件 +# 如果使用预处理器 +.sass-cache/ +*.css.map +*.scss.map + +# 如果使用任务运行器 +.grunt/ +.gulp/ + +# 如果使用Webpack +webpack-stats.json + +# 服务文件 +.htaccess +web.config + +# 测试覆盖率报告 +coverage/ +.coverage +.nyc_output + +# 其他 +*.pid +*.seed +*.pid.lock *.txt \ No newline at end of file diff --git a/.ide/Dockerfile b/.ide/Dockerfile new file mode 100644 index 0000000..50f72d7 --- /dev/null +++ b/.ide/Dockerfile @@ -0,0 +1,51 @@ +#帮助文档地址: https://docs.cnb.cool/zh/vscode/quick-start.html +FROM cnbcool/default-dev-env:latest + +# 腾讯云软件源使用示例: https://cnb.cool/examples/mirrors/mirrors.cloud.tencent.com + +# 以及按需安装其他软件 +RUN apt-get update && apt-get install -y git sudo vim curl git-lfs + +# 安装 code-server 和 vscode 常用插件 +RUN curl -fsSL https://code-server.dev/install.sh | sh -s -- --version 4.100.3 \ + && code-server --install-extension cnbcool.cnb-welcome \ + && code-server --install-extension redhat.vscode-yaml \ + && code-server --install-extension detachhead.basedpyright \ + && code-server --install-extension tamasfe.even-better-toml \ + && code-server --install-extension ygqygq2.turbo-file-header \ + && code-server --install-extension tencent-cloud.coding-copilot \ + && code-server --install-extension eamodio.gitlens \ + && code-server --install-extension cloudstudio.live-server \ + && code-server --install-extension mhutchie.git-graph \ + && code-server --install-extension waderyan.gitblame \ + && code-server --install-extension donjayamanne.githistory \ + && code-server --install-extension yandeu.five-server \ + && code-server --install-extension ms-ceintl.vscode-language-pack-zh-hans \ + && wget https://cnb.cool/SDCOM/moren/html/-/git/raw/main/.ide/argv.json -O /root/.local/share/code-server/User/argv.json \ + && wget https://cnb.cool/SDCOM/moren/html/-/git/raw/main/.ide/languagepacks.json -O /root/.local/share/code-server/languagepacks.json \ + && echo done + +# 安装 ssh 服务,用于支持 VSCode 客户端通过 Remote-SSH 访问开发环境 +RUN apt-get update && apt-get install -y wget unzip openssh-server + +# 安装 docker-compose +RUN curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-linux-x86_64" -o /usr/local/bin/docker-compose \ + && chmod +x /usr/local/bin/docker-compose \ + && docker-compose --version \ + && echo done + +# 安装 fastfetch +RUN wget https://github.com/fastfetch-cli/fastfetch/releases/latest/download/fastfetch-linux-amd64.deb \ + && dpkg -i fastfetch-linux-amd64.deb \ + && rm fastfetch-linux-amd64.deb \ + && echo done + +# 指定工作目录 +WORKDIR /workspace + +# 指定容器启动时默认执行的命令 +CMD ["code-server", "--bind-addr", "0.0.0.0:8080", "--auth", "none"] + +# 指定字符集支持命令行输入中文(根据需要选择字符集) +ENV LANG C.UTF-8 +ENV LANGUAGE C.UTF-8 \ No newline at end of file diff --git a/.ide/argv.json b/.ide/argv.json new file mode 100644 index 0000000..2163cac --- /dev/null +++ b/.ide/argv.json @@ -0,0 +1,3 @@ +{ + "locale": "zh-cn" +} \ No newline at end of file diff --git a/.ide/languagepacks.json b/.ide/languagepacks.json new file mode 100644 index 0000000..76bc7b3 --- /dev/null +++ b/.ide/languagepacks.json @@ -0,0 +1 @@ +{"zh-cn":{"hash":"6fe284ae87274d9cb2cdffc89b193492","extensions":[{"extensionIdentifier":{"id":"ms-ceintl.vscode-language-pack-zh-hans","uuid":"e4ee7751-6514-4731-9cdb-7580ffa9e70b"},"version":"1.100.0"}],"translations":{"vscode":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/main.i18n.json","ms-vscode.js-debug":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/ms-vscode.js-debug.i18n.json","vscode.bat":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.bat.i18n.json","vscode.builtin-notebook-renderers":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.builtin-notebook-renderers.i18n.json","vscode.clojure":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.clojure.i18n.json","vscode.coffeescript":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.coffeescript.i18n.json","vscode.configuration-editing":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.configuration-editing.i18n.json","vscode.cpp":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.cpp.i18n.json","vscode.csharp":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.csharp.i18n.json","vscode.css-language-features":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.css-language-features.i18n.json","vscode.css":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.css.i18n.json","vscode.dart":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.dart.i18n.json","vscode.debug-auto-launch":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.debug-auto-launch.i18n.json","vscode.debug-server-ready":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.debug-server-ready.i18n.json","vscode.diff":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.diff.i18n.json","vscode.docker":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.docker.i18n.json","vscode.emmet":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.emmet.i18n.json","vscode.extension-editing":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.extension-editing.i18n.json","vscode.fsharp":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.fsharp.i18n.json","vscode.git-base":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.git-base.i18n.json","vscode.git":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.git.i18n.json","vscode.github-authentication":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.github-authentication.i18n.json","vscode.github":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.github.i18n.json","vscode.go":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.go.i18n.json","vscode.groovy":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.groovy.i18n.json","vscode.grunt":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.grunt.i18n.json","vscode.gulp":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.gulp.i18n.json","vscode.handlebars":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.handlebars.i18n.json","vscode.hlsl":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.hlsl.i18n.json","vscode.html-language-features":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.html-language-features.i18n.json","vscode.html":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.html.i18n.json","vscode.ini":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.ini.i18n.json","vscode.ipynb":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.ipynb.i18n.json","vscode.jake":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.jake.i18n.json","vscode.java":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.java.i18n.json","vscode.javascript":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.javascript.i18n.json","vscode.json-language-features":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.json-language-features.i18n.json","vscode.json":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.json.i18n.json","vscode.julia":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.julia.i18n.json","vscode.latex":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.latex.i18n.json","vscode.less":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.less.i18n.json","vscode.log":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.log.i18n.json","vscode.lua":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.lua.i18n.json","vscode.make":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.make.i18n.json","vscode.markdown-language-features":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.markdown-language-features.i18n.json","vscode.markdown-math":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.markdown-math.i18n.json","vscode.markdown":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.markdown.i18n.json","vscode.media-preview":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.media-preview.i18n.json","vscode.merge-conflict":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.merge-conflict.i18n.json","vscode.microsoft-authentication":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.microsoft-authentication.i18n.json","vscode.npm":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.npm.i18n.json","vscode.objective-c":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.objective-c.i18n.json","vscode.perl":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.perl.i18n.json","vscode.php-language-features":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.php-language-features.i18n.json","vscode.php":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.php.i18n.json","vscode.powershell":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.powershell.i18n.json","vscode.pug":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.pug.i18n.json","vscode.python":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.python.i18n.json","vscode.r":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.r.i18n.json","vscode.razor":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.razor.i18n.json","vscode.references-view":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.references-view.i18n.json","vscode.restructuredtext":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.restructuredtext.i18n.json","vscode.ruby":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.ruby.i18n.json","vscode.rust":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.rust.i18n.json","vscode.scss":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.scss.i18n.json","vscode.search-result":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.search-result.i18n.json","vscode.shaderlab":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.shaderlab.i18n.json","vscode.shellscript":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.shellscript.i18n.json","vscode.simple-browser":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.simple-browser.i18n.json","vscode.sql":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.sql.i18n.json","vscode.swift":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.swift.i18n.json","vscode.terminal-suggest":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.terminal-suggest.i18n.json","vscode.theme-abyss":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-abyss.i18n.json","vscode.theme-defaults":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-defaults.i18n.json","vscode.theme-kimbie-dark":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-kimbie-dark.i18n.json","vscode.theme-monokai-dimmed":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-monokai-dimmed.i18n.json","vscode.theme-monokai":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-monokai.i18n.json","vscode.theme-quietlight":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-quietlight.i18n.json","vscode.theme-red":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-red.i18n.json","vscode.theme-solarized-dark":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-solarized-dark.i18n.json","vscode.theme-solarized-light":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-solarized-light.i18n.json","vscode.theme-tomorrow-night-blue":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.theme-tomorrow-night-blue.i18n.json","vscode.tunnel-forwarding":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.tunnel-forwarding.i18n.json","vscode.typescript-language-features":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.typescript-language-features.i18n.json","vscode.typescript":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.typescript.i18n.json","vscode.vb":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.vb.i18n.json","vscode.vscode-theme-seti":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.vscode-theme-seti.i18n.json","vscode.xml":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.xml.i18n.json","vscode.yaml":"/root/.local/share/code-server/extensions/ms-ceintl.vscode-language-pack-zh-hans-1.100.0-universal/translations/extensions/vscode.yaml.i18n.json"},"label":"中文(简体)"}} \ No newline at end of file From 7b86d8786869a2af9c559f4e650705dceb6879d1 Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 22:31:15 +0800 Subject: [PATCH 02/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E6=94=AF=E6=8C=81=E5=B9=B6=E6=9B=B4=E6=96=B0=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=95=8C=E9=9D=A2=E6=96=87=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cnb.yml | 2 -- index.html | 34 ++++++++++++++++++---------------- lang.js | 39 +++++++++++++++++++++++++++++++++++++++ main.js | 41 ++++++++++++++++++++++++++++++++++++++++- 4 files changed, 97 insertions(+), 19 deletions(-) create mode 100644 lang.js diff --git a/.cnb.yml b/.cnb.yml index 8c38d47..ba133ab 100644 --- a/.cnb.yml +++ b/.cnb.yml @@ -32,8 +32,6 @@ $: cpus: 1 imports: https://cnb.cool/BlueScreen-Studio/Tech/secrets/-/blob/sdcom/github.yml stages: - - name: Remove unwanted files - script: rm -rf .ide/ && rm .cnb.yml - name: Sync to github image: tencentcom/git-sync settings: diff --git a/index.html b/index.html index 766106c..215a3cd 100644 --- a/index.html +++ b/index.html @@ -1,9 +1,10 @@ - - Image to Braille + + 图片转ASCII艺术画 + @@ -11,31 +12,32 @@
-
Open Repo
+
打开仓库
+
English
-
Dark Theme
-
Invert
-
Dithering
-
Monospace
-
+
深色主题
+
反转颜色
+
抖动效果
+
等宽字体
+
- Width (characters) + 宽度(字符数)
- +
- Character Count: 0 + 字符数量: 0
- + \ No newline at end of file diff --git a/lang.js b/lang.js new file mode 100644 index 0000000..d24048d --- /dev/null +++ b/lang.js @@ -0,0 +1,39 @@ +// 语言配置文件 +const translations = { + en: { + title: "Image to Braille", + description: "Given an image, this page will display a text version using braille as 1-bit pixels", + openRepo: "Open Repo", + darkTheme: "Dark Theme", + invert: "Invert", + dithering: "Dithering", + monospace: "Monospace", + greyscaleMode: "Greyscale Mode", + luminance: "Luminance", + lightness: "Lightness", + average: "Average", + value: "Value", + width: "Width (characters)", + copyToClipboard: "Copy to clipboard", + characterCount: "Character Count:", + switchLang: "中文" + }, + zh: { + title: "图片转ASCII艺术画", + description: "将图片转换为使用盲文字符作为像素点的文本版本", + openRepo: "打开仓库", + darkTheme: "深色主题", + invert: "反转颜色", + dithering: "抖动效果", + monospace: "等宽字体", + greyscaleMode: "灰度模式", + luminance: "亮度", + lightness: "明度", + average: "平均值", + value: "数值", + width: "宽度(字符数)", + copyToClipboard: "复制到剪贴板", + characterCount: "字符数量:", + switchLang: "English" + } +}; \ No newline at end of file diff --git a/main.js b/main.js index 1a2d800..7744756 100644 --- a/main.js +++ b/main.js @@ -8,6 +8,7 @@ const settings = { inverted: false, dithering: false, monospace: false, + language: "zh" // 默认语言设置为中文 } function setUIElement(selector, value) { @@ -23,6 +24,34 @@ function setUIElement(selector, value) { return elem; } +// 更新页面上的所有文本元素 +function updateLanguage(lang) { + settings.language = lang; + + // 更新页面标题和描述 + document.title = translations[lang].title; + document.querySelector('meta[name="description"]').setAttribute('content', translations[lang].description); + + // 更新所有带有data-i18n属性的元素 + document.querySelectorAll('[data-i18n]').forEach(element => { + const key = element.getAttribute('data-i18n'); + if (translations[lang][key]) { + if (element.tagName === 'INPUT' || element.tagName === 'TEXTAREA') { + element.value = translations[lang][key]; + } else { + element.textContent = translations[lang][key]; + } + } + }); + + // 更新title属性 + document.querySelector('div[title]').setAttribute('title', lang === 'zh' ? '切换深色主题' : 'Toggle dark theme'); + document.querySelectorAll('div[title]')[1].setAttribute('title', lang === 'zh' ? '黑白颜色反转' : 'Invert black with white'); + document.querySelectorAll('div[title]')[2].setAttribute('title', lang === 'zh' ? '单色抖动效果' : 'Monochrome dithering'); + document.querySelectorAll('div[title]')[3].setAttribute('title', lang === 'zh' ? '禁用占位符间距' : 'Disable placeholder spacing'); + document.querySelectorAll('div[title]')[4].setAttribute('title', lang === 'zh' ? '灰度模式' : 'Greyscale Mode'); +} + function initUI() { document.body.ondragover = (e) => e.preventDefault(); document.body.ondrop = (e) => { @@ -65,6 +94,16 @@ function initUI() { document.querySelector('#text').select(); document.execCommand("copy"); } + + // 添加语言切换功能 + document.querySelector('#switchLang').onclick = (e) => { + e.preventDefault(); + const newLang = settings.language === 'zh' ? 'en' : 'zh'; + updateLanguage(newLang); + } + + // 初始化语言 + updateLanguage(settings.language); } async function loadNewImage(src) { @@ -88,4 +127,4 @@ async function parseCanvas(canvas) { window.onload = () => { initUI(); loadNewImage("select.png"); -} +} \ No newline at end of file From 4b92ce863989eaaf30b7fdf8df4ef24c3eb11d83 Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 22:42:07 +0800 Subject: [PATCH 03/11] =?UTF-8?q?"=E5=B0=86=E8=AF=AD=E8=A8=80=E5=88=87?= =?UTF-8?q?=E6=8D=A2=E6=8C=89=E9=92=AE=E6=94=B9=E4=B8=BA=E4=B8=8B=E6=8B=89?= =?UTF-8?q?=E9=80=89=E6=8B=A9=E6=A1=86=E5=B9=B6=E6=A0=B9=E6=8D=AE=E6=B5=8F?= =?UTF-8?q?=E8=A7=88=E5=99=A8=E8=AF=AD=E8=A8=80=E8=AE=BE=E7=BD=AE=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E8=AF=AD=E8=A8=80"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 7 ++++++- main.js | 10 ++++++---- 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/index.html b/index.html index 215a3cd..e1884d6 100644 --- a/index.html +++ b/index.html @@ -14,7 +14,12 @@
- +
+ +
深色主题
反转颜色
diff --git a/main.js b/main.js index 7744756..82f14fc 100644 --- a/main.js +++ b/main.js @@ -8,7 +8,7 @@ const settings = { inverted: false, dithering: false, monospace: false, - language: "zh" // 默认语言设置为中文 + language: navigator.language.startsWith('zh') ? "zh" : "en" // 根据浏览器语言设置默认语言 } function setUIElement(selector, value) { @@ -96,12 +96,14 @@ function initUI() { } // 添加语言切换功能 - document.querySelector('#switchLang').onclick = (e) => { - e.preventDefault(); - const newLang = settings.language === 'zh' ? 'en' : 'zh'; + document.querySelector('#langSelect').onchange = (e) => { + const newLang = e.target.value; updateLanguage(newLang); } + // 设置选择框的初始值为当前语言 + document.querySelector('#langSelect').value = settings.language; + // 初始化语言 updateLanguage(settings.language); } From 67cc9f59458a3eb456618485142b3ed05208357f Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 23:04:36 +0800 Subject: [PATCH 04/11] =?UTF-8?q?"=E6=B7=BB=E5=8A=A0=E4=B8=AD=E6=96=87?= =?UTF-8?q?=E7=89=88=E9=A1=B5=E9=9D=A2=E5=B9=B6=E9=83=A8=E7=BD=B2=E8=87=B3?= =?UTF-8?q?EO=E6=AD=A3=E5=BC=8F=E7=8E=AF=E5=A2=83"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .cnb.yml | 11 ++++++++++- index_zh-cn.html | 51 ++++++++++++++++++++++++++++++++++++++++++++++++ readme.md | 8 ++++---- 3 files changed, 65 insertions(+), 5 deletions(-) create mode 100644 index_zh-cn.html diff --git a/.cnb.yml b/.cnb.yml index ba133ab..07bfda0 100644 --- a/.cnb.yml +++ b/.cnb.yml @@ -42,4 +42,13 @@ $: git_user: ${GIT_USERNAME} git_email: ${GIT_EMAIL} force: true - branch: master \ No newline at end of file + branch: master + - name: 删除原文件,替换备案域名专用文件 + script: rm ./index.html && cp ./index_zh-cn.html ./index.html + - name: 部署我的 eo pages 正式环境 + imports: + - https://cnb.cool/BlueScreen-Studio/Tech/secrets/-/blob/sdcom/eopages.yml + image: tencentcom/deploy-eopages:latest + # 这里需要使用您的EO_SECRET,在上面imports已经说明 + script: edgeone pages deploy ./ -n ascii-sdcom -t $EO_SECRET + diff --git a/index_zh-cn.html b/index_zh-cn.html new file mode 100644 index 0000000..db98e93 --- /dev/null +++ b/index_zh-cn.html @@ -0,0 +1,51 @@ + + + + + 图片转ASCII艺术画 + + + + + + + + +
+ +
+
+ +
+ +
深色主题
+
反转颜色
+
抖动效果
+
等宽字体
+
+ +
+
+ + 宽度(字符数) +
+
+ +
+
+ 字符数量: 0 +
+ +
+ + \ No newline at end of file diff --git a/readme.md b/readme.md index e9d13c9..a285e00 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,7 @@ - +# Image-to-Braille # ==> [Test it out in your browser!](https://505e06b2.github.io/Image-to-Braille/) -Standard: +标准(Standard): ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠿⠛⠛⠋⠉⠉⠉⠉⠉⠉⠉⠛⠛⠻⠿⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠃ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠛⠉⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠄⠈⠙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠄ @@ -35,7 +35,7 @@ Standard: ⣿⣿⣷⡇⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠄⠄⠄⢹⣿⣿⣿⣷⡀⠄⠔⠄⠄⠄⢣⠇⠢⣤⣛⢿⣿⣿⣿⣿⠄⠄⢸⣿⣿⣿⠄⡇⣾⡇⠄⡇⠄⠄ ⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠄⠄⠄⢿⣿⣿⣿⡟⠄⠄⠄⠄⠐⠄⠸⠤⡹⣿⣮⣿⣿⣿⣿⡄⠄⠈⣿⣿⣿⣧⣤⣹⡇⠄⡇⠠⠄ -Dithering: +抖动(Dithering): ⣿⢏⡷⣝⢵⡫⣞⢵⡫⣞⢵⢝⢮⡳⣝⢮⡳⡽⣕⢯⡳⡽⡽⠽⢙⠚⠩⠨⠉⢌⠩⢉⢉⢉⠓⠃⠇⠯⠺⣽⣻⣟⣟⢯⣻⣞⣯⡳⣕⢧⢯⣻⣽⡿⣟⣿⢽⣻⣟⣯⡟⢜ ⣏⣗⣝⢮⡳⣝⣎⣗⣝⡮⡳⣝⢵⡫⣞⢵⡫⡯⡚⠣⢉⠂⠔⡈⠄⠌⠌⠌⠌⡐⡐⢐⢀⠢⠨⠨⢈⠌⢂⠂⠌⡘⠺⢻⣽⡽⣗⢯⡪⡮⣺⢺⡽⣟⣿⣺⢯⣿⢯⡷⡣⡑ @@ -69,7 +69,7 @@ Dithering: ⣿⣞⡯⡎⣢⣟⣽⡽⣞⣷⣻⣞⣷⣳⣟⡾⣯⢷⣻⣞⣷⣻⣺⣽⢐⢐⠄⢽⢽⣞⣟⡶⣀⠠⠘⠤⡐⢀⢣⠗⡝⣬⢹⢽⢯⢷⡱⣝⢐⠄⣹⢽⣫⣷⢁⢇⢇⡇⢌⠇⡢⢊ ⣿⣗⣟⣞⣷⣻⣺⣽⣻⣞⣷⣳⣟⣾⣳⢿⡽⣯⣟⣾⣳⣟⣾⡺⡇⡐⢌⠐⣟⢾⣵⣻⡓⠁⠠⠄⡀⠑⠠⠺⠸⡸⣳⢵⢹⡻⣎⢮⠢⠡⠨⡯⣗⣯⡦⣇⡧⡇⢅⢇⢪⢐ -Dithering + Inverted: +抖动 + 反相(Dithering + Inverted): ⠄⡰⢈⠢⡊⢔⠡⡊⢔⠡⡊⡢⡑⢌⠢⡑⢌⢂⠪⡐⢌⢂⢂⣂⡦⣥⣖⣗⣶⡳⣖⡶⡶⡶⣬⣼⣸⣐⣅⠂⠄⠠⠠⡐⠄⠡⠐⢌⠪⡘⡐⠄⠂⢀⠠⠄⡂⠄⠠⠐⢠⡣ ⠰⠨⠢⡑⢌⠢⠱⠨⠢⢑⢌⠢⡊⢔⠡⡊⢔⢐⢥⣜⡶⣽⣫⢷⣻⣳⣳⣳⣳⢯⢯⡯⡿⣝⣗⣗⡷⣳⡽⣽⣳⢧⣅⡄⠂⢂⠨⡐⢕⢑⠅⡅⢂⠠⠄⠅⡐⠄⡐⢈⢜⢮ From a21d8a1146369170740f1b38165175bc654bd48b Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 23:11:01 +0800 Subject: [PATCH 05/11] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E8=AF=AD=E8=A8=80?= =?UTF-8?q?=E5=88=87=E6=8D=A2=E5=8A=9F=E8=83=BD=E4=B8=BA=E9=93=BE=E6=8E=A5?= =?UTF-8?q?=E5=BC=8F=E5=B9=B6=E6=B7=BB=E5=8A=A0UTF-8=E5=AD=97=E7=AC=A6?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/index.html b/index.html index e1884d6..4e991f5 100644 --- a/index.html +++ b/index.html @@ -1,5 +1,6 @@ + 图片转ASCII艺术画 @@ -14,12 +15,7 @@
-
- -
+
深色主题
反转颜色
From c80f8414ac5a542e8a22658851a9d557147c7e5d Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 23:12:26 +0800 Subject: [PATCH 06/11] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E9=A6=96=E9=A1=B5?= =?UTF-8?q?=E4=B8=AD=E6=96=87=E9=A1=B5=E9=9D=A2=E5=AD=97=E7=AC=A6=E7=BC=96?= =?UTF-8?q?=E7=A0=81=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index_zh-cn.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index_zh-cn.html b/index_zh-cn.html index db98e93..6487613 100644 --- a/index_zh-cn.html +++ b/index_zh-cn.html @@ -1,5 +1,6 @@ + 图片转ASCII艺术画 From 289ac01408cfffe89dbed6c054661480e8737523 Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 23:24:35 +0800 Subject: [PATCH 07/11] =?UTF-8?q?"=E6=B7=BB=E5=8A=A0=E4=BA=A7=E5=93=81=20A?= =?UTF-8?q?yaki=20=E5=92=8C=20SDCOM=20=E7=9A=84=20Unicode=20=E5=9B=BE?= =?UTF-8?q?=E5=BD=A2=E5=8C=96=E8=B5=84=E6=BA=90=E6=96=87=E4=BB=B6"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- product/Ayaki | 31 +++++++++++++++++++++++++++++++ product/SDCOM | 27 +++++++++++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 product/Ayaki create mode 100644 product/SDCOM diff --git a/product/Ayaki b/product/Ayaki new file mode 100644 index 0000000..b61b8be --- /dev/null +++ b/product/Ayaki @@ -0,0 +1,31 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣤⣤⣤⣄⣀⡀⠀⠀⠀⠀⠀⢀⡀⠀⠀⢀⣀⣠⣤⣴⣶⣾⣿⣿⣷⣶⣶⣶⣤⣄ +⠀⠀⠀⠀⠀⠀⠀⣸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⠀⠀⠀⠀⠀⠀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿ +⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠇ +⠀⠀⠀⡀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡏⠀ +⠀⠀⠈⢻⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀ +⠀⠀⠀⣠⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠡⠀⠀ +⠀⠀⠚⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⣿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀ +⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠣⣤⣄⡇⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠁⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣁⡀⠀⠀⠀⠙⣿⣿⠈⣿⣿⣿⣿⣿⣿⣿⣿⠟⠃⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⡿⠀⠀⠈⠉⠉⣹⣟⣿⡟⠁⢺⣦⣼⣟⡦⣄⡀⠈⠉⡄⠘⠿⠿⣿⣿⣿⣿⡏⢠⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠉⠙⠓⠂⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢝⠫⣿⣿⣿⠃⠀⠀⠀⠀⠀⡟⢹⣿⣿⣿⣷⣿⣿⣿⣿⣿⣿⡆⠀⠰⠀⢀⠀⠈⠻⣿⡿⠀⢸⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠯⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠫⣥⣀⣀⣵⣿⡿⡃⠀⠀⠀⠀⠀⢸⠁⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠐⠀⠀⠡⡘⡀⠀⠀⠹⠇⠀⠸⠸⠉⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠉⣩⢿⣿⣿⡇⢀⠀⠀⠀⠀⢸⠀⢾⣿⣿⣿⣿⣿⣿⣿⣿⡟⠀⠀⠀⠀⠀⠀⠁⡄⠀⠀⠀⢀⠗⣳⠒⢦⣄⠸⣿⣿⣿⣿⣿⣷⠛⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⢰⠁⡠⠿⣍⢷⡈⠆⠀⠀⠀⠈⡆⠀⠉⠙⠻⠿⠿⡿⠟⠋⠀⠀⠀⠀⠀⠀⠀⠀⠈⠢⡀⢠⣾⣶⣾⣿⣷⢿⣦⣻⣿⣿⣿⣿⣿⡆⠀⠀⠀⠀⠀⠀⢠⠀⠀ +⠀⠀⠀⠀⠀⠈⠈⠀⠔⠁⠀⡱⠮⣆⠀⠀⠀⢣⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣾⣿⣿⣿⣿⠇⢠⢿⣿⣿⣿⣿⡟⠛⠻⠦⠀⠀⠀⠀⠀⠎⠀⠀ +⠀⠀⠀⠀⠤⡀⠂⠁⠀⠀⠐⢀⡀⠀⠑⢄⠀⢨⠆⡀⠀⠀⠀⠀⠀⠀⠄⠀⠀⠀⠀⠀⠀⠀⡠⠀⠀⠀⣿⣿⣿⣿⠋⠀⢡⠎⠙⠻⣿⡟⠁⠀⠀⠀⠀⠀⠀⠀⠈⠀⠀⠀ +⠀⠀⠀⠀⠀⠈⠁⠨⡁⠐⠛⢸⠀⠩⠐⠀⠍⢂⣦⠈⠄⠀⠀⠀⠀⠀⠀⠢⡀⠀⠀⠀⣀⠀⠀⠀⠀⠀⡿⠿⠋⠀⠀⡠⠋⠀⢀⣼⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⡈⠷⠶⠤⢤⡄⠀⠀⠀⠀⠹⠀⠀⠢⠀⠀⠀⠀⠀⠀⠹⡉⠉⠀⠙⣷⡀⠀⠀⠀⠁⠀⠀⢀⠞⠁⢀⡠⣿⠟⠀⠀⠀⠀⠀⠀⡀⠀⠀⠀⢀⠈⠀⠀ +⠀⠀⠀⠀⠀⠀⠐⢀⣀⣀⡀⠀⠀⠈⠀⠀⠀⠀⠀⠁⠀⠀⠀⠐⠠⢀⠀⠀⠀⠈⠢⡀⠀⠉⠀⠀⠀⠀⠀⢀⡈⠓⣀⠴⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠉⠀⠀⠀ +⠀⢲⣤⣤⣤⣌⣡⣵⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⢤⣄⣀⣈⣀⣀⡀⠠⠄⢰⡊⠄⠋⠉⠀⠀⠀⠀⠀⠀⠀⠀⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠙⠿⣿⣿⣿⣿⣿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠽⡉⠌⠐⠀⠀⠁⠂⠈⠂⢀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣭⣀⡀⠀⠀⠀⠀⠀⠀⠀⠵⣄⠀⠀⠀⠀⠀⠸⡆⠀⠀⠀⠀⢈⠀⠀⠀⠀⠀⠑⠠⠄⠠⠔⠂⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⣠⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠛⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠱⡀⢀⡀⠀⠈⡀⠰⠀⠀⠀⠀⠀⠀⠀⠐⠀⠤⣄⣀⣀⠠⢺⠉⠓⠒⠚⠀⠀ +⠋⢉⣭⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣶⣶⣿⣷⣶⣶⣶⣦⣤⣤⣀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠈⠰⡞⠀⠀⢠⠁⢀⣀⣤⣶⣤⣶⣦⣤⠄⠀⠀⠀⠉⠁⠘⠀⠀⠀⠀⠀⠀ +⣴⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣶⣤⣀⠀⠀⠀⠀⠀⠀⠙⣄⡄⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣄⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀ diff --git a/product/SDCOM b/product/SDCOM new file mode 100644 index 0000000..84afbff --- /dev/null +++ b/product/SDCOM @@ -0,0 +1,27 @@ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢹⣷⣾⣶⣶⣦⣄⡀⠀⠀⠀⣴⣆⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢦⣦⣦⣠⣦⣴⣤⣦⣶⣶⣾⣷⣶⣿⣿⣿⣿⣿⣿⣿⣷⣾⣔⣿⣿⣷⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣺⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⠀⣙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣷⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣵⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⢀⣤⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡓⣤⠄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⢐⣼⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⠘⣿⣶⣄⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⣦⣶⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣧⢻⡿⢱⣿⣦⣄⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⣠⣽⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠈⢠⣿⣿⣿⣿⣿⣮⣤⣄⠀⠀⠀ +⠀⠺⣿⣿⡿⠿⠛⠛⠛⠉⠉⠀⠀⠀⠀⣿⣿⣿⣿⣿⡿⠿⠿⣻⣿⣿⠿⠿⠿⠿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⣴⡈⢿⣿⣿⣿⣿⣿⣿⣿⡅⠀⠀ +⠀⠐⠙⢿⣿⣦⡀⠀⠀⠀⠀⠀⠀⠀⢀⠻⠟⠛⠛⠛⡇⠀⠀⠈⠛⠁⠀⠀⠀⠀⠀⠉⠀⠀⠀⠀⠉⠛⠿⠿⠿⠿⢿⣿⣿⣦⣌⠉⠉⠉⠉⠉⠉⠉⠁⢀⣼⣿⡟⠀⠀⠀ +⠀⠀⠀⠀⠹⢿⣿⣿⣷⣤⣄⣔⠊⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣴⣿⡏⠀⠀⠀⠀⠀⢀⣰⣿⣿⠿⠉⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠐⠊⠛⠻⢿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⢯⣮⣽⣧⣬⣥⣶⣦⣵⣧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⡗⢤⣤⣤⣴⣶⣿⡧⠝⠋⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠰⡞⠁⡆⠀⠀⠀⠀⠀⠀⠀⠀⠐⢽⠟⠋⠈⠉⠉⠉⠚⢧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣑⣿⣿⠟⠛⠍⠉⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⠁⠠⠐⢄⠀⠀⠀⠀⠀⠀⠀⠀⠈⠂⠄⣀⣀⡀⠀⠀⠜⠀⠀⠀⠀⠀⠀⠀⠀⠀⡀⠁⢖⠉⠀⠈⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠉⠐⠑⠤⠀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⠒⢊⣀⣀⣀⣀⠀⠀⣀⣀⣴⣮⣤⠤⠎⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢈⣠⣽⣷⣶⣶⣤⣤⣄⣤⣤⣤⣤⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡧⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⣴⣧⣉⠛⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⣹⡧⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢞⣿⣿⣿⣿⣷⣤⡙⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣇⠈⠀⠀⠀⠀⠀⣀⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⣶⣮⡙⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠁⣀⣴⣶⣶⣶⣾⣿⣿⣿⣿⣷⣶⣶⣶⣤⠄⠀⠀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠨⢛⣻⣿⣿⣿⣿⣿⣿⣿⣿⣷⣦⣭⣛⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⣟⣫⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⣅⡀⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢐⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣦⣉⣛⡿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣯⣛⠁⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢄⣾⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠿⢿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⢋⣇⠀ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣾⣿⣿⣿⣿⣿⡟⠛⢿⣿⣿⣿⣿⣿⣿⠿⠋⠀⠀⢸⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⢇⣾⣿⡢ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣾⣿⣿⣿⣿⣿⣿⠁⠀⠀⠀⠙⠛⠋⠁⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⣼⣿⣿⡇ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠐⣰⣿⣿⣿⣿⣿⣿⡏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠟⠋⠉⠉⠛⠛⠿⣿⢁⣾⣿⣿⣿⡏ +⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢤⣿⣿⣿⡇⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⡿⠋⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠛⢿⣿⣿⢇ From 5d4b2bde26fc355bd8de86c014be64bfc383b15c Mon Sep 17 00:00:00 2001 From: SDCOM Date: Thu, 10 Jul 2025 23:30:00 +0800 Subject: [PATCH 08/11] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E4=BB=93=E5=BA=93?= =?UTF-8?q?=E9=93=BE=E6=8E=A5=E5=B9=B6=E4=BC=98=E5=8C=96=E5=A4=9A=E8=AF=AD?= =?UTF-8?q?=E8=A8=80=E8=B7=B3=E8=BD=AC=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- index.html | 2 +- index_zh-cn.html | 2 +- main.js | 8 ++++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/index.html b/index.html index 4e991f5..2cbf789 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@
- +
diff --git a/index_zh-cn.html b/index_zh-cn.html index 6487613..302f095 100644 --- a/index_zh-cn.html +++ b/index_zh-cn.html @@ -13,7 +13,7 @@
- +