website
git clone https://git.pyrossh.dev/website
木 Personal website of pyrossh. Built with astrojs, shiki, vite.
06a962a
— pyrossh
2024-05-03T22:57:14+05:30
improve perf
Generated files not shown: package-lock.json
- .gitignore +0 -2
- package.json +3 -2
- src/app.d.ts +10 -8
- src/hooks.client.js +0 -21
- src/hooks.server.js +1 -9
- src/lib/assets/icons/appstore.svg +39 -0
- src/lib/assets/icons/playstore.svg +107 -0
- src/lib/assets/logos/onlybible.png +0 -0
- src/lib/assets/logos/pyrossh.png +0 -0
- src/routes/+page.svelte +29 -33
- vite.config.js +5 -8
.gitignore
CHANGED
|
@@ -8,5 +8,3 @@ node_modules
|
|
|
8
8
|
!.env.example
|
|
9
9
|
vite.config.js.timestamp-*
|
|
10
10
|
vite.config.ts.timestamp-*
|
|
11
|
-
# Sentry Config File
|
|
12
|
-
.sentryclirc
|
package.json
CHANGED
|
@@ -16,7 +16,6 @@
|
|
|
16
16
|
"test:unit": "vitest"
|
|
17
17
|
},
|
|
18
18
|
"dependencies": {
|
|
19
|
-
"@sentry/sveltekit": "^7.102.0",
|
|
20
19
|
"@unocss/reset": "^0.58.5",
|
|
21
20
|
"remark-github": "^12.0.0",
|
|
22
21
|
"shiki": "^1.1.7"
|
|
@@ -24,7 +23,9 @@
|
|
|
24
23
|
"devDependencies": {
|
|
25
24
|
"@iconify/json": "^2.2.185",
|
|
26
25
|
"@playwright/test": "^1.28.1",
|
|
26
|
+
"@poppanator/sveltekit-svg": "^4.2.1",
|
|
27
27
|
"@sveltejs/adapter-static": "^3.0.1",
|
|
28
|
+
"@sveltejs/enhanced-img": "^0.2.0",
|
|
28
29
|
"@sveltejs/kit": "2.5.1",
|
|
29
30
|
"@types/eslint": "8.56.0",
|
|
30
31
|
"@unocss/svelte-scoped": "^0.58.5",
|
|
@@ -44,4 +45,4 @@
|
|
|
44
45
|
"vite": "^5.0.3",
|
|
45
46
|
"vitest": "^1.2.0"
|
|
46
47
|
}
|
|
47
|
-
}
|
|
48
|
+
}
|
src/app.d.ts
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
// See https://kit.svelte.dev/docs/types#app
|
|
2
2
|
// for information about these interfaces
|
|
3
|
+
import '@poppanator/sveltekit-svg/dist/svg';
|
|
4
|
+
|
|
3
5
|
declare global {
|
|
4
|
-
|
|
6
|
+
namespace App {
|
|
5
|
-
|
|
7
|
+
// interface Error {}
|
|
6
|
-
|
|
8
|
+
// interface Locals {}
|
|
7
|
-
|
|
9
|
+
// interface PageData {}
|
|
8
|
-
|
|
10
|
+
// interface PageState {}
|
|
9
|
-
|
|
11
|
+
// interface Platform {}
|
|
10
|
-
|
|
12
|
+
}
|
|
11
13
|
}
|
|
12
14
|
|
|
13
|
-
export {};
|
|
15
|
+
export { };
|
src/hooks.client.js
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { handleErrorWithSentry, replayIntegration } from '@sentry/sveltekit';
|
|
2
|
-
import * as Sentry from '@sentry/sveltekit';
|
|
3
|
-
|
|
4
|
-
Sentry.init({
|
|
5
|
-
dsn: 'https://c5d07f4181a8450fa2cface73930c4f2@o4504798400348160.ingest.sentry.io/4504798403624960',
|
|
6
|
-
tracesSampleRate: 1.0,
|
|
7
|
-
|
|
8
|
-
// This sets the sample rate to be 10%. You may want this to be 100% while
|
|
9
|
-
// in development and sample at a lower rate in production
|
|
10
|
-
replaysSessionSampleRate: 0.1,
|
|
11
|
-
|
|
12
|
-
// If the entire session is not sampled, use the below sample rate to sample
|
|
13
|
-
// sessions when an error occurs.
|
|
14
|
-
replaysOnErrorSampleRate: 1.0,
|
|
15
|
-
|
|
16
|
-
// If you don't want to use Session Replay, just remove the line below:
|
|
17
|
-
integrations: [replayIntegration()]
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
// If you have a custom error handler, pass it to `handleErrorWithSentry`
|
|
21
|
-
export const handleError = handleErrorWithSentry();
|
src/hooks.server.js
CHANGED
|
@@ -1,14 +1,6 @@
|
|
|
1
1
|
import { sequence } from '@sveltejs/kit/hooks';
|
|
2
|
-
import * as Sentry from '@sentry/sveltekit';
|
|
3
2
|
|
|
4
|
-
Sentry.init({
|
|
5
|
-
dsn: 'https://c5d07f4181a8450fa2cface73930c4f2@o4504798400348160.ingest.sentry.io/4504798403624960',
|
|
6
|
-
tracesSampleRate: 1
|
|
7
|
-
});
|
|
8
|
-
|
|
9
|
-
export const handleError = Sentry.handleErrorWithSentry();
|
|
10
|
-
|
|
11
|
-
export const handle = sequence(
|
|
3
|
+
export const handle = sequence(async function _handle({ event, resolve }) {
|
|
12
4
|
const response = await resolve(event, {
|
|
13
5
|
transformPageChunk: ({ html }) =>
|
|
14
6
|
html.replace('%unocss-svelte-scoped.global%', 'unocss_svelte_scoped_global_styles')
|
src/lib/assets/icons/appstore.svg
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
<svg viewBox="0 0 539.856 170" xmlns="http://www.w3.org/2000/svg" fill="#000000">
|
|
2
|
+
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
|
3
|
+
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
|
4
|
+
<g id="SVGRepo_iconCarrier">
|
|
5
|
+
<g transform="scale(4.00216 4.0011)">
|
|
6
|
+
<path fill="#FFF"
|
|
7
|
+
d="M134.032 35.268a3.83 3.83 0 0 1-3.834 3.83H4.729a3.835 3.835 0 0 1-3.839-3.83V4.725A3.84 3.84 0 0 1 4.729.89h125.468a3.834 3.834 0 0 1 3.834 3.835l.001 30.543z">
|
|
8
|
+
</path>
|
|
9
|
+
<path fill="#A6A6A6"
|
|
10
|
+
d="M130.198 39.989H4.729A4.73 4.73 0 0 1 0 35.268V4.726A4.733 4.733 0 0 1 4.729 0h125.468a4.735 4.735 0 0 1 4.729 4.726v30.542c.002 2.604-2.123 4.721-4.728 4.721z">
|
|
11
|
+
</path>
|
|
12
|
+
<path
|
|
13
|
+
d="M134.032 35.268a3.83 3.83 0 0 1-3.834 3.83H4.729a3.835 3.835 0 0 1-3.839-3.83V4.725A3.84 3.84 0 0 1 4.729.89h125.468a3.834 3.834 0 0 1 3.834 3.835l.001 30.543z">
|
|
14
|
+
</path>
|
|
15
|
+
<path fill="#FFF"
|
|
16
|
+
d="M30.128 19.784c-.029-3.223 2.639-4.791 2.761-4.864-1.511-2.203-3.853-2.504-4.676-2.528-1.967-.207-3.875 1.177-4.877 1.177-1.022 0-2.565-1.157-4.228-1.123-2.14.033-4.142 1.272-5.24 3.196-2.266 3.923-.576 9.688 1.595 12.859 1.086 1.554 2.355 3.287 4.016 3.226 1.625-.066 2.232-1.035 4.193-1.035 1.943 0 2.513 1.035 4.207.996 1.744-.027 2.842-1.56 3.89-3.127 1.255-1.779 1.759-3.533 1.779-3.623-.04-.014-3.386-1.292-3.42-5.154zM26.928 10.306c.874-1.093 1.472-2.58 1.306-4.089-1.265.056-2.847.875-3.758 1.944-.806.942-1.526 2.486-1.34 3.938 1.421.106 2.88-.717 3.792-1.793z">
|
|
17
|
+
</path>
|
|
18
|
+
<linearGradient id="a" gradientUnits="userSpaceOnUse" x1="-23.235" y1="97.431" x2="-23.235" y2="61.386"
|
|
19
|
+
gradientTransform="matrix(4.0022 0 0 4.0011 191.95 -349.736)">
|
|
20
|
+
<stop offset="0" stop-color="#1a1a1a" stop-opacity=".1"></stop>
|
|
21
|
+
<stop offset=".123" stop-color="#212121" stop-opacity=".151"></stop>
|
|
22
|
+
<stop offset=".308" stop-color="#353535" stop-opacity=".227"></stop>
|
|
23
|
+
<stop offset=".532" stop-color="#575757" stop-opacity=".318"></stop>
|
|
24
|
+
<stop offset=".783" stop-color="#858585" stop-opacity=".421"></stop>
|
|
25
|
+
<stop offset="1" stop-color="#b3b3b3" stop-opacity=".51"></stop>
|
|
26
|
+
</linearGradient>
|
|
27
|
+
<g fill="#FFF">
|
|
28
|
+
<path
|
|
29
|
+
d="M53.665 31.504h-2.271l-1.244-3.909h-4.324l-1.185 3.909H42.43l4.285-13.308h2.646l4.304 13.308zm-3.89-5.549L48.65 22.48c-.119-.355-.343-1.191-.671-2.507h-.04c-.132.566-.343 1.402-.632 2.507l-1.106 3.475h3.574zM64.663 26.588c0 1.632-.443 2.922-1.33 3.869-.794.843-1.781 1.264-2.958 1.264-1.271 0-2.185-.453-2.74-1.361v5.035h-2.132V25.062c0-1.025-.027-2.076-.079-3.154h1.875l.119 1.521h.04c.711-1.146 1.79-1.719 3.238-1.719 1.132 0 2.077.447 2.833 1.342.755.897 1.134 2.075 1.134 3.536zm-2.172.078c0-.934-.21-1.704-.632-2.311-.461-.631-1.08-.947-1.856-.947-.526 0-1.004.176-1.431.523-.428.35-.708.807-.839 1.373a2.784 2.784 0 0 0-.099.649v1.601c0 .697.214 1.286.642 1.768.428.48.984.721 1.668.721.803 0 1.428-.311 1.875-.928.448-.619.672-1.435.672-2.449zM75.7 26.588c0 1.632-.443 2.922-1.33 3.869-.795.843-1.781 1.264-2.959 1.264-1.271 0-2.185-.453-2.74-1.361v5.035h-2.132V25.062c0-1.025-.027-2.076-.079-3.154h1.875l.119 1.521h.04c.71-1.146 1.789-1.719 3.238-1.719 1.131 0 2.076.447 2.834 1.342.754.897 1.134 2.075 1.134 3.536zm-2.173.078c0-.934-.211-1.704-.633-2.311-.461-.631-1.078-.947-1.854-.947-.526 0-1.004.176-1.433.523-.428.35-.707.807-.838 1.373-.065.264-.1.479-.1.649v1.601c0 .697.215 1.286.641 1.768.428.479.984.721 1.67.721.804 0 1.429-.311 1.875-.928.448-.619.672-1.435.672-2.449zM88.04 27.771c0 1.133-.396 2.054-1.183 2.765-.866.776-2.075 1.165-3.625 1.165-1.432 0-2.58-.276-3.446-.829l.493-1.777c.935.554 1.962.83 3.08.83.804 0 1.429-.182 1.875-.543.447-.362.673-.846.673-1.45 0-.541-.187-.994-.554-1.363-.369-.368-.979-.711-1.836-1.026-2.33-.869-3.496-2.14-3.496-3.812 0-1.092.412-1.986 1.234-2.685.822-.698 1.912-1.047 3.268-1.047 1.211 0 2.22.211 3.021.632l-.535 1.738c-.754-.408-1.605-.612-2.557-.612-.752 0-1.342.185-1.764.553-.355.329-.535.73-.535 1.206 0 .525.205.961.613 1.303.354.315 1 .658 1.934 1.026 1.146.462 1.988 1 2.527 1.618.543.618.813 1.389.813 2.308zM95.107 23.508h-2.35v4.659c0 1.185.414 1.776 1.244 1.776.381 0 .697-.032.947-.099l.059 1.619c-.42.157-.973.236-1.658.236-.842 0-1.5-.257-1.975-.771-.473-.514-.711-1.375-.711-2.587v-4.837h-1.4v-1.6h1.4v-1.757l2.094-.632v2.389h2.35v1.604zM105.689 26.627c0 1.475-.422 2.686-1.264 3.633-.881.975-2.053 1.461-3.514 1.461-1.41 0-2.531-.467-3.367-1.4-.836-.935-1.254-2.113-1.254-3.534 0-1.487.432-2.705 1.293-3.652.863-.948 2.025-1.422 3.486-1.422 1.408 0 2.539.468 3.395 1.402.818.906 1.225 2.076 1.225 3.512zm-2.21.049c0-.879-.19-1.633-.571-2.264-.447-.762-1.087-1.143-1.916-1.143-.854 0-1.509.381-1.955 1.143-.382.631-.572 1.398-.572 2.304 0 .88.19 1.636.572 2.265.461.762 1.104 1.143 1.937 1.143.815 0 1.454-.389 1.916-1.162.392-.646.589-1.405.589-2.286zM112.622 23.783a3.71 3.71 0 0 0-.672-.059c-.75 0-1.33.282-1.738.85-.354.5-.532 1.132-.532 1.895v5.035h-2.132V24.93a67.43 67.43 0 0 0-.062-3.021h1.857l.078 1.836h.059c.226-.631.58-1.14 1.066-1.521a2.578 2.578 0 0 1 1.541-.514c.197 0 .375.014.533.039l.002 2.034zM122.157 26.252a5 5 0 0 1-.078.967h-6.396c.024.948.334 1.674.928 2.174.539.446 1.236.67 2.092.67.947 0 1.811-.15 2.588-.453l.334 1.479c-.908.396-1.98.593-3.217.593-1.488 0-2.656-.438-3.506-1.312-.848-.875-1.273-2.051-1.273-3.524 0-1.446.395-2.651 1.186-3.612.828-1.026 1.947-1.539 3.355-1.539 1.383 0 2.43.513 3.141 1.539.563.813.846 1.821.846 3.018zm-2.033-.553c.015-.633-.125-1.178-.414-1.639-.369-.594-.937-.89-1.698-.89-.697 0-1.265.289-1.697.869-.355.461-.566 1.015-.631 1.658l4.44.002z">
|
|
30
|
+
</path>
|
|
31
|
+
</g>
|
|
32
|
+
<g fill="#FFF">
|
|
33
|
+
<path
|
|
34
|
+
d="M45.211 13.491c-.593 0-1.106-.029-1.533-.078V6.979a11.606 11.606 0 0 1 1.805-.136c2.445 0 3.571 1.203 3.571 3.164 0 2.262-1.33 3.484-3.843 3.484zm.358-5.823c-.33 0-.611.02-.844.068v4.891c.126.02.368.029.708.029 1.602 0 2.514-.912 2.514-2.62 0-1.523-.825-2.368-2.378-2.368zM52.563 13.54c-1.378 0-2.271-1.029-2.271-2.426 0-1.456.912-2.494 2.349-2.494 1.358 0 2.271.98 2.271 2.417 0 1.474-.941 2.503-2.349 2.503zm.04-4.154c-.757 0-1.242.708-1.242 1.698 0 .971.495 1.679 1.232 1.679s1.232-.757 1.232-1.699c0-.96-.485-1.678-1.222-1.678zM62.77 8.717l-1.475 4.716h-.961l-.611-2.048a15.53 15.53 0 0 1-.379-1.523h-.02c-.077.514-.223 1.029-.378 1.523l-.65 2.048h-.971l-1.388-4.716h1.077l.534 2.242c.126.534.232 1.038.32 1.514h.02c.077-.397.203-.893.388-1.504l.67-2.251h.854l.641 2.203c.155.534.281 1.058.379 1.553h.028c.068-.485.175-1 .32-1.553l.573-2.203 1.029-.001zM68.2 13.433h-1.048v-2.708c0-.834-.32-1.252-.951-1.252-.621 0-1.048.534-1.048 1.155v2.805h-1.048v-3.368c0-.417-.01-.864-.039-1.349h.922l.049.728h.029c.282-.504.854-.824 1.495-.824.99 0 1.64.757 1.64 1.989l-.001 2.824zM71.09 13.433h-1.049v-6.88h1.049v6.88zM74.911 13.54c-1.377 0-2.271-1.029-2.271-2.426 0-1.456.912-2.494 2.348-2.494 1.359 0 2.271.98 2.271 2.417.001 1.474-.941 2.503-2.348 2.503zm.039-4.154c-.757 0-1.242.708-1.242 1.698 0 .971.496 1.679 1.231 1.679.738 0 1.232-.757 1.232-1.699.001-.96-.483-1.678-1.221-1.678zM81.391 13.433l-.076-.543h-.028c-.32.437-.787.65-1.379.65-.845 0-1.445-.592-1.445-1.388 0-1.164 1.009-1.766 2.756-1.766v-.087c0-.621-.329-.932-.979-.932-.465 0-.873.117-1.232.35l-.213-.689c.436-.272.98-.408 1.619-.408 1.232 0 1.854.65 1.854 1.951v1.737c0 .476.021.845.068 1.126l-.945-.001zm-.144-2.349c-1.164 0-1.748.282-1.748.951 0 .495.301.737.719.737.533 0 1.029-.407 1.029-.96v-.728zM87.357 13.433l-.049-.757h-.029c-.301.572-.807.864-1.514.864-1.137 0-1.979-1-1.979-2.407 0-1.475.873-2.514 2.065-2.514.631 0 1.078.213 1.33.641h.021V6.553h1.049v5.609c0 .456.011.883.039 1.271h-.933zm-.155-2.775c0-.66-.437-1.223-1.104-1.223-.777 0-1.252.689-1.252 1.659 0 .951.493 1.602 1.231 1.602.659 0 1.125-.573 1.125-1.252v-.786zM94.902 13.54c-1.377 0-2.27-1.029-2.27-2.426 0-1.456.912-2.494 2.348-2.494 1.359 0 2.271.98 2.271 2.417.001 1.474-.94 2.503-2.349 2.503zm.039-4.154c-.756 0-1.241.708-1.241 1.698 0 .971.495 1.679 1.231 1.679.738 0 1.232-.757 1.232-1.699.002-.96-.483-1.678-1.222-1.678zM102.887 13.433h-1.049v-2.708c0-.834-.32-1.252-.951-1.252-.621 0-1.047.534-1.047 1.155v2.805h-1.049v-3.368c0-.417-.01-.864-.039-1.349h.922l.049.728h.029c.281-.504.854-.825 1.494-.825.99 0 1.641.757 1.641 1.989v2.825zM109.938 9.503h-1.153v2.29c0 .583.202.874.61.874.185 0 .34-.02.465-.049l.029.796c-.203.078-.475.117-.813.117-.826 0-1.32-.456-1.32-1.65V9.503h-.688v-.786h.688v-.864l1.029-.311v1.174h1.153v.787zM115.486 13.433h-1.047v-2.688c0-.844-.319-1.271-.951-1.271-.543 0-1.049.369-1.049 1.116v2.843h-1.047v-6.88h1.047v2.833h.021c.33-.514.808-.767 1.418-.767.998 0 1.608.776 1.608 2.009v2.805zM121.17 11.327h-3.145c.02.893.611 1.397 1.486 1.397.465 0 .893-.078 1.271-.223l.163.728c-.446.194-.971.291-1.582.291-1.475 0-2.348-.932-2.348-2.377 0-1.446.894-2.533 2.23-2.533 1.205 0 1.961.893 1.961 2.242a2.02 2.02 0 0 1-.036.475zm-.961-.747c0-.728-.367-1.242-1.037-1.242-.602 0-1.078.524-1.146 1.242h2.183z">
|
|
35
|
+
</path>
|
|
36
|
+
</g>
|
|
37
|
+
</g>
|
|
38
|
+
</g>
|
|
39
|
+
</svg>
|
src/lib/assets/icons/playstore.svg
ADDED
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
<svg viewBox="0 0 135 40" id="Layer_1" xmlns="http://www.w3.org/2000/svg" fill="#000000">
|
|
2
|
+
<g id="SVGRepo_bgCarrier" stroke-width="0"></g>
|
|
3
|
+
<g id="SVGRepo_tracerCarrier" stroke-linecap="round" stroke-linejoin="round"></g>
|
|
4
|
+
<g id="SVGRepo_iconCarrier">
|
|
5
|
+
<style>
|
|
6
|
+
.st0 {
|
|
7
|
+
fill: #a6a6a6;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.st1 {
|
|
11
|
+
stroke: #ffffff;
|
|
12
|
+
stroke-width: 0.2;
|
|
13
|
+
stroke-miterlimit: 10;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
.st1,
|
|
17
|
+
.st2 {
|
|
18
|
+
fill: #fff;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.st3 {
|
|
22
|
+
fill: url(#SVGID_1_);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.st4 {
|
|
26
|
+
fill: url(#SVGID_2_);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
.st5 {
|
|
30
|
+
fill: url(#SVGID_3_);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.st6 {
|
|
34
|
+
fill: url(#SVGID_4_);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
.st7,
|
|
38
|
+
.st8,
|
|
39
|
+
.st9 {
|
|
40
|
+
opacity: 0.2;
|
|
41
|
+
enable-background: new;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.st8,
|
|
45
|
+
.st9 {
|
|
46
|
+
opacity: 0.12;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.st9 {
|
|
50
|
+
opacity: 0.25;
|
|
51
|
+
fill: #fff;
|
|
52
|
+
}
|
|
53
|
+
</style>
|
|
54
|
+
<path d="M130 40H5c-2.8 0-5-2.2-5-5V5c0-2.8 2.2-5 5-5h125c2.8 0 5 2.2 5 5v30c0 2.8-2.2 5-5 5z"></path>
|
|
55
|
+
<path class="st0"
|
|
56
|
+
d="M130 .8c2.3 0 4.2 1.9 4.2 4.2v30c0 2.3-1.9 4.2-4.2 4.2H5C2.7 39.2.8 37.3.8 35V5C.8 2.7 2.7.8 5 .8h125m0-.8H5C2.2 0 0 2.3 0 5v30c0 2.8 2.2 5 5 5h125c2.8 0 5-2.2 5-5V5c0-2.7-2.2-5-5-5z">
|
|
57
|
+
</path>
|
|
58
|
+
<path class="st1"
|
|
59
|
+
d="M47.4 10.2c0 .8-.2 1.5-.7 2-.6.6-1.3.9-2.2.9-.9 0-1.6-.3-2.2-.9-.6-.6-.9-1.3-.9-2.2 0-.9.3-1.6.9-2.2.6-.6 1.3-.9 2.2-.9.4 0 .8.1 1.2.3.4.2.7.4.9.7l-.5.5c-.4-.5-.9-.7-1.6-.7-.6 0-1.2.2-1.6.7-.5.4-.7 1-.7 1.7s.2 1.3.7 1.7c.5.4 1 .7 1.6.7.7 0 1.2-.2 1.7-.7.3-.3.5-.7.5-1.2h-2.2v-.8h2.9v.4zM52 7.7h-2.7v1.9h2.5v.7h-2.5v1.9H52v.8h-3.5V7H52v.7zM55.3 13h-.8V7.7h-1.7V7H57v.7h-1.7V13zM59.9 13V7h.8v6h-.8zM64.1 13h-.8V7.7h-1.7V7h4.1v.7H64V13zM73.6 12.2c-.6.6-1.3.9-2.2.9-.9 0-1.6-.3-2.2-.9-.6-.6-.9-1.3-.9-2.2s.3-1.6.9-2.2c.6-.6 1.3-.9 2.2-.9.9 0 1.6.3 2.2.9.6.6.9 1.3.9 2.2 0 .9-.3 1.6-.9 2.2zm-3.8-.5c.4.4 1 .7 1.6.7.6 0 1.2-.2 1.6-.7.4-.4.7-1 .7-1.7s-.2-1.3-.7-1.7c-.4-.4-1-.7-1.6-.7-.6 0-1.2.2-1.6.7-.4.4-.7 1-.7 1.7s.2 1.3.7 1.7zM75.6 13V7h.9l2.9 4.7V7h.8v6h-.8l-3.1-4.9V13h-.7z">
|
|
60
|
+
</path>
|
|
61
|
+
<path class="st2"
|
|
62
|
+
d="M68.1 21.8c-2.4 0-4.3 1.8-4.3 4.3 0 2.4 1.9 4.3 4.3 4.3s4.3-1.8 4.3-4.3c0-2.6-1.9-4.3-4.3-4.3zm0 6.8c-1.3 0-2.4-1.1-2.4-2.6s1.1-2.6 2.4-2.6c1.3 0 2.4 1 2.4 2.6 0 1.5-1.1 2.6-2.4 2.6zm-9.3-6.8c-2.4 0-4.3 1.8-4.3 4.3 0 2.4 1.9 4.3 4.3 4.3s4.3-1.8 4.3-4.3c0-2.6-1.9-4.3-4.3-4.3zm0 6.8c-1.3 0-2.4-1.1-2.4-2.6s1.1-2.6 2.4-2.6c1.3 0 2.4 1 2.4 2.6 0 1.5-1.1 2.6-2.4 2.6zm-11.1-5.5v1.8H52c-.1 1-.5 1.8-1 2.3-.6.6-1.6 1.3-3.3 1.3-2.7 0-4.7-2.1-4.7-4.8s2.1-4.8 4.7-4.8c1.4 0 2.5.6 3.3 1.3l1.3-1.3c-1.1-1-2.5-1.8-4.5-1.8-3.6 0-6.7 3-6.7 6.6 0 3.6 3.1 6.6 6.7 6.6 2 0 3.4-.6 4.6-1.9 1.2-1.2 1.6-2.9 1.6-4.2 0-.4 0-.8-.1-1.1h-6.2zm45.4 1.4c-.4-1-1.4-2.7-3.6-2.7s-4 1.7-4 4.3c0 2.4 1.8 4.3 4.2 4.3 1.9 0 3.1-1.2 3.5-1.9l-1.4-1c-.5.7-1.1 1.2-2.1 1.2s-1.6-.4-2.1-1.3l5.7-2.4-.2-.5zm-5.8 1.4c0-1.6 1.3-2.5 2.2-2.5.7 0 1.4.4 1.6.9l-3.8 1.6zM82.6 30h1.9V17.5h-1.9V30zm-3-7.3c-.5-.5-1.3-1-2.3-1-2.1 0-4.1 1.9-4.1 4.3s1.9 4.2 4.1 4.2c1 0 1.8-.5 2.2-1h.1v.6c0 1.6-.9 2.5-2.3 2.5-1.1 0-1.9-.8-2.1-1.5l-1.6.7c.5 1.1 1.7 2.5 3.8 2.5 2.2 0 4-1.3 4-4.4V22h-1.8v.7zm-2.2 5.9c-1.3 0-2.4-1.1-2.4-2.6s1.1-2.6 2.4-2.6c1.3 0 2.3 1.1 2.3 2.6s-1 2.6-2.3 2.6zm24.4-11.1h-4.5V30h1.9v-4.7h2.6c2.1 0 4.1-1.5 4.1-3.9s-2-3.9-4.1-3.9zm.1 6h-2.7v-4.3h2.7c1.4 0 2.2 1.2 2.2 2.1-.1 1.1-.9 2.2-2.2 2.2zm11.5-1.8c-1.4 0-2.8.6-3.3 1.9l1.7.7c.4-.7 1-.9 1.7-.9 1 0 1.9.6 2 1.6v.1c-.3-.2-1.1-.5-1.9-.5-1.8 0-3.6 1-3.6 2.8 0 1.7 1.5 2.8 3.1 2.8 1.3 0 1.9-.6 2.4-1.2h.1v1h1.8v-4.8c-.2-2.2-1.9-3.5-4-3.5zm-.2 6.9c-.6 0-1.5-.3-1.5-1.1 0-1 1.1-1.3 2-1.3.8 0 1.2.2 1.7.4-.2 1.2-1.2 2-2.2 2zm10.5-6.6l-2.1 5.4h-.1l-2.2-5.4h-2l3.3 7.6-1.9 4.2h1.9l5.1-11.8h-2zm-16.8 8h1.9V17.5h-1.9V30z">
|
|
63
|
+
</path>
|
|
64
|
+
<g>
|
|
65
|
+
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="21.8" y1="33.29" x2="5.017" y2="16.508"
|
|
66
|
+
gradientTransform="matrix(1 0 0 -1 0 42)">
|
|
67
|
+
<stop offset="0" stop-color="#00a0ff"></stop>
|
|
68
|
+
<stop offset=".007" stop-color="#00a1ff"></stop>
|
|
69
|
+
<stop offset=".26" stop-color="#00beff"></stop>
|
|
70
|
+
<stop offset=".512" stop-color="#00d2ff"></stop>
|
|
71
|
+
<stop offset=".76" stop-color="#00dfff"></stop>
|
|
72
|
+
<stop offset="1" stop-color="#00e3ff"></stop>
|
|
73
|
+
</linearGradient>
|
|
74
|
+
<path class="st3" d="M10.4 7.5c-.3.3-.4.8-.4 1.4V31c0 .6.2 1.1.5 1.4l.1.1L23 20.1v-.2L10.4 7.5z"></path>
|
|
75
|
+
<linearGradient id="SVGID_2_" gradientUnits="userSpaceOnUse" x1="33.834" y1="21.999" x2="9.637" y2="21.999"
|
|
76
|
+
gradientTransform="matrix(1 0 0 -1 0 42)">
|
|
77
|
+
<stop offset="0" stop-color="#ffe000"></stop>
|
|
78
|
+
<stop offset=".409" stop-color="#ffbd00"></stop>
|
|
79
|
+
<stop offset=".775" stop-color="orange"></stop>
|
|
80
|
+
<stop offset="1" stop-color="#ff9c00"></stop>
|
|
81
|
+
</linearGradient>
|
|
82
|
+
<path class="st4" d="M27 24.3l-4.1-4.1V19.9l4.1-4.1.1.1 4.9 2.8c1.4.8 1.4 2.1 0 2.9l-5 2.7z"></path>
|
|
83
|
+
<linearGradient id="SVGID_3_" gradientUnits="userSpaceOnUse" x1="24.827" y1="19.704" x2="2.069" y2="-3.054"
|
|
84
|
+
gradientTransform="matrix(1 0 0 -1 0 42)">
|
|
85
|
+
<stop offset="0" stop-color="#ff3a44"></stop>
|
|
86
|
+
<stop offset="1" stop-color="#c31162"></stop>
|
|
87
|
+
</linearGradient>
|
|
88
|
+
<path class="st5" d="M27.1 24.2L22.9 20 10.4 32.5c.5.5 1.2.5 2.1.1l14.6-8.4"></path>
|
|
89
|
+
<linearGradient id="SVGID_4_" gradientUnits="userSpaceOnUse" x1="7.297" y1="41.824" x2="17.46" y2="31.661"
|
|
90
|
+
gradientTransform="matrix(1 0 0 -1 0 42)">
|
|
91
|
+
<stop offset="0" stop-color="#32a071"></stop>
|
|
92
|
+
<stop offset=".069" stop-color="#2da771"></stop>
|
|
93
|
+
<stop offset=".476" stop-color="#15cf74"></stop>
|
|
94
|
+
<stop offset=".801" stop-color="#06e775"></stop>
|
|
95
|
+
<stop offset="1" stop-color="#00f076"></stop>
|
|
96
|
+
</linearGradient>
|
|
97
|
+
<path class="st6" d="M27.1 15.8L12.5 7.5c-.9-.5-1.6-.4-2.1.1L22.9 20l4.2-4.2z"></path>
|
|
98
|
+
<path class="st7" d="M27 24.1l-14.5 8.2c-.8.5-1.5.4-2 0l-.1.1.1.1c.5.4 1.2.5 2 0L27 24.1z"></path>
|
|
99
|
+
<path class="st8"
|
|
100
|
+
d="M10.4 32.3c-.3-.3-.4-.8-.4-1.4v.1c0 .6.2 1.1.5 1.4v-.1h-.1zM32 21.3l-5 2.8.1.1 4.9-2.8c.7-.4 1-.9 1-1.4 0 .5-.4.9-1 1.3z">
|
|
101
|
+
</path>
|
|
102
|
+
<path class="st9"
|
|
103
|
+
d="M12.5 7.6L32 18.7c.6.4 1 .8 1 1.3 0-.5-.3-1-1-1.4L12.5 7.5c-1.4-.8-2.5-.2-2.5 1.4V9c0-1.5 1.1-2.2 2.5-1.4z">
|
|
104
|
+
</path>
|
|
105
|
+
</g>
|
|
106
|
+
</g>
|
|
107
|
+
</svg>
|
src/lib/assets/logos/onlybible.png
ADDED
|
Binary file
|
src/lib/assets/logos/pyrossh.png
ADDED
|
Binary file
|
src/routes/+page.svelte
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
1
|
<script>
|
|
2
2
|
import Slide from '$lib/components/Slide.svelte';
|
|
3
|
+
import PlayStoreIcon from '$lib/assets/icons/playstore.svg?component';
|
|
4
|
+
import AppStoreIcon from '$lib/assets/icons/appstore.svg?component';
|
|
5
|
+
import onlyBiblePng from '$lib/assets/logos/onlybible.png?enhanced';
|
|
6
|
+
import pyrosshPng from '$lib/assets/logos/pyrossh.png?enhanced';
|
|
3
|
-
import stats from '$lib/assets/logos/stats.png';
|
|
7
|
+
import stats from '$lib/assets/logos/stats.png?enhanced';
|
|
4
|
-
import brave from '$lib/assets/logos/brave.png';
|
|
8
|
+
import brave from '$lib/assets/logos/brave.png?enhanced';
|
|
5
|
-
import code from '$lib/assets/logos/code.png';
|
|
9
|
+
import code from '$lib/assets/logos/code.png?enhanced';
|
|
6
|
-
import helix from '$lib/assets/logos/helix.png';
|
|
10
|
+
import helix from '$lib/assets/logos/helix.png?enhanced';
|
|
7
|
-
import fish from '$lib/assets/logos/fish.png';
|
|
11
|
+
import fish from '$lib/assets/logos/fish.png?enhanced';
|
|
8
|
-
import iterm from '$lib/assets/logos/iterm.png';
|
|
12
|
+
import iterm from '$lib/assets/logos/iterm.png?enhanced';
|
|
9
|
-
import slurp from '$lib/assets/logos/slurp.png';
|
|
13
|
+
import slurp from '$lib/assets/logos/slurp.png?enhanced';
|
|
10
|
-
import curve from '$lib/assets/logos/curve.png';
|
|
14
|
+
import curve from '$lib/assets/logos/curve.png?enhanced';
|
|
11
15
|
</script>
|
|
12
16
|
|
|
13
17
|
<svelte:head>
|
|
@@ -56,7 +60,9 @@
|
|
|
56
60
|
</p>
|
|
57
61
|
</Slide>
|
|
58
62
|
<Slide title="pyrossh.dev" link="https://github.com/pyrossh/pyrossh.dev">
|
|
63
|
+
<div slot="icon">
|
|
59
|
-
|
|
64
|
+
<enhanced:img class="mr-2 w-9 rounded-2" src={pyrosshPng} alt="pyrossh website" />
|
|
65
|
+
</div>
|
|
60
66
|
<p>
|
|
61
67
|
木 Personal website of pyrossh. Built with
|
|
62
68
|
<span class="children:underline">
|
|
@@ -75,37 +81,27 @@
|
|
|
75
81
|
<p>WIP to support compilation to WASM.</p>
|
|
76
82
|
</Slide>
|
|
77
83
|
<Slide title="onlybible.app" link="https://onlybible.app">
|
|
78
|
-
<img
|
|
79
|
-
|
|
84
|
+
<div slot="icon">
|
|
80
|
-
class="mr-2 w-9 rounded-2"
|
|
85
|
+
<enhanced:img class="mr-2 w-9 rounded-2" src={onlyBiblePng} alt="Only Bible App" />
|
|
81
|
-
src="https://is1-ssl.mzstatic.com/image/thumb/Purple126/v4/59/26/b8/5926b8c7-b993-c4d4-8945-1fe3de765e27/AppIcon-0-0-1x_U007emarketing-0-7-0-0-85-220.png/540x540bb.jpg"
|
|
82
|
-
alt="Only Bible App"
|
|
83
|
-
/>
|
|
86
|
+
</div>
|
|
84
87
|
<p>
|
|
85
88
|
The only bible app you will ever need. No ads, No in-app purchases, No distractions.
|
|
86
89
|
</p>
|
|
87
90
|
<div class="flex mt-4">
|
|
88
91
|
<a
|
|
89
|
-
class="mr-2
|
|
92
|
+
class="mr-2"
|
|
90
93
|
href="https://play.google.com/store/apps/details?id=sh.pyros.only_bible_app"
|
|
91
94
|
rel="noopener noreferrer"
|
|
92
95
|
target="blank"
|
|
93
96
|
>
|
|
94
|
-
<img
|
|
95
|
-
|
|
97
|
+
<PlayStoreIcon class="w-32" aria-label="Get it on Google Play" />
|
|
96
|
-
src="https://play.google.com/intl/en_us/badges/static/images/badges/en_badge_web_generic.png"
|
|
97
|
-
/>
|
|
98
98
|
</a>
|
|
99
99
|
<a
|
|
100
|
-
class="mt-2"
|
|
101
100
|
href="https://apps.apple.com/us/app/only-bible-app/id6467606465?itsct=apps_box_badge&itscg=30200"
|
|
102
101
|
rel="noopener noreferrer"
|
|
103
102
|
target="blank"
|
|
104
103
|
>
|
|
105
|
-
<img
|
|
106
|
-
src="https://tools.applemediaservices.com/api/badges/download-on-the-app-store/black/en-us?size=250x83&releaseDate=1695600000"
|
|
107
|
-
|
|
104
|
+
<AppStoreIcon class="w-32" aria-label="Download on the App Store" />
|
|
108
|
-
/>
|
|
109
105
|
</a>
|
|
110
106
|
</div>
|
|
111
107
|
</Slide>
|
|
@@ -136,7 +132,7 @@
|
|
|
136
132
|
rel="noopener noreferrer"
|
|
137
133
|
>
|
|
138
134
|
Stats
|
|
139
|
-
<img class="soft-icon" src={stats} alt="Stats" />
|
|
135
|
+
<enhanced:img class="soft-icon" src={stats} alt="Stats" />
|
|
140
136
|
</a>
|
|
141
137
|
</li>
|
|
142
138
|
<li>
|
|
@@ -147,7 +143,7 @@
|
|
|
147
143
|
rel="noopener noreferrer"
|
|
148
144
|
>
|
|
149
145
|
Brave
|
|
150
|
-
<img class="soft-icon" src={brave} alt="Brave" />
|
|
146
|
+
<enhanced:img class="soft-icon" src={brave} alt="Brave" />
|
|
151
147
|
</a>
|
|
152
148
|
</li>
|
|
153
149
|
<li>
|
|
@@ -158,7 +154,7 @@
|
|
|
158
154
|
rel="noopener noreferrer"
|
|
159
155
|
>
|
|
160
156
|
VS Code
|
|
161
|
-
<img class="soft-icon" src={code} alt="VsCode" />
|
|
157
|
+
<enhanced:img class="soft-icon" src={code} alt="VsCode" />
|
|
162
158
|
</a>
|
|
163
159
|
</li>
|
|
164
160
|
<li>
|
|
@@ -169,7 +165,7 @@
|
|
|
169
165
|
rel="noopener noreferrer"
|
|
170
166
|
>
|
|
171
167
|
Helix
|
|
172
|
-
<img class="soft-icon" src={helix} alt="Helix" />
|
|
168
|
+
<enhanced:img class="soft-icon" src={helix} alt="Helix" />
|
|
173
169
|
</a>
|
|
174
170
|
</li>
|
|
175
171
|
<li>
|
|
@@ -180,7 +176,7 @@
|
|
|
180
176
|
rel="noopener noreferrer"
|
|
181
177
|
>
|
|
182
178
|
Fish
|
|
183
|
-
<img class="soft-icon" src={fish} alt="Fish" />
|
|
179
|
+
<enhanced:img class="soft-icon" src={fish} alt="Fish" />
|
|
184
180
|
</a>
|
|
185
181
|
</li>
|
|
186
182
|
<li>
|
|
@@ -191,7 +187,7 @@
|
|
|
191
187
|
rel="noopener noreferrer"
|
|
192
188
|
>
|
|
193
189
|
iTerm2
|
|
194
|
-
<img class="soft-icon" src={iterm} alt="iterm2" />
|
|
190
|
+
<enhanced:img class="soft-icon" src={iterm} alt="iterm2" />
|
|
195
191
|
</a>
|
|
196
192
|
</li>
|
|
197
193
|
<li>
|
|
@@ -202,7 +198,7 @@
|
|
|
202
198
|
rel="noopener noreferrer"
|
|
203
199
|
>
|
|
204
200
|
Slurp
|
|
205
|
-
<img class="soft-icon" src={slurp} alt="slurp" />
|
|
201
|
+
<enhanced:img class="soft-icon" src={slurp} alt="slurp" />
|
|
206
202
|
</a>
|
|
207
203
|
</li>
|
|
208
204
|
<li>
|
|
@@ -213,7 +209,7 @@
|
|
|
213
209
|
rel="noopener noreferrer"
|
|
214
210
|
>
|
|
215
211
|
Curve
|
|
216
|
-
<img class="soft-icon" src={curve} alt="curve" />
|
|
212
|
+
<enhanced:img class="soft-icon" src={curve} alt="curve" />
|
|
217
213
|
</a>
|
|
218
214
|
</li>
|
|
219
215
|
</ul>
|
vite.config.js
CHANGED
|
@@ -1,20 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { enhancedImages } from '@sveltejs/enhanced-img';
|
|
2
2
|
import { sveltekit } from '@sveltejs/kit/vite';
|
|
3
|
+
import svg from '@poppanator/sveltekit-svg'
|
|
3
4
|
import UnoCSS from '@unocss/svelte-scoped/vite';
|
|
4
5
|
import { defineConfig } from 'vitest/config';
|
|
5
6
|
|
|
6
7
|
export default defineConfig({
|
|
7
8
|
plugins: [
|
|
8
|
-
|
|
9
|
+
enhancedImages(),
|
|
9
|
-
sourceMapsUploadOptions: {
|
|
10
|
-
org: 'pyrossh',
|
|
11
|
-
project: 'pyros-sh'
|
|
12
|
-
}
|
|
13
|
-
}),
|
|
14
10
|
sveltekit(),
|
|
15
11
|
UnoCSS({
|
|
16
12
|
injectReset: '@unocss/reset/tailwind.css'
|
|
17
|
-
})
|
|
13
|
+
}),
|
|
14
|
+
svg(),
|
|
18
15
|
],
|
|
19
16
|
test: {
|
|
20
17
|
include: ['src/**/*.{test,spec}.{js,ts}']
|