【デスクトップ版】カレンダーのテンプレートと登録しているRSSを他のpcに移植する方法
-
タイトルの通りです。最近のアップデートで実装されたカレンダーテンプレートと、RSSフィードに登録しているのを他のpcにコピーする方法をご存知の方がいたら教えていただきたいです。
-
@yayoisan
こんにちは!
RSSフィードの方はわかりませんが…カレンダーテンプレートを出力&登録するスクリプトを貼っておきます。const templates = await vivaldi.calendar.getAllEventTemplates(); const json = JSON.stringify(templates, null, "\t"); const registeredScript = ` const templates = ${json} function registerTemplates(templates) { templates.forEach(template => { vivaldi.calendar.createEventTemplate(template.name, template.ical, (result) => { if (result) { console.log('template.name' + " is registered."); } else { console.log(template.name" + fail to register."); } }); }); } registerTemplates(templates);`; console.log(registeredScript)
使い方
vivaldi://experiments/
へアクセスし開発者ツールを開き、コンソールへ上記スクリプトを貼り付け実行。- 出力された内容をコピペして移動先デバイスへ持っていく。
- 移動先デバイスで持ってきたスクリプトを1.同様にコンソールで実行。
- ブラウザを再起動
備考
- 移動先に同じテンプレートがある場合重複して登録されてしまうので、3.で実行する前に不要なテンプレートは削除して下さい。
-
@ppgm やってみます!本当にいつもありがとうございます!!!!!
-
RSSの方は以下でできると思います。
https://forum.vivaldi.net/post/468774vivaldi.prefs.get("vivaldi.rss.settings", feeds => { function html(str){return str.replace(/&/g, '&').replace(/"/g, '"').replace(/</g, '<').replace(/>/g, '>');} let opml = feeds.reduce((acc, feed) => { return acc + `\n<outline type="rss" text="${html(feed.title)}" title="${html(feed.title)}" xmlUrl="${html(feed.url)}"/>`; }, `<?xml version="1.0" encoding="utf-8"?><opml version="1.0"><head><title>Feeds exported from Vivaldi</title></head><body>`); opml += `\n</body></opml>`; const filename = "exportedfeeds_"+new Date().toDateString().replace(/\s/g,"-")+".opml"; const textfile = new File([opml], filename, {type: "text/xml"}); const dl = document.createElement("a"); dl.download = filename; dl.setAttribute("href", window.URL.createObjectURL(textfile)); dl.click(); });
カレンダーテンプレートの件と同様にコンソールに貼り付け実行で既定のダウンロードフォルダーにOPMLファイルができるので、インポートできると思います。
-
@nikuQ
やってみます!!ありがとうございます!!!!!