Skip to content

Commit 0cc0788

Browse files
Initialized
0 parents  commit 0cc0788

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

76 files changed

+1999
-0
lines changed

.github/workflows/deploy.yml

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: Deploy to GitHub Pages
2+
3+
on:
4+
push:
5+
branches: 'main'
6+
7+
jobs:
8+
build:
9+
runs-on: ubuntu-latest
10+
steps:
11+
- name: Checkout
12+
uses: actions/checkout@v4
13+
14+
- uses: oven-sh/setup-bun@v2
15+
with:
16+
bun-version: latest
17+
18+
- name: Install Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: 20
22+
cache: npm
23+
cache-dependency-path: bun.lock
24+
25+
- name: Install dependencies
26+
run: bun install
27+
28+
- name: build
29+
env:
30+
PUBLIC_SITE_URL: ${{ vars.PUBLIC_SITE_URL }}
31+
PUBLIC_GITHUB_USERNAME: ${{ vars.PUBLIC_GITHUB_USERNAME }}
32+
PUBLIC_LINKED_IN_USERNAME: ${{ vars.PUBLIC_LINKED_IN_USERNAME }}
33+
PUBLIC_FIVERR_USERNAME: ${{ vars.PUBLIC_FIVERR_USERNAME }}
34+
PUBLIC_USER_EMAIL: ${{ vars.PUBLIC_USER_EMAIL }}
35+
PUBLIC_GOOGLE_ANALYTICS_ID: ${{ vars.PUBLIC_GOOGLE_ANALYTICS_ID }}
36+
PUBLIC_BLOG_URL: ${{ vars.PUBLIC_BLOG_URL }}
37+
run: |
38+
bun run build
39+
40+
- name: Upload Artifacts
41+
uses: actions/upload-pages-artifact@v3
42+
with:
43+
path: 'build/'
44+
45+
deploy:
46+
needs: build
47+
runs-on: ubuntu-latest
48+
49+
permissions:
50+
pages: write
51+
id-token: write
52+
53+
environment:
54+
name: production
55+
url: ${{ steps.deployment.outputs.page_url }}
56+
57+
steps:
58+
- name: Deploy
59+
id: deployment
60+
uses: actions/deploy-pages@v4

.gitignore

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
node_modules
2+
3+
# Output
4+
.output
5+
.vercel
6+
.netlify
7+
.wrangler
8+
/.svelte-kit
9+
/build
10+
11+
# OS
12+
.DS_Store
13+
Thumbs.db
14+
15+
# Env
16+
.env
17+
.env.*
18+
!.env.example
19+
!.env.test
20+
21+
# Vite
22+
vite.config.js.timestamp-*
23+
vite.config.ts.timestamp-*

.npmrc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
engine-strict=true

.prettierignore

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Package Managers
2+
package-lock.json
3+
pnpm-lock.yaml
4+
yarn.lock
5+
bun.lock
6+
bun.lockb

.prettierrc

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"useTabs": true,
3+
"singleQuote": true,
4+
"trailingComma": "none",
5+
"printWidth": 100,
6+
"plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
7+
"overrides": [
8+
{
9+
"files": "*.svelte",
10+
"options": {
11+
"parser": "svelte"
12+
}
13+
}
14+
]
15+
}

README.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# Portfolio
2+
3+
Portfolio website in Svelte with Bun

bun.lock

Lines changed: 596 additions & 0 deletions
Large diffs are not rendered by default.

eslint.config.js

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import prettier from 'eslint-config-prettier';
2+
import { includeIgnoreFile } from '@eslint/compat';
3+
import js from '@eslint/js';
4+
import svelte from 'eslint-plugin-svelte';
5+
import globals from 'globals';
6+
import { fileURLToPath } from 'node:url';
7+
import ts from 'typescript-eslint';
8+
import svelteConfig from './svelte.config.js';
9+
10+
const gitignorePath = fileURLToPath(new URL('./.gitignore', import.meta.url));
11+
12+
export default ts.config(
13+
includeIgnoreFile(gitignorePath),
14+
js.configs.recommended,
15+
...ts.configs.recommended,
16+
...svelte.configs.recommended,
17+
prettier,
18+
...svelte.configs.prettier,
19+
{
20+
languageOptions: {
21+
globals: { ...globals.browser, ...globals.node }
22+
},
23+
rules: { 'no-undef': 'off' }
24+
},
25+
{
26+
files: ['**/*.svelte', '**/*.svelte.ts', '**/*.svelte.js'],
27+
languageOptions: {
28+
parserOptions: {
29+
projectService: true,
30+
extraFileExtensions: ['.svelte'],
31+
parser: ts.parser,
32+
svelteConfig
33+
}
34+
}
35+
}
36+
);

package.json

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
{
2+
"name": "portfolio",
3+
"private": true,
4+
"version": "0.0.1",
5+
"type": "module",
6+
"scripts": {
7+
"dev": "vite dev",
8+
"build": "vite build",
9+
"preview": "vite preview",
10+
"prepare": "svelte-kit sync || echo ''",
11+
"check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
12+
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
13+
"format": "prettier --write .",
14+
"lint": "prettier --check . && eslint ."
15+
},
16+
"devDependencies": {
17+
"@eslint/compat": "^1.2.5",
18+
"@eslint/js": "^9.18.0",
19+
"@sveltejs/adapter-static": "^3.0.8",
20+
"@sveltejs/kit": "^2.16.0",
21+
"@sveltejs/vite-plugin-svelte": "^5.0.0",
22+
"@tailwindcss/typography": "^0.5.15",
23+
"@tailwindcss/vite": "^4.0.0",
24+
"eslint": "^9.18.0",
25+
"eslint-config-prettier": "^10.0.1",
26+
"eslint-plugin-svelte": "^3.0.0",
27+
"globals": "^16.0.0",
28+
"prettier": "^3.4.2",
29+
"prettier-plugin-svelte": "^3.3.3",
30+
"prettier-plugin-tailwindcss": "^0.6.11",
31+
"svelte": "^5.0.0",
32+
"svelte-check": "^4.0.0",
33+
"tailwindcss": "^4.0.0",
34+
"typescript": "^5.0.0",
35+
"typescript-eslint": "^8.20.0",
36+
"vite": "^6.2.6",
37+
"vite-plugin-devtools-json": "^0.2.0"
38+
}
39+
}

src/app.css

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
@import 'tailwindcss';
2+
@plugin '@tailwindcss/typography';
3+
@config '../tailwind.config.js';
4+
5+
* {
6+
font-family: Hack, monospace;
7+
}
8+
9+
html {
10+
@apply scroll-smooth;
11+
}
12+
13+
.background {
14+
background-image:
15+
radial-gradient(circle, rgba(255, 153, 51, 0.2) 1px, transparent 1px),
16+
radial-gradient(circle, rgba(255, 255, 255, 0.2) 1px, transparent 1px),
17+
radial-gradient(circle, rgba(19, 136, 8, 0.2) 1px, transparent 1px);
18+
background-position:
19+
0 0,
20+
10px 10px,
21+
20px 20px;
22+
background-size: 30px 30px;
23+
}

0 commit comments

Comments
 (0)