Files
ursprungsverige/README.md
Jonas Raneryd Imaizumi cfb35a3c38 Add badge filtering and shop category to the site
- Introduced a new 'shops' category in the build script and README.
- Implemented badge filtering in the filter functionality, allowing users to filter entries by badge.
2026-01-25 23:37:20 +01:00

102 lines
3.7 KiB
Markdown

# Ursprung Sverige
Ursprung Sverige is a curated collection of Swedish products, services, experiences and manufacturers. The goal is to make it easier for people to support the Swedish economy and the Swedish culture.
## Privacy Principles
This site practices what it preaches:
- **No cookies** - We don't use any cookies
- **No tracking** - No Google Analytics, no external tracking scripts
- **No third-party services** - Only Google Fonts for typography (consider self-hosting)
- **Swedish hosting** - The site is hosted on servers in Lerum, Sweden
**Do not add:**
- Analytics scripts (Google Analytics, Plausible, etc.)
- Cookie consent banners
- External tracking pixels
- Third-party comment systems
- Social media embeds with tracking
If analytics are needed in the future, consider privacy-respecting, self-hosted alternatives like Umami or Matomo hosted in Sweden.
## Quick Start
```bash
npm install
npm run build
```
The generated site will be in the `dist/` folder.
## Adding Content
Create a Markdown file in the appropriate `content/` subfolder:
| Folder | Category | Description |
|--------|----------|-------------|
| `content/products/` | Produkter | Physical Swedish products (e.g., Dalahäst, Orrefors glass) |
| `content/manufacturers/` | Tillverkare | Companies that design/manufacture products (e.g., Fjällräven, Hasselblad) |
| `content/shops/` | Butiker | Retail stores selling products (e.g., Göteborg Manufaktur) |
| `content/services/` | Tjänster | Service providers, both physical and digital (e.g., SJ, Mediaflow) |
| `content/experiences/` | Upplevelser | Experiences, events, and cultural activities (e.g., Icehotel, Midsommar) |
### Content Format
Each entry is a Markdown file with YAML frontmatter:
```markdown
---
title: Fjällräven
category: manufacturers
region: Norrbotten
tags: [friluftsliv, kläder, hållbarhet]
website: https://fjallraven.com
---
Description of the entry in Markdown format...
```
### Frontmatter Fields
| Field | Required | Description |
|-------|----------|-------------|
| `title` | Yes | Name of the product/service/etc |
| `category` | No | Auto-detected from folder if not specified |
| `region` | No | Swedish region (län) |
| `tags` | No | Array of tags for filtering |
| `website` | No | Link to website |
| `image` | No | Featured image URL (displayed at top of card) |
| `logo` | No | Logo URL (displayed next to title) |
| `badge` | No | Swedish origin badge (see below) |
### Badges
Tiered badges indicate how Swedish a product/company is:
| Tier | Badge Value | Display | For | Description |
|------|-------------|---------|-----|-------------|
| 1 | `akta-svenskt` | Äkta Svenskt (gold) | All | 100% Swedish: company, production/hosting, suppliers |
| 2 | `tillverkat-i-sverige` | Tillverkat i Sverige (silver) | Physical | Swedish company, manufactured in Sweden |
| 2 | `svenskt-moln` | Svenskt Moln (silver) | Digital | Swedish company, Swedish servers/hosting |
| 3 | `designat-i-sverige` | Designat i Sverige (bronze) | Physical | Swedish design, production may be abroad |
| 3 | `utvecklat-i-sverige` | Utvecklat i Sverige (bronze) | Digital | Swedish development, hosting may be abroad |
| 4 | `svenskt-foretag` | Svenskt Företag (blue) | All | Swedish-founded/registered company |
### Images
Place images in the `static/` folder. They're symlinked to `dist/static/` (no copying), so reference them as `/static/images/example.png` in your content.
## Development
Watch mode rebuilds on file changes:
```bash
npm run dev
```
## Deployment
Deploy the `dist/` folder to a Swedish hosting provider. The production site is hosted in Lerum, Sweden.
**Important:** Do not deploy to non-Swedish hosting services (Netlify, Vercel, Cloudflare, etc.) as this would contradict the site's principles.