├── _astrosphere.jpg
├── _lighthouse.png
├── public
├── open-graph.jpg
├── robots.txt
├── fonts
│ ├── atkinson-bold.woff
│ └── atkinson-regular.woff
├── js
│ ├── scroll.js
│ ├── animate.js
│ ├── copy.js
│ ├── theme.js
│ └── bg.js
├── favicon.svg
├── brand.svg
├── copy.svg
├── social.svg
├── stack.svg
└── ui.svg
├── src
├── env.d.ts
├── content
│ ├── blog
│ │ ├── 04-astro-sphere-writing-markdown
│ │ │ ├── spongebob.png
│ │ │ └── index.md
│ │ ├── 05-astro-sphere-writing-mdx
│ │ │ ├── MyComponent.astro
│ │ │ └── index.mdx
│ │ ├── 01-astro-sphere-file-structure
│ │ │ └── index.md
│ │ ├── 02-astro-sphere-getting-started
│ │ │ └── index.md
│ │ ├── 06-astro-sphere-social-links
│ │ │ └── index.md
│ │ └── 03-astro-sphere-add-new-post-or-projects
│ │ │ └── index.md
│ ├── work
│ │ ├── facebook.md
│ │ ├── mcdonalds.md
│ │ ├── apple.md
│ │ └── google.md
│ ├── projects
│ │ ├── project-3
│ │ │ └── index.md
│ │ ├── project-1
│ │ │ └── index.md
│ │ ├── project-2
│ │ │ └── index.md
│ │ └── project-4
│ │ │ └── index.md
│ ├── config.ts
│ └── legal
│ │ ├── terms.md
│ │ └── privacy.md
├── layouts
│ ├── TopLayout.astro
│ ├── BottomLayout.astro
│ ├── PageLayout.astro
│ ├── ArticleBottomLayout.astro
│ └── ArticleTopLayout.astro
├── types.ts
├── pages
│ ├── robots.txt.ts
│ ├── rss.xml.ts
│ ├── search
│ │ └── index.astro
│ ├── blog
│ │ ├── [...slug].astro
│ │ └── index.astro
│ ├── projects
│ │ ├── [...slug].astro
│ │ └── index.astro
│ ├── legal
│ │ └── [...slug].astro
│ ├── work
│ │ └── index.astro
│ └── index.astro
├── components
│ ├── Container.astro
│ ├── Counter.tsx
│ ├── StackCard.astro
│ ├── MeteorShower.astro
│ ├── SearchBar.tsx
│ ├── Search.tsx
│ ├── ArrowCard.tsx
│ ├── BaseHead.astro
│ ├── Drawer.astro
│ ├── TwinklingStars.astro
│ ├── Footer.astro
│ ├── Header.astro
│ └── SearchCollection.tsx
├── lib
│ └── utils.ts
├── consts.ts
└── styles
│ └── global.css
├── .vscode
├── settings.json
├── extensions.json
└── launch.json
├── .gitignore
├── astro.config.mjs
├── tsconfig.json
├── .github
└── workflows
│ └── stale.yaml
├── package.json
├── LICENSE
├── tailwind.config.mjs
├── README.md
├── _deploy_netlify.svg
└── _deploy_vercel.svg
/_astrosphere.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/markhorn-dev/astro-sphere/HEAD/_astrosphere.jpg
--------------------------------------------------------------------------------
/_lighthouse.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/markhorn-dev/astro-sphere/HEAD/_lighthouse.png
--------------------------------------------------------------------------------
/public/open-graph.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/markhorn-dev/astro-sphere/HEAD/public/open-graph.jpg
--------------------------------------------------------------------------------
/public/robots.txt:
--------------------------------------------------------------------------------
1 | User-agent: *
2 | Allow: /
3 |
4 | Sitemap: http://localhost:4321/sitemap-index.xml
--------------------------------------------------------------------------------
/src/env.d.ts:
--------------------------------------------------------------------------------
1 | ///
33 | Last updated: {formatDate(date)} 34 |
35 |Test
132 | 133 | 134 | ``` 135 | ```` 136 | 137 | Output 138 | 139 | ```html 140 | 141 | 142 | 143 | 144 |Test
148 | 149 | 150 | ``` 151 | 152 | ## List Types 153 | 154 | ### Ordered List 155 | 156 | #### Syntax 157 | 158 | ```markdown 159 | 1. First item 160 | 2. Second item 161 | 3. Third item 162 | ``` 163 | 164 | #### Output 165 | 166 | 1. First item 167 | 2. Second item 168 | 3. Third item 169 | 170 | ### Unordered List 171 | 172 | #### Syntax 173 | 174 | ```markdown 175 | - List item 176 | - Another item 177 | - And another item 178 | ``` 179 | 180 | #### Output 181 | 182 | - List item 183 | - Another item 184 | - And another item 185 | 186 | ### Nested list 187 | 188 | #### Syntax 189 | 190 | ```markdown 191 | - Fruit 192 | - Apple 193 | - Orange 194 | - Banana 195 | - Dairy 196 | - Milk 197 | - Cheese 198 | ``` 199 | 200 | #### Output 201 | 202 | - Fruit 203 | - Apple 204 | - Orange 205 | - Banana 206 | - Dairy 207 | - Milk 208 | - Cheese 209 | 210 | ## Other Elements — abbr, sub, sup, kbd, mark 211 | 212 | #### Syntax 213 | 214 | ```markdown 215 | GIF is a bitmap image format. 216 | 217 | H2O 218 | 219 | Xn + Yn = Zn 220 | 221 | Press CTRL+ALT+Delete to end the session. 222 | 223 | Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. 224 | ``` 225 | 226 | #### Output 227 | 228 | GIF is a bitmap image format. 229 | 230 | H2O 231 | 232 | Xn + Yn = Zn 233 | 234 | Press CTRL+ALT+Delete to end the session. 235 | 236 | Most salamanders are nocturnal, and hunt for insects, worms, and other small creatures. 237 | -------------------------------------------------------------------------------- /src/components/SearchCollection.tsx: -------------------------------------------------------------------------------- 1 | import type { CollectionEntry } from "astro:content" 2 | import { createEffect, createSignal, For, onMount } from "solid-js" 3 | import Fuse from "fuse.js" 4 | import ArrowCard from "@components/ArrowCard" 5 | import { cn } from "@lib/utils" 6 | import SearchBar from "@components/SearchBar" 7 | 8 | type Props = { 9 | entry_name: string 10 | tags: string[] 11 | data: CollectionEntry<"blog">[] | CollectionEntry<'projects'>[] 12 | } 13 | 14 | export default function SearchCollection({ entry_name, data, tags }: Props) { 15 | const coerced = data.map((entry) => entry as CollectionEntry<'blog'>); 16 | 17 | const [query, setQuery] = createSignal(""); 18 | const [filter, setFilter] = createSignal(new SetTags
81 | {filter().size > 0 && ( 82 | 90 | )}83 | Hello, I am ... 84 |
85 |86 | Astro Sphere 87 |
88 |89 | Currently designing products for humans. 90 |
91 |I am a software engineer, ui/ux designer, product planner, mentor, student, minimalist, eternal optimist, crypto enthusiast and sarcasm connoisseur.
111 |I love to both build and break things. I am motivated by challenging projects with self-guided research and dynamic problem solving. My true passion is crafting creative front end designs with unique takes on color, typography and motion.
112 |During my career
113 |I have built products ranging from marketing and ecommerce websites to complex enterprise apps with focus on delivering fast, elegant code along with delightful user interfaces.
114 |Now
115 |I currently work as a software engineer at StreamlineFS, where I do product planning, design and development.
116 |124 | Recent posts 125 |
126 | 127 | 128 | All posts 129 | 130 | 131 |146 | Website build with 147 |
148 |173 | Recent projects 174 |
175 | 176 | 177 | All projects 178 | 179 | 180 |195 | Let's Connect 196 |
197 |198 | Reach out to me via email or on social media. 199 |
200 |