@apprun/shiqu 0.6.5 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/NOTICE +5 -2
  2. package/README.md +71 -106
  3. package/data/export-fonts/NotoSansCJKsc-Regular.otf +0 -0
  4. package/data/export-fonts/OFL.txt +92 -0
  5. package/data/export-fonts/README.md +8 -0
  6. package/dist/client/assets/{es-B0vSJwvP.js → es-uh-GOicn.js} +1 -1
  7. package/dist/client/assets/index-BIsu-Bxs.js +17 -0
  8. package/dist/client/assets/index-DRwygcbT.css +1 -0
  9. package/dist/client/assets/reader-pdf-B-dCuB6F.js +4 -0
  10. package/dist/client/assets/reader-png-B1iE7LNk.js +1 -0
  11. package/dist/client/assets/reader-zip-kwzPi4VM.js +16 -0
  12. package/dist/client/index.html +2 -2
  13. package/dist/client/offline.html +3 -1
  14. package/dist/client/sw.js +1 -1
  15. package/dist/server/cli.js +6627 -3682
  16. package/docker/seed.sql +1 -5
  17. package/drizzle/0012_generation_authorization.sql +111 -0
  18. package/drizzle/0013_reader_state_transitions.sql +132 -0
  19. package/drizzle/0014_reader_input_identity.sql +2 -0
  20. package/drizzle/0015_image_fault_checkpoints.sql +28 -0
  21. package/drizzle/0016_legacy_input_faults.sql +2 -0
  22. package/drizzle/0017_command_receipt_links.sql +51 -0
  23. package/drizzle/0018_consolidate_story_storage.sql +13 -0
  24. package/drizzle/0019_refuse_pre_consolidation_apps.sql +9 -0
  25. package/package.json +10 -1
  26. package/skills/shiqu/SKILL.md +72 -0
  27. package/dist/client/assets/index-B0URXv2Q.css +0 -1
  28. package/dist/client/assets/index-y4BxCnhg.js +0 -17
  29. package/dist/client/assets/reader-pdf-AMLMoode.js +0 -4
  30. package/dist/client/assets/reader-png-UKUNKgFB.js +0 -1
  31. package/dist/client/assets/reader-zip-CYrTAeJC.js +0 -16
@@ -1,4 +1,6 @@
1
- <!doctype html><html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#193f35"><title>拾趣 · 离线书架</title><link rel="icon" href="/icon.svg"><style>*{box-sizing:border-box}body{margin:0;background:#f6f3ec;color:#25372f;font:15px/1.7 system-ui,sans-serif}header,main{max-width:660px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd8cc}a{color:inherit}h1,h2{font-family:serif}h1{font-size:26px;margin:24px 0 8px}p{color:#7b8074}button{border:1px solid #d4d7cb;background:transparent;color:#193f35;padding:12px 18px;border-radius:8px;cursor:pointer;font:inherit}button.primary{background:#193f35;color:white}button:disabled{opacity:.4}article{margin:20px 0;padding:18px;border:1px solid #dcdccf;border-radius:12px;display:flex;gap:18px;align-items:center}article img{width:90px;border-radius:5px}article h2{font-size:20px;margin:0}article small{color:#7b8074}.caption{white-space:pre-line;font:600 25px/1.6 serif;margin:0;padding:26px 22px;background:#fffdf8;color:#233a31}.picture{display:block;width:100%}.foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.foot small{color:#7b8074}audio{width:100%;margin-top:10px}.fine{font-size:12px}#clear{margin-top:22px}.ending{background:#e9eddf;padding:24px;border-radius:10px}</style></head><body><header><strong>拾趣 <small> / 离线书架</small></strong><a href="/read">返回在线</a></header><main id="app"></main><script>
1
+ <!doctype html>
2
+ <!-- Standalone cached bookshelf and reader; external story discovery requires an internet connection. -->
3
+ <html lang="zh-CN"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><meta name="theme-color" content="#193f35"><title>拾趣 · 离线书架</title><link rel="icon" href="/icon.svg"><style>*{box-sizing:border-box}body{margin:0;background:#f6f3ec;color:#25372f;font:15px/1.7 system-ui,sans-serif}header,main,footer{max-width:660px;margin:auto;padding:24px}header{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ddd8cc}a{color:inherit}h1,h2{font-family:serif}h1{font-size:26px;margin:24px 0 8px}p{color:#7b8074}button{border:1px solid #d4d7cb;background:transparent;color:#193f35;padding:12px 18px;border-radius:8px;cursor:pointer;font:inherit}button.primary{background:#193f35;color:white}button:disabled{opacity:.4}article{margin:20px 0;padding:18px;border:1px solid #dcdccf;border-radius:12px;display:flex;gap:18px;align-items:center}article img{width:90px;border-radius:5px}article h2{font-size:20px;margin:0}article small{color:#7b8074}.caption{white-space:pre-line;font:600 25px/1.6 serif;margin:0;padding:26px 22px;background:#fffdf8;color:#233a31}.picture{display:block;width:100%}.foot{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:20px 0}.foot small{color:#7b8074}audio{width:100%;margin-top:10px}.fine{font-size:12px}#clear{margin-top:22px}.ending{background:#e9eddf;padding:24px;border-radius:10px}</style></head><body><header><strong>拾趣 <small> / 离线书架</small></strong><a href="/read">返回在线</a></header><main id="app"></main><footer><a href="https://yysun.github.io/awesome-shiqu/" target="_blank" rel="noopener noreferrer">在线阅读拾趣好故事 →</a><p class="fine">需要联网 · awesome-shiqu</p></footer><script>
2
4
  const app=document.querySelector('#app');let current=null,page=0;
3
5
  function el(tag,text,cls){const n=document.createElement(tag);if(text!==undefined)n.textContent=text;if(cls)n.className=cls;return n;}
4
6
  function button(text,action,cls){const b=el('button',text,cls);b.onclick=action;return b;}
package/dist/client/sw.js CHANGED
@@ -1,5 +1,5 @@
1
1
  // Refresh shell assets independently of the reader's explicitly saved offline stories.
2
- const SHELL='yiyu-shell-v9';
2
+ const SHELL='yiyu-shell-v10';
3
3
  const OFFLINE='yiyu-offline-v1';
4
4
  const ICONS=['/icon.svg','/shiqu-home-180.png','/shiqu-home-192.png','/shiqu-home-512.png'];
5
5
  self.addEventListener('install',event=>{event.waitUntil(caches.open(SHELL).then(cache=>cache.addAll(['/offline.html',...ICONS])).then(()=>self.skipWaiting()));});