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.

関連情報

2022年1月10日 (月)

今日のさえずり: 今日1日で20枚弱のクレジットカードにハサミを入れた

[ 1月10日全て ]

2022年2月5日 (土)

シーズン末値下げのユニクロ フランネルシャツを確保【日記】

image:/nDiki/2022/02/05/2022-02-05-153603-nDiki-1200x800.jpg

今日は「おとどけいきゅう」で京急川崎駅フラップ式列車発車案内表示装置デザインのグッズ発売日。京急オンラインショップの方はすぐ完売、鮫洲店の方も大行列だった様子。時間があればふらっと鮫洲店行ってみようかなと思ったけれどやめておいた。

フランネルシャツを確保

ユニクロ フランネルシャツのシーズン末値下げチェックを怠ってしまっていたが、近隣店舗はかろうじてオリーブ(56 OLIVE)のみ L サイズが残っていたので買ってきた。1月頃の値下げ後に毎年買い替えるのがお得なのよね。

Gmail で他のアカウントの「メールを今すぐ確認する」 できない問題

Gmail で他のアカウントの「メールを今すぐ確認する」 (POP3) を Gmail アプリからできないの、確認コード・確認 URL を受け取る場合に不便。 なので直接 IMAP で見にいくためのアカウント設定を Gmail アプリに追加してみた。

今日のさえずり: このくすぐったい気持ちで毎話見続けられるのかしらん

  • 06:20 ガラスの中の街 #photography RICOH GR IIIx #GR #GRIIIx #GR3x https://t.co/W7ijO7sHWj
  • 11:14 周回遅れで『明日ちゃんのセーラー服』第三話視聴。 このくすぐったい気持ちで毎話見続けられるのかしらん。
  • 16:40 ユニクロ フランネルシャツのシーズン末値下げチェックを怠ってしまっていたが、近隣店舗はかろうじてオリーブのみ L サイズが残っていたので買ってきた。 https://t.co/D1A6gGlvhM
  • 16:52 1月頃の値下げ後に毎年買い替えるのがお得なのよね。
  • 18:32 Gmail で他のアカウントの「メールを今すぐ確認する」 (POP3) を Gmail アプリからできないの、確認コード・確認 URL を受け取る場合に不便。 なので直接 IMAP で見にいくためのアカウント設定を Gmail アプリに追加してみた。
  • 20:20 #FR2梅 #FR2 #photography RICOH GR IIIx #GR #GRIIIx #GR3x https://t.co/24DRBEuxFh
  • 25:00 2022年2月5日(土) やったこと - 『明日ちゃんのセーラー服』第三話 - ユニクロ フランネルシャツ 値下げ品 - 食材買い出し - Gmail と POP3・IMAP 併用動作確認
[ 2月5日全て ]

2022年2月9日 (水)

MkDocs でワーキングノートを GitHub Pages にデプロイし公開する

Markdown で書いているノートを「公開で作業する」というコンセプトで社内で公開するのに、 GitHub Enterprise Server (以下 GHE) の GitHub Pages を使ってみることにした。

静的サイトジェネレータ MkDocs には GitHub Pages にデプロイする機能が入っている。GHE 上のリポジトリに対しても問題なく動いた。

手順1: MkDocs をインストール

 $ pip3 install mkdocs mkdocs-material

手順2: GHE でリポジトリを作成

GHE 上で notes リポジトリを作成する。プライベートでも OK。

手順3: MkDocs プロジェクトを作成する

 $ git clone git@example.com:Naney/notes.git
 $ cd notes
 $ git config user.name 'WATANABE Yoshimasa'
 $ git config user.email naney@example.com

MkDocs 設定ファイルと Markdown ファイルは既存の Obsidian vault の中にそれぞれ置いておき、シンボリックリンクしておくことにする。

 $ ln -s /path/to/vault/Settings/mkdocs.yml

mkdocs.yml 内で以下を指定しておく。

 docs_dir: /path/to/vault/notes

手順4: MkDocs ビルトインサーバでどのようなサイトになるか確認する

 $ mkdocs serve

を実行し、 Web ブラウザで http://127.0.0.1:8000/ に接続しどのように表示するか確認する。

手順5: GitHub Pages にデプロイする

 $ mkdocs gh-deploy

を実行すると gh-pages ブランチ上に静的サイトが生成され、リモートリポジトリに push してくれる。 GHE のリポジトリ側も自動で gh-pages ブランチを GitHub Pages で公開するように設定してくれる。びっくり。 https://example.com/pages/Naney/notes/ が公開 URL になる。

あとは Markdown ファイルを追加・更新・削除したら必要に応じて mkdocs serve で確認しつつ、 mkdocs gh-deploy していけば良い。

やってみると思ったよりお手軽だった。

GitHub Pages は公開

プライベートリポジトリでも GitHub Enterprise Server の GitHub Pages サイトは公開となるので、組織内で限定公開するには境界型セキュリティに頼ることになる。ゼロトラストと考えるなら、漏洩してはならない情報を書かないよう注意して使うべきだ。

[ 組織内公開ワーキングノートサイト ] [ 公開で作業する ]

[ 2月9日全て ]

2022年2月13日 (日)

2022年02月13日(日)の #nNote

Google Chrome のアドレスバーから Obsidian を開いて検索する

Google Chrome検索エンジンの管理で、以下の URL検索エンジンとして追加する(X は Obsidian vault 名に)。

 javascript:location='obsidian://search?vault=X&query='+encodeURI('%s').replace(/\+/g, '%20')
[ 2月13日全て ]

2022年2月16日 (水)

MkDocs のページファイル名を YYYY-MM-DD-hhmmss.md にする

先週始めた MkDocs + GitHub Pages での組織内公開ワーキングノートサイト、ページファイル (Markdown ファイル)の名前を YYYY-MM-DD-タイトル.md のようにしていたのだけれど、やっぱり YYYY-MM-DD-hhmmss.md にすることにした。

日本語の入ったタイトルだと URL が長くなって、シェアする時に見辛いなと。 ナビゲーション上でページを新着順に並べる(mkdocs-awesome-pages-plugin での order:desc 指定を利用)のに、時刻まで入れておいた方が良いというのもある。

生成するページのタイトルは YAML front matter の title で指定しておけば OK。

[ ファイル名の先頭を日付にする ] [ 組織内公開ワーキングノート ]

[ 2月16日全て ]

2022年3月27日 (日)

今日のさえずり: ファイル名Unicode 正規化問題が解決した

[ 3月27日全て ]

2022年5月15日 (日)

次の週末前後のプランを Google ドキュメントに書いて共有したり【日記】

1日家にいた。オールインワン浄水栓の浄水カートリッジを交換したり、頼まれた問題集を注文したり、健歩大会を申し込んだり、 Instagram の二段階認証を設定したり。

次の週末前後のプランを更新していく Google ドキュメントを書き、 URLLINEノートに書いて共有。 iPhone でリンクから遷移してもらったら、直接アプリが開かずに Google アカウント認証画面が挟まった。ちょっとスムーズじゃない。 Google ドライブアプリからアクセスしてもらった。

[ 5月15日全て ]

2022年7月27日 (水)

Obsidian URIJavaScript location リダイレクトする

Remember The Milk のタスクに Obsidian ノートを関連付けたいのだけれど、 Remember The MilkURL フィールドに Obsidian URI を指定できない。

ノート名を document.location.search で受け取って Obsidian URI を組み立て document.location.href を更新する小さな HTML ファイルを配置し、そこを経由させることにした。

[ 7月27日全て ]

2022年8月3日 (水)

MkDocs Roamlinks Plugin を変更して Obsidian Publish サイトへリンクさせる

Obsidian vault の中の一部を Obsidian Publish サイトとして公開し、同じ vault の別の一部を MkDocs を使って静的サイト生成している。

MkDocs サイト向けノートから Obsidian Publish サイト向けノートObsidian 内でリンクしている場合は、静的サイト生成したページから Obsidian Publish サイト上へページへのリンクにしたい。と思って MkDocs Roamlinks Plugin をちょっといじってみた。

Python の言語仕様、モジュール・パッケージ仕様MkDocsプラグイン仕様とかほぼ分かっていない。とりあえず MkDocs Roamlinks Plugin の細心リリースの ZIP ファイルを GitHub からダウンロードして展開し、モジュール名を変えて

 /usr/local/bin/python3.9 setup.py develop

MkDocs サイトの mkdocs.yml で読み込むプラグイン名を変えたら読み込んでくれるのを確認した。あとは、まあなんとなくな感じで。 docs_dir 内で見つからなかったら Obsidian Publish しているフォルダ内を探し、見つかったら公開 URL へのリンクになるようにした。

動いたのでヨシ。

今日のさえずり: ガスってるなと思ってたら光化学スモッグ注意報が発令された

[ 8月3日全て ]

2022年9月15日 (木)

今日のさえずり: Adobe Figma どんなアイコンになるんだろ

[ 9月15日全て ]

About

Process Time: 0.038257s / load averages: 0.47, 0.40, 0.40