nDiki : HTML

HTML (HyperText Markup Language)

関連情報

Perl モジュール

  • HTML::PopupTreeSelect
    • ディレクトリツリーなどのツリー構造のノードを選択させるウィンドウをポップアップさせるためのモジュール。
  • Template Toolkit

HTML への変換

スポンサード リンク

2019年6月26日 (水)

HTML ページ中の Graphviz 定義を自動的にクライアント側で SVG 変換し表示させる

昨日 HTML ページ中の mermaid 定義を自動的にクライアント側で SVG 変換し表示させるようにしたらいい感じなので、勢いで Graphviz の DOT 言語で書かれたグラフ定義も Viz.js を使って SVG 変換できるようにしてみた。

mermaid では HTML ページ中の mermaid クラスをもつ要素を SVG 要素に変換するコードが入っているのだけれど Viz.js にはそれは無さそう。なので mermaid の実装を参考に dot クラスの要素を変換するようにしてみた。

 <div class="dot">
 digraph {
   graph [rankdir = LR];
   a -> b;
   a -> c;
 }
 </div>

と書いたら以下のように変換される。

digraph { graph [rankdir = LR]; a -> b; a -> c; }

mermaid よりずっとメジャーな Graphviz (互換)が使えるとさらに捗って嬉しいぞ。

Viz.js は mermaid よりさらに大きいので、さすがに全ページで読み込ませるのはまずい。なので Viz.js と mermaid についてそれぞれの定義があった場合のみ動的ロードするようにしておいた。

で、まずます動くようになったのでちょっとしたノートを置いておくスペース nNote だけでなく nDiki でも動くように設定しちゃった。Viz.js や mermaid が使えなくなった時のことを考えて記事の寿命が長い nDiki の方では多用はしないつもりではある。

スポンサード リンク
[ 6月26日全て ]

2019年10月30日 (水)

HTMLCSS についての勉強会【日記】

今年2回目の部内での HTMLCSS についての勉強会が今日あった。 複数人・複数チームでで開発保守する大規模サイトにおける共通部品化のデメリットの話など、なるほどと。

[ 10月30日全て ]

2020年10月1日 (木)

iA WriterWeb プレビューGoogle ドキュメントに貼り付けて共有する

テキストファイルと Google ドキュメント間で内容を同期したい件について引き続き検討。

Markdown ファイルをローカルで更新したら Google ドキュメントに自動できれいに反映されればベストだけれど、そういうのは無さそう。共有したいノートの作成・更新頻度を考えると手動にするか。

iA WriterWeb プレビューを全選択しコピーするとリッチテキストとしてクリップボードに入る。これを Google ドキュメントに貼り付けたところいい感じに書式付けされた。

Markdown ファイルの最初の見出しの次に Google ドキュメントURLHTML コメントで書いておけば、更新時にさっと開ける。 Google ドキュメントへの反映も思ったほどは億劫で無かった。

うん、これでいいかなと。

今日から運用開始する。

2020年12月12日 追記

画像を データ URL 化して埋め込めば、その画像Google ドキュメントに貼り付けられた。

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

[ 10月1日全て ]

2020年12月1日 (火)

今日のさえずり: Nintendo Switch で撮影した画面写真動画をスマートフォンに転送できるようになったの、メチャいいな

[ 12月1日全て ]

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月4日 (月)

iA Writer#nNote

iA Writer for Mac

Markdown

Markdown から HTML への変換に MultiMarkdown を使っているので MultiMarkdown 固有の文法が一部使える。

検索

ファイルリストのフィルタで検索しても探せない文字列がある。検索文字列の最後に * をつけると検索できる場合がある。

iA Writer for Android

フォーカスモード

AndroidiA Writer はフォーカスモードにするとカタカタ上下に画面が動くので逆に集中しにくい。

Dropbox 自動保存

テキストファイルを開いた状態でホームに戻った際に変更があれば自動保存される。ただし再度開いた時に Dropbox 上のファイルが更新されているかのチェックはないので、コンフリクトが起きる可能性はあり。一度編集画面からファイル一覧画面に戻る必要あり。

[ 1月4日全て ]

2021年1月20日 (水)

Zettlr 2日目

昨日から使い始めZettelkasten メソッドのための機能を備えた Markdown エディタの2日目。昨日の時点で使い続けるかちょっと迷ったんだけれど、もうちょっと使い方を探ってみようと今日も使ってみている。内部リンク(ノート間リンク)の活用方法がちょっと分かってきて楽しい。

内部リンクの使い勝手が良い

エディタ上で内部リンクを「command + クリック」「control + クリック」すると「リンク先のファイルを開く」と同時にその「リンク文字列での検索」が実行される。ファイルを開くと同時にいい感じに関連するファイルのリスト(実質バックリンクリスト)が表示されて便利。内部リンクを充実させたい気持ちが高まってきた。

ID を YAML front matter に埋め込む

アプリケーションに依存する Markdown ファイルを作らないという Zettlr の原則により Markdown ファイル中のどこに ID を書いてもいい仕様になっている。

自分としてはプレビュー時に文中に出ないように、昨日ひとまず ID を HTML コメントの形式で Markdown ファイルに埋め込んでみていた。 Zettlr やメインで使っている iA Writerプレビューに使っている Marked 2 が YAML front matter に対応しているのでそこの方がわかりやすいかな。 front matter に ID を書くことにした。

ID のパターンは初期設定の「%Y%M%D%h%m%s」で

日時については基本「2021-01-20-095836」という書式を使っているので Zettlr の ID のパターンも初日に「%Y-%M-%D-%h%m%s」にカスタマイズしたのだけれど「%Y%M%D%h%m%s」に戻した。過去のノートファイルに現在日時の ID を付与するというズレが心理的に気持ち悪かったので。

Also, our own experiences show that when one doesn't use easy-to-recognise IDs, one is less prone to assume stuff, making them better suited to cross-link files. Just try it yourself! — https://docs.zettlr.com/en/academic/zkn-method/

というの納得。

内部リンクは独立した行に書き、 Marked 2 で消す

内部リンクは Zettlr をナレッジベースとして使う上で便利だが、単独の Markdown ファイルをエクスポートして共有する際には不要だ。

Markdown ファイルを各種フォーマットに変換する Marked 2 に自作のカスタムプリプロセッサを通す機能があるので、 Zettlr で管理している Markdown ファイルを共有する際は Marked 2 を呼び出して

 - [[...]]

を含む行を消してしまうように設定した。ノート関係の宣言のための内部リンクは上記のように独立した行に書いておこう。

これで個人的なナレッジベースとしてノート間リンクの充実させるという要求と、一部はエクスポートして共有したいという要求を満たせそうだ。

[ 1月20日全て ]

2021年1月27日 (水)

Markdown リンク定義にリンク先ノートの ID を書く

Markdown エディタ Zettlr で内部リンク(ノート間リンク)を

 - [[yyyymmddHHMMSS]] タイトル

のように書き、エクスポートする時は Marked 2 のカスタムプリプロセッサで消す(記事)というマイルールを作った(yyyymmddHHMMSS は ID)。が Zettlr から iA Writer に戻し、ノート間リンクは自作の PopClip エクステンションで開けるようにした(記事)ので、必ずしも [[yyyymmddHHMMSS]] 形式で内部リンクを表現しなくても良くなった。であれば、最初から変換した時にドキュメントに現れない形式で Markdown ファイルに内部リンクを書いておきたい。

Markdown ファイル中に HTML コメント形式で内部リンクを書いておけば、 HTML 等に変換した時にドキュメントに出現しなくて済むのだが iA Writer だと全文検索にひっかからないので却下。

ドキュメントに出現しない表記にはもう1つ「リンク定義」があるのでこれを使うことにした。

 [yyyymmddHHMMSS]: <> "title"

として内部リンクを書いておけばプレビューしたドキュメントには現れない。若干やぼったい感じもするがなかなかいいんじゃない。

[ ノート・日記はテキストファイルに ] [ Zettelkasten ]

[ 1月27日全て ]

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年3月18日 (木)

Markdown 形式の Top of Mind ノートを pandoc で HTML ファイルに

Obsidian vault にある断片的なノートGoogle ドキュメント化共有をやめるのに合わせて、社内向け Top of Mind ノートの共有もやめた

しかし仕事に関する Top of Mind ノートは引き続き Obsidian で更新し、仕事用の Google Chrome のホームボタンや新規タブで表示できるようにしたい。 pandoc でさくっと HTML ファイルに変換するシェルスクリプトを作り Alfred から呼び出してさくっと更新することにした。

ちなみに個人的な Top of Mind ノートは引き続き Obsidian Publish サイト上に作って Google Chrome のホームボタンを押した時や新しいタブを開いた時に表示するように設定している

[ スタートページ ]

[ 3月18日全て ]

About Me

Naney Naney

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

About nDiki

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

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

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

Other Notes

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

最近検索されている記事

月別インデックス
Process Time: 0.103818s / load averages: 0.18, 0.34, 0.32
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker