From 70d82e700b70fcee8e89cf642696e36d69d41bff Mon Sep 17 00:00:00 2001 From: Netajam Date: Tue, 24 Mar 2026 21:02:23 +0100 Subject: [PATCH] Update README with NanoID, ULID, and duplicate detection docs (v1.2.1) Document the three generator algorithms (UUID, NanoID, ULID), NanoID configuration options, and the duplicate detection feature. Update plugin descriptions in manifest.json and package.json. Co-Authored-By: Claude Opus 4.6 --- README.md | 12 +++++++++++- manifest.json | 2 +- package.json | 2 +- versions.json | 3 ++- 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 27a85aa..77f055f 100644 --- a/README.md +++ b/README.md @@ -2,10 +2,15 @@ ## Overview -The UID Generator plugin for Obsidian provides tools to create and manage unique identifiers (UIDs) for your notes directly within their frontmatter metadata. It allows for manual and automatic UID generation, customization of the metadata key and copy formats, and bulk operations within folders. This helps in creating stable, unique references for your notes, useful for linking, scripting, or external systems. +The UID Generator plugin for Obsidian provides tools to create and manage unique identifiers (UIDs) for your notes directly within their frontmatter metadata. It supports multiple generator algorithms — **UUID** (v4), **NanoID** (customizable length, alphabet, and separators), and **ULID** (lexicographically sortable) — along with manual and automatic UID generation, customization of the metadata key and copy formats, and bulk operations within folders. This helps in creating stable, unique references for your notes, useful for linking, scripting, or external systems. ## Features +* **Multiple Generator Algorithms:** + * **UUID** (v4) — Standard 36-character universally unique identifier. + * **NanoID** — Customizable length, alphabet, and optional separator characters injected at specific positions. + * **ULID** — 26-character, lexicographically sortable identifier that encodes creation time (useful for chronological ordering). +* **Duplicate Detection:** An in-memory cache of existing UIDs ensures newly generated IDs are unique, with automatic retry on collision. * **Generate/Update UID:** Manually generate a new UID for the current note, optionally overwriting any existing UID under the configured key. * **Create UID If Missing:** Manually generate a UID for the current note *only* if one doesn't already exist. * **Remove UID:** Manually remove the UID from the current note's frontmatter. @@ -65,6 +70,11 @@ Access the plugin settings from Obsidian Settings -> Community Plugins -> UID Ge * **General:** * **UID Metadata Key:** Set the frontmatter key name used for storing UIDs (default: `uid`). Avoid spaces. +* **UID Generator Type:** + * **Generator Algorithm:** Choose between `UUID`, `NanoID`, or `ULID`. + * **NanoID Length:** (NanoID only) Length of the generated ID, excluding separators. Min 4, max 128. (Default: 21) + * **NanoID Alphabet:** (NanoID only) Characters used for ID generation. Must have at least 2 unique characters. (Default: `0-9A-Za-z`) + * **NanoID Separator Groups:** (NanoID only) Inject characters at specific positions in the generated ID. Positions can be negative (count from end). Multiple groups supported. * **Automatic UID Generation:** * **Enable Automatic UID Generation:** Toggle the automatic creation of UIDs on/off. * **Generation Scope:** Choose `Entire Vault` or `Specific Folder`. diff --git a/manifest.json b/manifest.json index 9d83dbd..d98a5e0 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "note_uid_generator", "name": "Note UID Generator", - "version": "1.2.0", + "version": "1.2.1", "minAppVersion": "0.15.0", "description": "Automatically or manually generates Unique IDs (UUID, NanoID, or ULID) for notes and registers them in metadata (frontmatter).", "author": "Valentin Pelletier", diff --git a/package.json b/package.json index 2b8ec3e..52be04a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "note_uid_generator", - "version": "1.2.0", + "version": "1.2.1", "description": "Obsidian plugin to generate unique IDs (UUID, NanoID, or ULID) for your notes", "main": "src/main.js", "scripts": { diff --git a/versions.json b/versions.json index c9228dd..ea60b63 100644 --- a/versions.json +++ b/versions.json @@ -1,5 +1,6 @@ { "1.0.0": "0.15.0", "1.1.0": "0.15.0", - "1.2.0": "0.15.0" + "1.2.0": "0.15.0", + "1.2.1": "0.15.0" }