nDiki : URL

URL - Uniform Resource Locator

URI escape (Perl)

によると

 $str =~ s/(\W)/'%' . unpack('H2', $1)/eg;

 $str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;

がはやいそうです。

application/x-www-form-urlencoded でのエンコード (Perl)

同じく

によれば、

 $str =~ s/([^\w ])/'%' . unpack('H2', $1)/eg;
 $str =~ tr/ /+/;

 $str =~ tr/+/ /;
 $str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack('H2', $1)/eg;

がはやいそうです。

RFC

  • RFC1738 - Uniform Resource Locators (URL).
  • RFC1808 - Relative Uniform Resource Locators.
  • RFC2368 - The mailto URL scheme.
  • RFC2396 - Uniform Resource Identifiers (URI): Generic Syntax.

関連情報

スポンサード リンク

2020年12月19日 (土)

nNote ではなく nDiki にちょっとしたノートを書く

永続的に残しておくほどではないちょっとしたノートを置いておくスペースとして nNote2017年1月末に始めて3年弱になった。

ある程度自分なりに推敲してまとめる日記記事中心の nDiki とは別に、断片的・未整理・不完全なちょっとしたノートを頻繁/大幅に更新したり削除を前提に置けて重宝している。

一方別にすると nDikinNote の両方を通して「キーワードで記事を抽出して表示」したり「時系列で表示」したりできない点がちょっと不便だと分かった。パーソナルナレッジベースとしてはまとまっていた方が良いので、今後ちょっとしたノートnDiki 上に置くことにする。

両者を区別はしたいので nNote in nDiki として

  • #nNote タグをつけておく。
  • 記事ファイル名(URL の一部にもなる)に「nn」を入れておく。

とすることにした。

nNote にある過去のノートも上記ルールに合わせて修正して nDiki に移動。横断的に見る時に邪魔になる「持ち物リスト」や、仕上げた旅行記記事と一緒に置く逆に分かりにくくなる「旅行計画」といったノートnDiki に移さずに nNote に残しておいた方がいいな。 nNotenNote で残しておくことにする。

スポンサード リンク
[ 12月19日全て ]

2020年12月23日 (水)

Markdown ファイルを Marked 2 で self-contained HTML に変換して Google ドキュメントに貼り付けて共有する(画像付きで)

Markdown ファイルを iA WriterWeb プレビューしたものを Google ドキュメントに貼り付けて共有する(記事1)時、画像データをデータ URL 化して Markdown ファイルに記述すれば一緒に貼り付けられることが分かった(記事2)。

でもやっぱり管理が面倒くさい。

そこまでするなら「別のアプリで self-contained HTML に変換」→「Web ブラウザで表示」→「コピー & ペーストで Google ドキュメントに貼り付け」を実行する方がいいのでは。いったん HTML書き出すのが嫌だなと今まで思っていたけれど。

と思って調べたら、インストールしてある Marked 2 が self-contained HTML に変換できたし、Google Chrome で表示して全選択からのコピー & ペーストで画像付きで Google ドキュメントに貼り付けられた。

こちらの方法にしよう。

[ Markdown で書いているノートを Google ドライブで共有する ]

[ 12月23日全て ]

2021年1月19日 (火)

Zettlr はテキストファイルノートアプリに適した Markdown エディタ

Zettelkasten メソッドのための機能を備えた Markdown エディタに Zettlr がある。ローカルディレクトリ上に通常の Markdown ファイルとしてデータを保存するタイプで、ロックインの心配が無く他のツールと併用できる好みのアプリだ。インストールして1日使ってみた。

インストール (macOS )

Homebrew では以下で。

 $ brew install --cask Zettlr

今日時点でインストールされるのが 1.8.3 でちょっと古かったので

からバイナリビルドされた 1.8.6 をダウンロードしてインストールした。

Markdown エディタとして

ヘッダを大きめに表示したりリンクの URL を隠したりと一部プリレンダリングされるタイプ。日本語も問題無さそう。

ファイル末のあたりで文字入力するとエディタがガクガク揺れるは今後改善されると嬉しい。

見出し単位で折り畳む機能やサイドバーで目次を表示する機能があり、長めの文章を書くための支援が揃っている。

ファイル管理

ファイルツリー上にディレクトリとファイルの両方を表示する Combined モード以外に、ファイルツリー(ディレクトリツリー)とファイルリストの両方を表示する Expanded モード、ファイルツリーとファイルリストのどちらかを表示する Thin モードがある。

Expanded モードを選ぶと iA WriterUlysses などでもお馴染みのスタイルになりノートアプリとして使いやすくなる。

ファイルシステム上のディレクトリをルートディレクトリとしたワークスペースを複数同時に開いておける。用途別にディレクトリを分けている場合に便利だ。

全文検索はワークスペース単位。内部リンクもワークスペース単位で機能する。 自分は複数のワークスペースを横断的に全文検索したいので、本格的に使うなら1つのディレクトリの下にまとめる必要があるな。

ファイルの拡張子は md ではなく txt でも OK なので、ファイルを同期した Google ドライブ上で全文検索させられるのが嬉しい(Markdown ファイルの拡張子を md にすると Google ドライブで不便)。 md 固定の Obsidian より柔軟だ。

Zettelkasten メソッドと内部リンク

Makrdown ファイルから Markdown ファイルへファイルベース名を指定して 「[[ファイルベース名]]」の形で内部リンクできる(パス名は不要)。

また Markdown ファイル内にユニークな ID を書いておき、その ID を指定して「[[ID]]」としてリンクもできる。後者を使えばファイル名変更が気軽にできる。 ID の形式やリンクの開始文字列 [[ ・終了文字列 ]] もカスタマイズできて柔軟なのも良い。

iA Writer では

 ia-writer://open?path=/Locations/path/to/file.txt

のような URL を発行して擬似的にリンクするさせるしかないので比べると圧倒的に便利。

1日使ってみて

今メインで使っている Mac アプリケーションiA Writer に比べると Electron ベースの Zettlr は美しさで負けるのは仕方ないところかな。

Zettlr をテキストファイルノートアプリとして内部リンクを活用しながらパーソナルナレッジベースを作っていくのありだな。

[ ノート・日記はテキストファイルに ] [ Mac アプリケーション ]

[ 1月19日全て ]

2021年2月13日 (土)

Obsidian Publish 買った

ノートを整理すると公開したくなるし、公開すると思うとノートを整理する気になる。 Obsidian で書いたノートもやはり公開できるようにしたい。Gatby・Hugo・MkDocs などの静的サイトジェネレータでサイト生成して公開することも考えたけれど、 Obsidian仕様に合わせた内部リンク対応を書く必要があり開発保守コストが高いな。4日前に様子見と思った Obsidian Publish を結局買ってしまうことにした。$96/年。クレジットカード決済での換算レート107.514円で、支払い額は10,321円となった。

独自ドメインで公開もできるけれど HTTPS にしようとするとまだ大変なので当面 publish.obsidian.md の下でいいことにする。将来独自ドメインに移した際に URL が変わってクールじゃないかなというのはあるが、そもそも頻繁に更新するパーソナルナレッジベースの公開サイトという点で URL がどんどん変わるので気にしても仕方ないよね。

[ サブスクリプションサービス ]

[ 2月13日全て ]

2021年2月17日 (水)

Obsidian Publish したノートGoogle Chrome の新しいタブに表示させる

Obsidian Publish したノートにアクセスした時の表示が速くて驚いている。

これはいいと Google Chrome のホームボタンで表示するページ用に Obsidianノートを2日前に作成し設定した。いい感じなのでさらに Google Chrome で新しいタブを開いた時にも表示しちゃおう。

Chrome 拡張機能 New Tab Redirect を入れて Obsidian Publish したノートURL を設定。

最近の関心事をブラウズするための内部リンクだったり、よくアクセスするためのリンクを書いておくとなかなか便利だ。

[ 2月17日全て ]

2021年2月24日 (水)

Google ドキュメントで社内向け Top of Mind ノートを作った

ディスカッションのきっかけになっていいのかもと社内向け Top of Mind ノートを作ってみた。共有範囲の管理を考えてまずは Google ドキュメントで作成。自分の Google Chrome のスタート ページとタブを開いた時のページにも指定してみた(多少表示が速くなるかなと /preview な URL を指定)。

最初は直接 Google ドキュメントに入力していたけれど手元の Markdown ファイルと別々だと煩雑すぎるので、他のドキュメントでやっている Marked 2 で変換して貼り付ける方法で更新することにした。

インターネット公開している Top of Mind ノートに比べて「読まれるかも/読まれているかも」感が薄くて(明示的に誰にも共有していないからそれはそうだ)まだそれほどテンション上がっていないけれど、しばらく続けてみる。

[ Markdown で書いているノートを Google ドライブで共有する ]

[ 2月24日全て ]

2021年2月25日 (木)

Obsidian Publish サイト内のフォルダ名を先頭が大文字の複数形に変更した

Obsidian Publish サイト nNodes 内でのフォルダ名を「先頭が大文字の複数形」に変更した。もし気が変わってサイトの左側にナビゲーションを表示することにした際、「先頭が大文字の複数形」の方が目次的にしっくりくるかなと。

多くのノートURL が変わるが、被リンク・ Google 登録インデックスもほとんど無いので今のタイミングならまだいいだろう。

今、ナビゲーションを表示していない理由

Obsidian Publish で「ナビゲーションを表示」を有効にするとサイトの左側にノートがディレクトリ表示される。

目次やアウトラインのように見えつつも辞書式順序なので違和感があるのが表示していない理由の1つ。

それからディレクトリ表示で気になるノートを直接開くより、ノートの中のリンク・バックリンク・グラフビューで順番に辿っていった方がエキサイティングだろうというのがもう1つの理由。

[ 2月25日全て ]

2021年2月26日 (金)

Obsidian 内部リンク形式を参照解決して Markdown 形式に置き換えるフィルタを書いた

Obsidian ノートとして内部リンク方言([[ファイルベース名]] や [[ファイルベース名|表示テキスト]])を書いた Markdown ファイルを HTML ファイルに変換する場合は Marked 2 から[[・]]を消す自作フィルタをプリプロセッサとして呼ぶようにしている。

単独ファイルとして HTML ファイルに変換する場合はこれで良かった。しかし最近はノート間のリンクを残しつつ変換したくなってきた。

ノートYAML front matter にそのノートURL (今だとノートGoogle ドキュメントにして共有しているので Google ドキュメントURL)を URL キーで宣言してある。内部リンク先の Markdown ファイルを探して URL が宣言されていれば [ファイルベース名](URL) あるいは [表示テキスト](URL) に書きかえるよう自作フィルタを改良した。

これでリンク元 Markdown ファイルではリンク先ノートURL を記述しておく必要がなくなり、普通に Obsidian ノートして書くだけでよくなった。めでたし。

[ Markdown で書いているノートを Google ドライブで共有する ]

[ 2月26日全て ]

2021年5月7日 (金)

PopClip の「リンクを開く」アクションで認識する URI scheme を増やす

PopClip の「リンクを開く」でアクションで認識する URI scheme (URL scheme) を増やすには defaults コマンドを使う。 obsidian://〜 を認識できるようにするには

 defaults write com.pilotmoon.popclip OtherURLSchemes -array obsidian

を実行する。

Obisidian 上のプロジェクト支援資料ノートを開くリンク obisidan://open?〜 をタスク管理ツール Remember The Milk のタスクノートに書いておき、 PopClip で開けるようにしたいので設定した。

PopClip 便利。

[ 5月7日全て ]

2021年6月14日 (月)

Google ドライブに同期して共有する Markdown ノートテキストファイル に ID を埋め込む

Markdown ノートテキストファイルを rclone で Google ドライブに同期して共有できるようにして、さっそく「共有用の URL をどうしようか」となった。

継続的なノート整理でファイル名変更・フォルダ移動をローカルホスト上でしつつ rclone で同期するので Google ドライブでのファイル ID が変わり URL も変わってしまう。

Zettlr を試した時にやっていた ID を 「yyyymmddHHMMSS」形式で YAML front matter に埋め込んでおくのが妥当かな。で

 https://drive.google.com/drive/search?q=ID

URL を共有すると。

[ ノート・日記はテキストファイルに ] [ Markdown で書いているノートを Google ドライブで共有する ]

[ 6月14日全て ]

About Me

Naney Naney

Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

About nDiki

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。

#nNote タグがついている記事は他の記事に比べて、より断片的・未整理・不完全なちょっとしたノートです。まだ結論に至っていない考えなども含まれます。頻繁/大幅に更新したり削除したりすることがあります。

※本サイトの内容は個人的見解であり所属組織とは関係ありません。

Other Notes

ナレッジベースアプリケーション Obsidian で書いているノートの一部を notes.naney.org で 公開しています。

Process Time: 0.094453s / load averages: 4.47, 2.74, 1.47
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker