diff options
| author | nsfisis <nsfisis@gmail.com> | 2026-02-25 23:36:44 +0900 |
|---|---|---|
| committer | nsfisis <nsfisis@gmail.com> | 2026-02-25 23:36:44 +0900 |
| commit | 2913b09233ac0c83143fb004896a7b1fec5fca99 (patch) | |
| tree | 1670bd8f0ddf9e03e681c494bdacec3b239c81cb | |
| parent | aa9c29c190ea8b15f6dbb1a38a1c554e1ade77b7 (diff) | |
| download | nsfisis.dev-main.tar.gz nsfisis.dev-main.tar.zst nsfisis.dev-main.zip | |
27 files changed, 49 insertions, 25 deletions
diff --git a/services/nuldoc/public/slides/slide.js b/services/nuldoc/public/slides/slide.js index 530bef77..db6f9c1e 100644 --- a/services/nuldoc/public/slides/slide.js +++ b/services/nuldoc/public/slides/slide.js @@ -66,6 +66,18 @@ async function init() { queueRenderPage(pageNum); }); + document.addEventListener("keydown", (e) => { + if (e.key === "ArrowLeft" || e.key === "h") { + if (pageNum <= 1) return; + pageNum--; + queueRenderPage(pageNum); + } else if (e.key === "ArrowRight" || e.key === "l") { + if (pageNum >= doc.numPages) return; + pageNum++; + queueRenderPage(pageNum); + } + }); + // TODO: error handling doc = await getDocument(url).promise; queueRenderPage(pageNum); diff --git a/services/nuldoc/public/slides/slides/2023-01-18/phpstudy-tokyo-148/index.html b/services/nuldoc/public/slides/slides/2023-01-18/phpstudy-tokyo-148/index.html index 434bc263..50d44b0d 100644 --- a/services/nuldoc/public/slides/slides/2023-01-18/phpstudy-tokyo-148/index.html +++ b/services/nuldoc/public/slides/slides/2023-01-18/phpstudy-tokyo-148/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-02-15/phpstudy-tokyo-149/index.html b/services/nuldoc/public/slides/slides/2023-02-15/phpstudy-tokyo-149/index.html index cfa0c164..914a3963 100644 --- a/services/nuldoc/public/slides/slides/2023-02-15/phpstudy-tokyo-149/index.html +++ b/services/nuldoc/public/slides/slides/2023-02-15/phpstudy-tokyo-149/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-03-15/phpstudy-tokyo-150/index.html b/services/nuldoc/public/slides/slides/2023-03-15/phpstudy-tokyo-150/index.html index 700d4b03..0f3d64f5 100644 --- a/services/nuldoc/public/slides/slides/2023-03-15/phpstudy-tokyo-150/index.html +++ b/services/nuldoc/public/slides/slides/2023-03-15/phpstudy-tokyo-150/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-03-24/phperkaigi-2023/index.html b/services/nuldoc/public/slides/slides/2023-03-24/phperkaigi-2023/index.html index 5060156d..7d79d46d 100644 --- a/services/nuldoc/public/slides/slides/2023-03-24/phperkaigi-2023/index.html +++ b/services/nuldoc/public/slides/slides/2023-03-24/phperkaigi-2023/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-03-25/phperkaigi-2023-tokens/index.html b/services/nuldoc/public/slides/slides/2023-03-25/phperkaigi-2023-tokens/index.html index 84eaf51b..da713846 100644 --- a/services/nuldoc/public/slides/slides/2023-03-25/phperkaigi-2023-tokens/index.html +++ b/services/nuldoc/public/slides/slides/2023-03-25/phperkaigi-2023-tokens/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-04-12/phpstudy-tokyo-151/index.html b/services/nuldoc/public/slides/slides/2023-04-12/phpstudy-tokyo-151/index.html index 8d5b1891..9c555526 100644 --- a/services/nuldoc/public/slides/slides/2023-04-12/phpstudy-tokyo-151/index.html +++ b/services/nuldoc/public/slides/slides/2023-04-12/phpstudy-tokyo-151/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-06-21/phpstudy-tokyo-153/index.html b/services/nuldoc/public/slides/slides/2023-06-21/phpstudy-tokyo-153/index.html index e20b28b6..c5f5c99d 100644 --- a/services/nuldoc/public/slides/slides/2023-06-21/phpstudy-tokyo-153/index.html +++ b/services/nuldoc/public/slides/slides/2023-06-21/phpstudy-tokyo-153/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-06-23/phpconfuk-2023-eve/index.html b/services/nuldoc/public/slides/slides/2023-06-23/phpconfuk-2023-eve/index.html index a6350f9c..e78c1ae8 100644 --- a/services/nuldoc/public/slides/slides/2023-06-23/phpconfuk-2023-eve/index.html +++ b/services/nuldoc/public/slides/slides/2023-06-23/phpconfuk-2023-eve/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-07-26/phpstudy-tokyo-154/index.html b/services/nuldoc/public/slides/slides/2023-07-26/phpstudy-tokyo-154/index.html index f7550d6d..0fe73ab1 100644 --- a/services/nuldoc/public/slides/slides/2023-07-26/phpstudy-tokyo-154/index.html +++ b/services/nuldoc/public/slides/slides/2023-07-26/phpstudy-tokyo-154/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-08-24/phpstudy-tokyo-155/index.html b/services/nuldoc/public/slides/slides/2023-08-24/phpstudy-tokyo-155/index.html index b6443936..eed59e13 100644 --- a/services/nuldoc/public/slides/slides/2023-08-24/phpstudy-tokyo-155/index.html +++ b/services/nuldoc/public/slides/slides/2023-08-24/phpstudy-tokyo-155/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2023-10-25/phpstudy-tokyo-157/index.html b/services/nuldoc/public/slides/slides/2023-10-25/phpstudy-tokyo-157/index.html index 4ef5bc14..197773d3 100644 --- a/services/nuldoc/public/slides/slides/2023-10-25/phpstudy-tokyo-157/index.html +++ b/services/nuldoc/public/slides/slides/2023-10-25/phpstudy-tokyo-157/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-01-24/phpstudy-tokyo-160/index.html b/services/nuldoc/public/slides/slides/2024-01-24/phpstudy-tokyo-160/index.html index b98423a1..877b81bf 100644 --- a/services/nuldoc/public/slides/slides/2024-01-24/phpstudy-tokyo-160/index.html +++ b/services/nuldoc/public/slides/slides/2024-01-24/phpstudy-tokyo-160/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-03-08/phperkaigi-2024/index.html b/services/nuldoc/public/slides/slides/2024-03-08/phperkaigi-2024/index.html index 5e22750e..ddb215eb 100644 --- a/services/nuldoc/public/slides/slides/2024-03-08/phperkaigi-2024/index.html +++ b/services/nuldoc/public/slides/slides/2024-03-08/phperkaigi-2024/index.html @@ -83,7 +83,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-03-15/ya8-2024/index.html b/services/nuldoc/public/slides/slides/2024-03-15/ya8-2024/index.html index 2214afb6..578077b3 100644 --- a/services/nuldoc/public/slides/slides/2024-03-15/ya8-2024/index.html +++ b/services/nuldoc/public/slides/slides/2024-03-15/ya8-2024/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-04-13/phpcon-odawara-2024/index.html b/services/nuldoc/public/slides/slides/2024-04-13/phpcon-odawara-2024/index.html index a2f125df..fae40679 100644 --- a/services/nuldoc/public/slides/slides/2024-04-13/phpcon-odawara-2024/index.html +++ b/services/nuldoc/public/slides/slides/2024-04-13/phpcon-odawara-2024/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-04-25/phpstudy-tokyo-163/index.html b/services/nuldoc/public/slides/slides/2024-04-25/phpstudy-tokyo-163/index.html index f1ba2d66..54edcc7a 100644 --- a/services/nuldoc/public/slides/slides/2024-04-25/phpstudy-tokyo-163/index.html +++ b/services/nuldoc/public/slides/slides/2024-04-25/phpstudy-tokyo-163/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-07-18/phpstudy-tokyo-166/index.html b/services/nuldoc/public/slides/slides/2024-07-18/phpstudy-tokyo-166/index.html index 1532ea37..f50bd530 100644 --- a/services/nuldoc/public/slides/slides/2024-07-18/phpstudy-tokyo-166/index.html +++ b/services/nuldoc/public/slides/slides/2024-07-18/phpstudy-tokyo-166/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-10-30/phpstudy-tokyo-169/index.html b/services/nuldoc/public/slides/slides/2024-10-30/phpstudy-tokyo-169/index.html index bff785ec..f0206606 100644 --- a/services/nuldoc/public/slides/slides/2024-10-30/phpstudy-tokyo-169/index.html +++ b/services/nuldoc/public/slides/slides/2024-10-30/phpstudy-tokyo-169/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2024-11-30/cohackpp/index.html b/services/nuldoc/public/slides/slides/2024-11-30/cohackpp/index.html index bdf9c0ef..bb2ec82e 100644 --- a/services/nuldoc/public/slides/slides/2024-11-30/cohackpp/index.html +++ b/services/nuldoc/public/slides/slides/2024-11-30/cohackpp/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2025-02-22/phpcon-nagoya-2025/index.html b/services/nuldoc/public/slides/slides/2025-02-22/phpcon-nagoya-2025/index.html index b741f78c..aa0edee9 100644 --- a/services/nuldoc/public/slides/slides/2025-02-22/phpcon-nagoya-2025/index.html +++ b/services/nuldoc/public/slides/slides/2025-02-22/phpcon-nagoya-2025/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2025-03-23/phperkaigi-2025/index.html b/services/nuldoc/public/slides/slides/2025-03-23/phperkaigi-2025/index.html index 3d44230f..6eb2c379 100644 --- a/services/nuldoc/public/slides/slides/2025-03-23/phperkaigi-2025/index.html +++ b/services/nuldoc/public/slides/slides/2025-03-23/phperkaigi-2025/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2025-04-12/phpcon-odawara-2025/index.html b/services/nuldoc/public/slides/slides/2025-04-12/phpcon-odawara-2025/index.html index e93f60c3..ab1d1756 100644 --- a/services/nuldoc/public/slides/slides/2025-04-12/phpcon-odawara-2025/index.html +++ b/services/nuldoc/public/slides/slides/2025-04-12/phpcon-odawara-2025/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2025-07-26/techramen-25-conf/index.html b/services/nuldoc/public/slides/slides/2025-07-26/techramen-25-conf/index.html index 4e4c3233..9d140660 100644 --- a/services/nuldoc/public/slides/slides/2025-07-26/techramen-25-conf/index.html +++ b/services/nuldoc/public/slides/slides/2025-07-26/techramen-25-conf/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2025-10-29/phpstudy-tokyo-180/index.html b/services/nuldoc/public/slides/slides/2025-10-29/phpstudy-tokyo-180/index.html index b1f98b9d..064945a5 100644 --- a/services/nuldoc/public/slides/slides/2025-10-29/phpstudy-tokyo-180/index.html +++ b/services/nuldoc/public/slides/slides/2025-10-29/phpstudy-tokyo-180/index.html @@ -77,7 +77,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/public/slides/slides/2025-11-24/phpconkagawa-2025/index.html b/services/nuldoc/public/slides/slides/2025-11-24/phpconkagawa-2025/index.html index b61519e2..4c5ac2d8 100644 --- a/services/nuldoc/public/slides/slides/2025-11-24/phpconkagawa-2025/index.html +++ b/services/nuldoc/public/slides/slides/2025-11-24/phpconkagawa-2025/index.html @@ -80,7 +80,7 @@ </button> </div> </div> - <script src="/slide.js?h=576ac460bf207f82a64f2ad3500a4564" type="module"> + <script src="/slide.js?h=f97457332a0e5d878ab20d0b872a9fad" type="module"> </script> </div> </article> diff --git a/services/nuldoc/static/slides/slide.js b/services/nuldoc/static/slides/slide.js index 530bef77..db6f9c1e 100644 --- a/services/nuldoc/static/slides/slide.js +++ b/services/nuldoc/static/slides/slide.js @@ -66,6 +66,18 @@ async function init() { queueRenderPage(pageNum); }); + document.addEventListener("keydown", (e) => { + if (e.key === "ArrowLeft" || e.key === "h") { + if (pageNum <= 1) return; + pageNum--; + queueRenderPage(pageNum); + } else if (e.key === "ArrowRight" || e.key === "l") { + if (pageNum >= doc.numPages) return; + pageNum++; + queueRenderPage(pageNum); + } + }); + // TODO: error handling doc = await getDocument(url).promise; queueRenderPage(pageNum); |
