Skip to content

chocomilku/milku.dev

Repository files navigation

milku.dev

Deploy to Production

My personal portfolio website, powered by Astro.

For in-depth information about this repository, visit my blog/presentation about this project here.

Technologies

milku.dev is a static website consisting of modern web technologies.

Frontend

Backend / Server

Local Development

The project is mainly a monorepo running TypeScript.

Cloning the repository

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

Setup

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

Dev Container

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

File Structure

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.

License

MIT