made managing the bookmarks page a lot easier by just using a md file

Changed files
+12 -54
src
+7
src/content/bookmarks/bookmarks.md
···
··· 1 + --- 2 + --- 3 + - [vielle.dev](https://vielle.dev/) - Cool dev, she codes awesome stuff. Has helped quite a lot with my website too. :P 4 + - [yugoslavia.best](https://yugoslavia.best) - Click here to experience instant brain explosion. 5 + ## Resources and tools 6 + - [Marginalia Search](https://marginalia-search.com/) - Better internet search engine that doesn't shove ads down your throat, unlike google. 7 + - [DaFont](https://www.dafont.com/) - Free fonts for commercial and personal use. Make sure to check the license for each font before using.
+1 -15
src/content/bookmarks/personalsites.ts
··· 51 url: "https://myrrh.city/", 52 filetype: ".png", 53 }, 54 - ]; 55 - 56 - export const nobutton: bookmark[] = [ 57 - { 58 - name: "vielle.dev", 59 - url: "https://vielle.dev/", 60 - description: 61 - "Cool dev, she codes awesome stuff. Has helped quite a lot with my website too. :P", 62 - }, 63 - { 64 - name: "yugoslavia.best", 65 - url: "https://yugoslavia.best/", 66 - description: "Click here to experience instant brain explosion.", 67 - }, 68 - ];
··· 51 url: "https://myrrh.city/", 52 filetype: ".png", 53 }, 54 + ];
-16
src/content/bookmarks/resources.ts
··· 1 - import { type bookmark } from "../config"; 2 - 3 - export const resources: bookmark[] = [ 4 - { 5 - name: "Marginalia Search", 6 - url: "https://marginalia-search.com/", 7 - description: 8 - "Internet search engine that doesn't shove ads down your throat, unlike google.", 9 - }, 10 - { 11 - name: "DaFont", 12 - url: "https://www.dafont.com/", 13 - description: 14 - "Free fonts for commercial and personal use. Make sure to check the license for each font before using.", 15 - }, 16 - ];
···
+1 -2
src/content/config.ts
··· 1 import { defineCollection, z } from "astro:content"; 2 - import { glob, file } from "astro/loaders"; 3 4 export type bookmark = { 5 name: string; 6 url: string; 7 - description?: string; 8 filetype?: ".gif" | ".png"; 9 }; 10
··· 1 import { defineCollection, z } from "astro:content"; 2 + import { glob } from "astro/loaders"; 3 4 export type bookmark = { 5 name: string; 6 url: string; 7 filetype?: ".gif" | ".png"; 8 }; 9
+3 -21
src/pages/bookmarks.astro
··· 2 import Base from "../components/Base.astro"; 3 import SinglePage from "../layouts/SinglePage.astro"; 4 import SiteButton from "../components/SiteButton.astro"; 5 - import { buttonwall, nobutton } from "../content/bookmarks/personalsites.ts"; 6 - import { resources } from "../content/bookmarks/resources.ts"; 7 --- 8 9 <Base ··· 28 <SiteButton name={x.name} url={x.url} filetype={x.filetype} /> 29 )) 30 } 31 - <ul> 32 - { 33 - nobutton.map((x) => ( 34 - <li> 35 - <a href={x.url}>{x.name}</a> - {x.description} 36 - </li> 37 - )) 38 - } 39 - </ul> 40 - <h2>Resources</h2> 41 - <ul> 42 - { 43 - resources.map((x) => ( 44 - <li> 45 - <a href={x.url}>{x.name}</a> - {x.description} 46 - </li> 47 - )) 48 - } 49 - </ul> 50 </SinglePage> 51 </Base> 52
··· 2 import Base from "../components/Base.astro"; 3 import SinglePage from "../layouts/SinglePage.astro"; 4 import SiteButton from "../components/SiteButton.astro"; 5 + import { buttonwall } from "../content/bookmarks/personalsites.ts"; 6 + import {Content as OtherBookmarks} from '../content/bookmarks/bookmarks.md'; 7 --- 8 9 <Base ··· 28 <SiteButton name={x.name} url={x.url} filetype={x.filetype} /> 29 )) 30 } 31 + <OtherBookmarks /> 32 </SinglePage> 33 </Base> 34