From f7b6c78a10df090df558f2141a310bda05e7a03f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B8=A1=E5=8F=A3=E6=B5=AA=E4=BA=BA?= Date: Sun, 18 Oct 2026 13:35:10 +0800 Subject: [PATCH] fix: standardize brand capitalization as PIGWay --- NOTICE.md | 2 +- README.md | 4 ++-- README.zh-CN.md | 2 +- deploy/Dockerfile.runtime-update | 2 +- docs/REAL_DEVICE_TEST.md | 2 +- docs/openapi.json | 4 ++-- docs/releases/v0.1.5.md | 2 +- docs/releases/v0.1.6.md | 2 +- docs/releases/v0.1.7.md | 2 +- docs/releases/v0.1.8.md | 2 +- pigway_frame_flow/api/app.py | 4 ++-- pigway_frame_flow/models.py | 2 +- pigway_frame_flow/web/app.js | 2 +- pigway_frame_flow/web/index.html | 4 ++-- 14 files changed, 18 insertions(+), 18 deletions(-) diff --git a/NOTICE.md b/NOTICE.md index d0a5867..73e7735 100644 --- a/NOTICE.md +++ b/NOTICE.md @@ -1,6 +1,6 @@ # Notices -Pigway Frame Flow is an independent project. KoKonna is a supported device +PIGWay Frame Flow is an independent project. KoKonna is a supported device integration and is not affiliated with this project unless otherwise stated. KoKonna names and marks belong to their respective owners. diff --git a/README.md b/README.md index de84de4..85914c2 100644 --- a/README.md +++ b/README.md @@ -1,8 +1,8 @@ -# Pigway Frame Flow +# PIGWay Frame Flow [简体中文](README.zh-CN.md) | English -Pigway Frame Flow is a lightweight, self-hosted platform for programmable smart-frame automation. It runs independently on a NAS or server, with its own Web UI, image library, rendering, scheduler and REST API. KoKonna is a supported device integration; external applications do not need its credentials or SDK. +PIGWay Frame Flow is a lightweight, self-hosted platform for programmable smart-frame automation. It runs independently on a NAS or server, with its own Web UI, image library, rendering, scheduler and REST API. KoKonna is a supported device integration; external applications do not need its credentials or SDK. ### Installation diff --git a/README.zh-CN.md b/README.zh-CN.md index 317b73a..22e0022 100644 --- a/README.zh-CN.md +++ b/README.zh-CN.md @@ -1,4 +1,4 @@ -# Pigway Frame Flow +# PIGWay Frame Flow 简体中文 | [English](README.md) diff --git a/deploy/Dockerfile.runtime-update b/deploy/Dockerfile.runtime-update index 8dc7a7e..99a937c 100644 --- a/deploy/Dockerfile.runtime-update +++ b/deploy/Dockerfile.runtime-update @@ -29,4 +29,4 @@ CMD ["python", "-m", "uvicorn", "pigway_frame_flow.main:app", "--host", "0.0.0.0 ARG BUILD_COMMIT ARG BUILD_TIME ENV BUILD_COMMIT=$BUILD_COMMIT BUILD_TIME=$BUILD_TIME -LABEL org.opencontainers.image.title="Pigway Frame Flow" org.opencontainers.image.version="0.1.15" org.opencontainers.image.revision=$BUILD_COMMIT +LABEL org.opencontainers.image.title="PIGWay Frame Flow" org.opencontainers.image.version="0.1.15" org.opencontainers.image.revision=$BUILD_COMMIT diff --git a/docs/REAL_DEVICE_TEST.md b/docs/REAL_DEVICE_TEST.md index 6855a30..2a59e23 100644 --- a/docs/REAL_DEVICE_TEST.md +++ b/docs/REAL_DEVICE_TEST.md @@ -9,7 +9,7 @@ duplicates, name/date/dimensions anomalies. No download-all action. 3. Stop on discrepancy. Missing model fields must be reported as unavailable. 4. Once explicitly authorized, locally render **one** 1200×1600 test image containing - PIGWAY FRAME FLOW TEST and Shanghai timestamp, no private content. + PIGWay Frame Flow TEST and Shanghai timestamp, no private content. 5. Record an operation ID and previous image; one upload only, no write retries. 6. Poll device read-only no more often than 60 seconds, respecting the 20/min budget. Confirm imageId and synced. If sent but response lost, mark UNKNOWN, block writes, diff --git a/docs/openapi.json b/docs/openapi.json index 29a22f5..de7fcad 100644 --- a/docs/openapi.json +++ b/docs/openapi.json @@ -1,7 +1,7 @@ { "openapi": "3.1.0", "info": { - "title": "Pigway Frame Flow API", + "title": "PIGWay Frame Flow API", "version": "0.1.9" }, "paths": { @@ -17409,7 +17409,7 @@ "product": { "type": "string", "title": "Product", - "default": "Pigway Frame Flow" + "default": "PIGWay Frame Flow" }, "version": { "type": "string", diff --git a/docs/releases/v0.1.5.md b/docs/releases/v0.1.5.md index 499b457..a6850cb 100644 --- a/docs/releases/v0.1.5.md +++ b/docs/releases/v0.1.5.md @@ -1,4 +1,4 @@ -# Pigway Frame Flow v0.1.5 +# PIGWay Frame Flow v0.1.5 ## 简体中文 diff --git a/docs/releases/v0.1.6.md b/docs/releases/v0.1.6.md index 34dba10..9e2e147 100644 --- a/docs/releases/v0.1.6.md +++ b/docs/releases/v0.1.6.md @@ -1,4 +1,4 @@ -# Pigway Frame Flow v0.1.6 +# PIGWay Frame Flow v0.1.6 ## 简体中文 diff --git a/docs/releases/v0.1.7.md b/docs/releases/v0.1.7.md index dd6dae0..0c09bfd 100644 --- a/docs/releases/v0.1.7.md +++ b/docs/releases/v0.1.7.md @@ -1,4 +1,4 @@ -# Pigway Frame Flow v0.1.7 +# PIGWay Frame Flow v0.1.7 ## 简体中文 diff --git a/docs/releases/v0.1.8.md b/docs/releases/v0.1.8.md index 25532e1..e066944 100644 --- a/docs/releases/v0.1.8.md +++ b/docs/releases/v0.1.8.md @@ -1,4 +1,4 @@ -# Pigway Frame Flow v0.1.8 +# PIGWay Frame Flow v0.1.8 增加 NAS 本地图库反选、放大总览图片,并统一图片查看器与界面表达。 diff --git a/pigway_frame_flow/api/app.py b/pigway_frame_flow/api/app.py index a2bc1a2..b3e8f6f 100644 --- a/pigway_frame_flow/api/app.py +++ b/pigway_frame_flow/api/app.py @@ -124,7 +124,7 @@ def create_app(settings=None, start_worker=True): for code in [400, 401, 403, 404, 409, 413, 422, 429, 500, 502, 503] } app = FastAPI( - title="Pigway Frame Flow API", + title="PIGWay Frame Flow API", docs_url=None, version="0.1.15", lifespan=lifespan, @@ -1262,7 +1262,7 @@ def create_app(settings=None, start_worker=True): def api_docs(): response = get_swagger_ui_html( openapi_url="/openapi.json", - title="Pigway Frame Flow · API Docs", + title="PIGWay Frame Flow · API Docs", swagger_js_url="/ui/swagger-ui-bundle.js", swagger_css_url="/ui/swagger-ui.css", swagger_favicon_url='data:image/svg+xml,', diff --git a/pigway_frame_flow/models.py b/pigway_frame_flow/models.py index 4b53358..7e26a85 100644 --- a/pigway_frame_flow/models.py +++ b/pigway_frame_flow/models.py @@ -395,7 +395,7 @@ class RestoreRequest(StrictModel): class Version(BaseModel): - product: str = "Pigway Frame Flow" + product: str = "PIGWay Frame Flow" version: str = "0.1.15" api_version: str = "v1" commit: str = "development" diff --git a/pigway_frame_flow/web/app.js b/pigway_frame_flow/web/app.js index e512721..4f53393 100644 --- a/pigway_frame_flow/web/app.js +++ b/pigway_frame_flow/web/app.js @@ -149,7 +149,7 @@ const views={ function jobPayload(j,changes={}){return {name:j.name,enabled:j.enabled,device_id:j.device_id,schedule:j.schedule,source:j.source,display_duration:j.display_duration,restore_previous:j.restore_previous,priority:j.priority,cleanup_unstarred:j.cleanup_unstarred||false,...changes};} async function playlistEditor(p){p=p||{name:'',image_ids:[],interval_minutes:60,mode:'queue',enabled:false};showModal(`

${t('playlists')}

`);$('#playlist-form').onsubmit=busy(async e=>{e.preventDefault();await api('/api/v1/playlists'+(p.id?'/'+p.id:''),{method:p.id?'PUT':'POST',body:{name:$('#playlist-name').value,device_id:p.device_id||state.device,image_ids:$('#playlist-images').value.split(',').map(x=>Number(x.trim())),interval_minutes:Number($('#playlist-interval').value),mode:$('#playlist-mode').value,enabled:$('#playlist-enabled').checked}});$('#modal').close();await navigate();});await playlistImagePicker(p);} $('#lang').onclick=()=>{state.lang=state.lang==='zh'?'en':'zh';localStorage.setItem('ff-language',state.lang);navigate();};$('#theme').onclick=()=>{state.theme=document.documentElement.dataset.theme==='dark'?'light':'dark';localStorage.setItem('ff-theme',state.theme);applyTheme();};$('#device').onchange=()=>{state.device=$('#device').value;navigate();};window.addEventListener('hashchange',()=>{const page=location.hash.slice(1);if(page!==state.page)navigate(page);});matchMedia('(prefers-color-scheme:dark)').addEventListener('change',applyTheme); -applyTheme();shell();localStorage.removeItem('ff-login');(async()=>{try{const account=await api('/api/v1/auth/me');state.token=account.username;state.csrf=account.csrf_token;await loadConnection();}catch{forgetLogin();}await navigate();})();api('/api/v1/version').then(v=>$('#footer').innerHTML=`Pigway Frame Flow · ${t('footer')}v${esc(v.version)} · ${esc(v.commit.slice(0,8))} · ${esc(v.build_time)}`).catch(()=>{}); +applyTheme();shell();localStorage.removeItem('ff-login');(async()=>{try{const account=await api('/api/v1/auth/me');state.token=account.username;state.csrf=account.csrf_token;await loadConnection();}catch{forgetLogin();}await navigate();})();api('/api/v1/version').then(v=>$('#footer').innerHTML=`PIGWay Frame Flow · ${t('footer')}v${esc(v.version)} · ${esc(v.commit.slice(0,8))} · ${esc(v.build_time)}`).catch(()=>{}); setInterval(()=>{if(state.token&&state.page==='dashboard'&&!$('#modal').open)navigate();},60000); // Keep Cron available for exceptional schedules, but make ordinary schedules form-based. diff --git a/pigway_frame_flow/web/index.html b/pigway_frame_flow/web/index.html index 54a71eb..1608b0d 100644 --- a/pigway_frame_flow/web/index.html +++ b/pigway_frame_flow/web/index.html @@ -1,3 +1,3 @@ -Pigway Frame Flow -
PIGWAY FRAME FLOW

+PIGWay Frame Flow +
PIGWay Frame Flow