# Lapikud External Website



Welcome! This is the public-facing website for Lapikud. It's a learning project. If something breaks, that's totally fine. You just get to learn more about git.
Materials and design files are on **Google Drive β Lapikud β Tarkvara β VΓ€liveeb**
---
## π How to help
You don't need to write code to contribute!
### Option 1 β Report something
Found a bug, typo, or something missing? [Open an issue](https://github.com/Lapikud/lapikud.github.io/issues) and describe what's wrong. That's already super helpful.
### Option 2 β Fix something yourself
1. **Fork** this repo (button in the top right on GitHub β it copies the project to your account)
2. Make your changes
3. Open a **pull request** back to this repo
---
## π οΈ Setting up your dev environment
### What you need first
- [Node.js](https://nodejs.org/) β v18 or higher, but grab the **LTS version** (currently v24) to be safe
> Node.js comes with `npm` included, so you don't need to install that separately.
---
### Don't have a code editor yet?
If you don't have a preferred code editor, [VSCode](https://code.visualstudio.com/) is a solid choice. Download and install it, and you're good to go.
---
### Windows? Set up WSL first (recommended)
WSL lets you run Linux commands on Windows, which makes everything smoother.
π WSL setup steps
**Step 1** β Enable WSL. Run these two commands in PowerShell as Administrator (this enables the necessary Windows features):
```bash
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
```
**Step 2** β Set WSL to version 2 (the better one):
```bash
wsl --set-default-version 2
```
**Step 3** β Install [Ubuntu from the Microsoft Store](https://apps.microsoft.com/store/detail/ubuntu/9NBLGGH4MSV6)
> β οΈ If WSL doesn't work, check that **Virtualization** is enabled on your machine: open Task Manager β Performance tab β look for "Virtualization: Enabled"
---
### Installation
**1. Clone the repo** β this downloads the project to your computer:
```bash
git clone https://github.com/Lapikud/lapikud.github.io.git
cd lapikud.github.io
```
**2. Install dependencies** β this installs all the packages the project needs:
```bash
npm install
```
**3. Start the dev server** β this runs the site locally so you can see your changes live:
```bash
npm run dev
```
Then open the URL it gives you (usually `http://localhost:5173`) in your browser. π
---
## πΌοΈ Images β please optimize before committing!
Nobody wants to load a 5MB photo that's displayed at 100Γ100px. Always resize images before adding them to the project.
Install FFmpeg first:
Linux / WSL / Ubuntu
```bash
sudo apt install ffmpeg
```
Windows (without WSL)
**Option A β via winget:**
```bash
winget install ffmpeg
```
**Option B β manually:**
1. Download from [ffmpeg.org/download.html](https://ffmpeg.org/download.html)
2. Extract the archive
3. Add the `bin` folder to your PATH
macOS
```bash
brew install ffmpeg
```
### Resize commands
Once FFmpeg is installed, use the right size for the job:
```bash
# Small thumbnails (shown at 100β300px)
ffmpeg -i input -vf scale=400:-1 output.jpg
# Medium images (shown at 300β800px)
ffmpeg -i input -vf scale=1200:-1 output.jpg
# Hero / full-width images
ffmpeg -i input -vf scale=1920:-1 output.jpg
```
---
## π Deployment
Nothing to do here β GitHub automatically builds and deploys the site whenever something is pushed to the `main` branch.
It usually takes **2β5 minutes**. You can watch it happen in the [Actions tab](https://github.com/Lapikud/lapikud.github.io/actions).