https://github.com/onelitefeathernet/launchpad
https://github.com/onelitefeathernet/launchpad
Last synced: 1 day ago
JSON representation
- Host: GitHub
- URL: https://github.com/onelitefeathernet/launchpad
- Owner: OneLiteFeatherNET
- License: mit
- Created: 2025-05-31T22:20:10.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-08-25T12:35:28.000Z (6 months ago)
- Last Synced: 2025-08-30T22:05:56.079Z (6 months ago)
- Language: Vue
- Size: 5.87 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OneLiteFeather Blog / Site
Multilingual (de/en) Nuxt site with @nuxt/content, SEO/i18n, and feature-based components.
## Stack
- Nuxt 3 + TypeScript, Tailwind CSS
- @nuxt/content for Markdown/data collections (blog, sponsors, timeline, etc.)
- @nuxtjs/i18n, @nuxtjs/seo, @nuxtjs/sitemap, nuxt-schema-org
- FontAwesome (brands/solid) + @nuxt/image (Cloudflare provider)
## Project Structure
- `content/` — localized collections (`blog_{locale}`, `sponsors_{locale}`, etc.)
- `components/features/` — navigation, footer, sponsoring, OpenCollective, home sections
- `components/base/` — primitives (buttons, typography, icons)
- `layouts/` — shared layout chrome
- `pages/` — route-driven pages
- `i18n/locales/` — locale message files
## Scripts
- Install: `pnpm install`
- Dev: `pnpm dev`
- Build: `pnpm build`
- Preview: `pnpm preview`
- Generate (SSG): `pnpm generate`
## Content authoring
- Blog posts live under `content/blog/{locale}/`. Frontmatter supports `title`, `description`, `slug`, `pubDate`, `canonical`, `alternates`, `sitemap`, etc.
- Sponsors: `content/sponsors/{locale}/home.json` supports `name`, `url`, `description`, `badge`, plus optional `logo` (URL) or `icon` (`"fab cloudflare"` style).
- Schema for all collections lives in `content.config.ts`.
## SEO / i18n
- `usePageSeo` + `useHomeSeo` provide canonical/hreflang and social meta.
- Sitemap is auto-generated with i18n-aware content source and alternates.
- Schema.org via `nuxt-schema-org`; site config from `nuxt.config.ts`.
## Releases
- Semantic-release on main with conventional commits. Run `pnpm release` (with push access) to publish tags/changelog.
- Footer version is pulled from `package.json` (`appConfig.version`).
## Contributing
- Use 2-space indentation and ``.
- Prefer feature components under `components/features/` and shared primitives in `components/base/`.
- Keep diffs small; follow existing naming (`PascalCase.vue`, route-based pages).