ChatGPTでBookmarkletを作らせてみたら、仕事してくれた
ChatGPTでデータベースの設計をやらせてみたとか色々な事例があったので、自分でも試してみました。 以下、やり取りを貼っておきます。
自分の質問
表示されているURLからタイトル・URLを取得し、Markdownのリンク記法に変換するbookmarkletを作って欲しいです。
ChatGPTさんの回答
以下が、要求されたbookmarkletです。
javascript:(function(){var%20url=window.location.href;var%20title=document.title;var%20mdLink='['+title+']'+'('+url+')';prompt('Markdown Link:',mdLink)})();
このbookmarkletを使うには、以下の手順に従ってください。
- ブラウザのブックマークバーを表示します。
- 新しいブックマークを追加するためのボタンをクリックします。
- ブックマークの名前を入力します(例:「Markdown Link」)。
- URLの欄には、以下のコードを貼り付けます。
javascript:(function(){var%20url=window.location.href;var%20title=document.title;var%20mdLink='['+title+']'+'('+url+')';prompt('Markdown Link:',mdLink)})();
- ブックマークレットを保存します。
- ブックマークレットを使うには、変換したいウェブページを開き、先ほど作成したブックマークレットをクリックします。
- ポップアップが表示され、Markdownのリンク記法が含まれたテキストが表示されます。
- ポップアップ内のテキストをコピーし、必要な場所に貼り付けます。
このbookmarkletは、現在表示されているページのURLとタイトルを取得し、Markdownのリンク記法に変換します。ポップアップウィンドウが表示され、Markdownリンクが含まれたテキストが表示されます。必要に応じて、テキストをコピーして貼り付けることができます。
ちゃんと動く!
更に質問
お礼も言いつつ、ブラウザで表示されているページ内で選択した範囲のリンクを取得するものを依頼。 今気がついたけど、改行を「開業」と書き間違えていた。
ありがとうございます。 次に、表示されているURLで選択している範囲にある、aタグを取得するbookmarkletを作って欲しいです。 この際複数のaタグがある場合は、1行ずつ開業して下さい。
ChatGPTさんの回答
以下が、要求されたbookmarkletです。
javascript:(function(){var%20links=document.getSelection().getRangeAt(0).cloneContents().querySelectorAll('a');var%20mdLinks='';links.forEach(function(link){mdLinks+=link.textContent+' ('+link.href+')\n';});prompt('Markdown Links:',mdLinks)})();
このbookmarkletを使うには、以下の手順に従ってください。
- ブラウザのブックマークバーを表示します。
- 新しいブックマークを追加するためのボタンをクリックします。
- ブックマークの名前を入力します(例:「Selected Links」)。
- URLの欄には、以下のコードを貼り付けます。
javascript:(function(){var%20links=document.getSelection().getRangeAt(0).cloneContents().querySelectorAll('a');var%20mdLinks='';links.forEach(function(link){mdLinks+=link.textContent+' ('+link.href+')\n';});prompt('Markdown Links:',mdLinks)})();
- ブックマークレットを保存します。
- 選択したい範囲のテキストをハイライトします。
- 先ほど作成したブックマークレットをクリックします。
- ポップアップが表示され、選択した範囲内にあるaタグのMarkdownリンクが含まれたテキストが表示されます。
- ポップアップ内のテキストをコピーし、必要な場所に貼り付けます。
このbookmarkletは、選択した範囲内にあるaタグを取得し、Markdownリンクに変換して表示します。複数のaタグがある場合は、1行ずつ開業して表示されます。ポップアップ内のテキストをコピーして、必要な場所に貼り付けることができます。
これもきちんと動くものを用意してくれた!しかもブックマークの名前について、想定した仕様にそったものを考えてくれている。
更に質問
Markdownになっていたほうが便利かもしれなかったので、それも依頼してみる。
ありがとうございます。 Markdownのリンク記法にしてもらえますか?
ChatGPTさんの回答
申し訳ありません、前回の回答が間違っていました。以下が、要求されたbookmarkletです。
javascript:(function(){var%20links=document.getSelection().getRangeAt(0).cloneContents().querySelectorAll('a');var%20mdLinks='';links.forEach(function(link){mdLinks+='['+link.textContent+']'+'('+link.href+')\n';});prompt('Markdown Links:',mdLinks)})();
このbookmarkletを使うには、以下の手順に従ってください。
- ブラウザのブックマークバーを表示します。
- 新しいブックマークを追加するためのボタンをクリックします。
- ブックマークの名前を入力します(例:「Selected Links」)。
- URLの欄には、以下のコードを貼り付けます。
ここで処理がフリーズしてしまう。
これも問題なく動作してくれました。
その後も
こちらの内容で問題ありません。ありがとうございます。 追加で、リンクのURLだけ取得するバージョンを用意して下さい。 と質問したら、
javascript:(function(){var%20links=document.getSelection().getRangeAt(0).cloneContents().querySelectorAll('a');var%20urls='';links.forEach(function(link){urls+=link.href+'\n';});prompt('URLs:',urls)})();
を出してくれて、こちらも問題なく動作しました。
わかりやすくChatGPTさんに説明して上げるのがコツかも知れませんね。 いやー面白い時代になりました。