From dd05c5777ec9896757656159fa9956eebde02387 Mon Sep 17 00:00:00 2001 From: Alexopus Date: Tue, 22 Jul 2025 13:31:21 +0200 Subject: [PATCH] Add publish data --- .github/workflows/publish.yml | 25 +++++++++++++++++++++++++ LICENSE | 21 +++++++++++++++++++++ __init__.py | 2 +- js/extension.js | 2 +- pyproject.toml | 19 ++++++++----------- screenshot.png | Bin 0 -> 19872 bytes 6 files changed, 56 insertions(+), 13 deletions(-) create mode 100644 .github/workflows/publish.yml create mode 100644 LICENSE create mode 100644 screenshot.png diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml new file mode 100644 index 0000000..1c99d38 --- /dev/null +++ b/.github/workflows/publish.yml @@ -0,0 +1,25 @@ +name: Publish to Comfy registry +on: + workflow_dispatch: + push: + branches: + - master + paths: + - "pyproject.toml" + +permissions: + issues: write + +jobs: + publish-node: + name: Publish Custom Node to registry + runs-on: ubuntu-latest + if: ${{ github.repository_owner == 'alexopus' }} + steps: + - name: Check out code + uses: actions/checkout@v4 + - name: Publish Custom Node + uses: Comfy-Org/publish-node-action@v1 + with: + ## Add your own personal access token to your Github Repository secrets and reference it here. + personal_access_token: ${{ secrets.REGISTRY_ACCESS_TOKEN }} diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..7753ff2 --- /dev/null +++ b/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2023 Girish Gopaul + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/__init__.py b/__init__.py index 1f9cf43..03f28c1 100644 --- a/__init__.py +++ b/__init__.py @@ -3,7 +3,7 @@ from aiohttp import web from server import PromptServer import folder_paths -WEB_DIRECTORY = "./js" +WEB_DIRECTORY = "js" # Required for ComfyUI to recognize this as a valid extension NODE_CLASS_MAPPINGS = {} diff --git a/js/extension.js b/js/extension.js index a2030a4..c471b74 100644 --- a/js/extension.js +++ b/js/extension.js @@ -694,7 +694,7 @@ app.registerExtension({ app.extensionManager.registerSidebarTab({ id: "notes", - icon: "pi pi-book", + icon: "pi pi-pen-to-square", title: "Notes", tooltip: "Notes", type: "custom", diff --git a/pyproject.toml b/pyproject.toml index 6701f0d..f5db0cf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,17 +1,14 @@ [project] name = "comfyui-notes-sidebar" +description = "A ComfyUI extension that adds a notes sidebar for managing notes" version = "1.0.0" -description = "A ComfyUI extension that adds a notes sidebar for managing markdown notes" -authors = [ - {name = "ComfyUI Notes Extension", email = "example@email.com"} -] -readme = "README.md" -license = {text = "MIT"} -requires-python = ">=3.7" +license = { file = "LICENSE" } +dependencies = ["aiohttp"] [project.urls] -Repository = "https://github.com/your-username/comfyui-notes-sidebar" +Repository = "https://github.com/alexopus/ComfyUI-Notes-Sidebar" -[build-system] -requires = ["setuptools>=45", "wheel"] -build-backend = "setuptools.build_meta" \ No newline at end of file +[tool.comfy] +PublisherId = "alexopus" +DisplayName = "ComfyUI Notes Sidebar" +Icon = "" diff --git a/screenshot.png b/screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..576af3a572c7af046a03b989705b0fc2e7210fc6 GIT binary patch literal 19872 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 literal 0 HcmV?d00001