https://github.com/workshops-de/vuejs.de
Website of vuejs.de π»
https://github.com/workshops-de/vuejs.de
community javascript vuejs website
Last synced: 5 months ago
JSON representation
Website of vuejs.de π»
- Host: GitHub
- URL: https://github.com/workshops-de/vuejs.de
- Owner: workshops-de
- Created: 2020-06-03T16:18:42.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2026-01-12T12:37:37.000Z (6 months ago)
- Last Synced: 2026-01-12T18:47:58.859Z (6 months ago)
- Topics: community, javascript, vuejs, website
- Language: Astro
- Homepage: https://vuejs.de
- Size: 79.8 MB
- Stars: 7
- Watchers: 25
- Forks: 11
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Vuejs.DE - Astro Migration
This is the Astro-based version of Vuejs.DE, migrated from Jekyll.
## π Quick Start
```bash
# Install dependencies
npm install
# Migrate content from Jekyll (run once)
npm run migrate
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview
```
## π Project Structure
```
βββ public/ # Static assets
β βββ assets/ # Images, fonts, etc.
β βββ shared/ # Shared assets
βββ src/
β βββ components/ # Reusable Astro components
β βββ content/ # Content collections
β β βββ posts/ # Blog posts (markdown)
β β βββ users/ # Author profiles (YAML)
β βββ data/ # JSON data files
β βββ layouts/ # Page layouts
β βββ pages/ # File-based routing
β βββ styles/ # Global styles (SCSS)
β βββ utils/ # Utility functions
βββ scripts/ # Build scripts
βββ astro.config.mjs # Astro configuration
βββ firebase.json # Firebase hosting config
βββ package.json
```
## π Migration from Jekyll
The migration script (`npm run migrate`) handles:
1. **Blog Posts**: Copies from `_posts/` to `src/content/posts/`
2. **User Data**: Copies from `_data/users/` to `src/content/users/`
3. **Static Assets**: Copies from `assets/` and `shared/` to `public/`
4. **Data Files**: Copies JSON data to `src/data/`
### Manual Steps After Migration
1. Review frontmatter in migrated posts
2. Update any Jekyll-specific syntax (Liquid β Astro)
3. Check image paths and references
4. Test all pages and features
## β¨ Features
- **Content Collections**: Type-safe content with Zod schemas
- **SCSS + Bootstrap**: Familiar styling with Bootstrap 5
- **SEO Optimized**: Meta tags, sitemap, RSS feed
- **Fast Builds**: Static site generation with Astro
- **API Integration**: Build-time data fetching from workshops.de API
## π οΈ Key Differences from Jekyll
| Feature | Jekyll | Astro |
| ---------- | -------------------------- | --------------------- |
| Templating | Liquid | Astro/JSX |
| Content | Markdown + YAML | Content Collections |
| Plugins | Ruby gems | npm packages |
| Data | `_data/*.json` | `src/data/` + imports |
| Build | `bundle exec jekyll build` | `npm run build` |
## π Content Management
### Adding a New Post
Create a new directory in `src/content/posts/`:
```
src/content/posts/2024-01-15-my-new-post/
βββ index.md
βββ header.jpg
```
Frontmatter example:
```yaml
---
title: "My New Post"
description: "A brief description"
author: "Robin BΓΆhm"
published_at: 2024-01-15T10:00:00.000Z
categories: "vuejs tutorial"
header_image: "header.jpg"
---
```
### Adding a New Author
Create a YAML file in `src/content/users/`:
```yaml
# src/content/users/New Author.yaml
permalink: newauthor
name: New Author
gravatar_uid: abc123
github: newauthor
twitter: newauthor
city: Berlin
team: false
bio: >
Author bio here.
```
## π’ Deployment
### Firebase Hosting
```bash
# Build the site
npm run build
# Deploy to Firebase
firebase deploy --only hosting
```
### Environment Variables
For local development without API calls:
```bash
JEKYLL_ENV=local npm run dev
```
## π€ Contributing
1. Fork the repository
2. Create a feature branch
3. Make your changes
4. Submit a pull request
## π License
MIT License - see LICENSE file for details.