Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/siddhsuresh/siddharth.codes
https://github.com/siddhsuresh/siddharth.codes
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/siddhsuresh/siddharth.codes
- Owner: siddhsuresh
- Created: 2023-07-08T15:48:38.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-19T17:58:29.000Z (11 months ago)
- Last Synced: 2024-10-05T08:02:49.157Z (about 1 month ago)
- Language: TypeScript
- Size: 24.8 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# zaduma
_an [Astro] starter template for understated personal websites_
**Built with:**
- [SolidJS]
- [MDX], [Remark] and [Unified]
- [Shiki Twoslash][shiki-twoslash]
- [Tailwind CSS][tailwind-css]
- Vercel and [Vercel OG][vercel-og]
- [GitHub Actions][github-actions][astro]: https://astro.build/
[solidjs]: https://www.solidjs.com/
[mdx]: https://mdxjs.com/
[remark]: https://github.com/remarkjs/remark
[unified]: https://unifiedjs.com/
[shiki-twoslash]: https://github.com/shikijs/twoslash
[tailwind-css]: https://tailwindcss.com/
[vercel-og]:
https://vercel.com/blog/introducing-vercel-og-image-generation-fast-dynamic-social-card-images
[github-actions]: https://github.com/features/actions## ποΈ Usage TLDR
1. Click Use this template to create a new repo.
2. Set [`VERCEL_TOKEN`], `VERCEL_PROJECT_ID`, and [`VERCEL_ORG_ID`] secrets to
deploy to Vercel from GHA (enables access to git history).
3. Add `OG_IMAGE_SECRET` to secure your OG image endpoint._[See full usage instructions.](#-usage)_
## π Project Structure
Inside of your Astro project, you'll see the following folders and files:
βββ public/ β static assets
βββ posts/
β βββ rebuilding-a-blog.mdx β posts written in MDX
βββ src/
β βββ build-time/* β remark plugins
β βββ global-styles/* β fonts, body and prose styles
β βββ layouts/
β β βββ BaseLayout.astro β UI shared between all pages
β β βββ PostLayout.astro β layout for all posts
β βββ lib/* β reusable utils and UI components
β βββ pages/
β β βββ [path].astro β Astro dynamic route for posts, supplies MDX components
β β βββ index.astro β index page, lists all posts
β βββ env.d.ts
β βββ types.ts
βββ astro.config.ts
βββ package.json
βββ postcss.config.cjs
βββ tailwind.config.cjs β Tailwind config, colors, fonts
βββ tsconfig.json## π§ Commands
All commands are run from the root of the project, from a terminal:
| Command | Action |
| :---------------------- | :----------------------------------------------- |
| `pnpm install` | Installs dependencies |
| `pnpm run dev` | Starts local dev server at `localhost:3000` |
| `pnpm run build` | Build your production site to `./dist/` |
| `pnpm run preview` | Preview your build locally, before deploying |
| `pnpm run astro ...` | Run CLI commands like `astro add`, `astro check` |
| `pnpm run astro --help` | Get help using the Astro CLI |## π Usage
1. Click Use this template to create a new repo.
2. Clone the repository, install with `pnpm install` and run with `pnpm dev`.
3. Style it and personalize however you like π
4. Set [`VERCEL_TOKEN`], `VERCEL_PROJECT_ID`, and [`VERCEL_ORG_ID`] secrets to
deploy to Vercel from GHA (what enables access to git history). ([_SettingsβSecrets_](https://github.com/hasparus/zaduma/settings/secrets/actions))- Alternatively β if all your blog posts have a `date` in frontmatter, you
don't need to deploy through _workflows/ci.yml_. Feel free to remove the
deploy steps from the YML file and connect Vercel/Netlify integration. Go
to `derivedTitleAndDatePlugin` function and remove `execSync("git log")`
from it. (TODO: Can we make it more convenient?)3. Generate a passphrase for `OG_IMAGE_SECRET` to secure your OG image endpoint, and add it to [Actions Secrets]((https://github.com/hasparus/zaduma/settings/secrets/actions)).
[`vercel_token`]: https://vercel.com/account/tokens
[`vercel_org_id`]: https://vercel.com/account#your-id