My personal portfolio website, powered by Astro.
For in-depth information about this repository, visit my blog/presentation about this project here.
milku.dev is a static website consisting of modern web technologies.
- Astro
- Markdown
- TailwindCSS
- Astro Icon & Iconify
- Day.js
The project is mainly a monorepo running TypeScript.
Clone into a local version of the repository using git clone or any git client using the following link:
HTTPS:
https://github.com/chocomilku/milku.dev.git
SSH
git@github.com:chocomilku/milku.dev.git
The codebase requires Bun to be installed on your machine, or develop through a Dev Container. Visual Studio Code is the recommended Code Editor to support Dev Containers.
After the repository is cloned, cd into the folder and install the dependencies:
bun install
To start the project in development mode:
bun run dev
To compile your website into static files:
bun run build
The output will be available in the dist folder.
You could preview the built output using:
bun run preview
Developing with a Dev Container requires a Code Editor that supports Dev Container, like Visual Studio Code, and requires Docker to be installed in your machine.
Windows:
Linux:
MacOS:
The Bun Dev Container template is provided by marcosgomesneto
The project is running Astro at its core, therefore we are following the project structure Astro plotted here.
As a quick start, source code will live inside the src folder. public folder is for any files that explicitly won't be processed and will be accessible at / path.
pages will be defined as the / path of the website. Every file inside of it will be defined as a route, as Astro uses file-based routing in that folder. For more information, see the Astro article here.
Markdown files are allowed to be inside the pages folder, however /projects route is using Content Collections, Markdown files are encouraged to be placed in src/posts/** and be defined as a dynamic route in pages for customization purposes.