From 971746ef6a48fa7d61979da114ead857d5e783b1 Mon Sep 17 00:00:00 2001 From: duanfuxiang Date: Mon, 6 Jan 2025 19:37:16 +0800 Subject: [PATCH] update release note --- .github/scripts/get-changelog.js | 35 ++++++++++++++++++++++++++++++++ .github/workflows/release.yml | 17 ++++++++-------- CHANGELOG.md | 16 +-------------- manifest.json | 2 +- package.json | 2 +- 5 files changed, 47 insertions(+), 25 deletions(-) create mode 100644 .github/scripts/get-changelog.js diff --git a/.github/scripts/get-changelog.js b/.github/scripts/get-changelog.js new file mode 100644 index 0000000..d3180c6 --- /dev/null +++ b/.github/scripts/get-changelog.js @@ -0,0 +1,35 @@ +#!/usr/bin/env node + +const fs = require('fs'); +const path = require('path'); + +// Get version from command line argument +const version = process.argv[2]; +if (!version) { + console.error('Please provide version as argument'); + process.exit(1); +} + +// Read CHANGELOG.md +const changelogPath = path.join(process.cwd(), 'CHANGELOG.md'); +const content = fs.readFileSync(changelogPath, 'utf8'); + +// Split content into sections by h2 headers +const sections = content.split(/\n## /); + +// Find the section for the specified version +const versionSection = sections.find(section => section.trim().startsWith(version)); + +if (!versionSection) { + console.error(`No changelog found for version ${version}`); + process.exit(1); +} + +// Extract content between this version and next version +const lines = versionSection + .split('\n') + .slice(1) // Remove the version line itself + .join('\n') + .trim(); + +console.log(lines); diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d29fe02..9a45cb5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -37,17 +37,18 @@ jobs: cp main.js manifest.json styles.css ${{ env.PLUGIN_NAME }} zip -r ${{ env.PLUGIN_NAME }}-${{ steps.build.outputs.tag_name }}.zip ${{ env.PLUGIN_NAME }} ls - echo "::set-output name=tag_name::$(git tag --sort version:refname | tail -n 1)" + echo "tag_name=$(git tag --sort version:refname | tail -n 1)" >> $GITHUB_OUTPUT - name: Get release notes id: release_notes run: | - CHANGELOG=$(sed -n -e "/## ${{ steps.bundle.outputs.tag_name }}/,/## /p" CHANGELOG.md | sed '/## /d') - if [ -z "$CHANGELOG" ]; then - echo "Error: No release notes found for this version in CHANGELOG.md" - exit 1 - fi - echo "::set-output name=body::${CHANGELOG}" + chmod +x .github/scripts/get-changelog.js + CHANGELOG=$(node .github/scripts/get-changelog.js ${{ steps.bundle.outputs.tag_name }}) + if [ -z "$CHANGELOG" ]; then + echo "Error: No release notes found for this version in CHANGELOG.md" + exit 1 + fi + echo "changelog=$CHANGELOG" >> $GITHUB_OUTPUT - name: Release uses: softprops/action-gh-release@v1 @@ -59,4 +60,4 @@ jobs: main.js manifest.json styles.css - body: ${{ steps.release_notes.outputs.body }} + body: ${{ steps.release_notes.outputs.changelog }} diff --git a/CHANGELOG.md b/CHANGELOG.md index f6f0796..45a55e1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,20 +1,6 @@ # Changelog -## v0.0.1 - -### Added -- Initial release of obsidian-infio-copilot plugin -- Basic functionality for AI-powered assistance in Obsidian -- Interactive chat with selected notes -- Smart autocomplete based on your notes -- Enhanced user experience with customizable prompts -- Integration with Obsidian's search functionality - -### Fixed -- Bug fixes and improvements - - -## v0.0.2 +## 0.0.2 ### Fixed - Fixed memory leak in chat interface diff --git a/manifest.json b/manifest.json index aa31b02..5f4b07f 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "infio-copilot", "name": "Infio Copilot", - "version": "0.0.1", + "version": "0.0.2", "minAppVersion": "0.15.0", "description": "A Cursor-inspired AI assistant for Obsidian that offers smart autocomplete and interactive chat with your selected notes", "author": "Felix.D", diff --git a/package.json b/package.json index e0c5a43..50d37cc 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "obsidian-infio-copilot", - "version": "0.0.1", + "version": "0.0.2", "description": "A Cursor-inspired AI assistant for Obsidian that offers smart autocomplete and interactive chat with your selected notes", "main": "main.js", "scripts": {