~repos /website

#astro#js#html#css

git clone https://pyrossh.dev/repos/website.git

木 Personal website of pyrossh. Built with astrojs, shiki, vite.


f3643bb1 Peter John

9 months ago
fix stuff
package.json CHANGED
@@ -1,46 +1,46 @@
1
1
  {
2
- "name": "website",
2
+ "name": "website",
3
- "version": "0.0.1",
3
+ "version": "0.0.1",
4
- "private": true,
4
+ "private": true,
5
- "type": "module",
5
+ "type": "module",
6
- "scripts": {
6
+ "scripts": {
7
- "dev": "vite dev",
7
+ "dev": "vite dev",
8
- "build": "vite build",
8
+ "build": "vite build",
9
- "preview": "vite preview",
9
+ "preview": "vite preview",
10
- "publish": "rm -rf build && npm run build && tar -C build -cvz . > site.tar.gz && hut pages publish -d pyrossh.dev site.tar.gz && rm site.tar.gz",
10
+ "publish": "rm -rf build && npm run build && tar -C build -cvz . > site.tar.gz && hut pages publish -d pyrossh.dev site.tar.gz && rm site.tar.gz",
11
- "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
11
+ "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json",
12
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch",
12
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch",
13
- "test": "npm run test:integration && npm run test:unit",
13
+ "test": "npm run test:integration && npm run test:unit",
14
- "lint": "prettier --check . && eslint .",
14
+ "lint": "prettier --check . && eslint .",
15
- "fmt": "prettier --write .",
15
+ "fmt": "prettier --write .",
16
- "test:integration": "playwright test",
16
+ "test:integration": "playwright test",
17
- "test:unit": "vitest"
17
+ "test:unit": "vitest"
18
- },
18
+ },
19
- "devDependencies": {
19
+ "devDependencies": {
20
- "@iconify/svelte": "^4.0.2",
20
+ "@iconify/svelte": "^4.0.2",
21
- "@playwright/test": "^1.48.2",
21
+ "@playwright/test": "^1.48.2",
22
- "@poppanator/sveltekit-svg": "^5.0.0",
22
+ "@poppanator/sveltekit-svg": "^5.0.0",
23
- "@sveltejs/adapter-static": "^3.0.6",
23
+ "@sveltejs/adapter-static": "^3.0.6",
24
- "@sveltejs/enhanced-img": "^0.3.10",
24
+ "@sveltejs/enhanced-img": "^0.3.10",
25
- "@sveltejs/kit": "^2.7.3",
25
+ "@sveltejs/kit": "^2.7.3",
26
- "@sveltejs/vite-plugin-svelte": "^4.0.0",
26
+ "@sveltejs/vite-plugin-svelte": "^4.0.0",
27
- "@sveltejs/vite-plugin-svelte-inspector": "^3.0.1",
27
+ "@sveltejs/vite-plugin-svelte-inspector": "^3.0.1",
28
- "@tailwindcss/vite": "^4.0.3",
28
+ "@tailwindcss/vite": "^4.0.3",
29
- "@types/eslint": "8.56.0",
29
+ "@types/eslint": "8.56.0",
30
- "autoprefixer": "^10.4.19",
30
+ "autoprefixer": "^10.4.19",
31
- "eslint": "^8.56.0",
31
+ "eslint": "^8.56.0",
32
- "eslint-config-prettier": "^9.1.0",
32
+ "eslint-config-prettier": "^9.1.0",
33
- "eslint-plugin-svelte": "^2.45.1",
33
+ "eslint-plugin-svelte": "^2.45.1",
34
- "mdsvex": "^0.12.3",
34
+ "mdsvex": "^0.12.3",
35
- "prettier": "^3.3.3",
35
+ "prettier": "^3.3.3",
36
- "prettier-plugin-svelte": "^3.2.7",
36
+ "prettier-plugin-svelte": "^3.2.7",
37
- "remark-github": "^12.0.0",
37
+ "remark-github": "^12.0.0",
38
- "shiki": "^1.22.1",
38
+ "shiki": "^1.22.1",
39
- "super-sitemap": "^0.14.14",
39
+ "super-sitemap": "^0.14.14",
40
- "svelte": "^5.1.3",
40
+ "svelte": "^5.1.3",
41
- "svelte-check": "^4.0.5",
41
+ "svelte-check": "^4.0.5",
42
- "tailwindcss": "^4.0.3",
42
+ "tailwindcss": "^4.0.3",
43
- "vite": "^5.4.10",
43
+ "vite": "^5.4.10",
44
- "vitest": "^2.1.3"
44
+ "vitest": "^2.1.3"
45
- }
45
+ }
46
- }
46
+ }
src/app.css CHANGED
@@ -1 +1 @@
1
- @import "tailwindcss";
1
+ @import 'tailwindcss';
src/index.test.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { describe, it, expect } from 'vitest';
2
2
 
3
3
  describe('sum test', () => {
4
- it('adds 1 + 2 to equal 3', () => {
4
+ it('adds 1 + 2 to equal 3', () => {
5
- expect(1 + 2).toBe(3);
5
+ expect(1 + 2).toBe(3);
6
- });
6
+ });
7
7
  });
src/lib/assets/logos/rust.png ADDED
Binary file
src/lib/assets/logos/zellij.png CHANGED
Binary file
src/routes/+page.svelte CHANGED
@@ -2,6 +2,7 @@
2
2
  import Icon from '@iconify/svelte';
3
3
  import Slide from '$lib/components/Slide.svelte';
4
4
  import onlyBiblePng from '$lib/assets/images/app_icon.png?enhanced';
5
+ import rustPng from '$lib/assets/logos/rust.png?enhanced';
5
6
  import pyrosshPng from '$lib/assets/logos/pyrossh.png?enhanced';
6
7
  import stats from '$lib/assets/logos/stats.png?enhanced';
7
8
  import code from '$lib/assets/logos/code.png?enhanced';
@@ -48,6 +49,11 @@
48
49
  </div>
49
50
  <div class="grid grid-cols-1 gap-4 sm:grid-cols-2 sm:gap-8">
50
51
  <Slide title="rust-embed" link="https://git.sr.ht/~pyrossh/rust-embed">
52
+ {#snippet icon()}
53
+ <div>
54
+ <enhanced:img class="mr-2 w-9 rounded-xl" src={rustPng} alt="rust embed" />
55
+ </div>
56
+ {/snippet}
51
57
  <p>
52
58
  A rust proc-macro which loads files into the rust binary at compile time during
53
59
  release and loads the file from the fs during dev
@@ -90,11 +96,7 @@
90
96
  <Slide title="Only Bible App" link="/only-bible-app" isExternal={false}>
91
97
  {#snippet icon()}
92
98
  <div>
93
- <enhanced:img
94
- class="mr-2 w-12 rounded-xl"
99
+ <enhanced:img class="mr-2 w-9 rounded-xl" src={onlyBiblePng} alt="Only Bible App" />
95
- src={onlyBiblePng}
96
- alt="Only Bible App"
97
- />
98
100
  </div>
99
101
  {/snippet}
100
102
  <p>
svelte.config.js CHANGED
@@ -6,45 +6,45 @@ import { getSingletonHighlighter } from 'shiki';
6
6
 
7
7
  /** @type {import('mdsvex').MdsvexOptions} */
8
8
  const mdsvexOptions = {
9
- extensions: ['.md'],
9
+ extensions: ['.md'],
10
- remarkPlugins: [
10
+ remarkPlugins: [
11
- [
11
+ [
12
- github,
12
+ github,
13
- {
13
+ {
14
- repository: 'https://github.com/pyrossh/pyrossh.dev',
14
+ repository: 'https://github.com/pyrossh/pyrossh.dev',
15
- },
15
+ },
16
- ],
16
+ ],
17
- ],
17
+ ],
18
- highlight: {
18
+ highlight: {
19
- highlighter: async (code, lang = 'text') => {
19
+ highlighter: async (code, lang = 'text') => {
20
- const highlighter = await getSingletonHighlighter({
20
+ const highlighter = await getSingletonHighlighter({
21
- themes: ['dracula'],
21
+ themes: ['dracula'],
22
- langs: ['javascript', 'typescript', 'go', 'shell', 'tsx'],
22
+ langs: ['javascript', 'typescript', 'go', 'shell', 'tsx'],
23
- });
23
+ });
24
- await highlighter.loadLanguage('javascript', 'typescript', 'go');
24
+ await highlighter.loadLanguage('javascript', 'typescript', 'go');
25
- const html = escapeSvelte(highlighter.codeToHtml(code, { lang, theme: 'dracula' }));
25
+ const html = escapeSvelte(highlighter.codeToHtml(code, { lang, theme: 'dracula' }));
26
- return `{@html \`${html}\` }`;
26
+ return `{@html \`${html}\` }`;
27
- },
27
+ },
28
- },
28
+ },
29
29
  };
30
30
 
31
31
  /** @type {import('@sveltejs/kit').Config} */
32
32
  const config = {
33
- extensions: ['.svelte', '.md'],
33
+ extensions: ['.svelte', '.md'],
34
- preprocess: [vitePreprocess(), mdsvex(mdsvexOptions)],
34
+ preprocess: [vitePreprocess(), mdsvex(mdsvexOptions)],
35
- kit: {
35
+ kit: {
36
- adapter: adapter({
36
+ adapter: adapter({
37
- strict: true,
37
+ strict: true,
38
- fallback: '404.html',
38
+ fallback: '404.html',
39
- }),
39
+ }),
40
- },
40
+ },
41
- vitePlugin: {
41
+ vitePlugin: {
42
- inspector: {
42
+ inspector: {
43
- toggleKeyCombo: 'meta-shift',
43
+ toggleKeyCombo: 'meta-shift',
44
- showToggleButton: 'always',
44
+ showToggleButton: 'always',
45
- toggleButtonPos: 'bottom-right',
45
+ toggleButtonPos: 'bottom-right',
46
- },
46
+ },
47
- },
47
+ },
48
48
  };
49
49
 
50
50
  export default config;
vite.config.js CHANGED
@@ -5,13 +5,8 @@ import svg from '@poppanator/sveltekit-svg';
5
5
  import { defineConfig } from 'vitest/config';
6
6
 
7
7
  export default defineConfig({
8
- plugins: [
9
- tailwindcss(),
10
- enhancedImages(),
8
+ plugins: [tailwindcss(), enhancedImages(), sveltekit(), svg()],
11
- sveltekit(),
12
- svg()
13
- ],
14
- test: {
9
+ test: {
15
- include: ['src/**/*.{test,spec}.{js,ts}'],
10
+ include: ['src/**/*.{test,spec}.{js,ts}'],
16
- },
11
+ },
17
12
  });