Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/beerose/aleksandra.codes
personal website
https://github.com/beerose/aleksandra.codes
blog personal-website portfolio
Last synced: 29 days ago
JSON representation
personal website
- Host: GitHub
- URL: https://github.com/beerose/aleksandra.codes
- Owner: beerose
- Created: 2022-11-01T09:01:55.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-03T15:15:51.000Z (8 months ago)
- Last Synced: 2024-05-02T05:52:54.800Z (7 months ago)
- Topics: blog, personal-website, portfolio
- Language: MDX
- Homepage: https://aleksandra.codes
- Size: 53.3 MB
- Stars: 19
- Watchers: 0
- Forks: 3
- Open Issues: 13
-
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. Set [`VERCEL_TOKEN`], `VERCEL_PROJECT_ID`, and [`VERCEL_ORG_ID`] secrets to
deploy to Vercel from GHA (enables access to git history).- 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. Add `OG_IMAGE_SECRET` to secure your OG image endpoint.
[`vercel_token`]: https://vercel.com/account/tokens
[`vercel_org_id`]: https://vercel.com/account#your-id