Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 6 additions & 6 deletions public/registry/index.json
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
{
"version": 1,
"updatedAt": "2026-11-04T00:13:26.700Z",
"updatedAt": "2026-11-04T00:27:05.105Z",
"plugins": {
"count": 44,
"updatedAt": "2026-11-04T00:13:26.700Z"
"updatedAt": "2026-11-04T00:27:05.105Z"
},
"themes": {
"count": 77,
"updatedAt": "2026-11-04T00:13:26.700Z"
"updatedAt": "2026-11-04T00:27:05.105Z"
},
"widgets": {
"count": 70,
"updatedAt": "2026-11-04T00:13:26.700Z"
"updatedAt": "2026-11-04T00:27:05.105Z"
},
"skills": {
"count": 44,
"updatedAt": "2026-11-04T00:13:26.700Z"
"updatedAt": "2026-11-04T00:27:05.105Z"
},
"queries": {
"count": 35,
"updatedAt": "2026-11-04T00:13:26.700Z"
"updatedAt": "2026-11-04T00:27:05.105Z"
}
}
14 changes: 7 additions & 7 deletions public/registry/plugins.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-11-04T00:13:26.700Z",
"updatedAt": "2026-11-04T00:27:05.105Z",
"plugins": [
{
"id": "ai-actions",
Expand Down Expand Up @@ -67,7 +67,7 @@
{
"id": "etherscan-autolink",
"name": "Etherscan オートリンク",
"version": "1.0.0",
"version": "1.0.1",
"author": "hitalin",
"description": "Ethereum のアドレス (0x + 40 桁) / トランザクションハッシュ (0x + 64 桁) / ENS 名 (name.eth) を投稿時に Etherscan と app.ens.domains へのリンクにするプラグイン。ノートメニューの「Etherscan で開く」で本文中の最初の 1 件をブラウザで開ける。エクスプローラーの URL は設定で basescan.org などに変えられる。API キー・外部通信・権限は不要",
"category": "posting",
Expand All @@ -82,7 +82,7 @@
],
"sourceUrl": "https://store.notedeck.io/registry/plugins/etherscan-autolink/plugin.is",
"apiUrl": "https://store.notedeck.io/registry/plugins/etherscan-autolink/api.json",
"sha512": "2232153b654aafcd0d63e304d9cfeeed0b2021e6e0395e3bdb7089a5cc045547b4ddb36371b08b580fa48f94a141e47e2d7b810cc3434fe0c344ddf6b010ab1c",
"sha512": "7381f997888a25ed41678eb25ffb6832e5a577d7a7d93d54f93fdcdd8a9a4ab20d62daa414a2f65711430bbba82f60f76416ae64ee317af915970d58fa7894f1",
"createdAt": "2026-10-29T04:34:22+09:00",
"updatedAt": "2026-10-29T04:35:41+09:00",
"authorUrl": "https://github.com/hitalin",
Expand Down Expand Up @@ -130,8 +130,8 @@
"sourceUrl": "https://store.notedeck.io/registry/plugins/mfm-search-engine/plugin.is",
"apiUrl": "https://store.notedeck.io/registry/plugins/mfm-search-engine/api.json",
"sha512": "7d1e5ca3fc6f99c231f6fd4de7cb146c8284dd0210662069fd88a1c4b833f47a6fb9bd2c6f70182f48f68481840984559d955c3be9033855eb5e7f02fbd3f90d",
"createdAt": "2026-11-04T00:13:27.209Z",
"updatedAt": "2026-11-04T00:13:27.209Z",
"createdAt": "2026-11-04T09:14:01+09:00",
"updatedAt": "2026-11-04T09:14:01+09:00",
"authorUrl": "https://github.com/hitalin",
"license": "MIT",
"locales": {
Expand Down Expand Up @@ -541,7 +541,7 @@
{
"id": "web-search",
"name": "Web 検索 & エゴサ",
"version": "1.0.0",
"version": "1.0.1",
"author": "hitalin",
"description": "ノート本文を Web 検索、ユーザーの表示名と username でエゴサ。検索エンジンは brave / startpage / searxng / google / duckduckgo から選択",
"category": "utility",
Expand All @@ -553,7 +553,7 @@
],
"sourceUrl": "https://store.notedeck.io/registry/plugins/web-search/plugin.is",
"apiUrl": "https://store.notedeck.io/registry/plugins/web-search/api.json",
"sha512": "1031e2cadc7f74f1f9eaec402dd79f577bb7a8a0efce721a099587a7b7c5129c7e0f76165770dde7ef22345bb8ff00c3e9a355e82a1441bba6f4fafa498dd8e1",
"sha512": "12dc49a10c1fd871dfaf45ab3b25ff55336cf3ae98659b67e17d41cb893674279ff620e5e189c437b4fa084e9cd7cfa13ff7058676a20398343ba2e1a294fc93",
"createdAt": "2026-07-15T06:44:02+09:00",
"updatedAt": "2026-09-25T18:20:03+09:00",
"authorUrl": "https://github.com/hitalin",
Expand Down
2 changes: 1 addition & 1 deletion public/registry/plugins/etherscan-autolink/api.json

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion public/registry/plugins/etherscan-autolink/meta.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "etherscan-autolink",
"name": "Etherscan オートリンク",
"version": "1.0.0",
"version": "1.0.1",
"author": "hitalin",
"authorUrl": "https://github.com/hitalin",
"description": "Ethereum のアドレス (0x + 40 桁) / トランザクションハッシュ (0x + 64 桁) / ENS 名 (name.eth) を投稿時に Etherscan と app.ens.domains へのリンクにするプラグイン。ノートメニューの「Etherscan で開く」で本文中の最初の 1 件をブラウザで開ける。エクスプローラーの URL は設定で basescan.org などに変えられる。API キー・外部通信・権限は不要",
Expand Down
11 changes: 7 additions & 4 deletions public/registry/plugins/etherscan-autolink/plugin.is
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@

### {
name: "Etherscan オートリンク"
version: "1.0.0"
version: "1.0.1"
author: "@hitalin"
description: "Ethereum のアドレス / tx ハッシュ / ENS 名を投稿時に Etherscan へのリンクにします。ノートメニューから Etherscan で開くこともできます"
config: {
Expand All @@ -42,8 +42,8 @@
explorerBase: {
type: "string"
label: "エクスプローラーの URL"
description: "https://etherscan.io 以外のチェーンを使うなら https://basescan.org や https://arbiscan.io に変える"
default: "https://etherscan.io"
description: "etherscan.io 以外のチェーンを使うなら basescan.org や arbiscan.io に変える (https の URL でも可)"
default: "etherscan.io"
}
autoConvert: {
type: "boolean"
Expand Down Expand Up @@ -237,10 +237,13 @@ let MAX_LINKS = 100
}
}

// 設定の URL が https でなければ既定に戻し、末尾の / は落とす
// 設定の URL にスキームが無ければ https:// を足し、https でなければ既定に戻し、末尾の / は落とす
// (既定値がホストだけなのは、NoteDeck のメタデータ解析が ### 内の // 以降を落とすため)
@explorerBase() {
var base = Plugin:config.explorerBase
if (Core:type(base) != "str") base = DEFAULT_BASE
if (base.trim() == "") base = DEFAULT_BASE
if (base.index_of("://") == -1) base = ["https://", base].join("")
if (base.slice(0, 8) != "https://") base = DEFAULT_BASE
loop {
if (base.len <= 8) break
Expand Down
2 changes: 1 addition & 1 deletion public/registry/plugins/web-search/api.json
Original file line number Diff line number Diff line change
@@ -1 +1 @@
{"type":"plugin","data":"/// @ 1.2.1\n\n// Web 検索 & エゴサ — ノート本文やユーザー名を検索エンジンで開く\n//\n// 本家 Web UI プラグイン文化の古典「Google で検索」系のオマージュ。\n// - 本文を Web 検索: ノート本文をそのまま検索 (話題の出典・文脈調べ)\n// - エゴサする: ユーザーの表示名と username を OR 検索\n// 検索エンジンはプライバシー重視の brave をデフォルトに、\n// startpage (Google 結果のプロキシ) / searxng (要インスタンス URL) /\n// google / duckduckgo から選択。\n\n### {\n\tname: \"Web 検索 & エゴサ\"\n\tversion: \"1.0.0\"\n\tauthor: \"@hitalin\"\n\tdescription: \"ノートメニューから本文を Web 検索、ユーザーメニューから表示名と username でエゴサします。検索エンジンは brave / startpage / searxng / google / duckduckgo から選択\"\n\tconfig: {\n\t\tengine: {\n\t\t\ttype: \"string\"\n\t\t\tlabel: \"検索エンジン (brave / startpage / searxng / google / duckduckgo)\"\n\t\t\tdefault: \"brave\"\n\t\t}\n\t\tsearxngUrl: {\n\t\t\ttype: \"string\"\n\t\t\tlabel: \"SearXNG インスタンス URL (engine が searxng のとき必須。例: https://searx.example.com)\"\n\t\t\tdefault: \"\"\n\t\t}\n\t}\n}\n\n// 検索クエリとして長すぎる本文は先頭のみ使う\nlet maxQueryLen = 150\n\n@searchUrl(query) {\n\tlet enc = Uri:encode_component(query)\n\tlet engine = Plugin:config.engine\n\tif (engine == \"google\") return `https://www.google.com/search?q={enc}`\n\tif (engine == \"startpage\") return `https://www.startpage.com/sp/search?query={enc}`\n\tif (engine == \"duckduckgo\") return `https://duckduckgo.com/?q={enc}`\n\tif (engine == \"searxng\") {\n\t\tvar base = Plugin:config.searxngUrl\n\t\tif (base == null || base == \"\") {\n\t\t\tMk:toast(\"SearXNG インスタンス URL を設定してください\", \"error\")\n\t\t\treturn null\n\t\t}\n\t\tif (base.slice(base.len - 1, base.len) == \"/\") {\n\t\t\tbase = base.slice(0, base.len - 1)\n\t\t}\n\t\treturn `{base}/search?q={enc}`\n\t}\n\t`https://search.brave.com/search?q={enc}`\n}\n\nPlugin:register_note_action(\"本文を Web 検索\", @(note) {\n\tif (note.text == null || note.text == \"\") {\n\t\tMk:toast(\"本文がありません\", \"error\")\n\t\treturn null\n\t}\n\tvar query = note.text\n\tif (query.len > maxQueryLen) {\n\t\tquery = query.slice(0, maxQueryLen)\n\t}\n\tlet url = searchUrl(query)\n\tif (url != null) Plugin:open_url(url)\n})\n\nPlugin:register_user_action(\"エゴサする\", @(user) {\n\tvar query = `\"{user.username}\"`\n\tif (user.name != null && user.name != \"\" && user.name != user.username) {\n\t\tquery = `\"{user.name}\" OR \"{user.username}\"`\n\t}\n\tlet url = searchUrl(query)\n\tif (url != null) Plugin:open_url(url)\n})\n"}
{"type":"plugin","data":"/// @ 1.2.1\n\n// Web 検索 & エゴサ — ノート本文やユーザー名を検索エンジンで開く\n//\n// 本家 Web UI プラグイン文化の古典「Google で検索」系のオマージュ。\n// - 本文を Web 検索: ノート本文をそのまま検索 (話題の出典・文脈調べ)\n// - エゴサする: ユーザーの表示名と username を OR 検索\n// 検索エンジンはプライバシー重視の brave をデフォルトに、\n// startpage (Google 結果のプロキシ) / searxng (要インスタンス URL) /\n// google / duckduckgo から選択。\n\n### {\n\tname: \"Web 検索 & エゴサ\"\n\tversion: \"1.0.1\"\n\tauthor: \"@hitalin\"\n\tdescription: \"ノートメニューから本文を Web 検索、ユーザーメニューから表示名と username でエゴサします。検索エンジンは brave / startpage / searxng / google / duckduckgo から選択\"\n\tconfig: {\n\t\tengine: {\n\t\t\ttype: \"string\"\n\t\t\tlabel: \"検索エンジン (brave / startpage / searxng / google / duckduckgo)\"\n\t\t\tdefault: \"brave\"\n\t\t}\n\t\tsearxngUrl: {\n\t\t\ttype: \"string\"\n\t\t\tlabel: \"SearXNG インスタンス URL (engine が searxng のとき必須。例: searx.example.com)\"\n\t\t\tdefault: \"\"\n\t\t}\n\t}\n}\n\n// 検索クエリとして長すぎる本文は先頭のみ使う\nlet maxQueryLen = 150\n\n@searchUrl(query) {\n\tlet enc = Uri:encode_component(query)\n\tlet engine = Plugin:config.engine\n\tif (engine == \"google\") return `https://www.google.com/search?q={enc}`\n\tif (engine == \"startpage\") return `https://www.startpage.com/sp/search?query={enc}`\n\tif (engine == \"duckduckgo\") return `https://duckduckgo.com/?q={enc}`\n\tif (engine == \"searxng\") {\n\t\tvar base = Plugin:config.searxngUrl\n\t\tif (base == null || base == \"\") {\n\t\t\tMk:toast(\"SearXNG インスタンス URL を設定してください\", \"error\")\n\t\t\treturn null\n\t\t}\n\t\tif (base.index_of(\"://\") == -1) base = [\"https://\", base].join(\"\")\n\t\tif (base.slice(base.len - 1, base.len) == \"/\") {\n\t\t\tbase = base.slice(0, base.len - 1)\n\t\t}\n\t\treturn `{base}/search?q={enc}`\n\t}\n\t`https://search.brave.com/search?q={enc}`\n}\n\nPlugin:register_note_action(\"本文を Web 検索\", @(note) {\n\tif (note.text == null || note.text == \"\") {\n\t\tMk:toast(\"本文がありません\", \"error\")\n\t\treturn null\n\t}\n\tvar query = note.text\n\tif (query.len > maxQueryLen) {\n\t\tquery = query.slice(0, maxQueryLen)\n\t}\n\tlet url = searchUrl(query)\n\tif (url != null) Plugin:open_url(url)\n})\n\nPlugin:register_user_action(\"エゴサする\", @(user) {\n\tvar query = `\"{user.username}\"`\n\tif (user.name != null && user.name != \"\" && user.name != user.username) {\n\t\tquery = `\"{user.name}\" OR \"{user.username}\"`\n\t}\n\tlet url = searchUrl(query)\n\tif (url != null) Plugin:open_url(url)\n})\n"}
2 changes: 1 addition & 1 deletion public/registry/plugins/web-search/meta.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"id": "web-search",
"name": "Web 検索 & エゴサ",
"version": "1.0.0",
"version": "1.0.1",
"author": "hitalin",
"authorUrl": "https://github.com/hitalin",
"description": "ノート本文を Web 検索、ユーザーの表示名と username でエゴサ。検索エンジンは brave / startpage / searxng / google / duckduckgo から選択",
Expand Down
5 changes: 3 additions & 2 deletions public/registry/plugins/web-search/plugin.is
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@

### {
name: "Web 検索 & エゴサ"
version: "1.0.0"
version: "1.0.1"
author: "@hitalin"
description: "ノートメニューから本文を Web 検索、ユーザーメニューから表示名と username でエゴサします。検索エンジンは brave / startpage / searxng / google / duckduckgo から選択"
config: {
Expand All @@ -22,7 +22,7 @@
}
searxngUrl: {
type: "string"
label: "SearXNG インスタンス URL (engine が searxng のとき必須。例: https://searx.example.com)"
label: "SearXNG インスタンス URL (engine が searxng のとき必須。例: searx.example.com)"
default: ""
}
}
Expand All @@ -43,6 +43,7 @@ let maxQueryLen = 150
Mk:toast("SearXNG インスタンス URL を設定してください", "error")
return null
}
if (base.index_of("://") == -1) base = ["https://", base].join("")
if (base.slice(base.len - 1, base.len) == "/") {
base = base.slice(0, base.len - 1)
}
Expand Down
2 changes: 1 addition & 1 deletion public/registry/queries.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-11-04T00:13:26.700Z",
"updatedAt": "2026-11-04T00:27:05.105Z",
"queries": [
{
"id": "bot-only",
Expand Down
2 changes: 1 addition & 1 deletion public/registry/skills.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-11-04T00:13:26.700Z",
"updatedAt": "2026-11-04T00:27:05.105Z",
"skills": [
{
"id": "aiscript-surgeon",
Expand Down
2 changes: 1 addition & 1 deletion public/registry/themes.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-11-04T00:13:26.700Z",
"updatedAt": "2026-11-04T00:27:05.105Z",
"themes": [
{
"id": "adwaita-dark",
Expand Down
2 changes: 1 addition & 1 deletion public/registry/widgets.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"version": 1,
"updatedAt": "2026-11-04T00:13:26.700Z",
"updatedAt": "2026-11-04T00:27:05.105Z",
"widgets": [
{
"id": "aiscript-health",
Expand Down
Loading