<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Quartz on namaraii.com</title><link>https://namaraii.com/tags/quartz/</link><description>Recent content in Quartz on namaraii.com</description><generator>Hugo -- gohugo.io</generator><language>ja</language><managingEditor>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</managingEditor><webMaster>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</webMaster><copyright>© 2026 TAKEUCHI Hitoshi, All Rights Reserved.</copyright><lastBuildDate>Wed, 26 Feb 2025 00:00:00 +0900</lastBuildDate><atom:link href="https://namaraii.com/tags/quartz/index.xml" rel="self" type="application/rss+xml"/><item><title>QuartzでExcalidrawで描いた図を使う運用</title><link>https://namaraii.com/posts/quartz_excalidraw/</link><pubDate>Wed, 26 Feb 2025 00:00:00 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/quartz_excalidraw/</guid><description>&lt;h2 class="relative group"&gt;概要
 &lt;div id="概要" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a6%82%e8%a6%81" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Obsidianの中だけでExcalidrawを使うのあれば、obsidian-excalidrawプラグインを使えば良い。&lt;/p&gt;
&lt;p&gt;しかし、本サイトではObsidianの保管庫をQuartzでHTMLへ変換し公開しているため、&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[&lt;span class="nt"&gt;image.excalidraw&lt;/span&gt;](&lt;span class="na"&gt;image.excalidraw&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;のように書いてもQuartzでは上記形式が処理されず、せっかく描いた図をWeb上で公開できない。このため以下のように運用することにした。&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="image"
 width="589"
 height="529"
 src="https://namaraii.com/images/quartz_excalidraw-001.png"
 srcset="https://namaraii.com/images/quartz_excalidraw-001.png 800w, https://namaraii.com/images/quartz_excalidraw-001.png 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/quartz_excalidraw-001.png"&gt;&lt;/figure&gt;
&lt;ol&gt;
&lt;li&gt;Excalidraw Pluginを使って図を描き保存する&lt;/li&gt;
&lt;li&gt;Excalidrawファイルを作ったフォルダにPNGが自動生成される&lt;/li&gt;
&lt;li&gt;ノートを作成し2.のPNGを画像として参照する&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;上の図もこの流れで公開している。&lt;/p&gt;

&lt;h2 class="relative group"&gt;Excalidrawプラグインの設定内容
 &lt;div id="excalidrawプラグインの設定内容" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#excalidraw%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ae%e8%a8%ad%e5%ae%9a%e5%86%85%e5%ae%b9" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;

&lt;h3 class="relative group"&gt;Basic
 &lt;div id="basic" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#basic" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Excalidraw folder: _Excalidraw
&lt;ul&gt;
&lt;li&gt;Excalidrawのファイルが保存されるフォルダ。PNGもここに出力される&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Filename
 &lt;div id="filename" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#filename" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;prefix: なし
&lt;ul&gt;
&lt;li&gt;Excalidraw専用フォルダを作成するためprefixは不要&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;h3 class="relative group"&gt;Embedding Excalidraw into your Notes and Exporting
 &lt;div id="embedding-excalidraw-into-your-notes-and-exporting" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#embedding-excalidraw-into-your-notes-and-exporting" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Export Settings &amp;gt; Auto-export Settings &amp;gt; Auto-export PNG: ON&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;quartz.config.tsの設定
 &lt;div id="quartzconfigtsの設定" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#quartzconfigts%e3%81%ae%e8%a8%ad%e5%ae%9a" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;a href="#ZgotmplZ" &gt;Quartz&lt;/a&gt;がExcalidrawのファイルを処理しないよう､&lt;code&gt;quartz.config.ts&lt;/code&gt;の&lt;code&gt;ignorePatterns&lt;/code&gt; へ追加する。&lt;/p&gt;</description></item><item><title>Obsidianの検索機能</title><link>https://namaraii.com/posts/obsidian-search/</link><pubDate>Tue, 27 Aug 2024 00:00:00 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/obsidian-search/</guid><description>&lt;p&gt;Obsidianの標準の検索機能に関するメモ。&lt;a href="https://publish.obsidian.md/help-ja/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/%E6%A4%9C%E7%B4%A2" target="_blank" rel="noreferrer"&gt;検索 - Obsidian 日本語ヘルプ - Obsidian Publish&lt;/a&gt;より良く使うものを抜粋した。&lt;/p&gt;

&lt;h1 class="relative group"&gt;ショートカットキー
 &lt;div id="ショートカットキー" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%82%b7%e3%83%a7%e3%83%bc%e3%83%88%e3%82%ab%e3%83%83%e3%83%88%e3%82%ad%e3%83%bc" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;Ctrl+Shift+F&lt;/code&gt;または&lt;code&gt;⌘+⇧+F&lt;/code&gt;&lt;/p&gt;

&lt;h1 class="relative group"&gt;検索結果表示のオプション
 &lt;div id="検索結果表示のオプション" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e8%a1%a8%e7%a4%ba%e3%81%ae%e3%82%aa%e3%83%97%e3%82%b7%e3%83%a7%e3%83%b3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;p&gt;検索窓の右にあるボタンを押すと検索結果表示のオプションを設定できる。検索結果が多い場合などは､折りたたんでノート名であたりをつけたりするのに便利。
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt=""
 width="288"
 height="239"
 src="https://namaraii.com/images/obsidian-search-remote-001.png"
 srcset="https://namaraii.com/images/obsidian-search-remote-001.png 800w, https://namaraii.com/images/obsidian-search-remote-001.png 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/obsidian-search-remote-001.png"&gt;&lt;/figure&gt;
&lt;/p&gt;

&lt;h1 class="relative group"&gt;検索結果の埋め込み
 &lt;div id="検索結果の埋め込み" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a4%9c%e7%b4%a2%e7%b5%90%e6%9e%9c%e3%81%ae%e5%9f%8b%e3%82%81%e8%be%bc%e3%81%bf" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;```query
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;embed OR search
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;```&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;などとするとノート内に検索結果を埋め込むことができる。この機能はObsidian PublishでもQuartzでもサポートされていない。&lt;/p&gt;

&lt;h1 class="relative group"&gt;検索クエリ
 &lt;div id="検索クエリ" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%a4%9c%e7%b4%a2%e3%82%af%e3%82%a8%e3%83%aa" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;検索条件&lt;/th&gt;
 &lt;th&gt;書きかた&lt;/th&gt;
 &lt;th&gt;説明&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;AND検索&lt;/td&gt;
 &lt;td&gt;foo bar&lt;/td&gt;
 &lt;td&gt;fooとbarが含まれる&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;OR検索&lt;/td&gt;
 &lt;td&gt;foo OR bar&lt;/td&gt;
 &lt;td&gt;fooまたはbarが含まれる&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;NOT検索&lt;/td&gt;
 &lt;td&gt;foo -bar&lt;/td&gt;
 &lt;td&gt;fooを含むがbarを含まない&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;td&gt;foo&lt;/td&gt;
 &lt;td&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;スペースを含む文字列の検索&lt;/td&gt;
 &lt;td&gt;&amp;ldquo;foo bar&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;foo barという文字列を探す&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;特殊記号のエスケープ&lt;/td&gt;
 &lt;td&gt;\&amp;quot;&lt;/td&gt;
 &lt;td&gt;\\に続けて書くと通常の文字して検索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;グループ化&lt;/td&gt;
 &lt;td&gt;((a OR b) (c OR d))&lt;/td&gt;
 &lt;td&gt;検索条件のグループ化&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;正規表現&lt;/td&gt;
 &lt;td&gt;/f../&lt;/td&gt;
 &lt;td&gt;//の中に正規表現を書く&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ファイル名検索&lt;/td&gt;
 &lt;td&gt;file:&amp;quot;.jpg&amp;quot;&lt;/td&gt;
 &lt;td&gt;ファイル名に.jpgを含むファイルを検索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;ファイルパス検索&lt;/td&gt;
 &lt;td&gt;path:&amp;ldquo;journal/&amp;rdquo;&lt;/td&gt;
 &lt;td&gt;ファイルパスにjournalを含むファイルを検索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;タグ検索&lt;/td&gt;
 &lt;td&gt;tag:#mac&lt;/td&gt;
 &lt;td&gt;タグに#macを含むノートを検索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;大文字小文字を無視&lt;/td&gt;
 &lt;td&gt;ignore-case:(ABC)&lt;/td&gt;
 &lt;td&gt;大文字小文字を区別せずにABCを検索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;大文字小文字を区別&lt;/td&gt;
 &lt;td&gt;match-case:(ABC)&lt;/td&gt;
 &lt;td&gt;大文字小文字を区別してABCを検索&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;

&lt;h1 class="relative group"&gt;ユースケース
 &lt;div id="ユースケース" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%83%a6%e3%83%bc%e3%82%b9%e3%82%b1%e3%83%bc%e3%82%b9" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h1&gt;

&lt;h2 class="relative group"&gt;特定のディレクトリ配下を除外して検索
 &lt;div id="特定のディレクトリ配下を除外して検索" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e7%89%b9%e5%ae%9a%e3%81%ae%e3%83%87%e3%82%a3%e3%83%ac%e3%82%af%e3%83%88%e3%83%aa%e9%85%8d%e4%b8%8b%e3%82%92%e9%99%a4%e5%a4%96%e3%81%97%e3%81%a6%e6%a4%9c%e7%b4%a2" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;検索結果にノイズが含まれてしまうため､作業ログを置いている&lt;code&gt;journal&lt;/code&gt;というディレクトリは除外して検索したい。&lt;/p&gt;</description></item><item><title>Amazonの商品紹介Markdownをつくるブックマークレット</title><link>https://namaraii.com/posts/amazon_markdown_bookmarklet/</link><pubDate>Fri, 23 Aug 2024 00:00:00 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/amazon_markdown_bookmarklet/</guid><description>&lt;p&gt;このサイトはObsidianで管理しているノートをQuartzで公開しており､全てのテキストはMarkdownで書いている。&lt;/p&gt;
&lt;p&gt;このため､Amazonの商品紹介をするのがなかなか面倒であり､これを改善するためのブックマークレットを書いた。&lt;/p&gt;

&lt;h2 class="relative group"&gt;使い方
 &lt;div id="使い方" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e4%bd%bf%e3%81%84%e6%96%b9" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Amazonの商品ページに行ってこのブックマークレットを起動すると､以下のようなMarkdownが生成され､クリップボードへコピーされる。&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-markdown" data-lang="markdown"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;![[オン] ランニングシューズ Cloudmonster メンズ](https://a.media-amazon.com/images/I/51lG1xvL7nL._AC_SY200_.jpg)
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;[[オン] ランニングシューズ Cloudmonster メンズ](https://www.amazon.co.jp/gp/product/B0CN337TNH/?tag=namaraiicom-22)&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;出力はこんな感じ。殺風景だけどMarkdownだけで書いていて､専用のCSSを当てていないのでやむをえない。&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="low"
 alt="[オン] ランニングシューズ Cloudmonster メンズ"
 src="https://a.media-amazon.com/images/I/51lG1xvL7nL._AC_SY200_.jpg"
 &gt;&lt;/figure&gt;
&lt;p&gt;&lt;a href="https://www.amazon.co.jp/gp/product/B0CN337TNH/?tag=namaraiicom-22" target="_blank" rel="noreferrer"&gt;[オン] ランニングシューズ Cloudmonster メンズ&lt;/a&gt;&lt;/p&gt;

&lt;h2 class="relative group"&gt;実装
 &lt;div id="実装" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%ae%9f%e8%a3%85" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;実装はこんな感じ。Amazon(JP)で複数ジャンルの商品ページのHTMLを確認し､チェックした範囲では動作しているが､うまく動かないページもあると思う。&lt;/p&gt;
&lt;p&gt;もし､動かないページをみつけたらこちらまでご連絡いただければ幸い。ブックマークレットへの変換は以下のページが便利です。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://ytyng.github.io/bookmarklet-script-compress/" target="_blank" rel="noreferrer"&gt;Bookmarklet スクリプト変換&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div class="highlight-wrapper"&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-javascript" data-lang="javascript"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;copyToClipboard&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;navigator&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;clipboard&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;writeText&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;text&lt;/span&gt;&lt;span class="p"&gt;).&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;alert&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;クリップボードにコピーされました&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}).&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="kd"&gt;function&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;クリップボードへのコピーに失敗しました&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;function&lt;/span&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;selector&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nb"&gt;document&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;querySelector&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;selector&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;size&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;200&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;asinElement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;input#ASIN&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;asinElement&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;ASINが見つかりませんでした&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;asin&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;asinElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;titleElement&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;span#productTitle&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;titleElement&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;製品名が見つかりませんでした&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;title&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;titleElement&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;textContent&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;trim&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;img#landingImage&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;img[src*=&amp;#34;_SY&amp;#34;]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;input#productImageUrl&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;value&lt;/span&gt; &lt;span class="o"&gt;||&lt;/span&gt; 
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;getElement&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;img[src*=&amp;#34;_SX&amp;#34;]&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;?&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;src&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="o"&gt;!&lt;/span&gt;&lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;throw&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nb"&gt;Error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;&amp;#39;サムネイル画像が見つかりませんでした&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;productUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;https://www.amazon.co.jp/gp/product/&amp;#39;&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="nx"&gt;asin&lt;/span&gt; &lt;span class="o"&gt;+&lt;/span&gt; &lt;span class="s1"&gt;&amp;#39;/?tag=namaraiicom-22&amp;#39;&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;modifiedUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;sizeMatch&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_(_SY|_SX)(\d+)_/&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;sizeMatch&lt;/span&gt; &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nx"&gt;sizeMatch&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;2&lt;/span&gt;&lt;span class="p"&gt;])&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;modifiedUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_(_SY|_SX)\d+_/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sb"&gt;`_&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;sizeMatch&lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="si"&gt;}${&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;_`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;match&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_(SY|SX)(\d+)_/&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;modifiedUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;replace&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sr"&gt;/_(SY|SX)\d+_/&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="sb"&gt;`_SY&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;size&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;_`&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;else&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;modifiedUrl&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;thumbnailUrl&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="kd"&gt;var&lt;/span&gt; &lt;span class="nx"&gt;markdownContent&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="sb"&gt;`![&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;](&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;modifiedUrl&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;)\n\n[&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;title&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;](&lt;/span&gt;&lt;span class="si"&gt;${&lt;/span&gt;&lt;span class="nx"&gt;productUrl&lt;/span&gt;&lt;span class="si"&gt;}&lt;/span&gt;&lt;span class="sb"&gt;)`&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;copyToClipboard&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;markdownContent&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="p"&gt;})();&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;</description></item><item><title>🗒️ メモ管理の現状</title><link>https://namaraii.com/posts/20230917/</link><pubDate>Sun, 17 Sep 2023 12:04:36 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/20230917/</guid><description>&lt;p&gt;PCやスマホで作成したメモをどのように管理するか。方法やツールを替えながら長年模索してきたが､ここ最近は以下の考え方を元に運営し安定している。&lt;/p&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="notes"
 width="800"
 height="448"
 src="https://namaraii.com/images/20230917-001.jpg"
 srcset="https://namaraii.com/images/20230917-001.jpg 800w, https://namaraii.com/images/20230917-001.jpg 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/20230917-001.jpg"&gt;&lt;/figure&gt;

&lt;h2 class="relative group"&gt;(1) PKMツールとしてのObsidian
 &lt;div id="1-pkmツールとしてのobsidian" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#1-pkm%e3%83%84%e3%83%bc%e3%83%ab%e3%81%a8%e3%81%97%e3%81%a6%e3%81%aeobsidian" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;a href="https://obsidian.md/" target="_blank" rel="noreferrer"&gt;Obsidian&lt;/a&gt;はいわゆるPKM(Personal Knowledge Management)のツールとして使用しており､自分で考えたことや調べてまとめたこと（主に技術的な話題）を管理している。&lt;/p&gt;
&lt;p&gt;ページ間のリンクなどObsidianらしい機能はあまり使っていないが､メモ管理ツールとしてこなれているし､プラグインで機能拡張できるところも良い。&lt;/p&gt;
&lt;p&gt;有償の&lt;a href="https://obsidian.md/sync" target="_blank" rel="noreferrer"&gt;Obsidian Sync&lt;/a&gt;を契約しており､iPhone・iPad・Mac・PCの各アプリでメモを同期している。&lt;/p&gt;
&lt;p&gt;また､すべてのメモではないが&lt;a href="https://github.com/jackyzha0/quartz" target="_blank" rel="noreferrer"&gt;quartz&lt;/a&gt;というツールでWebサイトとして公開している。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://garden.namaraii.com/" target="_blank" rel="noreferrer"&gt;NamaraiiBox&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Obsidianでのノート編集から公開までの流れは､&lt;a href="https://garden.namaraii.com/notes/about/" target="_blank" rel="noreferrer"&gt;このページ&lt;/a&gt;にまとめてある。&lt;/p&gt;

&lt;h2 class="relative group"&gt;(2) 覚え書きを中心としたメモを管理するApple謹製メモ
 &lt;div id="2-覚え書きを中心としたメモを管理するapple謹製メモ" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2-%e8%a6%9a%e3%81%88%e6%9b%b8%e3%81%8d%e3%82%92%e4%b8%ad%e5%bf%83%e3%81%a8%e3%81%97%e3%81%9f%e3%83%a1%e3%83%a2%e3%82%92%e7%ae%a1%e7%90%86%e3%81%99%e3%82%8bapple%e8%ac%b9%e8%a3%bd%e3%83%a1%e3%83%a2" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;メモを外部へエクスポートする有効な手段がない&lt;/strong&gt;という大きな不満はあるものの､アプリとしては年々良くなっているし､Apple製品は今後も使っていくだろうということで､覚え書きを中心としたメモはApple謹製の「メモ」で管理している。&lt;/p&gt;
&lt;p&gt;メモのジャンルはこんな感じ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;写し・控え（各種手続きの写し。スキャンしたPDFを添付する）&lt;/li&gt;
&lt;li&gt;モノ（買ったもの。型番やマニュアルのPDFを一緒に管理）&lt;/li&gt;
&lt;li&gt;家族（家族のもろもろの覚え書き）&lt;/li&gt;
&lt;li&gt;飲食店（好きな店､行ってみたい店）&lt;/li&gt;
&lt;li&gt;カメラ・写真（撮影スポット､持っているカメラ､レンズ､機材など）&lt;/li&gt;
&lt;li&gt;キャンプ（キャンプ場のメモ､持っている道具､キャンプ飯レシピ）&lt;/li&gt;
&lt;li&gt;人物（スキャンした名刺とメモ）&lt;/li&gt;
&lt;li&gt;クルマ（車検証や保険証の写し､メンテナンス記録､マニュアルなど）&lt;/li&gt;
&lt;li&gt;雑多なメモ（洋服のサイズ､粗大ゴミの出しかたなど）&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Appleのメモは添付したPDFの中も検索できるので､取説やスキャンした紙などをバンバン添付して使っている。&lt;/p&gt;
&lt;p&gt;iCloudでiPhone・iPad・Mac間で同期している。ひと昔前はメモの容量が大きくなると同期が不安定になっていたが､ここ最近は安定しているようだ（自分の環境では）&lt;/p&gt;</description></item><item><title>D2 Declarative Diagramming</title><link>https://namaraii.com/posts/d2/</link><pubDate>Thu, 12 Jan 2023 00:00:00 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/d2/</guid><description>&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/terrastruct/d2" target="_blank" rel="noreferrer"&gt;terrastruct/d2: D2 is a modern diagram scripting language that turns text to diagrams.&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;テキストからダイアグラムを生成するツール。類似のツールとしてはMermaid、GraphViz、PlantUMLなどがあり、以下のサイトでこれらのツールで同じダイアグラムを書く場合の比較が可能。このサイトはD2開発元によるものらしい。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://text-to-diagram.com/" target="_blank" rel="noreferrer"&gt;Text to diagram&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;テキストと出力の例
 &lt;div id="テキストと出力の例" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%83%86%e3%82%ad%e3%82%b9%e3%83%88%e3%81%a8%e5%87%ba%e5%8a%9b%e3%81%ae%e4%be%8b" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;公式サイトからの引用&lt;/p&gt;
&lt;div class="highlight-wrapper"&gt;&lt;pre tabindex="0"&gt;&lt;code class="language-d2" data-lang="d2"&gt;# Actors
hans: Hans Niemann

defendants: {
 mc: Magnus Carlsen
 playmagnus: Play Magnus Group
 chesscom: Chess.com
 naka: Hikaru Nakamura

 mc -&amp;gt; playmagnus: Owns majority
 playmagnus &amp;lt;-&amp;gt; chesscom: Merger talks
 chesscom -&amp;gt; naka: Sponsoring
}

# Accusations
hans -&amp;gt; defendants: &amp;#39;sueing for $100M&amp;#39;

# Offense
defendants.naka -&amp;gt; hans: Accused of cheating on his stream
defendants.mc -&amp;gt; hans: Lost then withdrew with accusations
defendants.chesscom -&amp;gt; hans: 72 page report of cheating&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;figure&gt;&lt;img
 class="my-0 rounded-md"
 loading="lazy"
 decoding="async"
 fetchpriority="auto"
 alt="image"
 width="954"
 height="1216"
 src="https://namaraii.com/images/d2-001_hu_856d3ce5ae0943f7.png"
 srcset="https://namaraii.com/images/d2-001_hu_856d3ce5ae0943f7.png 800w, https://namaraii.com/images/d2-001.png 1280w"
 sizes="(min-width: 768px) 50vw, 65vw"
 data-zoom-src="https://namaraii.com/images/d2-001.png"&gt;&lt;/figure&gt;

&lt;h2 class="relative group"&gt;インストール
 &lt;div id="インストール" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%82%a4%e3%83%b3%e3%82%b9%e3%83%88%e3%83%bc%e3%83%ab" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/terrastruct/d2/blob/master/docs/INSTALL.md" target="_blank" rel="noreferrer"&gt;d2/INSTALL.md at master · terrastruct/d2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Macの場合は&lt;code&gt;brew install d2&lt;/code&gt;でOK&lt;/p&gt;</description></item><item><title>Obsidianのノートを外部公開する場合のデッドリンク問題</title><link>https://namaraii.com/posts/obsidian_publish_deadlink/</link><pubDate>Wed, 28 Dec 2022 00:00:00 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/obsidian_publish_deadlink/</guid><description>&lt;h2 class="relative group"&gt;ページタイトル変更時の問題
 &lt;div id="ページタイトル変更時の問題" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%83%9a%e3%83%bc%e3%82%b8%e3%82%bf%e3%82%a4%e3%83%88%e3%83%ab%e5%a4%89%e6%9b%b4%e6%99%82%e3%81%ae%e5%95%8f%e9%a1%8c" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;Obsidianでノート名（ファイル名）を変更した場合、そのノートに張られているリンクは自動的に修正される。このため、Obsidian単体で使っている限りは気軽にノート名を変更して問題ない。&lt;/p&gt;
&lt;p&gt;ページの内容が変化した場合、それにあわせてノート名を変更したくなるのは自然なことで、Obsidianはそれをアプリケーションの機能として実現しているわけだ。&lt;/p&gt;
&lt;p&gt;ただ、&lt;a href="https://obsidian.md/publish" target="_blank" rel="noreferrer"&gt;Obsidian Publish&lt;/a&gt;やQuartzなどを使って、Obsidianのノートをインターネット上で公開する際には、外部サイトからリンクを張られる可能性がある点を考慮する必要がある。&lt;/p&gt;
&lt;p&gt;Obsidianを単体で使うときのように気軽にノート名を変更してしまうと、外部サイトからのリンクがデッドリンクになってしまうからだ。&lt;/p&gt;
&lt;p&gt;この問題に対してScrapboxは、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ページタイトルをURLにする(ページタイトルとは別に一意なページIDを持っている)&lt;/li&gt;
&lt;li&gt;外部からのアクセス時、ページが無くなっていた場合は、そのURLのアクセスログからページIDを探し、ページIDから移動先へリダイレクトする&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;という方法で対応しているようだ。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://scrapbox.io/shokai/wiki%E3%81%A7%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AEURL%E3%82%92ID%E3%81%AB%E3%81%99%E3%82%8B%E3%81%A8%E7%B5%B6%E5%AF%BE%E3%81%AB%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8B%E3%81%AA%E3%81%84" target="_blank" rel="noreferrer"&gt;wikiでページのURLをIDにすると絶対にうまくいかない - 橋本商会&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;本サイトでの対応
 &lt;div id="本サイトでの対応" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e6%9c%ac%e3%82%b5%e3%82%a4%e3%83%88%e3%81%a7%e3%81%ae%e5%af%be%e5%bf%9c" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;本サイトではこのページタイトル問題について、以下のように対応している。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;ノート名（ファイル名）は半角英数字と一部の記号(&lt;code&gt;-&lt;/code&gt; &lt;code&gt;_&lt;/code&gt;)だけを使用する
&lt;ul&gt;
&lt;li&gt;Markdownファイルとしての取り扱いを考慮&lt;/li&gt;
&lt;li&gt;ノート名（ファイル名）は基本的に変更しない（外部公開時のパーマリンク維持のため）
&lt;ul&gt;
&lt;li&gt;それでも変更したくなったらFront Matterに&lt;code&gt;aliases&lt;/code&gt;を書いておけば大丈夫そう
&lt;ul&gt;
&lt;li&gt;これはHugoの機能。ただしまだQuartzでは試していない。&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;ノートのタイトルはFront Matterの&lt;code&gt;title&lt;/code&gt;を使用する
&lt;ul&gt;
&lt;li&gt;URLの構成要素ではなくなるので気軽に変更できる&lt;/li&gt;
&lt;li&gt;ただ、これだとファイルエクスプローラなどで視認性が落ちてしまう…
&lt;ul&gt;
&lt;li&gt;ファイル名表示を&lt;code&gt;title&lt;/code&gt;があればそれを使用するプラグインがあった&lt;/li&gt;
&lt;li&gt;obsidian-front-matter-title&lt;/li&gt;
&lt;li&gt;オプションの&lt;code&gt;Alias title&lt;/code&gt;を&lt;code&gt;ON&lt;/code&gt;にすれば、Aliasを本来の目的で使用できなくなるものの、Wikiリンクの補完時に日本語のtitle、ファイル名のどちらでも候補を検索できるようになる&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;現時点では大きな問題は無さそうだが、しばらく運用して再評価したい。&lt;/p&gt;</description></item><item><title>2ホップリンク</title><link>https://namaraii.com/posts/twohop_link/</link><pubDate>Thu, 22 Dec 2022 00:00:00 +0900</pubDate><author>hitoshi@namaraii.com (竹内 仁 (TAKEUCHI Hitoshi))</author><guid>https://namaraii.com/posts/twohop_link/</guid><description>&lt;h2 class="relative group"&gt;ホップ数
 &lt;div id="ホップ数" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e3%83%9b%e3%83%83%e3%83%97%e6%95%b0" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;&lt;pre class="not-prose mermaid"&gt;
flowchart LR
	B1 &amp; B2 --&gt; A
	G --&gt; O1
	H --&gt; O1
	A --&gt; O1 &amp; O2
	O2 --&gt; E
	F --&gt; O2
	B1:::hop1
	B2:::hop1
	O1:::hop1
	O2:::hop1
	F:::hop2
	G:::hop2
	H:::hop2
	style A fill:#f9f,stroke:#333,stroke-width:4px
	classDef hop1 fill:#a9a
	classDef hop2 fill:#f96
&lt;/pre&gt;

ホップ数とは自身から任意のページまでたどり着くまでのリンクの数である。&lt;/p&gt;
&lt;p&gt;このようなリンク関係がある場合、ページ&lt;code&gt;A&lt;/code&gt;から見て、&lt;code&gt;B1&lt;/code&gt; &lt;code&gt;B2&lt;/code&gt; &lt;code&gt;O1&lt;/code&gt; &lt;code&gt;O2&lt;/code&gt;は1ホップリンクと呼ばれる。&lt;/p&gt;

&lt;h2 class="relative group"&gt;2ホップリンクの意味
 &lt;div id="2ホップリンクの意味" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#2%e3%83%9b%e3%83%83%e3%83%97%e3%83%aa%e3%83%b3%e3%82%af%e3%81%ae%e6%84%8f%e5%91%b3" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;p&gt;このため、上記のリンク関係で言えば、ページ&lt;code&gt;A&lt;/code&gt;から見た&lt;code&gt;G&lt;/code&gt; &lt;code&gt;H&lt;/code&gt; &lt;code&gt;E&lt;/code&gt; &lt;code&gt;F&lt;/code&gt;は2ホップリンクとなる。&lt;/p&gt;
&lt;p&gt;Scrapboxでは2ホップリンクの内、アウトゴーイングリンクのページへリンクしているページ、つまり、&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;A&lt;/code&gt;からリンクしている&lt;code&gt;O1&lt;/code&gt;へリンクしている &lt;code&gt;G&lt;/code&gt;と &lt;code&gt;H&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;A&lt;/code&gt;からリンクしている&lt;code&gt;O2&lt;/code&gt;へリンクしている &lt;code&gt;F&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;を関連リンクとして表示している。これは、&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;A→C, B→Cという&lt;a href="https://helpfeel.com/masui/%E3%83%AA%E3%83%B3%E3%82%AF" target="_blank" rel="noreferrer"&gt;リンク&lt;/a&gt;が存在するとき、AとBの間にはなんらかの関連があると考えてよい。&lt;/p&gt;
&lt;p&gt;「和歌山」→「みかん」、「愛媛県」→「みかん」 ならば「和歌山県」と「愛媛県」はみかんつながりになっているわけだし、&lt;/p&gt;
&lt;p&gt;「増井」→「Rubyプログラミング」、「高林」→「Rubyプログラミング」 ならば「増井」⇔「高林」は意味がある。&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;出典: &lt;a href="https://helpfeel.com/masui/2%E3%83%9B%E3%83%83%E3%83%97%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E8%80%83%E5%AF%9F-5b6f9e74b1b77e00148f8c42" target="_blank" rel="noreferrer"&gt;2ホップリンクの考察 - 増井俊之&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;上記の考え方に基づく仕様であり、本サイトでもQuartzを拡張し同様の2ホップリンクを表示している（各ページ配下の「関連リンク」）&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;QuartzにScrapbox的な2ホップリンクを追加する&lt;/li&gt;
&lt;li&gt;Obsidiaのリンク表示&lt;/li&gt;
&lt;/ul&gt;

&lt;h2 class="relative group"&gt;参考情報
 &lt;div id="参考情報" class="anchor"&gt;&lt;/div&gt;
 
 &lt;span
 class="absolute top-0 w-6 transition-opacity opacity-0 -start-6 not-prose group-hover:opacity-100 select-none"&gt;
 &lt;a class="text-primary-300 dark:text-neutral-700 !no-underline" href="#%e5%8f%82%e8%80%83%e6%83%85%e5%a0%b1" aria-label="アンカー"&gt;#&lt;/a&gt;
 &lt;/span&gt;
 
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;a href="https://helpfeel.com/masui/2%E3%83%9B%E3%83%83%E3%83%97%E3%83%AA%E3%83%B3%E3%82%AF%E3%81%AE%E8%80%83%E5%AF%9F-5b6f9e74b1b77e00148f8c42" target="_blank" rel="noreferrer"&gt;2ホップリンクの考察 - 増井俊之&lt;/a&gt;&lt;/p&gt;</description></item></channel></rss>