finsihed projects 08f26d5b
Steve · 2024-08-10 15:40 3 file(s) · +101 −32
astro.config.ts +35 −30
4 4
import image from "@astrojs/image";
5 5
import sitemap from "@astrojs/sitemap";
6 6
import prefetch from "@astrojs/prefetch";
7 -
import gruvboxMaterial from "./gruvbox-material.json";
8 7
9 8
// https://astro.build/config
10 9
13 12
14 13
// https://astro.build/config
15 14
export default defineConfig({
16 -
  site: "https://stevedylan.dev",
17 -
  markdown: {
18 -
    shikiConfig: {
19 -
      theme: 'min-dark',
20 -
      wrap: true
21 -
    }
22 -
  },
23 -
  integrations: [mdx({}), tailwind({
24 -
    config: {
25 -
      applyBaseStyles: false
26 -
    }
27 -
  }), image({
28 -
    serviceEntryPoint: "@astrojs/image/sharp"
29 -
  }), sitemap(), prefetch()],
30 -
  vite: {
31 -
    optimizeDeps: {
32 -
      exclude: ["@resvg/resvg-js"]
33 -
    },
34 -
    define: {
35 -
      'process.env.NODE_ENV': `'${process.env.NODE_ENV}'`,
36 -
    },
37 -
  },
38 -
  output: "static",
39 -
  adapter: vercel({
40 -
    analytics: true
41 -
  }),
42 -
  experimental: {
43 -
    viewTransitions: true,
44 -
  },
15 +
	site: "https://stevedylan.dev",
16 +
	markdown: {
17 +
		shikiConfig: {
18 +
			theme: "min-dark",
19 +
			wrap: true,
20 +
		},
21 +
	},
22 +
	integrations: [
23 +
		mdx({}),
24 +
		tailwind({
25 +
			config: {
26 +
				applyBaseStyles: false,
27 +
			},
28 +
		}),
29 +
		image({
30 +
			serviceEntryPoint: "@astrojs/image/sharp",
31 +
		}),
32 +
		sitemap(),
33 +
		prefetch(),
34 +
	],
35 +
	vite: {
36 +
		optimizeDeps: {
37 +
			exclude: ["@resvg/resvg-js"],
38 +
		},
39 +
		define: {
40 +
			"process.env.NODE_ENV": `'${process.env.NODE_ENV}'`,
41 +
		},
42 +
	},
43 +
	output: "static",
44 +
	adapter: vercel({
45 +
		analytics: true,
46 +
	}),
47 +
	experimental: {
48 +
		viewTransitions: true,
49 +
	},
45 50
});
src/data/constants.ts +4 −0
12 12
		path: "/posts",
13 13
	},
14 14
	{
15 +
		title: "Projects",
16 +
		path: "/projects",
17 +
	},
18 +
	{
15 19
		title: "Videos",
16 20
		path: "/videos",
17 21
	},
src/data/projects.ts +62 −2
10 10
	{
11 11
		title: "Snippets",
12 12
		description:
13 -
			"I wanted something clean and simple to share code with people, and things like pastebin were too bloated. So I made my own!",
13 +
			"I was tired of poor code sharing experiences like Pastebin that were littered with ads, and I really loved the experience of Ray.so for images. This led to the creation of Snippets.so, an open sourced and extensible code sharing solution that’s minimal and clean.",
14 14
		image: "https://www.snippets.so/og.png",
15 15
		link: "https://snippets.so",
16 -
		tags: ["developer-tools", "ipfs"],
16 +
		tags: ["developer tools", "ipfs", "productivity"],
17 +
	},
18 +
	{
19 +
		title: "Pinata SDK",
20 +
		description:
21 +
			"The original Pinata SDK was written for Node.js years ago, and as the developer ecosystem evolved a more flexible SDK was necessary. This project was a full typescript rewrite from scratch that includes a whole new developer experience that intuitive, with far more methods and capabilities than before.",
22 +
		image:
23 +
			"https://docs.mypinata.cloud/ipfs/bafkreidv5iptnieh6eijei7enqc4mdhxpte3ries23heqf7s2hu3gdu6ru",
24 +
		link: "https://docs.pinata.cloud/ipfs-sdk",
25 +
		tags: ["developer tools", "ipfs"],
26 +
	},
27 +
	{
28 +
		title: "SIGNETS",
29 +
		description:
30 +
			"In a world where it becomes harder to distinguish between AI and human generated content, authenticity will become paramount. This app is an experiment in that direction. It allows users to upload and sign content using cryptographic keys already present in crypto wallets. With Privy as the auth layer, anyone can make an account, upload and sign content, then share it with another party. The recipient can use the public address of the sender to verify that the content is actually made by them.",
31 +
		image: "https://www.signets.cloud/og.png",
32 +
		link: "https://signets.cloud",
33 +
		tags: ["cryptography", "ipfs"],
34 +
	},
35 +
	{
36 +
		title: "Raycaster Extension",
37 +
		description:
38 +
			"The fastest way to send a cast on Farcaster. A Raycast extension that allows you to sign into your Farcaster account and send casts with optional images via IPFS. ",
39 +
		image:
40 +
			"https://dweb.mypinata.cloud/ipfs/QmSsY6QnhdwbWunrgzTDkpvRd7oWx5nUp8v7UiMeGRFeZ1",
41 +
		link: "https://www.raycast.com/stevedylandev/raycaster",
42 +
		tags: ["raycast", "developer tools", "productivity"],
43 +
	},
44 +
	{
45 +
		title: "Photocaster",
46 +
		description:
47 +
			"IPFS can unlock for decentralized social media, and Photocaster was built to demonstrate just that. Using the Farcaster protocol the app allows users to scroll through a feed of just images from select photo centered channels, sign in with their account, and upload photos via IPFS. What makes it special is the photo’s full resolution is on IPFS, but a resized copy is put on the Farcaster network. This keeps apps light, but allows anyone on Photocaster to see the full resolution image.",
48 +
		image: "https://www.photocaster.xyz/og.png",
49 +
		link: "https://photocaster.xyz",
50 +
		tags: ["farcaster", "ipfs"],
51 +
	},
52 +
	{
53 +
		title: "Cosmic Cowboys",
54 +
		description:
55 +
			"This was a hackathon project that I worked on with two coworkers during EthOnline 2023. The goal was to build a blockchain game that used AI NPCs with ERC-6551. I handled all the smart contract work and bits and pieces of the web app. Overall we had a pretty unique experience and glimpse into the future of gaming, and it was chosen as a finalist project.",
56 +
		image:
57 +
			"https://assets-global.website-files.com/659ed44e11fabf4e65eb47eb/65a5616eb13e9f94a0f04806_img-open-graph-homepage.png",
58 +
		link: "https://ethglobal.com/showcase/cosmic-cowboys-3q0co",
59 +
		tags: ["blockchain", "ai", "ipfs"],
60 +
	},
61 +
	{
62 +
		title: "Pinata-go-cli",
63 +
		description:
64 +
			"A Go rewrite of the Node.js CLI for Pinata, allows fast and extensive uploads to Pinata. Also includes helpful features for listing files and other API functionalities. ",
65 +
		image:
66 +
			"https://dweb.mypinata.cloud/ipfs/QmasHAZJ2kb9k3AqkQP4yzYbZn8zxFGsrygNv6HBdMn1uE",
67 +
		link: "https://github.com/PinataCloud/pinata-go-cli",
68 +
		tags: ["developer tools", "ipfs"],
69 +
	},
70 +
	{
71 +
		title: "Diet-cast",
72 +
		description:
73 +
			"A minimal channel specific lite client for Farcaster. Change a few lines in the config file and have a fully functional client with the ability to view the channel feed and cast to it. ",
74 +
		image: "https://www.dietcast.xyz/og.png",
75 +
		link: "https://www.dietcast.xyz",
76 +
		tags: ["farcaster", "ipfs"],
17 77
	},
18 78
];