@vdegenne/links 1.7.10 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/index.d.ts CHANGED
@@ -23,8 +23,10 @@ export interface GoogleImagesSearchContext extends GoogleImagesOptions {
23
23
  export declare function googleImagesUrlAnalyzer(gImgUrl: string): GoogleImagesSearchContext;
24
24
  export declare function googleTranslateUrl(input: string, lang?: string, source?: string): string;
25
25
  export declare function googleTranslateOpen(input: string, lang?: string, source?: string): void;
26
- export declare function youtubeUrl(input: string): string;
27
- export declare function youtubeOpen(input: string): void;
26
+ export declare function youtubeUrl(id: string, time?: number): string;
27
+ export declare function youtubeOpen(id: string, time?: number): void;
28
+ export declare function youtubeSearchUrl(input: string): string;
29
+ export declare function youtubeSearchOpen(input: string): void;
28
30
  /**
29
31
  * Japanese related
30
32
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js CHANGED
@@ -92,11 +92,18 @@ export function googleTranslateUrl(input, lang = 'en', source = 'auto') {
92
92
  export function googleTranslateOpen(input, lang, source) {
93
93
  open(googleTranslateUrl(input, lang, source));
94
94
  }
95
- export function youtubeUrl(input) {
95
+ export function youtubeUrl(id, time) {
96
+ const t = Math.floor(time || 0);
97
+ return `https://www.youtube.com/watch?v=${id}${t ? `&t=${t}s` : ''}`;
98
+ }
99
+ export function youtubeOpen(id, time) {
100
+ open(youtubeUrl(id, time));
101
+ }
102
+ export function youtubeSearchUrl(input) {
96
103
  return `https://www.youtube.com/results?search_query=${encodeURIComponent(input)}`;
97
104
  }
98
- export function youtubeOpen(input) {
99
- open(youtubeUrl(input));
105
+ export function youtubeSearchOpen(input) {
106
+ open(youtubeSearchUrl(input));
100
107
  }
101
108
  /**
102
109
  * Japanese related
@@ -140,9 +147,9 @@ export function mdbgOpen(input, options) {
140
147
  }
141
148
  export function lensHistoryUrl(input, local = false) {
142
149
  if (local) {
143
- return `http://localhost:5177/search/#search=${input}`;
150
+ return `http://localhost:5177/#search=${input}`;
144
151
  }
145
- return `https://vdegenne.github.io/japanese-lens-history/search/#search=${input}`;
152
+ return `https://vdegenne.github.io/japanese-lens-history/#search=${input}`;
146
153
  }
147
154
  export function lensHistoryOpen(input, local = false) {
148
155
  open(lensHistoryUrl(input, local));
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright (c) 2023 Valentin Degenne\n * SPDX-License-Identifier: MIT\n */\n\nfunction open(url: string, newTab = true) {\n\tif (newTab) {\n\t\twindow.open(url, '_blank');\n\t} else {\n\t\twindow.open(url);\n\t}\n}\n\n/**\n * Google related links\n */\n// google images\nexport type GoogleImagesSize =\n\t| 'l'\n\t| 'm'\n\t| 'i'\n\t| 'qsvga'\n\t| 'vga'\n\t| 'svga'\n\t| 'xga'\n\t| '2mp'\n\t| '4mp'\n\t| '6mp'\n\t| '8mp'\n\t| '10mp'\n\t| '12mp'\n\t| '15mp'\n\t| '20mp'\n\t| '40mp'\n\t| '70mp';\n\nexport type GoogleImagesDate = 'd' | 'w' | 'm' | 'y';\nexport type GoogleImagesType =\n\t| 'animated'\n\t| 'face'\n\t| 'clipart'\n\t| 'lineart'\n\t| 'photo';\n\nexport interface GoogleImagesOptions {\n\tsize?: GoogleImagesSize;\n\tdate?: GoogleImagesDate;\n\ttype?: GoogleImagesType;\n\texcludedWords?: string[];\n}\n\nexport function googleImagesUrl(\n\tinput: string,\n\toptions?: GoogleImagesOptions,\n\t// size?: GoogleImagesSize,\n\t// date?: GoogleImagesDate,\n\t// excludeWords?: string[],\n) {\n\toptions ??= {};\n\n\tconst base = new URL('http://www.google.com/search');\n\tlet params = new URLSearchParams();\n\tparams.append('udm', '2');\n\tparams.append('as_q', input);\n\tif (options.excludedWords && options.excludedWords.length) {\n\t\tparams.append('as_eq', options.excludedWords.join(' '));\n\t}\n\n\tlet tbsParams = [];\n\tif (options.size) {\n\t\tif (!['s', 'm', 'l'].includes(options.size)) {\n\t\t\ttbsParams.push('isz:lt');\n\t\t\ttbsParams.push(`islt:${options.size}`);\n\t\t} else {\n\t\t\ttbsParams.push(`isz:${options.size}`);\n\t\t}\n\t}\n\tif (options.date) {\n\t\ttbsParams.push(`qdr:${options.date}`);\n\t}\n\tif (options.type) {\n\t\ttbsParams.push(`itp:${options.type}`);\n\t}\n\n\tif (tbsParams.length > 0) {\n\t\tparams.append('tbs', tbsParams.join(','));\n\t}\n\n\tbase.search = params.toString();\n\treturn base.toString();\n}\n\nexport function googleImagesOpen(\n\tinput: string,\n\toptions?: GoogleImagesOptions,\n\t// size?: GoogleImagesSize,\n\t// date?: GoogleImagesDate,\n\t// excludeWords?: string[],\n) {\n\topen(googleImagesUrl(input, options));\n}\n\nexport interface GoogleImagesSearchContext extends GoogleImagesOptions {\n\tquery: string[];\n\t// excluded: string[];\n\t// size?: GoogleImagesSize;\n\t// date?: GoogleImagesDate;\n\t// type?: GoogleImagesType;\n}\n\nexport function googleImagesUrlAnalyzer(\n\tgImgUrl: string,\n): GoogleImagesSearchContext {\n\tconst url = new URL(gImgUrl);\n\tconst info: GoogleImagesSearchContext = {\n\t\tquery: [],\n\t\texcludedWords: [],\n\t};\n\tconst params = url.searchParams;\n\tif (!params.get('udm') || params.get('udm') !== '2') {\n\t\tthrow new Error('Not a Google Images search');\n\t}\n\tconst getKeywords = (paramName: string) =>\n\t\t(params.get(paramName) || '').split(' ').filter((v) => v);\n\tconst keywords = [\n\t\t...getKeywords('q'),\n\t\t...getKeywords('as_q'),\n\t\t...getKeywords('as_eq').map((v) => `-${v}`),\n\t];\n\n\t// Search keywords\n\tinfo.query = keywords.filter((v) => !v.startsWith('-'));\n\t// Excluded search keywords\n\tinfo.excludedWords = keywords\n\t\t.filter((v) => v.startsWith('-'))\n\t\t.map((v) => v.slice(1));\n\n\tconst tbs = params.get('tbs');\n\tif (tbs) {\n\t\tconst tbsInfo = Object.fromEntries(\n\t\t\ttbs.split(',').map((p) => p.split(':')),\n\t\t);\n\t\tif (tbsInfo.isz) {\n\t\t\tinfo.size =\n\t\t\t\ttbsInfo.isz === 'lt' && tbsInfo.islt\n\t\t\t\t\t? tbsInfo.islt\n\t\t\t\t\t: tbsInfo.isz;\n\t\t}\n\t\tif (tbsInfo.qdr) {\n\t\t\tinfo.date = tbsInfo.qdr;\n\t\t}\n\t\tif (tbsInfo.itp) {\n\t\t\tinfo.type = tbsInfo.itp;\n\t\t}\n\t}\n\treturn info;\n}\n\n// google translate\nexport function googleTranslateUrl(\n\tinput: string,\n\tlang = 'en',\n\tsource = 'auto',\n) {\n\treturn `https://translate.google.com/?sl=${source}&tl=${lang}&text=${encodeURIComponent(\n\t\tinput,\n\t)}&op=translate`;\n}\nexport function googleTranslateOpen(\n\tinput: string,\n\tlang?: string,\n\tsource?: string,\n) {\n\topen(googleTranslateUrl(input, lang, source));\n}\nexport function youtubeUrl(input: string) {\n\treturn `https://www.youtube.com/results?search_query=${encodeURIComponent(\n\t\tinput,\n\t)}`;\n}\nexport function youtubeOpen(input: string) {\n\topen(youtubeUrl(input));\n}\n\n/**\n * Japanese related\n */\n// jisho\nexport function jishoUrl(input: string) {\n\treturn `https://jisho.org/search/${encodeURIComponent(input)}`;\n}\nexport function jishoOpen(input: string) {\n\topen(jishoUrl(input));\n}\n\n// goo\nexport function gooUrl(input: string) {\n\t// return `https://dictionary.goo.ne.jp/word/${encodeURIComponent(word)}/`;\n\treturn `https://dictionary.goo.ne.jp/srch/all/${encodeURIComponent(\n\t\tinput,\n\t)}/m0u/`;\n}\nexport function gooOpen(input: string) {\n\topen(gooUrl(input));\n}\n\n// weblio\nexport function weblioUrl(input: string) {\n\treturn `https://www.weblio.jp/content/${encodeURIComponent(input)}`;\n}\nexport function weblioOpen(input: string) {\n\topen(weblioUrl(input));\n}\n\n// kotobank\nexport function kotobankUrl(input: string) {\n\treturn `https://kotobank.jp/word/${encodeURIComponent(input)}`;\n}\nexport function kotobankOpen(input: string) {\n\topen(kotobankUrl(input));\n}\n\n// Mdbg\ninterface MdbgOptions {\n\ttype: 'simplified' | 'traditional';\n}\n\nexport function mdbgUrl(input: string, options?: Partial<MdbgOptions>) {\n\tconst defaults: MdbgOptions = {type: 'traditional'};\n\toptions = Object.assign({}, defaults, options);\n\treturn `https://www.mdbg.net/chinese/dictionary?page=worddict&wdrst=${options.type === 'simplified' ? 0 : 1}&wdqb=${encodeURIComponent(\n\t\tinput,\n\t)}`;\n}\nexport function mdbgOpen(input: string, options?: Partial<MdbgOptions>) {\n\topen(mdbgUrl(input, options));\n}\n\nexport function lensHistoryUrl(input: string, local = false) {\n\tif (local) {\n\t\treturn `http://localhost:5177/search/#search=${input}`;\n\t}\n\treturn `https://vdegenne.github.io/japanese-lens-history/search/#search=${input}`;\n}\nexport function lensHistoryOpen(input: string, local = false) {\n\topen(lensHistoryUrl(input, local));\n}\n\n/**\n * You need the extension: https://chromewebstore.google.com/detail/chatgpt-hash/dammfmpccfehndicnhkmjjiipkhongfa\n */\nexport function chatGptUrl(question: string) {\n\treturn `https://chatgpt.com/#${encodeURIComponent(question)}`;\n}\n/**\n * You need the extension: https://chromewebstore.google.com/detail/chatgpt-hash/dammfmpccfehndicnhkmjjiipkhongfa\n */\nexport function chatGptOpen(question: string) {\n\topen(chatGptUrl(question));\n}\n\nexport function googleUrl(input: string): string {\n\treturn `https://www.google.com/search?q=${encodeURIComponent(input)}`;\n}\nexport function googleOpen(input: string) {\n\topen(googleUrl(input));\n}\n\nexport function lichessUrl(fen: string, color?: 'w' | 'b') {\n\treturn `https://lichess.org/analysis/${fen}${color ? `_${color}` : ''}?color=white`;\n}\n\nexport function openLichess(fen: string, color?: 'w' | 'b') {\n\topen(lichessUrl(fen, color));\n}\n\nexport function chesscomUrl(fen: string) {\n\treturn `https://www.chess.com/analysis?fen=${encodeURIComponent(fen)}`;\n}\nexport function chesscomOpen(fen: string) {\n\topen(fen);\n}\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright (c) 2023 Valentin Degenne\n * SPDX-License-Identifier: MIT\n */\n\nfunction open(url: string, newTab = true) {\n\tif (newTab) {\n\t\twindow.open(url, '_blank');\n\t} else {\n\t\twindow.open(url);\n\t}\n}\n\n/**\n * Google related links\n */\n// google images\nexport type GoogleImagesSize =\n\t| 'l'\n\t| 'm'\n\t| 'i'\n\t| 'qsvga'\n\t| 'vga'\n\t| 'svga'\n\t| 'xga'\n\t| '2mp'\n\t| '4mp'\n\t| '6mp'\n\t| '8mp'\n\t| '10mp'\n\t| '12mp'\n\t| '15mp'\n\t| '20mp'\n\t| '40mp'\n\t| '70mp';\n\nexport type GoogleImagesDate = 'd' | 'w' | 'm' | 'y';\nexport type GoogleImagesType =\n\t| 'animated'\n\t| 'face'\n\t| 'clipart'\n\t| 'lineart'\n\t| 'photo';\n\nexport interface GoogleImagesOptions {\n\tsize?: GoogleImagesSize;\n\tdate?: GoogleImagesDate;\n\ttype?: GoogleImagesType;\n\texcludedWords?: string[];\n}\n\nexport function googleImagesUrl(\n\tinput: string,\n\toptions?: GoogleImagesOptions,\n\t// size?: GoogleImagesSize,\n\t// date?: GoogleImagesDate,\n\t// excludeWords?: string[],\n) {\n\toptions ??= {};\n\n\tconst base = new URL('http://www.google.com/search');\n\tlet params = new URLSearchParams();\n\tparams.append('udm', '2');\n\tparams.append('as_q', input);\n\tif (options.excludedWords && options.excludedWords.length) {\n\t\tparams.append('as_eq', options.excludedWords.join(' '));\n\t}\n\n\tlet tbsParams = [];\n\tif (options.size) {\n\t\tif (!['s', 'm', 'l'].includes(options.size)) {\n\t\t\ttbsParams.push('isz:lt');\n\t\t\ttbsParams.push(`islt:${options.size}`);\n\t\t} else {\n\t\t\ttbsParams.push(`isz:${options.size}`);\n\t\t}\n\t}\n\tif (options.date) {\n\t\ttbsParams.push(`qdr:${options.date}`);\n\t}\n\tif (options.type) {\n\t\ttbsParams.push(`itp:${options.type}`);\n\t}\n\n\tif (tbsParams.length > 0) {\n\t\tparams.append('tbs', tbsParams.join(','));\n\t}\n\n\tbase.search = params.toString();\n\treturn base.toString();\n}\n\nexport function googleImagesOpen(\n\tinput: string,\n\toptions?: GoogleImagesOptions,\n\t// size?: GoogleImagesSize,\n\t// date?: GoogleImagesDate,\n\t// excludeWords?: string[],\n) {\n\topen(googleImagesUrl(input, options));\n}\n\nexport interface GoogleImagesSearchContext extends GoogleImagesOptions {\n\tquery: string[];\n\t// excluded: string[];\n\t// size?: GoogleImagesSize;\n\t// date?: GoogleImagesDate;\n\t// type?: GoogleImagesType;\n}\n\nexport function googleImagesUrlAnalyzer(\n\tgImgUrl: string,\n): GoogleImagesSearchContext {\n\tconst url = new URL(gImgUrl);\n\tconst info: GoogleImagesSearchContext = {\n\t\tquery: [],\n\t\texcludedWords: [],\n\t};\n\tconst params = url.searchParams;\n\tif (!params.get('udm') || params.get('udm') !== '2') {\n\t\tthrow new Error('Not a Google Images search');\n\t}\n\tconst getKeywords = (paramName: string) =>\n\t\t(params.get(paramName) || '').split(' ').filter((v) => v);\n\tconst keywords = [\n\t\t...getKeywords('q'),\n\t\t...getKeywords('as_q'),\n\t\t...getKeywords('as_eq').map((v) => `-${v}`),\n\t];\n\n\t// Search keywords\n\tinfo.query = keywords.filter((v) => !v.startsWith('-'));\n\t// Excluded search keywords\n\tinfo.excludedWords = keywords\n\t\t.filter((v) => v.startsWith('-'))\n\t\t.map((v) => v.slice(1));\n\n\tconst tbs = params.get('tbs');\n\tif (tbs) {\n\t\tconst tbsInfo = Object.fromEntries(\n\t\t\ttbs.split(',').map((p) => p.split(':')),\n\t\t);\n\t\tif (tbsInfo.isz) {\n\t\t\tinfo.size =\n\t\t\t\ttbsInfo.isz === 'lt' && tbsInfo.islt\n\t\t\t\t\t? tbsInfo.islt\n\t\t\t\t\t: tbsInfo.isz;\n\t\t}\n\t\tif (tbsInfo.qdr) {\n\t\t\tinfo.date = tbsInfo.qdr;\n\t\t}\n\t\tif (tbsInfo.itp) {\n\t\t\tinfo.type = tbsInfo.itp;\n\t\t}\n\t}\n\treturn info;\n}\n\n// google translate\nexport function googleTranslateUrl(\n\tinput: string,\n\tlang = 'en',\n\tsource = 'auto',\n) {\n\treturn `https://translate.google.com/?sl=${source}&tl=${lang}&text=${encodeURIComponent(\n\t\tinput,\n\t)}&op=translate`;\n}\nexport function googleTranslateOpen(\n\tinput: string,\n\tlang?: string,\n\tsource?: string,\n) {\n\topen(googleTranslateUrl(input, lang, source));\n}\n\nexport function youtubeUrl(id: string, time?: number) {\n\tconst t = Math.floor(time || 0);\n\treturn `https://www.youtube.com/watch?v=${id}${t ? `&t=${t}s` : ''}`;\n}\nexport function youtubeOpen(id: string, time?: number) {\n\topen(youtubeUrl(id, time));\n}\n\nexport function youtubeSearchUrl(input: string) {\n\treturn `https://www.youtube.com/results?search_query=${encodeURIComponent(\n\t\tinput,\n\t)}`;\n}\nexport function youtubeSearchOpen(input: string) {\n\topen(youtubeSearchUrl(input));\n}\n\n/**\n * Japanese related\n */\n// jisho\nexport function jishoUrl(input: string) {\n\treturn `https://jisho.org/search/${encodeURIComponent(input)}`;\n}\nexport function jishoOpen(input: string) {\n\topen(jishoUrl(input));\n}\n\n// goo\nexport function gooUrl(input: string) {\n\t// return `https://dictionary.goo.ne.jp/word/${encodeURIComponent(word)}/`;\n\treturn `https://dictionary.goo.ne.jp/srch/all/${encodeURIComponent(\n\t\tinput,\n\t)}/m0u/`;\n}\nexport function gooOpen(input: string) {\n\topen(gooUrl(input));\n}\n\n// weblio\nexport function weblioUrl(input: string) {\n\treturn `https://www.weblio.jp/content/${encodeURIComponent(input)}`;\n}\nexport function weblioOpen(input: string) {\n\topen(weblioUrl(input));\n}\n\n// kotobank\nexport function kotobankUrl(input: string) {\n\treturn `https://kotobank.jp/word/${encodeURIComponent(input)}`;\n}\nexport function kotobankOpen(input: string) {\n\topen(kotobankUrl(input));\n}\n\n// Mdbg\ninterface MdbgOptions {\n\ttype: 'simplified' | 'traditional';\n}\n\nexport function mdbgUrl(input: string, options?: Partial<MdbgOptions>) {\n\tconst defaults: MdbgOptions = {type: 'traditional'};\n\toptions = Object.assign({}, defaults, options);\n\treturn `https://www.mdbg.net/chinese/dictionary?page=worddict&wdrst=${options.type === 'simplified' ? 0 : 1}&wdqb=${encodeURIComponent(\n\t\tinput,\n\t)}`;\n}\nexport function mdbgOpen(input: string, options?: Partial<MdbgOptions>) {\n\topen(mdbgUrl(input, options));\n}\n\nexport function lensHistoryUrl(input: string, local = false) {\n\tif (local) {\n\t\treturn `http://localhost:5177/#search=${input}`;\n\t}\n\treturn `https://vdegenne.github.io/japanese-lens-history/#search=${input}`;\n}\nexport function lensHistoryOpen(input: string, local = false) {\n\topen(lensHistoryUrl(input, local));\n}\n\n/**\n * You need the extension: https://chromewebstore.google.com/detail/chatgpt-hash/dammfmpccfehndicnhkmjjiipkhongfa\n */\nexport function chatGptUrl(question: string) {\n\treturn `https://chatgpt.com/#${encodeURIComponent(question)}`;\n}\n/**\n * You need the extension: https://chromewebstore.google.com/detail/chatgpt-hash/dammfmpccfehndicnhkmjjiipkhongfa\n */\nexport function chatGptOpen(question: string) {\n\topen(chatGptUrl(question));\n}\n\nexport function googleUrl(input: string): string {\n\treturn `https://www.google.com/search?q=${encodeURIComponent(input)}`;\n}\nexport function googleOpen(input: string) {\n\topen(googleUrl(input));\n}\n\nexport function lichessUrl(fen: string, color?: 'w' | 'b') {\n\treturn `https://lichess.org/analysis/${fen}${color ? `_${color}` : ''}?color=white`;\n}\n\nexport function openLichess(fen: string, color?: 'w' | 'b') {\n\topen(lichessUrl(fen, color));\n}\n\nexport function chesscomUrl(fen: string) {\n\treturn `https://www.chess.com/analysis?fen=${encodeURIComponent(fen)}`;\n}\nexport function chesscomOpen(fen: string) {\n\topen(fen);\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vdegenne/links",
3
- "version": "1.7.10",
3
+ "version": "1.8.0",
4
4
  "author": "Valentin Degenne <vdegenne@gmail.com>",
5
5
  "license": "MIT",
6
6
  "type": "module",