diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
new file mode 100644
index 0000000..e87cfa3
--- /dev/null
+++ b/.github/workflows/release.yml
@@ -0,0 +1,61 @@
+name: Release
+
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ pull-requests: write
+
+jobs:
+ # ──────────────────────────────────────────────────────────────
+ # Job 1: Let release-please analyse commits and manage the
+ # Release PR. On merge it creates the tag + GH release.
+ # ──────────────────────────────────────────────────────────────
+ release-please:
+ name: Release Please
+ runs-on: ubuntu-latest
+ outputs:
+ release_created: ${{ steps.release.outputs.release_created }}
+ tag_name: ${{ steps.release.outputs.tag_name }}
+ version: ${{ steps.release.outputs.version }}
+
+ steps:
+ - uses: googleapis/release-please-action@v4
+ id: release
+ with:
+ # Reads release-please-config.json for full configuration.
+ # No extra inputs needed here — keep the config in the repo.
+ token: ${{ secrets.GITHUB_TOKEN }}
+
+ # ──────────────────────────────────────────────────────────────
+ # Job 2: After a real release is created, write the VERSION file
+ # so any build step / server can read it at runtime.
+ # ──────────────────────────────────────────────────────────────
+ write-version-file:
+ name: Write VERSION file
+ needs: release-please
+ if: needs.release-please.outputs.release_created == 'true'
+ runs-on: ubuntu-latest
+
+ steps:
+ - name: Checkout main
+ uses: actions/checkout@v4
+ with:
+ token: ${{ secrets.GITHUB_TOKEN }}
+ ref: main
+
+ - name: Update VERSION
+ run: echo "${{ needs.release-please.outputs.version }}" > VERSION
+
+ - name: Commit & push
+ run: |
+ git config user.name "github-actions[bot]"
+ git config user.email "github-actions[bot]@users.noreply.github.com"
+ git add VERSION
+ # Only commit if the file actually changed (idempotent)
+ git diff --staged --quiet || \
+ git commit -m "chore: bump VERSION to ${{ needs.release-please.outputs.version }} [skip ci]"
+ git push
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
new file mode 100644
index 0000000..466df71
--- /dev/null
+++ b/.release-please-manifest.json
@@ -0,0 +1,3 @@
+{
+ ".": "0.1.0"
+}
diff --git a/LICENSE b/LICENSE
index a030700..61c2693 100644
--- a/LICENSE
+++ b/LICENSE
@@ -1,21 +1,32 @@
-MIT License
+GNU GENERAL PUBLIC LICENSE
+Version 3, 29 June 2007
-Copyright (c) 2021 Tapas Adhikary
+Copyright (C) 2007 Free Software Foundation, Inc.
diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml
new file mode 100644
index 0000000..dbb26c8
--- /dev/null
+++ b/pnpm-workspace.yaml
@@ -0,0 +1,3 @@
+allowBuilds:
+ esbuild: true
+ sharp: true
diff --git a/release-please-config.json b/release-please-config.json
new file mode 100644
index 0000000..d025d39
--- /dev/null
+++ b/release-please-config.json
@@ -0,0 +1,11 @@
+{
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json",
+ "release-type": "simple",
+ "packages": {
+ ".": {
+ "changelog-path": "CHANGELOG.md",
+ "bump-minor-pre-major": true,
+ "bump-patch-for-minor-pre-major": true
+ }
+ }
+}
diff --git a/src/content/config.js b/src/content/config.js
index 8ccc85c..49aa3ba 100644
--- a/src/content/config.js
+++ b/src/content/config.js
@@ -2,7 +2,7 @@
import { defineCollection, z } from "astro:content";
// 2. Define your collection(s)
-const learCollection = defineCollection({
+const learnCollection = defineCollection({
type: "content",
schema: z.object({
title: z.string(),
@@ -16,5 +16,5 @@ const learCollection = defineCollection({
// 3. Export a single `collections` object to register your collection(s)
// This key should match your collection directory name in "src/content"
export const collections = {
- learn: learCollection,
+ learn: learnCollection,
};
diff --git a/to-do.md b/to-do.md
new file mode 100644
index 0000000..c73cdf0
--- /dev/null
+++ b/to-do.md
@@ -0,0 +1,50 @@
+# Addding Docs
+
+### install starlight
+
+```sh
+pnpm add @astrojs/starlight@0.32.0
+```
+
+## configure astro config
+
+```js
+import { defineConfig } from "astro/config";
+import tailwind from "@astrojs/tailwind";
+import icon from "astro-icon";
+import starlight from "@astrojs/starlight";
+
+export default defineConfig({
+ integrations: [
+ starlight({
+ title: "The Language Hub Docs",
+ routeBasePath: "/docs",
+ }),
+ tailwind(),
+ icon(),
+ ],
+});
+```
+
+## content config
+
+```js
+import { defineCollection, z } from "astro:content";
+import { docsSchema } from "@astrojs/starlight/schema";
+
+const learCollection = defineCollection({
+ type: "content",
+ schema: z.object({
+ title: z.string(),
+ description: z.string(),
+ topic: z.string().optional(),
+ part: z.number().optional(),
+ live: z.boolean().default(false),
+ }),
+});
+
+export const collections = {
+ learn: learCollection,
+ docs: defineCollection({ schema: docsSchema() }),
+};
+```