From da188afd82bbff7e645d7ebadc180151a2750040 Mon Sep 17 00:00:00 2001 From: Kawaxxxsaki <1111@123.com> Date: Mon, 1 Dec 2025 15:21:37 +0800 Subject: [PATCH 1/9] =?UTF-8?q?docs(web):=20=E4=BF=AE=E6=AD=A3HTML?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E4=B8=8E=E8=AF=AD=E4=B9=89=E5=B8=83=E5=B1=80?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E7=9A=84=E6=A0=87=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将文档标题从"test"修改为"html 列表与语义布局",使其更准确地反映文档内容 --- .../web/basic-syntax/html-lists-and-semantic-layout.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/notes/programming/web/basic-syntax/html-lists-and-semantic-layout.md b/docs/notes/programming/web/basic-syntax/html-lists-and-semantic-layout.md index 236e2ef..a393cf9 100644 --- a/docs/notes/programming/web/basic-syntax/html-lists-and-semantic-layout.md +++ b/docs/notes/programming/web/basic-syntax/html-lists-and-semantic-layout.md @@ -1,5 +1,5 @@ --- -title: test +title: html 列表与语义布局 createTime: 2025/11/02 20:47:50 permalink: /programming/web/basic-syntax/html-lists-and-semantic-layout/ --- From 82324f6274d98a9b9079188972ce130c80111320 Mon Sep 17 00:00:00 2001 From: Kawaxxxsaki <1111@123.com> Date: Fri, 5 Dec 2025 13:32:37 +0800 Subject: [PATCH 2/9] =?UTF-8?q?docs(web):=20=E6=9B=B4=E6=96=B0javascript?= =?UTF-8?q?=E5=9F=BA=E7=A1=80=E6=96=87=E6=A1=A3=E4=B8=AD=E5=87=BD=E6=95=B0?= =?UTF-8?q?=E9=83=A8=E5=88=86=E7=9A=84=E6=8F=8F=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加函数声明格式说明并完善函数定义描述 --- .../programming/web/basic-syntax/javascript-basics.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/docs/notes/programming/web/basic-syntax/javascript-basics.md b/docs/notes/programming/web/basic-syntax/javascript-basics.md index 72b585e..31d4f37 100644 --- a/docs/notes/programming/web/basic-syntax/javascript-basics.md +++ b/docs/notes/programming/web/basic-syntax/javascript-basics.md @@ -293,7 +293,7 @@ while (count <= 5) { ## 函数 -函数是可重用的代码块,用于执行特定任务。 +函数是一段可重复使用的代码块,可以接受输入(参数),执行操作,并返回输出(返回值)。 ### 函数声明 @@ -306,6 +306,15 @@ const message = greet("小明"); console.log(message); // 输出:你好,小明! ``` +格式如下 + +```javascript +function 函数名(参数1, 参数2, ...参数N) { + // 函数体:要执行的代码 + return 返回值; // 可选 +} +``` + ### 箭头函数(ES6) ```javascript From c0ff3b29de3217b48e9b1f1eb87fdd495dc65868 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Sun, 14 Dec 2025 11:37:15 +0800 Subject: [PATCH 3/9] =?UTF-8?q?chore:=20=E6=9B=B4=E6=96=B0=E4=BE=9D?= =?UTF-8?q?=E8=B5=96=E5=8C=85=E7=89=88=E6=9C=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 升级 js-yaml、mdast-util-to-hast、vite 和 vuepress-theme-plume 的依赖版本以获取最新功能和修复 --- package-lock.json | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/package-lock.json b/package-lock.json index b92be13..1a786b3 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5573,9 +5573,9 @@ } }, "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "version": "3.14.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.2.tgz", + "integrity": "sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==", "dev": true, "license": "MIT", "dependencies": { @@ -5889,9 +5889,9 @@ } }, "node_modules/mdast-util-to-hast": { - "version": "13.2.0", - "resolved": "https://registry.npmmirror.com/mdast-util-to-hast/-/mdast-util-to-hast-13.2.0.tgz", - "integrity": "sha512-QGYKEuUsYT9ykKBCMOEDLsU5JRObWQusAolFMeko/tYPufNkRffBAQjIE+99jbA87xv6FgmjLtwjh9wBWajwAA==", + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", "dev": true, "license": "MIT", "dependencies": { @@ -7668,9 +7668,9 @@ } }, "node_modules/vite": { - "version": "7.0.7", - "resolved": "https://registry.npmmirror.com/vite/-/vite-7.0.7.tgz", - "integrity": "sha512-hc6LujN/EkJHmxeiDJMs0qBontZ1cdBvvoCbWhVjzUFTU329VRyOC46gHNSA8NcOC5yzCeXpwI40tieI3DEZqg==", + "version": "7.0.8", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.8.tgz", + "integrity": "sha512-cJBdq0/u+8rgstg9t7UkBilf8ipLmeXJO30NxD5HAHOivnj10ocV8YtR/XBvd2wQpN3TmcaxNKaHX3tN7o5F5A==", "dev": true, "license": "MIT", "dependencies": { @@ -8124,9 +8124,9 @@ } }, "node_modules/vuepress-theme-plume/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmmirror.com/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "license": "MIT", "dependencies": { From d9a089be3fb4b59edc4210e7e9b96110dd2e680d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Mon, 15 Dec 2025 16:40:32 +0800 Subject: [PATCH 4/9] =?UTF-8?q?refactor:=20=E7=AE=80=E5=8C=96=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E8=84=9A=E6=9C=AC=E5=B9=B6=E7=A7=BB=E9=99=A4=E7=A1=AC?= =?UTF-8?q?=E7=BC=96=E7=A0=81=E7=AB=AF=E5=8F=A3=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 移除start.bat中复杂的端口回退逻辑,改为直接调用npm脚本 同时从package.json中移除硬编码的端口配置 --- package.json | 4 ++-- start.bat | 59 +--------------------------------------------------- 2 files changed, 3 insertions(+), 60 deletions(-) diff --git a/package.json b/package.json index 79e1d12..20af2c6 100644 --- a/package.json +++ b/package.json @@ -8,8 +8,8 @@ "node": "^20.6.0 || >=22.0.0" }, "scripts": { - "docs:dev": "vuepress dev docs --port 4567", - "docs:dev-clean": "vuepress dev docs --clean-cache --clean-temp --port 4567", + "docs:dev": "vuepress dev docs", + "docs:dev-clean": "vuepress dev docs --clean-cache --clean-temp", "docs:build": "vuepress build docs --clean-cache --clean-temp", "docs:preview": "http-server docs/.vuepress/dist", "vp-update": "npx vp-update" diff --git a/start.bat b/start.bat index 0502d1a..729c848 100644 --- a/start.bat +++ b/start.bat @@ -1,59 +1,2 @@ @echo off -setlocal ENABLEDELAYEDEXPANSION - -REM Usage: -REM start.bat [host] [port] -REM Examples: -REM start.bat -> try 0.0.0.0:4567, fallback to localhost and 5173 -REM start.bat local 8080 -> localhost:8080 -REM start.bat lan 4567 -> 0.0.0.0:4567 - -set HOST=%~1 -if "%HOST%"=="" set HOST=0.0.0.0 -if /I "%HOST%"=="lan" set HOST=0.0.0.0 -if /I "%HOST%"=="local" set HOST=localhost - -set PORT=%~2 -if "%PORT%"=="" set PORT=4567 -set FALLBACK_PORT=5173 - -echo [Start] VuePress dev on host %HOST% port %PORT% -call npx vuepress@2.0.0-rc.24 dev docs --host %HOST% --port %PORT% -if %ERRORLEVEL% EQU 0 goto success - -REM Fallback 1: switch to localhost same port -if NOT "%HOST%"=="localhost" ( - echo [Fallback] switch to localhost on same port %PORT%... - call npx vuepress@2.0.0-rc.24 dev docs --host localhost --port %PORT% - if %ERRORLEVEL% EQU 0 goto success -) - -REM Fallback 2: clean cache and use localhost on fallback port -if NOT "%PORT%"=="%FALLBACK_PORT%" ( - echo [Fallback] clean cache and start on localhost:%FALLBACK_PORT%... - call npx vuepress@2.0.0-rc.24 dev docs --clean-cache --clean-temp --host localhost --port %FALLBACK_PORT% - if %ERRORLEVEL% EQU 0 ( - set HOST=localhost - set PORT=%FALLBACK_PORT% - goto success - ) -) - -REM Fallback 3: try another common port -set ALT_PORT=8080 -if NOT "%PORT%"=="%ALT_PORT%" ( - echo [Fallback] try localhost:%ALT_PORT%... - call npx vuepress@2.0.0-rc.24 dev docs --host localhost --port %ALT_PORT% - if %ERRORLEVEL% EQU 0 ( - set HOST=localhost - set PORT=%ALT_PORT% - goto success - ) -) - -echo [Error] Failed to start dev server. Please check firewall or port usage. -exit /b 1 - -:success -echo [Ready] Open http://localhost:%PORT%/ (or http://%HOST%:%PORT%/ if accessible) -exit /b 0 \ No newline at end of file +npm run docs:dev -- --host 0.0.0.0 --port 8888 From b7018f84231184a8ed4ffe3ac2b6978fe36e370f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Mon, 15 Dec 2025 17:24:40 +0800 Subject: [PATCH 5/9] =?UTF-8?q?refactor(scripts):=20=E5=B0=86=E5=90=AF?= =?UTF-8?q?=E5=8A=A8=E5=92=8C=E6=9E=84=E5=BB=BA=E8=84=9A=E6=9C=AC=E7=A7=BB?= =?UTF-8?q?=E5=8A=A8=E5=88=B0scripts=E7=9B=AE=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将start.sh、start.bat和build-and-publish.bat移动到scripts目录下 重构build-and-publish.bat脚本,增加错误处理和详细日志 --- build-and-publish.bat => script/build-and-publish.bat | 4 ++-- start.bat => script/start.bat | 1 + start.sh => script/start.sh | 1 + 3 files changed, 4 insertions(+), 2 deletions(-) rename build-and-publish.bat => script/build-and-publish.bat (98%) rename start.bat => script/start.bat (78%) rename start.sh => script/start.sh (66%) mode change 100755 => 100644 diff --git a/build-and-publish.bat b/script/build-and-publish.bat similarity index 98% rename from build-and-publish.bat rename to script/build-and-publish.bat index 6d51315..fcfd5a4 100644 --- a/build-and-publish.bat +++ b/script/build-and-publish.bat @@ -4,8 +4,8 @@ setlocal EnableExtensions chcp 65001 >nul REM Paths and settings -set "ROOT_DIR=%~dp0" -set "PROJECT_DIR=%ROOT_DIR%" +cd /d "%~dp0.." +set "PROJECT_DIR=%CD%\" set "DIST_DIR=%PROJECT_DIR%docs\.vuepress\dist" set "PUBLISH_DIR=%PROJECT_DIR%_publish" set "REMOTE_URL=https://gitea.simengweb.com/si-meng-spec/build_notes_simengweb.git" diff --git a/start.bat b/script/start.bat similarity index 78% rename from start.bat rename to script/start.bat index 729c848..0a233cb 100644 --- a/start.bat +++ b/script/start.bat @@ -1,2 +1,3 @@ @echo off +cd /d "%~dp0.." npm run docs:dev -- --host 0.0.0.0 --port 8888 diff --git a/start.sh b/script/start.sh old mode 100755 new mode 100644 similarity index 66% rename from start.sh rename to script/start.sh index f054f58..d67d4b7 --- a/start.sh +++ b/script/start.sh @@ -1 +1,2 @@ +cd "$(dirname "$0")/.." npm run docs:dev -- --host 0.0.0.0 --port 8888 From 01c3741b9afb3566db53cef6f4a79a2704fb57d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Mon, 15 Dec 2025 17:44:38 +0800 Subject: [PATCH 6/9] =?UTF-8?q?docs:=20=E6=9B=B4=E6=96=B0=E7=BD=91?= =?UTF-8?q?=E7=AB=99=E6=88=90=E9=95=BF=E8=AE=B0=E5=BD=95=E6=97=B6=E9=97=B4?= =?UTF-8?q?=E7=BA=BF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 添加了网站迁移到小站的记录,并调整了时间顺序 --- docs/about.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/docs/about.md b/docs/about.md index dd5d570..f95c912 100644 --- a/docs/about.md +++ b/docs/about.md @@ -35,7 +35,8 @@ permalink: /about/ ## 网站的成长记录~ 📝 -- 2025年9月21日:部署完网站 +- 2025年12月15日:将原先的博客网站迁移到了这个小站 +- 2025年09月21日:部署完网站 ## 写在最后~ 💌 From 1726ac9828f2568c9177a85b47648ab5c95a4708 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Mon, 15 Dec 2025 17:50:00 +0800 Subject: [PATCH 7/9] =?UTF-8?q?fix(ci):=20=E6=9B=B4=E6=96=B0=E6=9E=84?= =?UTF-8?q?=E5=BB=BA=E8=84=9A=E6=9C=AC=E5=B9=B6=E4=BF=AE=E5=A4=8Dumami?= =?UTF-8?q?=E5=88=86=E6=9E=90=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 更新构建发布脚本以增强可靠性和清理逻辑 将umami分析ID和域名更新为最新配置 --- docs/.vuepress/config.ts | 4 +- script/build-and-publish.bat | 188 +++++++++++++++++++---------------- 2 files changed, 104 insertions(+), 88 deletions(-) diff --git a/docs/.vuepress/config.ts b/docs/.vuepress/config.ts index bc1daeb..8ff1bb7 100644 --- a/docs/.vuepress/config.ts +++ b/docs/.vuepress/config.ts @@ -85,9 +85,9 @@ export default defineUserConfig({ requiredMeta: ['nick'] }), umamiAnalyticsPlugin({ - id: 'a4f0ca65-2da6-4e6b-a01b-f3b3157d05a3', + id: '2114ab32-5543-4be1-b5e8-c4f2c9269d0d', link: 'https://umami.simengweb.com/script.js', - domains: ['notes.simengweb.com'], + domains: ['www.simengweb.com'], cache: true }), ], diff --git a/script/build-and-publish.bat b/script/build-and-publish.bat index fcfd5a4..f76f69b 100644 --- a/script/build-and-publish.bat +++ b/script/build-and-publish.bat @@ -1,69 +1,103 @@ @echo off -setlocal EnableExtensions +setlocal EnableExtensions EnableDelayedExpansion +REM ========================================== +REM Configuration +REM ========================================== chcp 65001 >nul -REM Paths and settings +REM Move to project root cd /d "%~dp0.." set "PROJECT_DIR=%CD%\" + set "DIST_DIR=%PROJECT_DIR%docs\.vuepress\dist" +set "CACHE_DIR=%PROJECT_DIR%docs\.vuepress\.cache" +set "TEMP_DIR=%PROJECT_DIR%docs\.vuepress\.temp" set "PUBLISH_DIR=%PROJECT_DIR%_publish" set "REMOTE_URL=https://gitea.simengweb.com/si-meng-spec/build_notes_simengweb.git" set "BRANCH=main" +REM High memory limit for better performance/stability (8GB) +set "NODE_OPTIONS=--max-old-space-size=8192" + REM Args -set "LIGHT_FLAG=%~1" -set "COMMIT_MSG=%~2" +set "COMMIT_MSG=%~1" +if "%COMMIT_MSG%"=="" set "COMMIT_MSG=Build: %DATE% %TIME%" -echo [Info] Working dir: %PROJECT_DIR% +echo ========================================== +echo Start Build and Publish +echo Project Dir: %PROJECT_DIR% +echo Memory Limit: 8192 MB +echo ========================================== -REM Pre-checks -where npm >nul 2>&1 -if errorlevel 1 goto :npm_missing -where git >nul 2>&1 -if errorlevel 1 goto :git_missing +REM ========================================== +REM 1. Cleanup +REM ========================================== +echo [1/5] Cleaning up old artifacts... -REM Install deps on first run -if not exist "%PROJECT_DIR%node_modules" ( - echo [Info] Installing deps ^(npm ci^)... - call npm ci - if errorlevel 1 goto :fail -) else ( - echo [Info] node_modules exists, skip install. +if exist "%DIST_DIR%" ( + echo - Removing %DIST_DIR% + rd /s /q "%DIST_DIR%" +) +if exist "%CACHE_DIR%" ( + echo - Removing %CACHE_DIR% + rd /s /q "%CACHE_DIR%" +) +if exist "%TEMP_DIR%" ( + echo - Removing %TEMP_DIR% + rd /s /q "%TEMP_DIR%" +) +REM Clean node_modules for a fresh install every time (Ensures clean state) +if exist "%PROJECT_DIR%node_modules" ( + echo - Removing node_modules (Fresh Install Mode) + rd /s /q "%PROJECT_DIR%node_modules" ) -REM Light build mode -if /I "%LIGHT_FLAG%"=="light" ( - set "LIGHT_BUILD=1" - echo [Info] LIGHT_BUILD=1 enabled +REM ========================================== +REM 2. Install Dependencies +REM ========================================== +echo [2/5] Installing dependencies (npm ci)... +call npm ci +if %ERRORLEVEL% NEQ 0 ( + echo [Error] npm ci failed. + exit /b 1 ) -set "NODE_OPTIONS=--max-old-space-size=4096" - -echo [Info] Building docs... +REM ========================================== +REM 3. Build +REM ========================================== +echo [3/5] Building docs... call npm run docs:build -if errorlevel 1 goto :fail - -if not exist "%DIST_DIR%" goto :no_dist - -REM Prepare publish repo -if not exist "%PUBLISH_DIR%\.git" ( - echo [Info] Cloning publish repo... - git clone "%REMOTE_URL%" "%PUBLISH_DIR%" - if errorlevel 1 goto :fail -) else ( - echo [Info] Updating publish repo... - pushd "%PUBLISH_DIR%" - git fetch --all - if errorlevel 1 goto :gitfail - git checkout "%BRANCH%" - if errorlevel 1 goto :gitfail - git reset --hard "origin/%BRANCH%" - if errorlevel 1 goto :gitfail - popd +if %ERRORLEVEL% NEQ 0 ( + echo [Error] Build failed. + exit /b 1 ) -echo [Info] Cleaning publish directory ^(keep .git^)... +if not exist "%DIST_DIR%" ( + echo [Error] Dist directory not found after build. + exit /b 1 +) + +REM ========================================== +REM 4. Prepare Publish Directory +REM ========================================== +echo [4/5] Preparing publish directory... + +if not exist "%PUBLISH_DIR%\.git" ( + echo - Cloning publish repo... + if exist "%PUBLISH_DIR%" rd /s /q "%PUBLISH_DIR%" + git clone "%REMOTE_URL%" "%PUBLISH_DIR%" + if !ERRORLEVEL! NEQ 0 exit /b 1 +) else ( + echo - Updating publish repo... + pushd "%PUBLISH_DIR%" + git fetch --all + git checkout "%BRANCH%" + git reset --hard "origin/%BRANCH%" + popd +) + +echo - Cleaning publish directory content (preserving .git)... pushd "%PUBLISH_DIR%" for /f "delims=" %%F in ('dir /a /b') do ( if /I not "%%F"==".git" ( @@ -76,58 +110,40 @@ for /f "delims=" %%F in ('dir /a /b') do ( ) popd -echo [Info] Copying dist to publish... +echo - Copying new build artifacts... robocopy "%DIST_DIR%" "%PUBLISH_DIR%" *.* /E /NFL /NDL /NP /NJH /NJS >nul -if errorlevel 8 goto :fail +if %ERRORLEVEL% GEQ 8 ( + echo [Error] Robocopy failed. + exit /b 1 +) +REM ========================================== +REM 5. Push to Remote +REM ========================================== +echo [5/5] Pushing changes... pushd "%PUBLISH_DIR%" + if defined GIT_USERNAME git config user.name "%GIT_USERNAME%" if defined GIT_EMAIL git config user.email "%GIT_EMAIL%" git add -A - -if "%COMMIT_MSG%"=="" set "COMMIT_MSG=Build: %DATE% %TIME%" - -set "HAS_CHANGES=1" git diff --cached --quiet -if not errorlevel 1 set "HAS_CHANGES=0" - -if "%HAS_CHANGES%"=="0" ( - echo [Info] No changes to commit; skipping push. +if %ERRORLEVEL% EQU 0 ( + echo [Info] No changes to commit. ) else ( - git commit -m "%COMMIT_MSG%" - if errorlevel 1 ( - popd - goto :fail - ) - git push origin "%BRANCH%" - if errorlevel 1 ( - popd - goto :fail - ) - echo [Info] Pushed to %REMOTE_URL% ^(branch %BRANCH%^). + git commit -m "%COMMIT_MSG%" + echo - Pushing to %BRANCH%... + git push origin "%BRANCH%" + if !ERRORLEVEL! NEQ 0 ( + echo [Error] Git push failed. + popd + exit /b 1 + ) + echo [Success] Pushed successfully. ) popd -echo [Success] Build and publish done. +echo ========================================== +echo All Done! +echo ========================================== exit /b 0 - -:npm_missing -echo [ERROR] npm not found. Please install Node.js. -goto :fail - -:git_missing -echo [ERROR] git not found. Please install Git. -goto :fail - -:no_dist -echo [ERROR] Dist directory not found: %DIST_DIR% -goto :fail - -:gitfail -echo [ERROR] Git operation failed. -popd -goto :fail - -:fail -exit /b 1 \ No newline at end of file From 2cf5142b0e7c26a05df9fe5949dfc29a60b5b116 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Wed, 17 Dec 2025 13:45:38 +0800 Subject: [PATCH 8/9] =?UTF-8?q?docs:=20=E5=88=A0=E9=99=A4=E8=BF=87?= =?UTF-8?q?=E6=97=B6=E7=9A=84BRICS2025=E7=AB=9E=E8=B5=9B=E6=A0=B7=E9=A2=98?= =?UTF-8?q?=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/blog/competition/BRICS2025-ST-132.md | 149 ---------------------- 1 file changed, 149 deletions(-) delete mode 100644 docs/blog/competition/BRICS2025-ST-132.md diff --git a/docs/blog/competition/BRICS2025-ST-132.md b/docs/blog/competition/BRICS2025-ST-132.md deleted file mode 100644 index 04f780f..0000000 --- a/docs/blog/competition/BRICS2025-ST-132.md +++ /dev/null @@ -1,149 +0,0 @@ ---- -title: 2025 一带一路金砖 - 区块链应用开发与运维 样题详解 -createTime: 2025/09/30 19:57:14 -permalink: /article/2025-BR-BRICS-BC-App-Develop-Op-Sample-Q&A/ -password: simeng ---- - -## 第一部分:区块链平台运维 -### 第1题:完成 FISCO BCOS 区块链系统部署并验证 -**【要求】** - -登录 Linux 服务器,完成节点部署、启动、将过程结果截图,保存至做答题并点击提交。 - -**【任务】** - -登录 Linux 服务器,进入指定操作目录(/root/tools)基于开发部署工具 build_chain.sh 脚本在本地搭建一条 4 节点的 FISCO BCOS 链。起始端口号为:30300,20200,8545。将节点 2 的端口号改为 30500,20400,8675。确保搭建的区块链系统能正常运行,并将执行的命令和完整的命令执行结果截图保存至作答区并点击提交。具体任务如下: - -**【参考答案】** - -使用 build_chain.sh 脚本搭建 FISCO BCOS 链: - -默认的 -v 会从网络中下载 FISCO BCOS,这里本地已经有了,比赛的时候肯定是断网的,这里直接调用本地的即可 -```shell -bash build_chain.sh -l "127.0.0.1:4" -p 30300,20200,8545 -e ./fisco-bcos -``` -![配置默认单机4节点](https://image.simengweb.com/blog/competition/BRICS2025-ST-132/20250930201715_253_27.png) -在创建完成之后,当前目录会出现一个 nodes 文件夹,这里面就是我们的每个节点的具体配置信息等等 - -这里推荐下载一个 tree 用来查看目录结构 -```shell -apt install tree -tree nodes -``` -目录结构应该大概如下: -``` -nodes -├── 127.0.0.1 -│ ├── node0 -│ │ ├── ... -│ ├── node1 -│ │ ├── ... -│ ├── node2 -│ │ ├── ... -│ ├── node3 -│ │ ├── ... -``` -每个 node 文件夹都包含 `conf/`(配置文件),`log/`(日志文件),`fisco-bcos/`(二进制副本) - -修改节点2的端口,根据要求修改为 30500,20400,8675 - -编辑配置文件:`vim nodes/127.0.0.1/node2/config.ini` - -```bash -[rpc] - channel_listen_ip=0.0.0.0 - channel_listen_port=20202 # [!code --] - channel_listen_port=20400 # [!code ++] - jsonrpc_listen_ip=127.0.0.1 - jsonrpc_listen_port=8547 # [!code --] - jsonrpc_listen_port=8675 # [!code ++] - disable_dynamic_group=false -[p2p] - listen_ip=0.0.0.0 - listen_port=30302 # [!code --] - listen_port=30500 # [!code ++] - ; nodes to connect - node.0=127.0.0.1:30300 - node.1=127.0.0.1:30301 - node.2=127.0.0.1:30302 # [!code --] - node.2=127.0.0.1:30500 # [!code ++] - node.3=127.0.0.1:30303 -``` -不光节点2的 \[p2p\] 的 `node.2` 需要修改,其他几个节点的都需要进行修改 - -切换到 `nodes/127.0.0.1/` 目录下,通过 `bash start_all.sh` 启动所有节点 - -![启动所有节点](https://image.simengweb.com/blog/competition/BRICS2025-ST-132/20250930205309_254_27.png) - -验证端口是否生效:`ss -tuln | grep -E '30500|20400|8675'` - -预期输出如下: - -```bash -tcp LISTEN 0 4096 127.0.0.1:8675 0.0.0.0:* -tcp LISTEN 0 4096 0.0.0.0:30500 0.0.0.0:* -tcp LISTEN 0 4096 0.0.0.0:20400 0.0.0.0:* -``` - - -主要参考文章如下: - -1. [搭建第一个区块链网络](https://fisco-doc.readthedocs.io/zh/latest/docs/installation.html) -2. [开发部署工具(build_chain.sh)](https://fisco-bcos-documentation.readthedocs.io/zh-cn/latest/docs/manual/build_chain.html) - -### 第2题:按要求完成WeBASE-Node-Manager的安装与部署 -**【要求】** - -登录 Linux 服务器,部署节点管理平台,并将部署、启动、应用过程结果截图,保存至作答区并点击提交。 - -**【任务】** - -登录 linux 服务器,进入指定操作目录(/root/tools/webase)中完成区块链一体化管理平台的配置部署,并检查是否安装成功,具体操作任务如下: -1. 进入 WeBASE-Node-Manager 目录,完成数据库初始化操作; -2. 修改 application.yml 配置文件,进行 WeBASE-Node-Manager 的服务配置,包括数据库名称,数据库用户,数据库密码等; -3. 使用命令启动 WeBASE-Node-Manager 管理平台服务,并检查节点管理是否正常启动; -4. 使用 swagger 对节点管理服务的 API 接口测试。 - -**【参考答案】** - -切换到 WeBASE-Front 目录下,将 `dist/conf_template` 配置文件目录复制一份作为配置文件,命名为 `dist/conf` -```bash -# 当前工作目录为:/home/simeng/blockchain/WeBASE-Front -cp -r dist/conf_template dist/conf -``` - -将节点所在目录 `nodes/{$ip}/sdk` 下的所有文件拷贝到当前的 `dist/conf` 目录下 -```bash -cp ../nodes/127.0.0.1/sdk/* ./dist/conf/ -``` - -编辑配置文件 : `vim dist/conf/application.yml` -```bash - -``` - -配置环境变量 JAVA_HOME -编辑配置文件:`~/.bashrc`,添加如下内容 -```bash -export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-amd64" -export PATH=$JAVA_HOME/bin:$PATH -``` -刷新环境变量 -```bash -source ~/.bashrc -``` - -切换到 `dist` 目录下,拉取 Solidity 开发工具 v0.8.11.js(这一步可能会很慢,建议直接把 v0.8.11.js 下载到本地,然后直接放到对应目录,WSL2 的机器是直接挂载在 Windows 上的,Windows 可以直接操作) -```bash -wget https://github.com/WeBankBlockchain/WeBASELargeFiles/releases/download/v3.0.0/v0.8.11.js -O static/static/js/v0.8.11.js -``` - -运行 `bash start.sh` 启动 WeBASE-Node-Manager 管理平台服务 -```bash -# 当前工作目录为:/home/simeng/blockchain/WeBASE-Front/dist -bash start.sh -``` - -由于 localhostForwarding 机制(具体参考:[配置WSL2资源](https://notes.simengweb.com/article/operate-wsl2/#%E7%BD%91%E7%BB%9C%E7%9B%B8%E5%85%B3%E9%85%8D%E7%BD%AE)),我们可以直接通过localhost来访问WSL2容器的端口的服务 -访问:[http://localhost:5002/WeBASE-Front](http://localhost:5002/WeBASE-Front) From a89746e0e8cdd32da285aa5f2080c0c91a9ea63a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=A5=80=E6=A2=A6?= <3501646051@qq.com> Date: Sun, 21 Dec 2025 13:39:08 +0800 Subject: [PATCH 9/9] =?UTF-8?q?docs(about):=20=E6=9B=B4=E6=96=B0=E5=85=B3?= =?UTF-8?q?=E4=BA=8E=E9=A1=B5=E9=9D=A2=E7=9A=84=E5=86=85=E5=AE=B9=E5=92=8C?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 重构关于页面内容,增加个人介绍和技术栈的详细信息,优化整体结构使其更清晰易读。更新个人项目链接和联系方式,并添加网站成长记录的时间线。 --- docs/about.md | 62 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 42 insertions(+), 20 deletions(-) diff --git a/docs/about.md b/docs/about.md index f95c912..8dcd77c 100644 --- a/docs/about.md +++ b/docs/about.md @@ -1,5 +1,5 @@ --- -title: 关于祀梦的花园 +title: 关于祀梦与他的花园 description: 这里是爱与回忆的小世界~ hideInBlogList: true article: false @@ -7,37 +7,59 @@ createTime: 2024/10/29 12:30:00 permalink: /about/ --- -# 👋 这里是祀梦的小窝! +# 👋 嗨呀!这里是祀梦的小窝~ -嗨~ 欢迎来到祀梦的个人博客,这是我在这个小站发布的第一篇文章哦~ (✧ω✧) +欢迎来到我的数字花园!这里不仅是笔记的存放处,更是我思维流转、技术成长与生活感悟的小小交汇点。希望能在这里和你分享温暖与美好~ (๑>◡<๑) -## 关于站长我呀~ 🌸 +## 🏗️ 正在努力构建的未来~ -我是祀梦,现在在上海某大专读书,是个可爱的男孩子~ 目前是信息安全专业的学生,但是超——级喜欢编程!(๑•̀ㅂ•́)و✧ +目前我是一名大三的学生,主修**信息安全**专业。虽然专业背景在“守”,但我对“建”有着更浓厚的兴趣呢! -## 我的兴趣爱好~ 🌈 +- **职业坐标**:目前正全力投入**后端开发**的学习中,正在努力准备实习,期待能在真实的代码世界里磨砺自己,成为厉害的后端大牛!(๑•̀ㅂ•́)و✧ +- **技术理念**:我崇尚简洁、高效的代码,同时也相信技术的最终目的是为了传递温暖和解决问题。 -我喜欢好多好多东西呀!编程、摄像、美食、旅游,还有画画~ 假期闲下来的时候,我会画一些自己喜欢的角色呢!(๑˘ᴗ˘๑) +## 🪴 为什么会有这个“花园”? -## 技术方面~ 💻 +你可能会发现这个站点的结构非常清晰(或者说,我在努力让它变得整齐一些~)。 -在技术方面,Python 是我最熟练的编程语言,Java 和 C 也懂一些,前后端开发和 Linux 运维我也会一点哦~ 虽然什么都感兴趣,什么都想学,但是总觉得自己不够聪明,学杂而不精呢... (╥ω╥) +在 2025 年末,我决定将原有的博客迁移到这个新家。原因很简单:**我需要一个更具结构化的空间来安放我的笔记**。从密码学理论到后端开发实战,从英语四级备考到算法练习,我希望知识能够像小植物一样,在合适的土壤里有序生长,方便自己翻阅,也能给路过的你一点点参考呀~ 🌸 -## 为什么叫"祀梦"? 🌙 +## 🚀 个人项目展示~ -这个名字的由来超有趣!初中的时候我很喜欢写小说,"祀梦"是我其中一本小书的主角名字~ 当时我的初中同学聊天的时候说这个名字很好听,我就一直沿用下来啦!(๑´ㅂ`๑) +除了这个笔记站,我还维护着以下这些心血之作: -## 联系方式~ 📱 +- [**祀梦的个人博客**](https://blog.simengweb.com/):我的感性领地,记录着生活故事与长长的技术思考。 +- [**算法练习平台**](https://algorithmplatform.simengweb.com/):为了提升算法能力而开发的小平台,欢迎来一起刷题呀!(≧∇≦)ノ -如果您在网页访问过程中遇到什么问题,或者想要交个朋友的话,欢迎随时来找我玩哦~ -- 邮箱:meng_si@proton.me -- B站:[66ccff色的薰依草](https://space.bilibili.com/361714249) +## 🛠️ 祀梦的小技能树~ (〃'▽'〃) -## 网站的成长记录~ 📝 +虽然总觉得自己学得杂杂的,但每一项技能都是我用心收集的“宝藏”哦! -- 2025年12月15日:将原先的博客网站迁移到了这个小站 -- 2025年09月21日:部署完网站 +- **常用的魔法咒语**:Python (最熟练啦~), C++, Java, Solidity, JavaScript +- **探索过的奇幻领地**:后端开发、信息安全、区块链运维、Linux 系统管理 (。・ω・。) +- **随身携带的口袋工具**:Docker, Git, WSL2, Hardhat -## 写在最后~ 💌 +## 📸 生活的彩色一角 -很早之前我就总是喜欢写点东西,但是又不敢发到大的平台上,做一个属于自己的互联网小窝感觉真的超——级棒!希望大家能在这里找到有用的内容,也欢迎大家常来玩哦~ (づ ̄ 3 ̄)づ \ No newline at end of file +在代码之外,我的世界也是五颜六色的: + +- **超棒的朋友**:首页提到的“小小夏”是我非常要好的朋友。我们共同守护着这个数字花园的宁静。 +- **我的小爱好**:我热爱摄像、美食与旅游。假期闲下来的时候,也会拿起画笔,勾勒出心里的角色呢~ (๑˘ᴗ˘๑) +- **关于我呀**:一个喜欢美好事物、偶尔有点小社恐、但在技术面前总能保持好奇心的男孩子。 + +## 🕰️ 网站的成长足迹 + +- **2025-12-15**:完成结构化迁移,给笔记们找了个舒服的新家。 +- **2025-09-21**:笔记站初次部署。 +- **2024-10-29**:在这个小站写下了第一段关于花园的文字。 + +## 💌 找我玩呀~ + +如果你对我的项目感兴趣,或者只是想聊聊技术与生活,欢迎随时联系: + +- **邮箱**:[meng_si@proton.me](mailto:meng_si@proton.me) +- **B站**:[66ccff色的薰依草](https://space.bilibili.com/361714249) + +--- + +> “在每一个文字里,都承载着温暖与美好。” 🌸 \ No newline at end of file