From 317a0f972c101a6fdb920b7411b9e36cecd9a0ed Mon Sep 17 00:00:00 2001 From: Ruthenic Date: Sun, 29 Jan 2023 06:42:37 -0500 Subject: [PATCH] initial commit --- .gitignore | 1 + .vscode/settings.json | 6 + LICENSE | 11 ++ README.md | 14 +++ components/Header.tsx | 19 +++ config.template.ts | 22 ++++ css/index.scss | 107 +++++++++++++++++ deno.json | 12 ++ deno.lock | 185 ++++++++++++++++++++++++++++++ index.tsx | 71 ++++++++++++ jsx.ts | 1 + oak.ts | 1 + routes/404.tsx | 12 ++ routes/500.tsx | 12 ++ routes/index.tsx | 12 ++ routes/search.tsx | 133 +++++++++++++++++++++ routes/story.tsx | 100 ++++++++++++++++ static/android-chrome-192x192.png | Bin 0 -> 17617 bytes static/android-chrome-512x512.png | Bin 0 -> 61924 bytes static/apple-touch-icon.png | Bin 0 -> 7951 bytes static/browserconfig.xml | 9 ++ static/favicon-16x16.png | Bin 0 -> 1494 bytes static/favicon-32x32.png | Bin 0 -> 2496 bytes static/favicon.ico | Bin 0 -> 15086 bytes static/favicon.png | Bin 0 -> 33090 bytes static/mstile-150x150.png | Bin 0 -> 9402 bytes static/safari-pinned-tab.svg | 36 ++++++ static/site.webmanifest | 19 +++ templates/Base.tsx | 74 ++++++++++++ templates/Story.tsx | 69 +++++++++++ types.d.ts | 7 ++ wattpad.ts | 59 ++++++++++ 32 files changed, 992 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/settings.json create mode 100644 LICENSE create mode 100644 README.md create mode 100644 components/Header.tsx create mode 100644 config.template.ts create mode 100644 css/index.scss create mode 100644 deno.json create mode 100644 deno.lock create mode 100644 index.tsx create mode 100644 jsx.ts create mode 100644 oak.ts create mode 100644 routes/404.tsx create mode 100644 routes/500.tsx create mode 100644 routes/index.tsx create mode 100644 routes/search.tsx create mode 100644 routes/story.tsx create mode 100644 static/android-chrome-192x192.png create mode 100644 static/android-chrome-512x512.png create mode 100644 static/apple-touch-icon.png create mode 100644 static/browserconfig.xml create mode 100644 static/favicon-16x16.png create mode 100644 static/favicon-32x32.png create mode 100644 static/favicon.ico create mode 100644 static/favicon.png create mode 100644 static/mstile-150x150.png create mode 100644 static/safari-pinned-tab.svg create mode 100644 static/site.webmanifest create mode 100644 templates/Base.tsx create mode 100644 templates/Story.tsx create mode 100644 types.d.ts create mode 100644 wattpad.ts diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..1b8afd0 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +config.ts \ No newline at end of file diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..415c95c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,6 @@ +{ + "deno.enable": true, + "deno.unstable": true, + "deno.importMap": "./import_map.json", + "editor.formatOnSave": true +} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..6d95c71 --- /dev/null +++ b/LICENSE @@ -0,0 +1,11 @@ +Copyright 2023 Ruthenic + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + +1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + +2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + +3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..3e39688 --- /dev/null +++ b/README.md @@ -0,0 +1,14 @@ +# Voltpad +simplistic wattpad frontend (ala invidious or nitter) written in Deno + +### Why? +Imho the Wattpad website is insufferable to use. The layout feels broken half the time, stories only take up the middle third of the screen (along with the rest of the site), fragmented and weird search page(s), inability to directly search by tag, the dumbass algorithm (especially on the homepage) which has never actually recommended me a story I'd like, on and on ad infinitum + +### Setup +1. Install Deno +2. Copy `config.template.ts` to `config.ts`, and fill out/change the information as you see fit +3. Run the index.tsx file `deno -A index.tsx` +4. Congrats, you are now running Voltpad + +### Contributing +You probably shouldn't because the code is jank, but I mean you can \ No newline at end of file diff --git a/components/Header.tsx b/components/Header.tsx new file mode 100644 index 0000000..538084e --- /dev/null +++ b/components/Header.tsx @@ -0,0 +1,19 @@ +import sass from "https://deno.land/x/denosass@1.0.6/mod.ts"; +import { Props } from "../types.d.ts"; +import { h } from "../jsx.ts"; + +interface BaseHeaderProps extends Props { + id?: string; + entries: { + name: string; + href: string; + }[]; +} + +export default (props: BaseHeaderProps) => ( +
+ {props.entries + .map((entry) => {entry.name}) + .join("")} +
+); diff --git a/config.template.ts b/config.template.ts new file mode 100644 index 0000000..576dc5f --- /dev/null +++ b/config.template.ts @@ -0,0 +1,22 @@ +interface Config { + serve: { + address: string; + port: number; + }; + user?: { + username: string; + password: string; + }; +} + +export default { + serve: { + address: "localhost", + port: 8080, + }, + // note that you can remove the user object and it will work; stories marked as mature will be inaccessible, however. + user: { + username: "USERNAME_OR_EMAIL", + password: "PASSWORD", + }, +} as Config; diff --git a/css/index.scss b/css/index.scss new file mode 100644 index 0000000..d54791f --- /dev/null +++ b/css/index.scss @@ -0,0 +1,107 @@ +html { + background-color:beige; + font-family: "IBM Plex Sans", system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; +} + +a { + &:link, + &:visited, + &:hover { + color: black; + } +} + +img { + max-width: 75%; +} + +.main { + display: flex; + flex-direction: column; + align-items: center; + /* a bit of jank */ + input { + border-radius: 0.25em; + } + label { + margin-right: 0.5em; + } +} + +.stories { + display: flex; + flex-direction: column; + align-items: center; + a { + color: black; + border: none; + outline: none; + text-decoration: none; + + &:link, + &:visited, + &:hover { + color: inherit; + } + } +} + +.story { + display: flex; + flex-direction: row; + div { + display: flex; + flex-direction: column; + align-items: start; + margin-left: 0.5em; + } + margin-top: 1em; + min-width: 75%; + max-width: 75%; +} + +.pagenav { + margin-top: 1em; + display: flex; + flex-direction: row; +} + +.header { + position: sticky; + top: 0.5em; + background-color: darkgrey; + width: 100%; + min-height: 2em; + display: flex; + align-items: center; + justify-content: center; + &#storyHeader { + justify-content: flex-start; + } + overflow-x: auto; + overflow-y: auto; + border-radius: 0.5em; + border-style: solid; + border-width: 1px; + border-color:#0f0f0f; + a { + &:first-child { + margin-left: 0.5em; + } + + &:last-child { + margin-right: 0.5em; + } + + &:link, + &:visited, + &:hover { + color: black; + } + + display: flex; + text-align: center; + margin-right: 0.5em; + width:fit-content; + } +} \ No newline at end of file diff --git a/deno.json b/deno.json new file mode 100644 index 0000000..210442e --- /dev/null +++ b/deno.json @@ -0,0 +1,12 @@ +{ + "fmt": { + "options": { + "indentWidth": 4 + } + }, + "compilerOptions": { + "jsxFactory": "h", + "jsxFragmentFactory": "Fragment", + "lib": ["dom", "deno.window"] + } +} diff --git a/deno.lock b/deno.lock new file mode 100644 index 0000000..7a47a89 --- /dev/null +++ b/deno.lock @@ -0,0 +1,185 @@ +{ + "version": "2", + "remote": { + "https://deno.land/std@0.131.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", + "https://deno.land/std@0.131.0/_util/os.ts": "49b92edea1e82ba295ec946de8ffd956ed123e2948d9bd1d3e901b04e4307617", + "https://deno.land/std@0.131.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", + "https://deno.land/std@0.131.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", + "https://deno.land/std@0.131.0/path/_util.ts": "c1e9686d0164e29f7d880b2158971d805b6e0efc3110d0b3e24e4b8af2190d2b", + "https://deno.land/std@0.131.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", + "https://deno.land/std@0.131.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", + "https://deno.land/std@0.131.0/path/mod.ts": "4275129bb766f0e475ecc5246aa35689eeade419d72a48355203f31802640be7", + "https://deno.land/std@0.131.0/path/posix.ts": "663e4a6fe30a145f56aa41a22d95114c4c5582d8b57d2d7c9ed27ad2c47636bb", + "https://deno.land/std@0.131.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", + "https://deno.land/std@0.131.0/path/win32.ts": "e7bdf63e8d9982b4d8a01ef5689425c93310ece950e517476e22af10f41a136e", + "https://deno.land/std@0.152.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", + "https://deno.land/std@0.152.0/_util/os.ts": "3b4c6e27febd119d36a416d7a97bd3b0251b77c88942c8f16ee5953ea13e2e49", + "https://deno.land/std@0.152.0/async/deferred.ts": "bc18e28108252c9f67dfca2bbc4587c3cbf3aeb6e155f8c864ca8ecff992b98a", + "https://deno.land/std@0.152.0/bytes/bytes_list.ts": "aba5e2369e77d426b10af1de0dcc4531acecec27f9b9056f4f7bfbf8ac147ab4", + "https://deno.land/std@0.152.0/bytes/equals.ts": "3c3558c3ae85526f84510aa2b48ab2ad7bdd899e2e0f5b7a8ffc85acb3a6043a", + "https://deno.land/std@0.152.0/bytes/mod.ts": "763f97d33051cc3f28af1a688dfe2830841192a9fea0cbaa55f927b49d49d0bf", + "https://deno.land/std@0.152.0/crypto/timing_safe_equal.ts": "82a29b737bc8932d75d7a20c404136089d5d23629e94ba14efa98a8cc066c73e", + "https://deno.land/std@0.152.0/encoding/base64.ts": "c57868ca7fa2fbe919f57f88a623ad34e3d970d675bdc1ff3a9d02bba7409db2", + "https://deno.land/std@0.152.0/fmt/colors.ts": "6f9340b7fb8cc25a993a99e5efc56fe81bb5af284ff412129dd06df06f53c0b4", + "https://deno.land/std@0.152.0/http/_negotiation/common.ts": "410e902f01cdd324e4746e8017595be4fc357d6fc4cd6044f2f808a943d7eaf7", + "https://deno.land/std@0.152.0/http/_negotiation/encoding.ts": "f749c1d539d139af783e8a7741de5a47a98a5e3c9af82b8af512567ccf5fe632", + "https://deno.land/std@0.152.0/http/_negotiation/language.ts": "53c306186904d2dace4c624a8822542866ad332a7f40ac90e0af1504f95c63d0", + "https://deno.land/std@0.152.0/http/_negotiation/media_type.ts": "ecdda87286495f7ff25116858f5088856953e2f1585e593d314e0c71b826a137", + "https://deno.land/std@0.152.0/http/http_errors.ts": "fe9b7f95f7ee0592c3306f8c7aed03ba53d55d1ef81e00041c1171b9588f46d9", + "https://deno.land/std@0.152.0/http/http_status.ts": "897575a7d6bc2b9123f6a38ecbc0f03d95a532c5d92029315dc9f508e12526b8", + "https://deno.land/std@0.152.0/http/negotiation.ts": "f35b1ff2ad4ff9feaa00ac234960b398172768205c8eceaef7f2eafe34716ba2", + "https://deno.land/std@0.152.0/io/buffer.ts": "bd0c4bf53db4b4be916ca5963e454bddfd3fcd45039041ea161dbf826817822b", + "https://deno.land/std@0.152.0/io/readers.ts": "45847ad404afd2f605eae1cff193f223462bc55eeb9ae313c2f3db28aada0fd6", + "https://deno.land/std@0.152.0/io/types.d.ts": "0cae3a62da7a37043661746c65c021058bae020b54e50c0e774916e5d4baee43", + "https://deno.land/std@0.152.0/media_types/_util.ts": "ce9b4fc4ba1c447dafab619055e20fd88236ca6bdd7834a21f98bd193c3fbfa1", + "https://deno.land/std@0.152.0/media_types/mod.ts": "3829264ca0610cac40f3214f939d7733483523f82bc1041c51045d7c75fb93b8", + "https://deno.land/std@0.152.0/media_types/vendor/mime-db.v1.52.0.ts": "724cee25fa40f1a52d3937d6b4fbbfdd7791ff55e1b7ac08d9319d5632c7f5af", + "https://deno.land/std@0.152.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", + "https://deno.land/std@0.152.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", + "https://deno.land/std@0.152.0/path/_util.ts": "c1e9686d0164e29f7d880b2158971d805b6e0efc3110d0b3e24e4b8af2190d2b", + "https://deno.land/std@0.152.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", + "https://deno.land/std@0.152.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", + "https://deno.land/std@0.152.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac", + "https://deno.land/std@0.152.0/path/posix.ts": "c1f7afe274290ea0b51da07ee205653b2964bd74909a82deb07b69a6cc383aaa", + "https://deno.land/std@0.152.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", + "https://deno.land/std@0.152.0/path/win32.ts": "bd7549042e37879c68ff2f8576a25950abbfca1d696d41d82c7bca0b7e6f452c", + "https://deno.land/std@0.152.0/streams/conversion.ts": "fc3db02026183da795fa32ac7549868e9f19c75ba029d4b4c3739af62b48517a", + "https://deno.land/std@0.152.0/testing/_diff.ts": "029a00560b0d534bc0046f1bce4bd36b3b41ada3f2a3178c85686eb2ff5f1413", + "https://deno.land/std@0.152.0/testing/_format.ts": "0d8dc79eab15b67cdc532826213bbe05bccfd276ca473a50a3fc7bbfb7260642", + "https://deno.land/std@0.152.0/testing/asserts.ts": "093735c88f52bbead7f60a1f7a97a2ce4df3c2d5fab00a46956f20b4a5793ccd", + "https://deno.land/std@0.162.0/_util/assert.ts": "e94f2eb37cebd7f199952e242c77654e43333c1ac4c5c700e929ea3aa5489f74", + "https://deno.land/std@0.162.0/_util/os.ts": "8a33345f74990e627b9dfe2de9b040004b08ea5146c7c9e8fe9a29070d193934", + "https://deno.land/std@0.162.0/fmt/colors.ts": "9e36a716611dcd2e4865adea9c4bec916b5c60caad4cdcdc630d4974e6bb8bd4", + "https://deno.land/std@0.162.0/fs/_util.ts": "fdc156f897197f261a1c096dcf8ff9267ed0ff42bd5b31f55053a4763a4bae3b", + "https://deno.land/std@0.162.0/fs/copy.ts": "73bdf24f4322648d9bc38ef983b818637ba368351d17aa03644209d3ce3eac31", + "https://deno.land/std@0.162.0/fs/empty_dir.ts": "c15a0aaaf40f8c21cca902aa1e01a789ad0c2fd1b7e2eecf4957053c5dbf707f", + "https://deno.land/std@0.162.0/fs/ensure_dir.ts": "76395fc1c989ca8d2de3aedfa8240eb8f5225cde20f926de957995b063135b80", + "https://deno.land/std@0.162.0/fs/ensure_file.ts": "b8e32ea63aa21221d0219760ba3f741f682d7f7d68d0d24a3ec067c338568152", + "https://deno.land/std@0.162.0/fs/ensure_link.ts": "5cc1c04f18487d7d1edf4c5469705f30b61390ffd24ad7db6df85e7209b32bb2", + "https://deno.land/std@0.162.0/fs/ensure_symlink.ts": "5273557b8c50be69477aa9cb003b54ff2240a336db52a40851c97abce76b96ab", + "https://deno.land/std@0.162.0/fs/eol.ts": "65b1e27320c3eec6fb653b27e20056ee3d015d3e91db388cfefa41616ebc7cb3", + "https://deno.land/std@0.162.0/fs/exists.ts": "6a447912e49eb79cc640adacfbf4b0baf8e17ede6d5bed057062ce33c4fa0d68", + "https://deno.land/std@0.162.0/fs/expand_glob.ts": "d3f62aefc7718d878904d60d91e8e6dbbf86c696d32b6cbbc333637acf7f8571", + "https://deno.land/std@0.162.0/fs/mod.ts": "354a6f972ef4e00c4dd1f1339a8828ef0764c1c23d3c0010af3fcc025d8655b0", + "https://deno.land/std@0.162.0/fs/move.ts": "6d7fa9da60dbc7a32dd7fdbc2ff812b745861213c8e92ba96dace0669b0c378c", + "https://deno.land/std@0.162.0/fs/walk.ts": "d96d4e5b6a3552e8304f28a0fd0b317b812298298449044f8de4932c869388a5", + "https://deno.land/std@0.162.0/path/_constants.ts": "df1db3ffa6dd6d1252cc9617e5d72165cd2483df90e93833e13580687b6083c3", + "https://deno.land/std@0.162.0/path/_interface.ts": "ee3b431a336b80cf445441109d089b70d87d5e248f4f90ff906820889ecf8d09", + "https://deno.land/std@0.162.0/path/_util.ts": "d16be2a16e1204b65f9d0dfc54a9bc472cafe5f4a190b3c8471ec2016ccd1677", + "https://deno.land/std@0.162.0/path/common.ts": "bee563630abd2d97f99d83c96c2fa0cca7cee103e8cb4e7699ec4d5db7bd2633", + "https://deno.land/std@0.162.0/path/glob.ts": "cb5255638de1048973c3e69e420c77dc04f75755524cb3b2e160fe9277d939ee", + "https://deno.land/std@0.162.0/path/mod.ts": "56fec03ad0ebd61b6ab39ddb9b0ddb4c4a5c9f2f4f632e09dd37ec9ebfd722ac", + "https://deno.land/std@0.162.0/path/posix.ts": "6b63de7097e68c8663c84ccedc0fd977656eb134432d818ecd3a4e122638ac24", + "https://deno.land/std@0.162.0/path/separator.ts": "fe1816cb765a8068afb3e8f13ad272351c85cbc739af56dacfc7d93d710fe0f9", + "https://deno.land/std@0.162.0/path/win32.ts": "ee8826dce087d31c5c81cd414714e677eb68febc40308de87a2ce4b40e10fb8d", + "https://deno.land/std@0.162.0/testing/_diff.ts": "a23e7fc2b4d8daa3e158fa06856bedf5334ce2a2831e8bf9e509717f455adb2c", + "https://deno.land/std@0.162.0/testing/_format.ts": "cd11136e1797791045e639e9f0f4640d5b4166148796cad37e6ef75f7d7f3832", + "https://deno.land/std@0.162.0/testing/asserts.ts": "1e340c589853e82e0807629ba31a43c84ebdcdeca910c4a9705715dfdb0f5ce8", + "https://deno.land/x/another_cookiejar@v5.0.2/cookie.ts": "2be7548d01a3a9df97deb187761a843a77fd824057478919abf1e1e89ae1eb2e", + "https://deno.land/x/another_cookiejar@v5.0.2/cookie_jar.ts": "e47d7b2c608bcd9600fd26825b600946f16ae167216cea71935049188d2fc6d1", + "https://deno.land/x/another_cookiejar@v5.0.2/fetch_wrapper.ts": "4fbca1e77383cf7da4703798e06a1129b21120f4d01c3a4c0801674dd7b6d53b", + "https://deno.land/x/another_cookiejar@v5.0.2/mod.ts": "eff949014965771f2cd447fe78625a1ad28b59333afa40640f02c0922534d89a", + "https://deno.land/x/corfu@v2.0.1/mod.ts": "159efb94e08231a1f11abc6add4a15af299fd138f6469a7550cd96c628f7c10c", + "https://deno.land/x/corfu@v2.0.1/types.ts": "07e7123258ffed42e34f44ffe45a6e7f51658f60be3b8f456bf0dd775305355d", + "https://deno.land/x/denosass@1.0.6/mod.ts": "5e9c142055d658f3acb2b370d0b412c783ed4b27db830f387525fb7f69a7ab3d", + "https://deno.land/x/denosass@1.0.6/src/deps.ts": "cb5fa11799e3def8b593be3b5939d2755a2c7f1f4987f3af1bc4ad90922d3715", + "https://deno.land/x/denosass@1.0.6/src/mod.ts": "d2b63172f98238f77831995a5d6c8a06af5252ad8fbe7b9ec40b60eae86f2164", + "https://deno.land/x/denosass@1.0.6/src/types/module.types.ts": "7a5027482ded1d2967fbe690ef8f928446c5de8811c3333f9b09ae6e8122f9ba", + "https://deno.land/x/denosass@1.0.6/src/wasm/grass.deno.js": "a72432ce8d6b8f9c31e31c71415fdca03fe36aa22417e414bc81e2e21a8a687b", + "https://deno.land/x/nano_jsx@v0.0.34/component.ts": "6bd3dab67754e91308df863e11e2b7945bbe0bf575b4bc529e8a9e02087eb732", + "https://deno.land/x/nano_jsx@v0.0.34/components/helmet.ts": "59e598dc79c7b18620de175c61eb26f4aeb6905a6654cd63359208a26471541e", + "https://deno.land/x/nano_jsx@v0.0.34/components/img.ts": "82a9f830394a7d6cd9b789b48fe1e70bc64eb151c4b410a3da74347c06acdae0", + "https://deno.land/x/nano_jsx@v0.0.34/components/index.ts": "8855ee8302a9a19f38202d4a7ff5b17e22942600da02356bdfbc80c99c5c55f5", + "https://deno.land/x/nano_jsx@v0.0.34/components/link.ts": "0f0b1c57dc8c466203105062335e0d9ded89a34e75d08b1bbeece198d42021cb", + "https://deno.land/x/nano_jsx@v0.0.34/components/router.ts": "1feb8b6881641a18a3bdd937089b3f5a7b9f36948f8178a85acde7e4c9294a6d", + "https://deno.land/x/nano_jsx@v0.0.34/components/suspense.ts": "0711b7cdcd42b0b085972eca796d3ba7c436a736e1d2ce17db7e0cd1d3b928f5", + "https://deno.land/x/nano_jsx@v0.0.34/components/visible.ts": "f19487f7faff0bad38a5549f1efac1df351e83ee4a77ca5886412b439f4b6b53", + "https://deno.land/x/nano_jsx@v0.0.34/context.ts": "a65018beedf3e1863b96f9d99cf2d471c231a6ae0c77877a77754a398105f9fc", + "https://deno.land/x/nano_jsx@v0.0.34/core.ts": "d45b13ecc3a6739e22b30f48c9f021cb8373e2b462f39ac5b15389bdf3d692be", + "https://deno.land/x/nano_jsx@v0.0.34/customElementsMode.ts": "f5446d3c3afe803a7f97a3434d3970e662f5d0635db79b0e4010e2972ff66a6e", + "https://deno.land/x/nano_jsx@v0.0.34/fragment.ts": "9cfb0dcdcb02d5cc53f027b4b55609e4f9d6d9322b665292e572856f4b688569", + "https://deno.land/x/nano_jsx@v0.0.34/helpers.ts": "d904aa646534f1c0cf7c05a6c8e02231f906d962acb725c964aedbcf50216d85", + "https://deno.land/x/nano_jsx@v0.0.34/htm.ts": "d8d9cd4fb4ad4645bff3698c7eb96e7798022c5519d04e709ebde236edde156b", + "https://deno.land/x/nano_jsx@v0.0.34/htm/build.ts": "9d6b6eb407c0db2d1213a3f9c82efc66a2bec34c89976132ff13e3e095dcaaaf", + "https://deno.land/x/nano_jsx@v0.0.34/htm/constants.ts": "3f296f87f03bd0ba8d7673884a1f6c4c927a2774648eaa4fd3ca9e3c46c3f7b8", + "https://deno.land/x/nano_jsx@v0.0.34/htm/index.ts": "29912b9f7a760884fce79caca82649b9772cfa3c3272e0426a4ce377b67d70d5", + "https://deno.land/x/nano_jsx@v0.0.34/index.ts": "0f39c911a39c61cb39f9bd8a2481500126dcb1b2a826d5b4523dd47a08b6938d", + "https://deno.land/x/nano_jsx@v0.0.34/jsx.ts": "7d5b4d4a249fba1a42f2016f54f71ca049d96ff490e098db4a19b2a9b197b952", + "https://deno.land/x/nano_jsx@v0.0.34/lazy.ts": "f8b8a2b915daff1fb70704ffad5171c805f1e28778b5cd0f8c827780762776c4", + "https://deno.land/x/nano_jsx@v0.0.34/mod.ts": "3dda2bc0dbee9abd01c03acf43ab55a7854952afe0450245fc2ad12eb9bd9598", + "https://deno.land/x/nano_jsx@v0.0.34/regexDom.ts": "de82fd3110c5a367e3d4ba9b774cfef3baf995deff455edc7363551d79089c90", + "https://deno.land/x/nano_jsx@v0.0.34/ssr.ts": "8f77228a7ed13990deba0c1a69d7d3f2902c837b62d24f5b7a019f84c96ad234", + "https://deno.land/x/nano_jsx@v0.0.34/state.ts": "cfc6ca6eb5e65f4cd60717a0a96ce604053bacf6e0b8835afbe22327e9979a1b", + "https://deno.land/x/nano_jsx@v0.0.34/store.ts": "653e8c53d6ed4e410c76b1a7a044aa7cc71ff00fb3af9f3a94253591b5f4dcea", + "https://deno.land/x/nano_jsx@v0.0.34/types.ts": "fb338d7fa4422a92c442d14e073a2deb01d42b017fcd36013a1f6554e17c5449", + "https://deno.land/x/nano_jsx@v0.0.34/version.ts": "30412f1a0cdd968633a760c456d96e83196ee72ca66cfebe1e526d66c7758ebe", + "https://deno.land/x/nano_jsx@v0.0.34/withStyles.ts": "8aae4c8e79319fe991d49dd8ccc927c221786dfe58de640dba9d9885ce0dd4b7", + "https://deno.land/x/oak@v11.1.0/application.ts": "0a728331822b8e27727ceec48a8499657c3163fc48fd379a8a9578a75f3cdb62", + "https://deno.land/x/oak@v11.1.0/body.ts": "78402a4936accb80372c4944384658105604352d6783de7ff1e36b8832dd93c9", + "https://deno.land/x/oak@v11.1.0/buf_reader.ts": "7cf96aa0ac670b75098113cf88a291a68332cc45efa8a9698f064ac5b8098a0f", + "https://deno.land/x/oak@v11.1.0/content_disposition.ts": "8b8c3cb2fba7138cd5b7f82fc3b5ea39b33db924a824b28261659db7e164621e", + "https://deno.land/x/oak@v11.1.0/context.ts": "014d1ce40e62a7901411425541b0d5a08018968a330595bd686f8d00222a35bb", + "https://deno.land/x/oak@v11.1.0/cookies.ts": "d9f94b99f26c6169c6982ce12323c41a548d001bfc28f464264c22dc3dbf2181", + "https://deno.land/x/oak@v11.1.0/deps.ts": "b897b0f2bec99cd8b402b279b7f21de955d98cbd72835b6c912be5e11c26148b", + "https://deno.land/x/oak@v11.1.0/etag.ts": "19918f5e1964e3fe6c9fe524a88ffbf9900ce1dfe4146b187b2a86256bb6b663", + "https://deno.land/x/oak@v11.1.0/headers.ts": "f50fb05614432bda971021633129aa2e8737e0844e0f01c27a937997b4d8dd4f", + "https://deno.land/x/oak@v11.1.0/helpers.ts": "42212afa07a560b2958359cc19577417e89d9574d6579551a0af36ff7f00cc6e", + "https://deno.land/x/oak@v11.1.0/http_request.ts": "0831c828816fcb58a5aa8361c6865c4151f4c8b59fabcef2e2cd235bb28170c5", + "https://deno.land/x/oak@v11.1.0/http_server_flash.ts": "e312754acad26d3d70f243d657547e697921f67f0a2179dbec41a20a3228fd79", + "https://deno.land/x/oak@v11.1.0/http_server_native.ts": "549dffcd2db5cbb0e44ad50cf9c54956b42a10450b1ac66e1362e32a073c8c1b", + "https://deno.land/x/oak@v11.1.0/http_server_native_request.ts": "07910ea2ed51af6c4e69addf9015cdd8d2b5c9ee03fd4993e386834a129a9eb6", + "https://deno.land/x/oak@v11.1.0/isMediaType.ts": "62d638abcf837ece3a8f07a4b7ca59794135cb0d4b73194c7d5837efd4161005", + "https://deno.land/x/oak@v11.1.0/keyStack.ts": "fa0d5898fb8ba34de1c9cdcf4b2e8434952dc9931671858d33560368784a22ef", + "https://deno.land/x/oak@v11.1.0/mediaTyper.ts": "042b853fc8e9c3f6c628dd389e03ef481552bf07242efc3f8a1af042102a6105", + "https://deno.land/x/oak@v11.1.0/middleware.ts": "de14f045a2ddfe845d89b5d3140ff52cbcc6f3b3965391106ce04480f9786737", + "https://deno.land/x/oak@v11.1.0/middleware/proxy.ts": "b927232f97ec18af4185d7912e45b1191e3ffe24a9c875262ad524211b1274c9", + "https://deno.land/x/oak@v11.1.0/mod.ts": "de52855c8f626e30ba683fb265c0a0773ba2f5f117b3549b7d9c857edba58338", + "https://deno.land/x/oak@v11.1.0/multipart.ts": "98fe9f226de8c26a16d067027b69fb1e34ad8c4055767dd157907d06cea36f9a", + "https://deno.land/x/oak@v11.1.0/range.ts": "68a6df7ab3b868843e33f52deb94c3d4cab25cb9ef369691990c2ac15b04fafb", + "https://deno.land/x/oak@v11.1.0/request.ts": "5852ad36389b48e0428a6f3c90854d01f10d1b15949b56001e1e75c2a00ef0f9", + "https://deno.land/x/oak@v11.1.0/response.ts": "867d81f7eb0c65c7b8e0e0e9e145ededd5b6daa9ad922e6adc6a36a525f439a6", + "https://deno.land/x/oak@v11.1.0/router.ts": "187522a549f6c179ff01d321882a8bfacbfb7f3e24b004ec4534a3613c7f9b0e", + "https://deno.land/x/oak@v11.1.0/send.ts": "7ef2591792426d62add91536bb434566d4b224247ca343fdd63e486f9d4e9446", + "https://deno.land/x/oak@v11.1.0/server_sent_event.ts": "948b0fe4cb3fe38c7db15e476eb3b7671ef20e566d130e9f701d7c0146aa47dd", + "https://deno.land/x/oak@v11.1.0/structured_clone.ts": "ecf42598652b8082f37252cb873d6e257ad728e6fe73c6bd61f343d94501fbde", + "https://deno.land/x/oak@v11.1.0/testing.ts": "7612656efd2975f7a2e6848609f5971922dbec46b76372c5c623202fdd7b9a85", + "https://deno.land/x/oak@v11.1.0/types.d.ts": "41951a18c3bfdb11e40707cab75da078ba8a4907cd7d4e11d8536bc2db0dde05", + "https://deno.land/x/oak@v11.1.0/util.ts": "3af8c4ed04c6cc2bedbe66e562a77fc59c72df31c55a902a63885861ca1639d6", + "https://deno.land/x/path_to_regexp@v6.2.1/index.ts": "894060567837bae8fc9c5cbd4d0a05e9024672083d5883b525c031eea940e556", + "https://deno.land/x/wattpad@v0.0.2/mod.ts": "d54c086bf37daeca54270bc88c4de87d02d583a5dda607df3c3e3de2a857a0d4", + "https://deno.land/x/wattpad@v0.0.2/src/classes/Chapter.ts": "a45b2bdf70e04a58e05edfba6634e4089e85eda3c1551be05dcd0989648fc0a9", + "https://deno.land/x/wattpad@v0.0.2/src/classes/Search.ts": "3a7c05c449978c822448aa80f2a29d4fccc7040ade9aa0d848b9a8341a79b3fe", + "https://deno.land/x/wattpad@v0.0.2/src/classes/Story.ts": "b3fb3dfecb0cd533e614cab1440abf3716e02dd9485015df28bce4624e57cbcd", + "https://deno.land/x/wattpad@v0.0.2/src/classes/TagSearch.ts": "1783267b203879b9ce862541b6770918cda10d64830a5007ab7d75233838e6b5", + "https://deno.land/x/wattpad@v0.0.2/src/classes/Wattpad.ts": "8aca689c2f958fdecf3f7586563753fc4cddd783c5f0d7dadb8b17d5ba3bac91", + "https://deno.land/x/wattpad@v0.0.2/src/types.d.ts": "fe933b610694544ffd9ade8a94aa555c82abaedf293faf5aa61f6ab6d1ee44f8", + "https://deno.land/x/wattpad@v0.0.2/src/utils/http.ts": "9fc657974c7c5e91f09bb8af20197d59efab91a78ad4011080f4f0e6f442c31d", + "https://deno.land/x/wattpad@v0.0.3/mod.ts": "dbf3bb1b3e10f5707bc6879bdd62db6e0618fd1786a5bed3374c2f7ffe1a6d2b", + "https://deno.land/x/wattpad@v0.0.3/src/classes/Chapter.ts": "00b6097f5ffce2b44a24432fc62be324bf11a80327e2975eb115bc2e7410369c", + "https://deno.land/x/wattpad@v0.0.3/src/classes/Search.ts": "36126f10a147231aaf27ad9626a27f7e6f42b157cd89225f74cfc4f9a3b7051a", + "https://deno.land/x/wattpad@v0.0.3/src/classes/Story.ts": "e9c679f2201cf63a5f061cd535176d6c50569d3637c99cb2a3560e98ee923bbf", + "https://deno.land/x/wattpad@v0.0.3/src/classes/TagSearch.ts": "fd73b16e250a29f0b14c809cead6d22ff7703d415078956126787095b0d4ebf7", + "https://deno.land/x/wattpad@v0.0.3/src/classes/Wattpad.ts": "8aca689c2f958fdecf3f7586563753fc4cddd783c5f0d7dadb8b17d5ba3bac91", + "https://deno.land/x/wattpad@v0.0.3/src/types.d.ts": "fe933b610694544ffd9ade8a94aa555c82abaedf293faf5aa61f6ab6d1ee44f8", + "https://deno.land/x/wattpad@v0.0.3/src/utils/http.ts": "9fc657974c7c5e91f09bb8af20197d59efab91a78ad4011080f4f0e6f442c31d", + "https://deno.land/x/wattpad@v0.0.4/mod.ts": "3248de35fff8b8b15bf848e9fc5469776608142bd4543177fd8b292d6e7d09c9", + "https://deno.land/x/wattpad@v0.0.4/src/classes/Chapter.ts": "00b6097f5ffce2b44a24432fc62be324bf11a80327e2975eb115bc2e7410369c", + "https://deno.land/x/wattpad@v0.0.4/src/classes/Search.ts": "36126f10a147231aaf27ad9626a27f7e6f42b157cd89225f74cfc4f9a3b7051a", + "https://deno.land/x/wattpad@v0.0.4/src/classes/Story.ts": "e9c679f2201cf63a5f061cd535176d6c50569d3637c99cb2a3560e98ee923bbf", + "https://deno.land/x/wattpad@v0.0.4/src/classes/TagSearch.ts": "fd73b16e250a29f0b14c809cead6d22ff7703d415078956126787095b0d4ebf7", + "https://deno.land/x/wattpad@v0.0.4/src/classes/Wattpad.ts": "ce67ad71a4250232818473807da6a687f71772c9d142154a431b46b73201a11e", + "https://deno.land/x/wattpad@v0.0.4/src/types.d.ts": "fe933b610694544ffd9ade8a94aa555c82abaedf293faf5aa61f6ab6d1ee44f8", + "https://deno.land/x/wattpad@v0.0.4/src/utils/http.ts": "50e18486856ec16878f780af0a4cfe9850a69590de62d48f7ec5e74d602d20e7", + "https://raw.githubusercontent.com/kt3k/callsites/v1.0.0/mod.ts": "a5fdfa7916d03459fd4830ca526d493d5f4ce0ea91619905d524c9a3a5c3cd15", + "https://raw.githubusercontent.com/nomyTx/gas/bef3e8b8b51a9929b915b3e13df07290a37832ba/jsx.ts": "adf05a2478b48bc0c1e4e18db87c7c03d0894e3751be99571c3e63375471d5d3" + }, + "npm": { + "specifiers": { "@connorskees/grass": "@connorskees/grass@0.12.0" }, + "packages": { + "@connorskees/grass@0.12.0": { + "integrity": "sha512-nDICkb3SxivBAteLuUsosUk0EsB0qQW2hBtnkhFP0dP/yAV1zcrq4p38O12/Mw+Yt1DKTqQSyCZAoliaK/kw4g==", + "dependencies": {} + } + } + } +} diff --git a/index.tsx b/index.tsx new file mode 100644 index 0000000..3b44555 --- /dev/null +++ b/index.tsx @@ -0,0 +1,71 @@ +import { h } from "https://deno.land/x/corfu@v2.0.1/mod.ts"; + +import { Application, Router } from "https://deno.land/x/oak@v11.1.0/mod.ts"; +import config from "./config.ts"; + +const app = new Application(); +//print info on listen +app.addEventListener("listen", (event) => { + console.log( + `voltpad listening on http://${event.hostname.replace( + "::1", + "localhost" + )}:${event.port}` + ); +}); + +app.use(async (ctx) => { + if (ctx.request.url.pathname === "/") ctx.request.url.pathname = "/index"; + let mod; + try { + mod = await import( + "./routes" + + ctx.request.url.pathname + + ".tsx" + + `?update=${Date.now()}` + ); + } catch { + try { + return await ctx.send({ + root: `./static`, + index: `${ctx.request.url.pathname}` + }); + } catch { + mod = await import("./routes/404.tsx"); + } + } + let rizz; + try { + rizz = await mod.default(ctx.request.url.searchParams); + } catch (e) { + console.error(e); + mod = await import("./routes/500.tsx"); + rizz = await mod.default(); + } + ctx.response.body = "" + rizz; +}); + +//(attempt to) set mimetype +app.use(async (ctx, next) => { + await next(); + if (!ctx.response.headers.get("Content-Type")) { + switch (ctx.request.url.pathname.split(".").at(-1)) { + case "json": + ctx.response.headers.set("Content-Type", "application/json"); + break; + default: + ctx.response.headers.set("Content-Type", "text/html"); + } + } +}); + +app.use(async (ctx, next) => { + await next(); + const rt = ctx.response.headers.get("X-Response-Time"); + console.log(`${ctx.request.method} ${ctx.request.url} - ${rt}`); +}); + +await app.listen({ + hostname: config.serve.address, + port: config.serve.port +}); diff --git a/jsx.ts b/jsx.ts new file mode 100644 index 0000000..b481d11 --- /dev/null +++ b/jsx.ts @@ -0,0 +1 @@ +export * from "https://deno.land/x/corfu@v2.0.1/mod.ts"; diff --git a/oak.ts b/oak.ts new file mode 100644 index 0000000..82eb028 --- /dev/null +++ b/oak.ts @@ -0,0 +1 @@ +export * from "https://deno.land/x/oak@v11.1.0/mod.ts"; diff --git a/routes/404.tsx b/routes/404.tsx new file mode 100644 index 0000000..74bef58 --- /dev/null +++ b/routes/404.tsx @@ -0,0 +1,12 @@ +import { h } from "../jsx.ts"; + +import Base from "../templates/Base.tsx"; + +export default () => ( + +
+

404

+

Page not found.

+
+ +); diff --git a/routes/500.tsx b/routes/500.tsx new file mode 100644 index 0000000..4353395 --- /dev/null +++ b/routes/500.tsx @@ -0,0 +1,12 @@ +import { h } from "../jsx.ts"; + +import Base from "../templates/Base.tsx"; + +export default () => ( + +
+

500

+

Internal server error.

+
+ +); diff --git a/routes/index.tsx b/routes/index.tsx new file mode 100644 index 0000000..d043e03 --- /dev/null +++ b/routes/index.tsx @@ -0,0 +1,12 @@ +import { h } from "../jsx.ts"; + +import Base from "../templates/Base.tsx"; + +export default () => ( + +
+

Voltpad

+

A blazingly fast (🚀) Wattpad frontend

+
+ +); diff --git a/routes/search.tsx b/routes/search.tsx new file mode 100644 index 0000000..1026e04 --- /dev/null +++ b/routes/search.tsx @@ -0,0 +1,133 @@ +import { h } from "../jsx.ts"; +import watt, { watt as originalWatt } from "../wattpad.ts"; +import Base from "../templates/Base.tsx"; + +function search() { + console.log(document.getElementById("query")); +} + +export default async (params: URLSearchParams) => { + const res = []; + if (params.get("query") && params.get("type")) { + const search = originalWatt[ + params.get("type") === "tag" ? "tagSearch" : "search" + ]({ + tags: (params.get("query") as string).split(","), + query: params.get("query") as string, + isTitle: params.get("type") === "title", + limit: 20 + }); + await search.update(Number(params.get("page") ?? 0)); + for (let i = 0; i < search.results.length; i++) { + const rizz = await watt.getStory(search.results[i].id, false); + res.push( + + +
+

{rizz.name}

+

{rizz.storyJSON.description}

+
+
+ ); + } + } + return ( + + {/* TODO: impl autocomplete for tags? */} +
+
+ + + + + + + +
+ +
+ +
+ {res.join("")} + +
+ + ); +}; diff --git a/routes/story.tsx b/routes/story.tsx new file mode 100644 index 0000000..0b0cd2d --- /dev/null +++ b/routes/story.tsx @@ -0,0 +1,100 @@ +import { h } from "../jsx.ts"; + +import Story from "../templates/Story.tsx"; +import watt from "../wattpad.ts"; +import FourOhFour from "./404.tsx"; + +export default async (params: URLSearchParams) => { + if (!params.get("id")) return ; + + const story = await watt.getStory(params.get("id") as string); + + // chapters + if (params.get("chapter")) { + await story.chapters[Number(params.get("chapter") as string)].init(); + return ( + +
+ { + story.chapters[Number(params.get("chapter") as string)] + .html + } +
+ +
+ ); + } + // metadata + else { + return ( + +
+
+ +
+

{story.name}

+

{story.storyJSON.description}

+
+
+
+ {story.tags + .map((v) => ( +
+ + #{v} + +
+
+ )) + .join("")} +
+
+ + ); + } +}; diff --git a/static/android-chrome-192x192.png b/static/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..5a01b16d1398b858e8c0738c87529efabae7c065 GIT binary patch literal 17617 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 literal 0 HcmV?d00001 diff --git a/static/apple-touch-icon.png b/static/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..8b7638360ff3ae0f1d79db11f071b7bd651bca58 GIT binary patch literal 7951 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 literal 0 HcmV?d00001 diff --git a/static/browserconfig.xml b/static/browserconfig.xml new file mode 100644 index 0000000..f9c2e67 --- /dev/null +++ b/static/browserconfig.xml @@ -0,0 +1,9 @@ + + + + + + #2b5797 + + + diff --git a/static/favicon-16x16.png b/static/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..5312ad9a62d7d49be9dd22be48891bd497883b65 GIT binary patch literal 1494 zcmbVKX;joz6u^AyI=(1P#zu$$9h}r4#ZAB)B;}IhYho_ zQH<4QXpmzmV67Dn=AatzkQ6I<*b|C*fDH~<4tPL_m3&MD+y~e?7t;U_dSG`Do=~E3 zGlmes67OBYiJQ0=P)8X&u~vj6;A8^s25k4m-ZZQc;PDu|){IR~IDQ!`Ijj?5iz_zH zA+^{(58J%3Z!I=CGD4j-R++M`lkrR#2_R0ZJ5x(@{Vb-3IK-?nVGm6Rq@vBPY*}N$ z0_$v8BYJxlLLfCuoz|GM%+v)*BH2W!x5FdL7*5ICd{~kyJ}XV-h&hc@swQW~r$Gsc zKnNMgWY}P}fR&&;RE2h1B`lE0l!`c%fu1w#v0uZ4Q5Eus?4>BenIr+@AM%>n?O4F% zO?OIZt4*=R?VqO1abgq?STQpBPvxi!aW*VSQIMP6$4lgvzP1ivvwg+pp8q45j^DFgx+@F9b9an7?(Ijq{{IY zXUjc#1&f!+f#dO)hMSmjX3JiWfaQ@<0?s^I5wpUA*1{X4Z&WGkZ>UPVN>E=WX5QxP3={L7|gqXL3<7 zIBR#6xRjQaSL}9m+p~9{HMsBBRnDzaSJxbOS1_mf^_Jw~xKE;kdUC%=0~Q^4+rc=D&Zcx9{|s1srgG9~eLEAFvuU4k+H;(}G3!jf%T=?3h%cHqx95@1GUtAfx8t7TvH=^(lVnFcx;cH(m z3JJY_<7OC-_x@xqV}JY}j>J dFsf4?i(d$nVms~AsE|%70dX6tv3o zIi1XHVQO^M&Y_F;*bi^FAl@7KLz^E>9|;vS?1OR9kX}c0>ndk^Inj0 zzg-+o=Rt*vDz!6t4ZoK*u9OhuSMSR>f96K{CBLJw@`@1My_*{M_6RSvchN1i=U>x6 zFwP&weXX&61^f8TA2%!t$hkxF28b+4@5rC#yJL)M1v0XFtF9v4wBs-*7Uc>#?NNy1vLTbs}5+WEjU^pnp`pE$uqYnUVfm`@&gkU5^ zBRYRaz#!j@{;1QcQhe>{v*qO}{2iHYtJ}#%A3Wuip+@AEr2h8=!@?tBI%6!pphcYz zPSGnXXVi3`U!bzz%D@eqmYTf%OG*5@?t9wE&ZNuiDwo};kV}t7k9uCo9q*mQvm+qY zQI^(WV=*Ubz)?ev0myVsFmvmQ~*Vi^fL=&k;d?_+YvOrR{ zUBq-OD5fsCLzKZjiQLGq;KtO(CNfrxA_6x1hOh39l~{_iOmA}6t&)3{am&=g!w!om zMr+MZb=Y#^jWe(K%`BCy>>btpJ8SPZip1=oGwe+CrXIZ$8vGgV-z3xB06 zZ0-OSg?|%dXL)}emPC304(diENkjY5z8lBfmy!Tw=vjDEmi(y2jb$#ena-8sdL-q zYtfKD?UOXFfbex7=OZUIvM*=?f|KlF$}uN1JbT7{fZF*#6dYNn-?HE?E&|IQFw2{& zcLh23J1aHg-qBWe9)B<#`wxZPQ5=u?+J(K5uJv3TL^FI<$pWRF1JXjH^otV*{xBLo zLJ9-iHw*)R-i7t7aM3g3Go1S7FNp=l&vwzo{^oEzpqvEgHe;gK*9aAzte6|a`n<5xGy75swL zEMG&NmMCsP3mb?WT|2CYs~w6zJ>hPPAb`of7&<7^zlbw*Ys3nn-0prRs-&Tl%*mA!NNtUjIFGN7bgXZeeK)b@zDcfr2)b^C)A! zaY}C>Z&^w93h>MXqD@A5%B>H~46Ghg6nt{u$rX#w#FS7uo73knK}VohtS!P_FaBx2 zQnl%Qk1+GCA?~XR;L@pT044#u1~#=nVJ2>0a-_h-&u^*8 zZ;GO9>-Ys6!@*H_xbmcwp-qz%H2+G~5NFCRxh$3A9)USLeh{DAE+PxU|B_M1(Rxvr zae~QO8vK7RlPy~NvfJZcGD{xU5GkH}qDG6WKAyX`L)yY= z-IJxnIT*3Pr%?_1;zSm5J{TO$09mhQ@~fN*R%U zLSUPJ6s0*9KQEpy{{ft9Z z(-JF7(yH5Z#dY1b>3V>?c|QEAH)H5fpPe;B4fe)vp${kbSyLuRrgK!oEJs$>T;&|3 zj=wrmF|LYa!F<4qqdm*k6U#?4*M+L1r>1lD_rZDD=35OlfhKRpK2Y3%$4oIWt1csT z{R2OwSoq-#s{ffLvds;7Vlz?RiJ82K2KwEpi*5atnz>bscX4do7a(>#;2+mv+AFCs z>4@rXl3&VdpCDt^4a!#qM&}~FwLzCS4pnYX*rst<7ABs)8W)Mi4n&+A z(F5%s>~Tr}LKT68tE#~f+IDJcXrv}uO-o5t6|JhO@_ah_e*ytPI3Lfj{~vH>cw$Zi zH_3JmL>sqI2tGK-)5qTfLJY%uKz#5-cL2EebZ(oU`>wr$!hqG_km-UAzy{^J?9L|y z6*A8fW)p%KMX7h;*r4@xkim(uzV4xJscx>pC@j_NGO#KtK-@M!WuLA9OpPs#stsIY F{tFoeglhl* literal 0 HcmV?d00001 diff --git a/static/favicon.ico b/static/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..f62dcb790a5d534d481d9cfbb766192b338765f9 GIT binary patch literal 15086 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 literal 0 HcmV?d00001 diff --git a/static/mstile-150x150.png b/static/mstile-150x150.png new file mode 100644 index 0000000000000000000000000000000000000000..c1c7522449f5abdc4edcbafbc430220030d24cea GIT binary patch literal 9402 zcmdsdRZtvX(C;ixa1ZY8wzve>puyd3k>KtSoDfLR5P}5=?y@++g9LYXcjxZE>b~5E z`}#e6vo$rfXQq3)`*io|{+)?Ye=m>mhU5(Z02qo2GMWGY!u;<IU?*om8F8FDggK~06<6t06f5kLiPZ_lM4V2%m6?*9RP@2vs*MoVKXdFR|-05@Br?booeU&xn-Tpqe%558V+=`;0<$OC+Ewt zoQ%9gXuyRtKChf!n|(StXQ#-S<H&io_vWXM+PiU6*7`R+jciBj+aeKlpLo>Hsf75z=m<$f7ku(!+2$kac=H}h|MS@ zV7=ppI^Z1dlUhYo7rM^_NB8u7debA;pQ}Vwcf;>@lc$>(FA}nMKbtRld__P$em#1Z zFRM6|PcvB8iQa`=2jrbfG=+Q{k66KkXuB1;d?89Ke;Gsfdu}^tF8nozD$5I2tuE#z zo&dR^i();|4&wU)0Kv>l(FggZFyNr<716)r1%4fK>pD@ZgdMp(2$@6lWt)@{14xz( z7>bT`?_eBzx=WtB`|JzdG(k-ltn;}KMyC?@<$RNoB~gY7%yVIjo{ya$3ACfFrLN?a zC65Jc;ur-TET)Uiglevjf{WbY=Fj}_c~=pVL1*bJ)hjjZd9^yC&(oDOADa*VC~kUg z<6`H|C9cKf0NX$;X>Hp(RPi}gSL~l%U&JRR?b%@Ctjg=m$oOe-2R7-h#^kB@moi7&>jishD~R4fcyH# zp5DAj=r-I)BBJUo{y#|`pGMJJ-o}-6)7iT`)2{C3W0&8u%>*DSF&9}6r^b~$)1lTKJW7s1JmKHQ45H`mKS~Oe$lU97rnO& zRX*pu15p^6K_a_ak{(X^sUPo0hg3Ui2x3YgOw0`3Wk)Z*O|3}>`MO z6(3S|h(6PHnzFK9iLXLta6dy9J*qp&BNuCdq%d-lcK$>4^sF)^e@uiscqdB4VTgIro->Hr)MA1iT5k_stkQ&;dz;(`!|S!Kh|{nc zh0b<%eZ){)s%LMa1Nj{JjaUy2oAk zBQz-);1Jz*S0{gZh9g{$RXs?ddfs8&jIxDS=6cQ?y)p^{m2n<|26i>}5rh#h2iM0^D@U)RAltQ`xULruh_zG{+Sw^tE0&rLdZpaO+qpgyM# z3W#s?Kw1#K=E3WCL_mI#u3w*8XQ8(S*ELF!fusv|3r{anvk#cZ;tQgXt|cex;n>UkSVY4 zOTcAu7VpRDDS%3vjd>`h1Zxc7s|Qq=(j@)568mrh zZ`WWEPn}!E@=BJO3COR#5pFP@;6EXVkFjKKc#abiTuih#3Hq*oBy%^ZE^UcHK`F&E zXIkq#G~ED@5ABQFogMX77D;pq{tCcApImFkY1BEd|sO)QA$ zPgMlTrp2JM@gD3Akp6>YWz`+Jb!5y$=lHr2nMz!e95g*@ljK1K9Y-r!M>e~ZUE3F` zFdR9BgV9gd+QR+4apSYUV;ZKXs;#2f4Vp`b+5?$@V8vQi!~Vg|xIqd?MtXgUR!7 zp=>h>zGlvU)CD^?b_+O;Rd6#q-+DWj$yW8?U?#woQkXNu>^jn^e8T{2S=jXUlcota z(2&kFEE|1b#-fvMQRyF=$8)x_^k%_|*NMd?T1ROskZ(I>P$8>dI}v}=YHE0WDTSnf zAfU{A_`sW-R|}@Ise=g2ULnzUnvtZ$H2-n&A`Q+%D>19Q=;j1k#Wtb<45^}FKB?VVRH)Wpq2f3QY&zPZAItuJfRHcMB4!<6y7uSiwRdh zAG$dw5SoPhx$d~IzM9Z5B$8l@iF~QL|NgJ;$p}ti%-hnrsj{L=w$e$?k6Qg3jK?w4 z<-*z|Yhg)Xx*G$@=(1#$5RrRgL5XVy)lQAL0Rq#D(*6v9gi}Uu&^ww2Xn3mOp9e zCsG_0kbwL_ggL&gP^Y(_z&1&M|7sP;?n*U8Vp$`SPY#%$}K_Fcqi~ zt!VuZ>lIZJp?k7mKgL*M3;|HpF{74U=eAcX{E4*e`!vuiSS6D89j z!{ivg*+L9~8rLAA$xDW7dp%mS^Y#!(?)pnAiP^?49CL5m^@9Ln8w{ZzY@sSmq?g5q z?lcB>lMDqrhOoTI#}6XBB~CwLG^_iytfhcvMQH44-{Uz@`?@CM^s%uhgCL{ zm2h)HJ5su!!{Ew;=I>eIZhu^yjNZ!=By7 z*eL;Kwn<2Cc6e=|-aqi86p2D4Sb>>;sle>v44Axhu!fFtkP{vzknajc=;z79;=y=%zLSXaUNqZS7+KgW>$ z6a-;OG9}2Ji*@QPt_FqBa)noj)pCgxnRAsL?tLJGkPc`WYAI==}a`AM`{uw%ssMsfZ5c0!kY!5eCedmm(KGpVqQm5H>ZIfXQg-2}ivcvPQno7Jp>sVAo zy2_t$Lq?JLDi=7}z+PGopJMX=^d9FX_AK+mh3lUqY5x)8Sy$ypvpBgzvZ6VJd5ktD zQ*6()8#*u^tcwXYHL|yng&Qa)W7A(et&n4>Q@h6(26avoMC2}~8dz@pLRMSl zV&h=)){WJtB3h*T!e5F)nA=7^U)A7AAO$phb>pjS(YrU*2uVF4y&dvJepB*LL6Kn8 zjy#zBPy`M~boC_fPF!u*n{5h0<#wA2_gEq-8K|cqlf&L{fkf;U9apq? zJMXb*#Ab_qpQFm@G1XQl9A8F`FuSZil&zU?z}2+9-{HM3K>~Z*h~V-b9P^}uymyu7 zF8g9ydM}k>0fQNVEjyQq)qSMi21?7RiM&dr@9^cRBigT0))J6K>7-~1n_-_#M4SuY zkmu?t5v-AhxNq?%GPI4OAX1>ev2JoGy}n?ON^`l8){u6&3lXcb5$b zzH%U`3Hd)deH5?3Bh@abff4oVm z(>Wg`<8j&)6!=cpmW-iw!J@$e=~MhngWY){BXV;3!l#;z^S1x`b+L%@+zlrsa+rr| zU6#66`7x&E0!qGAq~yO#k@i_%YvE(|9sUULRMnHUtnjCg#f+nn{A<+e`-$_+Hi>0y*o@B`VD@Z{uu7nA;leu0 zhx)e2wzE{^{m54JsV4WO4LCB$m`Ux()3Jd7XSY?Z=64;ABB;XHY>|v)z(tT1&9hQ& z4uTn$)wpO?2g9kVKwqzhOX3Z0Ra3aqtd34HNpgY%>j7_&9Z(_!v4&$ctwS)Fp=jOr z%rVreYAQ~%)ww`LqtX4^_ElQR{$0QU^_GQ0)^!B1v`jSKd|6-EF0f1j6SDkqoXu(U z+jzm91`)3$&s62Um<3*IGR9+RdK9_bY=yf(s|w7`<~`r}iYYO>gs^?!=k-YF30_I) zy#jA{nS3EXyCTES68|e}iqYAtVf)k57^&fF{y{V;L5PI|G+X#*9Z;Z2zN4tC&twM&To`is;9Fvt=)aZvBS2lt2r!<9Cxu{}djEL^-Yn zlhFARa3Qm@Bp4i$F*_AYM0xKeqS;lR`98lx7&2dTQ#E<*^-4GLzTTZ~xKIgWdLo=e zrya^J%AA#)9Z1Q8Q_pK20c0Qd?5zYAEZovT(gjJn=G|}@0t4cr0x7HW<7LB}@rI$&WYA_yk|_20^eI@slT|wvmZaeP{0kAccZjw)^{H{}fi<#CU8> zVYLZBo!zViG^tw~q`$F+lwHam-KQ7`Y_sU)XNXiF2sX413{Q;P?3ekAegF*z=3YR#Q&Lmk#~BGp|x>X6DdJf z^D2b2R@wPq$T9oQs;Asub|~kA?+Up|Q9CC{tOaB#Vccq7bW^xQ#_|;1-dS_QThTfe zrk>srD>ADN(2Iu!7zKLnOb@Mo4`nPZ{jg3M+kKFs^__T#QFS0<*3mC%t`}Z`(`UMc zS+4V+NPMXOyy^r9Pd*%lnr=zVooiv*nQ1$8%Lt3X#CP}m6K(KHXzvwfDj!)39nd7q z+0${-S4uJ-?2V*zYQ5d7s{k4ls+V;Fw$h|IdKoEXs7t)U`{4O1g{dA+tOR6{VZvIu z2%*(VL&l=n;3KDiu>RHNE76bESd*7fSb0ct9O80DaP+M7A*(Y28<+65DQeVNlDXCR zJ^3|@vBblO99_6!s;yS`vBn)zZb=b)od=91Y;lS1%LiY0d+z&w^jjkjCL)F+XMB2a z&_L~6Nr|d`uBK0$;uVrJt0|*z|40n$hNwKG$}{zyovZH&21)?~+tXqhbA2ju1G=J)+<*6+AcZ1}cCSgd1-0<3@ zY8jA;*Khkjq{x};?*`9B}EBq}TD{AsjG<&q=WHD0p?CzbAOe@?SEjIu7 zD@RL{11|E)Cj0)85J)Z#o=UiS>d6Gx^Ap1of#cr%?Li9Zc(57?I9Mi7NeIoV+tEd5 zO8zgIH#PYDhbFyy%#c%TV{nISy#rg7QhjglgdM}9M!J(jjxQ=z?w+L6?@43SoQ1f% zD-zXOW*w|G(j`uvRZ2sLz3!dS&LhFHr(SJXk6|bA{&m2=$MFxQvy6p7c@`Y-_lD}} za87lC7*9UGxy8o(x+FNpotub|Q|GI*Jcn4sRd&NXzOF8Q=yiQo1HNj{P}Xt*LP{+K zLQ=D{kE+!bEa#aN&hn?XG}Ggzl}I_>1UZ@Te8)^%(Kz%y}(nLO0TO30SD6zX&}lQzN{t*GpS ze1jJLu4hP~6d9I-4xzM&S*NiVsAq*_$qA6otM%5;={jYxh(^X1m`(mcEDK!U37#muRtdJ?ZUrxs^ix*0x3sN5}H|)5mWl(ia^{*EQ z5vg+D%4|*2DvXtRYq9i;Bz86K3}%8m7l|UL@jfKxrz2hrj?O-}4y5@fXFBRCMZo~O z{cWcq9vIk*9Cye!^1iP>5Vc?jOdD`6z0ksJ(>d>k;vKN9scMPkWD+tjhGwqb+HM4B zc9~=twJ~T7ZG{m}xYfgdqXV+A>?r0qN5FrJ*x*&j{Hl;Sx~-C!j9CG;Y<_AV&2zw@ z&7`WhIesV9bn0QsYoeAGF@HPkqptGTP$?V!zv5mHjh~jU-qY#okDSx2YGKLDoI#4~J;L%?xVYvQDnMT=ud10WT|XaqdMIKFcANOWKZH zq8>eIYgPw$@|~!9*YuKW-x`LBV;M>igbxaZF~AfoM_tNwm=BIdPg?k#?yKiJ@vXiY!R0lGI%2~Dt5kpilN^Ow$+aP|$E^H0PPg3- zwoNo#e^S)ewIU4vMfw;=0T?Joz~yxjcSC53yyLDj~I-C|=qcy4qql`ftk}vX(<;zkQcSf=ivCtA*BmSKJd!^@TXZ@8RZk~OE@Kcs0b*o?Ow-1|jw zkhP<$Gz<@E)d0x}f}gXGrS3GXU1A*yIsFfDoE}vIk$g)WRLF#JmPJykTE_AfAI)tA zrmPT*jEk$!Cs;jQLMHq$Fb?J<(c+vExRwDj24&Ja@O}ByDkfH3p04%DD>J!uJm7D<%}D zO)A`Od-gr@DOHdCe53D;l3=@egl3KtL2m-PqJDzH*1?iP0>aiP5kVa+Zs&ljfp@LSlk*^piHYqsOHts&>R zo}Z6i*F7l?UH{xM8Fbr<9wF#Ro&WsbJl|Gl)x^UjA8oXO;iHO$8-261pmbwIy`||K zsSf;=&|z3nc^Lbv$_G$;1#!C){a@xYVl^mnha)LS3gx5bO)c^y6px9kv7INadjCM0 z{*KruC%ND@_5xJA=)V!z)^pFr=Gv9$J_!sUK{&j<`Ng?&j5cw}gA*aNFHkV2o<2`7 z!lK0D9i2iZmm3@M$qKig=rl$$I0LA?6h)$(+?`mNerEYSdY>8Zp1vGX?9y@O@zG_7 zr@yzF4945cja|pHGF6iMP^S9FSUauvtj1gbo-)O5GLQ{SiZu8Ui3+4BuKEWB~aCRS6w4+;W`}ETUl;vVeF=c;~^t0U1!~A{1X60K^+6w}H z4!+5st~7jFdHJ@6@{6+IIq?ow3^R-aI zYkD9{0tPv$ku7;*f069-4+=;i#_LV2tq7S3r_6hDuAEuk#Ms&l5@9&qIW%ag9v| zKzUZU-s^-Z!R-q*Yepp(%+T2*g>0WxNs`k+M#dqHoSY*whJmctakrhbr@ec;!J*CT z)c7^0PecqF%%WSzN%^NIm1{k#_lej)XBhW1bGY5qM+f0eSHtElUqNWQl#(_RQ5FrF z+e>B$DjcY%olL?F&p2Me_b#%J3>Emsq3MFZIJV9#IpQT6iRSnEv9tE1#W~jP#yWQv zlM*4w)u)cM0h4;ou*WK_nw?}ERzjTcUA+|aj1d{oY5o@+Kevxw;b})NPWbc0+F)Pa z(0j=0d03fySPNTzw1!;(9xfhUb}nvq9wBXRZed;lVQxWIE-qm%F3$Xw(Eo=3;$mfQ z zqPVRIz|*2}Sfb(4;wgW@hsUFm3E}Ipf~T$3rW&4`8t5JACF?~V4pI1_!~q--;dop~ S@u$IF0VvA8m#L643;RFTxvPQz literal 0 HcmV?d00001 diff --git a/static/safari-pinned-tab.svg b/static/safari-pinned-tab.svg new file mode 100644 index 0000000..8a91912 --- /dev/null +++ b/static/safari-pinned-tab.svg @@ -0,0 +1,36 @@ + + + + +Created by potrace 1.14, written by Peter Selinger 2001-2017 + + + + + diff --git a/static/site.webmanifest b/static/site.webmanifest new file mode 100644 index 0000000..cec5a59 --- /dev/null +++ b/static/site.webmanifest @@ -0,0 +1,19 @@ +{ + "name": "Voltpad", + "short_name": "Voltpad", + "icons": [ + { + "src": "/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ], + "theme_color": "#ffffff", + "background_color": "#ffffff", + "display": "standalone" +} diff --git a/templates/Base.tsx b/templates/Base.tsx new file mode 100644 index 0000000..961adf2 --- /dev/null +++ b/templates/Base.tsx @@ -0,0 +1,74 @@ +import sass from "https://deno.land/x/denosass@1.0.6/mod.ts"; +import { h, PropsWithChildren } from "../jsx.ts"; + +import Header from "../components/Header.tsx"; + +interface TemplateProps { + title: string; + description: string; + style?: string; + stylepath?: string; +} + +export default (props: PropsWithChildren) => ( + + + + + + {/* favicon stuff generated with https://realfavicongenerator.net */} + + + + + + + + + + + {props.title} | Voltpad + {(() => { + if (!props.style) props.style = ""; + if (props.stylepath) + props.style += Deno.readTextFileSync(props.stylepath); + else return
; + return ; + })()} + +
+
{props.children}
+ +); diff --git a/templates/Story.tsx b/templates/Story.tsx new file mode 100644 index 0000000..cfaf401 --- /dev/null +++ b/templates/Story.tsx @@ -0,0 +1,69 @@ +import sass from "https://deno.land/x/denosass@1.0.6/mod.ts"; +import { Story } from "../wattpad.ts"; +import { h, PropsWithChildren } from "../jsx.ts"; + +import Header from "../components/Header.tsx"; + +interface StoryProps { + story: Story; + style?: string; + stylepath?: string; +} + +export default (props: PropsWithChildren) => ( + + + + + + {/* favicon stuff generated with https://realfavicongenerator.net */} + + + + + + + + + + + {props.story.name} + {(() => { + if (!props.style) props.style = ""; + if (props.stylepath) + props.style += Deno.readTextFileSync(props.stylepath); + else return
; + return ; + })()} + +
({ + name: ch.name, + href: `/story?id=${ch.workID}&chapter=${i}` + }))} + >
+
{props.children}
+ +); diff --git a/types.d.ts b/types.d.ts new file mode 100644 index 0000000..aa3f8b5 --- /dev/null +++ b/types.d.ts @@ -0,0 +1,7 @@ +export interface Props { + [key: string]: any; +} + +export interface PropsWithChildren extends Props { + children: any; +} diff --git a/wattpad.ts b/wattpad.ts new file mode 100644 index 0000000..511deab --- /dev/null +++ b/wattpad.ts @@ -0,0 +1,59 @@ +export * from "https://deno.land/x/wattpad@v0.0.4/mod.ts"; +import Wattpad, { Story } from "https://deno.land/x/wattpad@v0.0.4/mod.ts"; +import config from "./config.ts"; + +const watt = new Wattpad(); +if (config.user) { + await watt.authenticate( + config.user.username, + config.user.password, + ); +} + +const cache: { + [k: string]: { + story: Story; + timestamp: Date; + }; +} = {}; + +// re-init oldest story in cache every 5 minutes +setInterval(() => { + const oldStory = Object.values(cache).sort((a, b) => + // @ts-expect-error 2363; javascript is a disgrace but it makes sorting dates easy so ¯\_(ツ)_/¯ + b.timestamp - a.timestamp + ).pop(); // teehee + if (!oldStory) return; + cache[oldStory.story.id].timestamp = new Date(); + cache[oldStory.story.id].story.init().then(async (_) => { + for ( + let i = 0; + i < cache[oldStory.story.id].story.chapters.length; + i++ + ) { + await cache[oldStory.story.id].story.chapters[i].init(); + } + }); +}, 300000); + +export { watt }; + +export default { + search: watt.search, + tagSearch: watt.tagSearch, + async getStory(id: string, initChapters = true): Promise { + if (!cache[id]) { + cache[id] = { + story: watt.getStory(id), + timestamp: new Date(), + }; + await cache[id].story.init(); + if (initChapters) { + for (let i = 0; i < cache[id].story.chapters.length; i++) { + await cache[id].story.chapters[i].init(); + } + } + } + return cache[id].story; + }, +};