diff --git a/.github/release-drafter.yml b/.github/release-drafter.yml new file mode 100644 index 0000000..4874dc0 --- /dev/null +++ b/.github/release-drafter.yml @@ -0,0 +1,29 @@ +name-template: "v$RESOLVED_VERSION 🌈" +tag-template: "v$RESOLVED_VERSION" +categories: + - title: "🚀 Features" + labels: + - "feature" + - "enhancement" + - "feat" + - title: "🐛 Bug Fixes" + labels: + - "fix" + - "bugfix" + - "bug" + - title: "🧰 Maintenance" + label: "chore" +change-template: "- $TITLE @$AUTHOR (#$NUMBER)" +change-title-escapes: '\<*_&' # You can add # and @ to disable mentions, and add ` to disable code blocks. +version-resolver: + major: + labels: + - "major" + minor: + labels: + - "minor" + patch: + labels: + - "patch" + default: patch +template: $CHANGES diff --git a/.github/workflows/release-drafter.yml b/.github/workflows/release-drafter.yml new file mode 100644 index 0000000..cb3d35c --- /dev/null +++ b/.github/workflows/release-drafter.yml @@ -0,0 +1,24 @@ +name: Release Drafter + +on: + push: + branches: + - main + pull_request: + types: [opened, reopened, synchronize] + pull_request_target: + types: [opened, reopened, synchronize] + +permissions: + contents: read + +jobs: + update_release_draft: + permissions: + contents: write + pull-requests: write + runs-on: ubuntu-latest + steps: + - uses: release-drafter/release-drafter@v6 + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml new file mode 100644 index 0000000..0d4c9e6 --- /dev/null +++ b/.github/workflows/release.yml @@ -0,0 +1,52 @@ +name: "Update Changelog" + +on: + release: + types: [released] + +permissions: + contents: write + +jobs: + update: + runs-on: ubuntu-latest + timeout-minutes: 5 + + steps: + - name: Checkout code + uses: actions/checkout@v4 + with: + ref: main + + - name: Update Changelog + uses: stefanzweifel/changelog-updater-action@v1 + with: + latest-version: ${{ github.event.release.name }} + release-notes: ${{ github.event.release.body }} + + - name: Commit updated CHANGELOG + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: main + commit_message: Update CHANGELOG + file_pattern: CHANGELOG.md + + - name: Commit updated CHANGELOG + uses: stefanzweifel/git-auto-commit-action@v5 + with: + branch: main + commit_message: Update CHANGELOG + file_pattern: CHANGELOG.md + + Deploy-Production: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + - name: Install Vercel CLI + run: npm install --global vercel@latest + - name: Pull Vercel Environment Information + run: vercel pull --yes --environment=production --token=${{ secrets.VERCEL_TOKEN }} + - name: Build Project Artifacts + run: vercel build --prod --token=${{ secrets.VERCEL_TOKEN }} + - name: Deploy Project Artifacts to Vercel + run: vercel deploy --prebuilt --prod --token=${{ secrets.VERCEL_TOKEN }} diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..e69de29 diff --git a/bun.lockb b/bun.lockb index 923751e..e3fa79f 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/next.config.js b/next.config.js index 9271781..d1b1444 100644 --- a/next.config.js +++ b/next.config.js @@ -52,6 +52,14 @@ const config = { ]; }, skipTrailingSlashRedirect: true, + webpack(config) { + config.module.rules.push({ + test: /\.md$/, + use: "raw-loader", + }); + + return config; + }, }; export default config; diff --git a/package.json b/package.json index b4c4c4b..504a5ad 100644 --- a/package.json +++ b/package.json @@ -9,7 +9,7 @@ "db:migrate": "drizzle-kit migrate", "db:push": "drizzle-kit push", "db:studio": "drizzle-kit studio", - "dev": "next dev --turbo", + "dev": "next dev", "lint": "next lint", "start": "next start" }, @@ -60,12 +60,15 @@ "next-themes": "^0.3.0", "partysocket": "^1.0.1", "postgres": "^3.4.4", + "raw-loader": "^4.0.2", "react": "^18.3.1", "react-dom": "^18.3.1", "react-hook-form": "^7.52.1", "react-icon-cloud": "^4.1.4", "react-intersection-observer": "^9.10.3", + "react-markdown": "^9.0.1", "react-timeago": "^7.2.0", + "remark-gfm": "^4.0.0", "sharp": "^0.33.4", "sonner": "^1.5.0", "tailwind-merge": "^2.4.0", @@ -75,6 +78,8 @@ "zod": "^3.23.8" }, "devDependencies": { + "@tailwindcss/forms": "^0.5.7", + "@tailwindcss/typography": "^0.5.13", "@types/eslint": "^8.56.10", "@types/node": "^20.14.10", "@types/react": "^18.3.3", diff --git a/src/app/(public)/_components/navigation.tsx b/src/app/(public)/_components/navigation.tsx index d46efc0..197275c 100644 --- a/src/app/(public)/_components/navigation.tsx +++ b/src/app/(public)/_components/navigation.tsx @@ -54,8 +54,8 @@ export function DesktopNavigation({ user }: { user: User | null }) { [pathname], ); - const isBlogPage = React.useMemo( - () => isRouteActive(pathname, "/blog"), + const isChangelogPage = React.useMemo( + () => isRouteActive(pathname, "/changelog"), [pathname], ); @@ -161,8 +161,8 @@ export function DesktopNavigation({ user }: { user: User | null }) { className={cn({ "bg-transparent hover:bg-transparent focus:bg-transparent data-[active]:bg-transparent data-[state=open]:bg-transparent": true, - "text-muted-foreground": !isBlogPage, - "text-accent-foreground": isBlogPage, + "text-muted-foreground": !isChangelogPage, + "text-accent-foreground": isChangelogPage, })} > Resources @@ -171,12 +171,11 @@ export function DesktopNavigation({ user }: { user: User | null }) {