initial commit
23
.gitignore
vendored
Executable file
@@ -0,0 +1,23 @@
|
||||
node_modules
|
||||
|
||||
# Output
|
||||
.output
|
||||
.vercel
|
||||
.netlify
|
||||
.wrangler
|
||||
/.svelte-kit
|
||||
/build
|
||||
|
||||
# OS
|
||||
.DS_Store
|
||||
Thumbs.db
|
||||
|
||||
# Env
|
||||
.env
|
||||
.env.*
|
||||
!.env.example
|
||||
!.env.test
|
||||
|
||||
# Vite
|
||||
vite.config.js.timestamp-*
|
||||
vite.config.ts.timestamp-*
|
||||
27
package.json
Executable file
@@ -0,0 +1,27 @@
|
||||
{
|
||||
"name": "pdf",
|
||||
"private": true,
|
||||
"version": "0.0.1",
|
||||
"type": "module",
|
||||
"scripts": {
|
||||
"dev": "vite dev",
|
||||
"build": "vite build",
|
||||
"preview": "vite preview",
|
||||
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
|
||||
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@sveltejs/adapter-auto": "^3.0.0",
|
||||
"@sveltejs/kit": "^2.0.0",
|
||||
"@sveltejs/vite-plugin-svelte": "^4.0.0",
|
||||
"autoprefixer": "^10.4.20",
|
||||
"svelte": "^5.0.0",
|
||||
"svelte-check": "^4.0.0",
|
||||
"tailwindcss": "^3.4.9",
|
||||
"typescript": "^5.0.0",
|
||||
"vite": "^5.4.11"
|
||||
},
|
||||
"dependencies": {
|
||||
"@tailwindcss/typography": "^0.5.15"
|
||||
}
|
||||
}
|
||||
1791
pnpm-lock.yaml
generated
Executable file
6
postcss.config.js
Executable file
@@ -0,0 +1,6 @@
|
||||
export default {
|
||||
plugins: {
|
||||
tailwindcss: {},
|
||||
autoprefixer: {}
|
||||
}
|
||||
};
|
||||
3
src/app.css
Executable file
@@ -0,0 +1,3 @@
|
||||
@import 'tailwindcss/base';
|
||||
@import 'tailwindcss/components';
|
||||
@import 'tailwindcss/utilities'
|
||||
13
src/app.d.ts
vendored
Executable file
@@ -0,0 +1,13 @@
|
||||
// See https://svelte.dev/docs/kit/types#app.d.ts
|
||||
// for information about these interfaces
|
||||
declare global {
|
||||
namespace App {
|
||||
// interface Error {}
|
||||
// interface Locals {}
|
||||
// interface PageData {}
|
||||
// interface PageState {}
|
||||
// interface Platform {}
|
||||
}
|
||||
}
|
||||
|
||||
export {};
|
||||
12
src/app.html
Executable file
@@ -0,0 +1,12 @@
|
||||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<link rel="icon" href="%sveltekit.assets%/favicon.png" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||
%sveltekit.head%
|
||||
</head>
|
||||
<body data-sveltekit-preload-data="hover">
|
||||
<div style="display: contents">%sveltekit.body%</div>
|
||||
</body>
|
||||
</html>
|
||||
1
src/lib/index.ts
Executable file
@@ -0,0 +1 @@
|
||||
// place files you want to import through the `$lib` alias in this folder.
|
||||
6
src/routes/+layout.svelte
Executable file
@@ -0,0 +1,6 @@
|
||||
<script lang="ts">
|
||||
import '../app.css';
|
||||
let { children } = $props();
|
||||
</script>
|
||||
|
||||
{@render children()}
|
||||
36
src/routes/+page.svelte
Executable file
@@ -0,0 +1,36 @@
|
||||
<script lang="ts">
|
||||
let page = $state(1);
|
||||
let totalPages = 10; // You'll want to set this to your actual total pages
|
||||
|
||||
function handleKeydown(event: KeyboardEvent) {
|
||||
if (event.key === 'ArrowLeft' || event.key === 'ArrowUp') {
|
||||
if (page > 1) page--;
|
||||
} else if (event.key === 'ArrowRight' || event.key === 'ArrowDown') {
|
||||
page++;
|
||||
} else if (event.key.toLowerCase() === 'p') {
|
||||
const input = prompt(`Enter page number (1-${totalPages})\nCurrent: ${page}/${totalPages}`);
|
||||
if (input !== null) {
|
||||
const newPage = parseInt(input);
|
||||
page = newPage;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function handleWheel(event: WheelEvent) {
|
||||
if (event.deltaY > 0) {
|
||||
page++;
|
||||
} else if (event.deltaY < 0 && page > 1) {
|
||||
page--;
|
||||
}
|
||||
}
|
||||
|
||||
function handleClick() {
|
||||
page++;
|
||||
}
|
||||
</script>
|
||||
<svelte:window on:keydown|preventDefault={handleKeydown} on:wheel|preventDefault={handleWheel} on:click={handleClick}/>
|
||||
<img
|
||||
src="/pages/page_{page}.webp"
|
||||
alt="Page {page}"
|
||||
class="w-screen h-screen object-contain cursor-pointer"
|
||||
/>
|
||||
BIN
static/favicon.png
Executable file
|
After Width: | Height: | Size: 1.5 KiB |
BIN
static/pages/page_1.webp
Executable file
|
After Width: | Height: | Size: 210 KiB |
BIN
static/pages/page_10.webp
Executable file
|
After Width: | Height: | Size: 190 KiB |
BIN
static/pages/page_100.webp
Executable file
|
After Width: | Height: | Size: 86 KiB |
BIN
static/pages/page_101.webp
Executable file
|
After Width: | Height: | Size: 155 KiB |
BIN
static/pages/page_102.webp
Executable file
|
After Width: | Height: | Size: 260 KiB |
BIN
static/pages/page_103.webp
Executable file
|
After Width: | Height: | Size: 200 KiB |
BIN
static/pages/page_104.webp
Executable file
|
After Width: | Height: | Size: 142 KiB |
BIN
static/pages/page_105.webp
Executable file
|
After Width: | Height: | Size: 196 KiB |
BIN
static/pages/page_106.webp
Executable file
|
After Width: | Height: | Size: 157 KiB |
BIN
static/pages/page_107.webp
Executable file
|
After Width: | Height: | Size: 146 KiB |
BIN
static/pages/page_108.webp
Executable file
|
After Width: | Height: | Size: 129 KiB |
BIN
static/pages/page_109.webp
Executable file
|
After Width: | Height: | Size: 163 KiB |
BIN
static/pages/page_11.webp
Executable file
|
After Width: | Height: | Size: 152 KiB |
BIN
static/pages/page_110.webp
Executable file
|
After Width: | Height: | Size: 170 KiB |
BIN
static/pages/page_111.webp
Executable file
|
After Width: | Height: | Size: 99 KiB |
BIN
static/pages/page_112.webp
Executable file
|
After Width: | Height: | Size: 202 KiB |
BIN
static/pages/page_113.webp
Executable file
|
After Width: | Height: | Size: 255 KiB |
BIN
static/pages/page_114.webp
Executable file
|
After Width: | Height: | Size: 142 KiB |
BIN
static/pages/page_115.webp
Executable file
|
After Width: | Height: | Size: 165 KiB |
BIN
static/pages/page_116.webp
Executable file
|
After Width: | Height: | Size: 151 KiB |
BIN
static/pages/page_117.webp
Executable file
|
After Width: | Height: | Size: 205 KiB |
BIN
static/pages/page_118.webp
Executable file
|
After Width: | Height: | Size: 171 KiB |
BIN
static/pages/page_119.webp
Executable file
|
After Width: | Height: | Size: 138 KiB |
BIN
static/pages/page_12.webp
Executable file
|
After Width: | Height: | Size: 95 KiB |
BIN
static/pages/page_120.webp
Executable file
|
After Width: | Height: | Size: 110 KiB |
BIN
static/pages/page_121.webp
Executable file
|
After Width: | Height: | Size: 125 KiB |
BIN
static/pages/page_122.webp
Executable file
|
After Width: | Height: | Size: 85 KiB |
BIN
static/pages/page_123.webp
Executable file
|
After Width: | Height: | Size: 109 KiB |
BIN
static/pages/page_124.webp
Executable file
|
After Width: | Height: | Size: 108 KiB |
BIN
static/pages/page_125.webp
Executable file
|
After Width: | Height: | Size: 100 KiB |
BIN
static/pages/page_126.webp
Executable file
|
After Width: | Height: | Size: 125 KiB |
BIN
static/pages/page_127.webp
Executable file
|
After Width: | Height: | Size: 150 KiB |
BIN
static/pages/page_128.webp
Executable file
|
After Width: | Height: | Size: 142 KiB |
BIN
static/pages/page_129.webp
Executable file
|
After Width: | Height: | Size: 156 KiB |
BIN
static/pages/page_13.webp
Executable file
|
After Width: | Height: | Size: 103 KiB |
BIN
static/pages/page_130.webp
Executable file
|
After Width: | Height: | Size: 130 KiB |
BIN
static/pages/page_131.webp
Executable file
|
After Width: | Height: | Size: 169 KiB |
BIN
static/pages/page_132.webp
Executable file
|
After Width: | Height: | Size: 121 KiB |
BIN
static/pages/page_133.webp
Executable file
|
After Width: | Height: | Size: 115 KiB |
BIN
static/pages/page_134.webp
Executable file
|
After Width: | Height: | Size: 111 KiB |
BIN
static/pages/page_135.webp
Executable file
|
After Width: | Height: | Size: 196 KiB |
BIN
static/pages/page_136.webp
Executable file
|
After Width: | Height: | Size: 106 KiB |
BIN
static/pages/page_137.webp
Executable file
|
After Width: | Height: | Size: 122 KiB |
BIN
static/pages/page_138.webp
Executable file
|
After Width: | Height: | Size: 35 KiB |
BIN
static/pages/page_139.webp
Executable file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
static/pages/page_14.webp
Executable file
|
After Width: | Height: | Size: 92 KiB |
BIN
static/pages/page_140.webp
Executable file
|
After Width: | Height: | Size: 118 KiB |
BIN
static/pages/page_141.webp
Executable file
|
After Width: | Height: | Size: 105 KiB |
BIN
static/pages/page_142.webp
Executable file
|
After Width: | Height: | Size: 110 KiB |
BIN
static/pages/page_143.webp
Executable file
|
After Width: | Height: | Size: 116 KiB |
BIN
static/pages/page_144.webp
Executable file
|
After Width: | Height: | Size: 153 KiB |
BIN
static/pages/page_145.webp
Executable file
|
After Width: | Height: | Size: 175 KiB |
BIN
static/pages/page_146.webp
Executable file
|
After Width: | Height: | Size: 137 KiB |
BIN
static/pages/page_147.webp
Executable file
|
After Width: | Height: | Size: 186 KiB |
BIN
static/pages/page_148.webp
Executable file
|
After Width: | Height: | Size: 156 KiB |
BIN
static/pages/page_149.webp
Executable file
|
After Width: | Height: | Size: 137 KiB |
BIN
static/pages/page_15.webp
Executable file
|
After Width: | Height: | Size: 102 KiB |
BIN
static/pages/page_150.webp
Executable file
|
After Width: | Height: | Size: 171 KiB |
BIN
static/pages/page_151.webp
Executable file
|
After Width: | Height: | Size: 120 KiB |
BIN
static/pages/page_152.webp
Executable file
|
After Width: | Height: | Size: 173 KiB |
BIN
static/pages/page_153.webp
Executable file
|
After Width: | Height: | Size: 90 KiB |
BIN
static/pages/page_154.webp
Executable file
|
After Width: | Height: | Size: 194 KiB |
BIN
static/pages/page_155.webp
Executable file
|
After Width: | Height: | Size: 126 KiB |
BIN
static/pages/page_156.webp
Executable file
|
After Width: | Height: | Size: 208 KiB |
BIN
static/pages/page_157.webp
Executable file
|
After Width: | Height: | Size: 178 KiB |
BIN
static/pages/page_158.webp
Executable file
|
After Width: | Height: | Size: 160 KiB |
BIN
static/pages/page_159.webp
Executable file
|
After Width: | Height: | Size: 219 KiB |
BIN
static/pages/page_16.webp
Executable file
|
After Width: | Height: | Size: 84 KiB |
BIN
static/pages/page_160.webp
Executable file
|
After Width: | Height: | Size: 122 KiB |
BIN
static/pages/page_161.webp
Executable file
|
After Width: | Height: | Size: 141 KiB |
BIN
static/pages/page_162.webp
Executable file
|
After Width: | Height: | Size: 180 KiB |
BIN
static/pages/page_163.webp
Executable file
|
After Width: | Height: | Size: 117 KiB |
BIN
static/pages/page_164.webp
Executable file
|
After Width: | Height: | Size: 182 KiB |
BIN
static/pages/page_165.webp
Executable file
|
After Width: | Height: | Size: 194 KiB |
BIN
static/pages/page_166.webp
Executable file
|
After Width: | Height: | Size: 174 KiB |
BIN
static/pages/page_167.webp
Executable file
|
After Width: | Height: | Size: 8.4 KiB |
BIN
static/pages/page_168.webp
Executable file
|
After Width: | Height: | Size: 146 KiB |
BIN
static/pages/page_169.webp
Executable file
|
After Width: | Height: | Size: 159 KiB |
BIN
static/pages/page_17.webp
Executable file
|
After Width: | Height: | Size: 107 KiB |
BIN
static/pages/page_170.webp
Executable file
|
After Width: | Height: | Size: 220 KiB |
BIN
static/pages/page_171.webp
Executable file
|
After Width: | Height: | Size: 154 KiB |
BIN
static/pages/page_172.webp
Executable file
|
After Width: | Height: | Size: 113 KiB |
BIN
static/pages/page_173.webp
Executable file
|
After Width: | Height: | Size: 172 KiB |
BIN
static/pages/page_174.webp
Executable file
|
After Width: | Height: | Size: 178 KiB |
BIN
static/pages/page_175.webp
Executable file
|
After Width: | Height: | Size: 166 KiB |
BIN
static/pages/page_176.webp
Executable file
|
After Width: | Height: | Size: 146 KiB |
BIN
static/pages/page_177.webp
Executable file
|
After Width: | Height: | Size: 187 KiB |