ubanis(ウェブサイト ubanis.com)
banner
ubanis.com.web.brid.gy
ubanis(ウェブサイト ubanis.com)
@ubanis.com.web.brid.gy
ふたなり絵描き
せっかくサイトやってるわけですから誰も見なくても好きなだけ文章を書いておこうというわけです。まじめに整理してないので文章はごちゃごちゃですがご了承ください。

* * *

## ふたなりナースっていいよね

ふたなりナースはずいぶん昔からいいなと思って一枚絵は描いていたんですが今回は同人にしようと思っています。 モノクロ漫画形式かカラーの漫画もどきCG集かははっきりしていません。カラーとのモノクロの手間の差は塗り方次第だと思います。 […]

[Original post on ubanis.com]
December 17, 2025 at 7:46 AM
サイトのメッセージでショタxfemboy描いてや男の子見たいというコメントがXであったので描いたりしました。男の子はそこまで趣味でもないんですけど描くときは男の子すきすきの気持ちを振り絞る必要がありますね。

絵は別に好きじゃないけど描いてるうちに好きになるという現象がありますので描いてみないとわからないもんなんですよね。ふたなりも見て好きになったわけですけど描いてもっと好きになったわけですしね。

結論としてはちんぽがついてる可愛いのが好きってことですね。

以下絵。
December 15, 2025 at 1:10 AM
配信で描いた健全な絵です。目をちょっとでかくして昔風にしました。
October 13, 2025 at 6:35 AM
Obsidian が 1.9 になったので久しぶりに起動していろいろいじってみた。

新しく利用できるようになったデータベースビューでファイル一覧を表示したりいろいろ markdown ファイル内で出来て便利であるし、frontmatter のタグやファイルパスの補完も便利すぎるので Astro 用に再び使うことにした。

Astro 側の content と assets フォルダへシンボリックリンクを貼り Obsidian 側から記事を書いた。 […]

[Original post on ubanis.com]
October 5, 2025 at 12:33 PM
obsidian側から編集してpushするテスト
October 4, 2025 at 2:00 PM
サスペンドもあってPDSも止めたわけではあるんだけれど、このようにブリッジアカウントもあるので本当に分散とブリッジ、モデレーションを上手くやっていくのは大変なのではないだろうか。

厳しくモデレーションする以外の選択肢は無いので最終的にはX的な自動モデレーションは避けられないと思う。

というつぶやき。知らない人にも言っておくとこれはウェブサイトのポストでありブリッジアカウントです。
September 13, 2025 at 10:38 AM
最近の絵です。
September 7, 2025 at 10:13 AM
最近の絵です。
September 4, 2025 at 9:06 AM
最近の絵です。
September 1, 2025 at 2:49 AM
前回手順が間違っていたのかアカウントのPDS移動に失敗していたものの今回は https://pdsmoover.com/ を利用することでかなり速くアカウントを移行することに成功した。

ポストが16000以上で画像ファイルが1800以上のアカウントではあったもののあまり長い時間もかからずPDS移動に成功した。

アカウント移行後はアプリパスワードが全て消滅したので設定しなおす必要があった。

この投稿はBridgyとの連携が正しく動作しているか確認するための投稿。
PDS MOOver
ATProto account migration tool
pdsmoover.com
August 30, 2025 at 6:29 AM
届いていたことに気づいていなかったメッセージレスです。

> ブルアカで朱城ルミと清澄アキラあたりubanisさんが好きそう

見てみましたけど清澄アキラがいいですね。なんか細いので描いたら太くなりそうですけども。

以下最近の絵。
August 30, 2025 at 4:25 AM
最近の絵です。
August 24, 2025 at 5:12 PM
最近の絵です。オスとの練習をしています。
August 18, 2025 at 5:12 PM
August 14, 2025 at 12:44 AM
載せてなかったジャンク絵です。
August 9, 2025 at 5:36 PM
> 久しぶりにギャラリーを覗かせてもらったら、仕様が変わっていて古いイラストはもう見れない感じでしょうか?ふたなり × ふたなりが兜合わせしてるやつが好きでした

海外問題で一旦全て削除する必要がありました。いままでのギャラリーをどう公開するかはちょっと思いついていません。

> 最近フィギュアが続出しているアズールレーンはご存じでしょうか。以前 ubanis 様が描かれたブレマートンちゃんがそうです。 […]

[Original post on ubanis.com]
August 6, 2025 at 3:43 AM
メッセージレスです

> ブルアカおすすめ生徒さん上げてく
>
> シグレ(温泉) 清澄アキラ アカネ
>
> イオリ エイミ シュン ワカモ

後でみてみます SNS で見かけるのは大体同じイメージなんですよね

以下今日のふたなり
July 24, 2025 at 2:27 PM
裏の趣味の Noteばっかり更新してましたのでこっちを更新します。 メッセージレスです

> ブルアカのニコちゃんとかどうですか? ママでお稲荷さん作ってくれます。 最高のキャラです(まだ未実装)

ママでおいなりとか良さそうな要素ですねケモミミですし

以下最近の絵
NOTE
個人的なノート
ubanis.com
July 23, 2025 at 5:15 PM
最近のいろいろ
いろいろ変更点があったのでまとめて記録しておいたものを貼っておく。 * * * ## vscode vim 日本語入力時の不具合対策 vscodeでvim拡張利用時の日本語入力時の不具合(ひらがなが入ってしまったり右にある文字を上書きしてしまう)防止のために`editor.experimentalEditContextEnabled`を`false`にする必要がある。 * * * ## chezmoi chezmoi - chezmoi Manage your dotfiles across multiple machines, securely. https://www.chezmoi.io/ * vim単体で使い物になるように整理とプラグインの追加をした * `chezmoi`を導入してドットファイルを管理できるようにした * `chezmoi init` gitリポジトリ名 :gitリポジトリで初期化 * `chezmoi apply` :各dotfileを現在のディレクトリに書き込む * `chezmoi add` ファイル名 : 新しく管理するファイルを追加 * `chezmoi re-add` :管理中のファイルのうち更新されたものをすべて反映 `chezmoi`は`~/.local/share/chezmoi`以下で管理される。 以下はfishに作ったエイリアス * `dotfile` chezmoiが分かりづらいのでエイリアスに * `dotfile-pull` リポジトリから現在のdotfileをpull * `dotfile-push` 現在のローカルリポジトリを`git add -A git commit`して`git push`する * * * ## 開発環境ツール mise 簡単に使用するツールを入れ替えられるRust製ツールmiseを入れてみた。 ### インストール Terminal window curl https://mise.run | sh ### 各種シェル用に有効化する bashの場合 Terminal window echo 'eval "$(~/.local/bin/mise activate bash)"' >> ~/.bashrc fishの場合 Terminal window echo '~/.local/bin/mise activate fish | source' >> ~/.config/fish/config.fish ### 使い方 Terminal window # 正しく利用可能になっているかの確認 mise doctor # インストールされているツールの表示 mise ls # ツール単位の表示も可能 mise ls node # インストール可能なツールの表示 mise plugins ls-remote # -all オプションですべてのバージョンを表示 mise plugins ls-remote --all # ツールやツールのバージョンを指定してリスト表示もできる mise plugins ls-remote node mise plugins ls-remote node@23 # 利用するツールを指定する # インストールも同時に行える # --globalオプションでグローバル適用(homeの外でも有効) mise use --global node@23 # 利用停止するツールを指定する # アンインストールも同時に行える mise unuse node@23 # インストール mise install node@23 # アンインストール mise uninstall node@23 ### プロジェクトごとにツールを管理する プロジェクトディレクトリに`.mise.toml`を作成しそのディレクトリ以下で使いたいツールを書く。 `mise i`でインストールする。 [tools] node = '24' watchexec = 'latest' ## 各種シェルで zoxide を使うときのメモ ### インストール Terminal window curl -sSfL https://raw.githubusercontent.com/ajeetdsouza/zoxide/main/install.sh | sh ### Bash 以下を`~/.bashrc`の最後に追記 Terminal window eval "$(zoxide init bash)" ### Fish 以下を`~/.config/fish/config.fish`の最後に追記 zoxide init fish | source ### Nushell 以下をnushellのenvファイルに追記(ファイルの場所は `$nu.env-path`と打つと表示される) Terminal window zoxide init nushell | save -f ~/.zoxide.nu その後nushellのconfigファイルに追記(`$nu.config-path`でファイルの場所を表示) Terminal window source ~/.zoxide.nu ### PowerShell 以下をconfigファイルに追記(ファイルの場所は`echo $profile`で表示) Terminal window Invoke-Expression (& { (zoxide init powershell | Out-String) }) * * * ## Windows 環境の scoop でインストールした vim について プラグインの場所はホームディレクトリの`vimfiles`(隠しディレクトリではない)に置く。 `~/.vimrc`でのプラグイン自動インストール例(Jetpack)は以下の通り。 " jetpackの自動インストール " Windows環境では $HOME を使用してホームディレクトリを指定します。 let s:jetpack_plugin_path = expand('$HOME/vimfiles/pack/jetpack/opt/vim-jetpack/plugin/jetpack.vim') if empty(glob(s:jetpack_plugin_path)) let s:curl_command = printf('curl -fLo "%s" --create-dirs https://raw.githubusercontent.com/tani/vim-jetpack/master/plugin/jetpack.vim', s:jetpack_plugin_path) silent execute '!' . s:curl_command autocmd VimEnter * JetpackSync endif ## neovim でコンフィグファイルの場所を確認する方法 neovim上のコマンドで`:echo stdpath('config')`を実行する。 * * * ## vim プラグインを見直す vimのプラグインマネージャーをjetpackに変更した。 GitHub - tani/vim-jetpack: The lightning-fast plugin manager, alternative to vim-plug The lightning-fast plugin manager, alternative to vim-plug - tani/vim-jetpack https://github.com/tani/vim-jetpack Plugのときと同じような書き方で動作する。 fzfのプラグイン設定が間違っていたので修正した。コマンドは以下のとおり。 Command| List ---|--- `:Files [PATH]`| Files (runs `$FZF_DEFAULT_COMMAND` if defined) `:GFiles [OPTS]`| Git files (`git ls-files`) `:GFiles?`| Git files (`git status`) `:Buffers`| Open buffers `:Colors`| Color schemes `:Ag PATTERN]`| [ag search result (`ALT-A` to select all, `ALT-D` to deselect all) `:Rg PATTERN]`| [rg search result (`ALT-A` to select all, `ALT-D` to deselect all) `:RG PATTERN]`| [rg search result; relaunch ripgrep on every keystroke `:Lines [QUERY]`| Lines in loaded buffers `:BLines [QUERY]`| Lines in the current buffer `:Tags [PREFIX]`| Tags in the project (`ctags -R`) `:BTags [QUERY]`| Tags in the current buffer `:Changes`| Changelist across all open buffers `:Marks`| Marks `:Jumps`| Jumps `:Windows`| Windows `:Locate PATTERN`| `locate` command output `:History`| `v:oldfiles` and open buffers `:History:`| Command history `:History/`| Search history `:Snippets`| Snippets (UltiSnips) `:Commits LOG_OPTS]`| Git commits (requires [fugitive.vim) `:BCommits [LOG_OPTS]`| Git commits for the current buffer; visual-select lines to track changes in the range `:Commands`| Commands `:Maps`| Normal mode mappings `:Helptags`| Help tags 1 `:Filetypes`| File types GitHub - junegunn/fzf.vim: fzf vim fzf :heart: vim. Contribute to junegunn/fzf.vim development by creating an account on GitHub. https://github.com/junegunn/fzf.vim
ubanis.com
July 16, 2025 at 10:42 AM
Typstで遊ぼう
> この記事は Typst で書いていたものの写しであり書きかけであり更新中です。 kawaii ロゴ: https://gist.github.com/fenjalien/1463a19ba2b91d061ed35e295494e0b3 ## Typst で作る表紙の例 > 色々できないことも多い(縦書きなど) * * * # はじめに ## Typst とは Typst は、科学技術文書の作成に特化した、現代的な組版(くみはん)システムです。Markdown のようにシンプルな構文と、LaTeX のようにパワフルで柔軟な表現力を兼ね備えています。リアルタイムでの高速なコンパイルが特徴です。 ## Typst の利点 * _学習の容易さ:_ 直感的で覚えやすい構文を採用しており、初心者でもすぐに使い始めることができます。 * _高速なコンパイル:_ 変更を即座にプレビューに反映するため、トライ&エラーが容易です。 * _強力なスクリプティング:_ 変数、関数、ループ、条件分岐といったプログラミング機能が組み込まれており、動的で再利用性の高いコンテンツを作成できます。 * _統一されたエコシステム:_ パッケージ管理機能が内蔵されており、外部のライブラリやテンプレートを簡単に導入できます。 ## インストール Typst は、Web アプリケーションとしてブラウザ上で利用する方法と、ローカル環境にインストールして利用する方法があります。詳細は公式サイトを参照してください。 * _Web アプリケーション:_ https://typst.app/ * _ローカルへのインストール:_ https://github.com/typst/typst?tab=readme-ov-file#installation ## コマンドライン上での使い方 以下のコマンドで対象の Typst ファイルから pdf を出力します。 Terminal window typst compile example.typ 以下のコマンドは対象の Typst ファイルを監視して変更があるたびにコンパイルをして pdf を更新し続けます。 Terminal window typst watch example.typ ## vscode 拡張 Tinymist Typst の導入 vscode 上で Typst を快適に編集するための拡張機能_Tinymist Typst_を導入すると、構文ハイライトや補完機能が利用可能になります。 リアルタイムプレビュー機能もあり、Typst のドキュメントを編集しながら即座に結果を確認できます。 * * * vscode 上の右上にある**虫眼鏡のついたプレビューアイコン** をクリックすると現在のファイルのリアルタイムプレビュー画面が右側に表示されます。 プレビュー画面の文などの要素をクリックすると該当箇所のファイルの行へ移動でき、 ファイル内の要素をクリックするとプレビュー画面がその位置へスクロールします。 プレビュー画面の右上にある**四角に右上矢印のアイコン** をクリックするとプレビュー画面は外部ブラウザに表示されるようになります。 クリックでジャンプする機能はブラウザ上でもそのまま利用できます。 * * * # Typst の基本なマークアップ ## 見出し = の数で見出しのレベルを表現します。 = 章 (レベル1) == 節 (レベル2) === 項 (レベル3) ## テキストの装飾 Typst では、簡単な記号でテキストを装飾できます。 ### 強調 *強調* ### 斜体 _イタリック_ ### 下線 #underline[下線] ### 打ち消し線 #strike[打ち消し線] ### URL URL https://example.com ### 改行・エスケープ文字 `\`を使います。 このように改行できます。\ 文中では\ スペースを一つ空けます。\ \$←のようなTypstで利用されている文字を書きたい場合のエスケープ文字としても利用されます。 ## コードブロック `(バッククォート 1 つ)で囲んだ文字はインラインコードになります。 `これはインライン`です。 ``` (バッククォート 3 つ) で囲んだ行はコードブロックを形成します。言語を指定するとシンタックスハイライトが適用されます。 //これはブロックです。 //シンタックスハイライトが適用されています。 #include <stdio.h> void main(int argc, char *argv[]) { char *str = "hello world!"; puts(str); } ## リスト `-` (ハイフン) や `+`(プラス) でリストを作成します。インデントすることでネストも可能です。 - 順序なしリスト - ネストされたリスト - 順序付きリスト + 番号は自動で振られます + 2番目の項目 ## 用語リスト / Typst : 今注目されている新しい組版システム。2019年に開発が開始され、2023年3月にベータ版が一般公開された。Rustで書かれており、シンプルな文法やコンパイルの速さが利点。 / Rust : メモリ安全性を保証しつつ、低レベルのシステムプログラミングが可能な言語。所有権システムを採用しており、ガベージコレクタ#footnote("コンピュータプログラムが動的に確保したメモリ領域のうち、不要になった領域を自動的に解放する機能です。")がなくてもメモリリークやデータ競合を防ぐ。 / ねこ : @nyan-image ## 数式 `$` で数式を囲みます。1 行でインライン数式、複数行でブロック数式になります。 / インライン数式 : $E = m c^2$ はインライン数式です。 / ブロック数式 : これはブロック数式です。 $ sum_(i=1)^n i = (n(n+1)) / 2 $ ## 参照 `<ラベル名>` で要素にラベルを付け、`@ラベル名` で参照します。数式や図、セクションなど、あらゆる要素にラベルを付けられます。 #figure( image("../img/nyan4.jpg", width: 3cm), caption: [参照されるねこ], ) <nyan-image> #align(center)[@nyan-image をこのように参照できます。] ## ページ設定 `#set page()` ルールで、用紙サイズ、余白、ヘッダー、フッターなどを設定できます。 #set page( paper: "a4", margin: (x: 2.5cm, y: 3cm), header: align(right)[Typst Manual], footer: align(center)[#counter(page).display("1")] ) ## 段組 `#columns()` 関数で多段組を実現できます。`#colbreak()` で段を区切ります。 #import "@preview/roremu:0.1.0": roremu #columns(2)[ #roremu(100) #colbreak() #roremu(100) ] このように長い文章は折り返され、指定した段数で区切られます。 `#lorem()`(ここで使っているのは外部パッケージの`#roremu`)は指定された文字数の例文を表示する関数です。 * * * # 関数 ## Typst における関数 @layout_section や @ref-section にあるような`#`で始まる文は関数を表します。 内蔵の関数や以下のように`#let`を使って自作の関数を定義し利用することができます。 #let test(body) = { [渡された文字列は#body] } - #test("テスト") - #test[#text(fill: red, weight: "bold", [test])] 引数の渡し方は複数あります。以下は body に引数が割り当てられます。 #test("テスト") このようにマークアップ文全体をを渡すこともできます。これも自動的に body に割り当てられます。 #test[#text(fill: red, weight: "bold", [test])] 以下のように複数の引数がある場合も自動的に body に割り当てられます。引数の初期値も設定でき省略時にこれが参照されます。 #let test2( var: false, body) = { if var { [varはTrueです。] } else { [varはFalseです。] } body } - #test2[引数] - #test2(var: true)[引数] `{ }`で区切られたブロック内はコードブロックなので関数に`#`をつけずに呼び出します。マークアップ文を使う場合は`[ ]`で囲みます。 * コンテントブロック(Content block)`[...]` : 関数は`#`をつけて使う。`#text(fill: red)[*Hey* there!]` * コードブロック(Code block)`{...}` : 関数は`#`をつけずに使う。`text(fill: red)[*Hey* there!]` ## マークアップ関数の一覧 ### 目次 // target で作りたい目次の要素を指定する。`depth`は目次を作るレベルの深さを数値で指定する。 #outline(target: heading, depth: 2) ### 水平方向のスペース #h(1fr)``` ### 垂直方向のスペース ```typst #v(0.2em) ### 中央揃え #aligncenter ### 取り消し線 #strike[文字列] ### 下線 #underline[文字列] ### 大文字化 #upper[apple] ### 小文字化 #lower[APPLE] ### スモールキャピタル #smallcaps[Smallcaps] ### 上付き文字 2#super[2] ### 下付き文字 2#sub[2] ### ハイライト #highlight[文字列] ### 引用 #quoteblock: true, attribution: [名前] ### 囲み #boxstroke: 0.5pt + black, outset: 0.3em ### ダミーテキストを 10 単語生成 #lorem(10) ### 今日の日付を取得 #datetime.today() ### 水平線 #line(stroke: 1pt + black, start: (5%,0%), end: (95%,0%)) ## スクリプト Typst はスクリプト言語としての機能も持っています。変数、ループ、条件分岐などを利用して、コンテンツを動的に生成できます。 ### for 関数 #let users = ("Alice", "Bob", "Charlie") #for user in users { [こんにちは、#text(fill: red)[#user] さん!] } ### if 関数 #let a=32 #let b=64 #align(center)[#if a < b { [aはbより小さいです。] }] ### 単純な画像表示関数を定義 #let nyan(size: 5cm) = {image("../img/nyan4.jpg", width:size)} #align(center)[#nyan(size: 2.5cm)] ## image 関数 `#image()` 関数で画像を挿入します。`#figure()` と組み合わせることで、キャプションや図番号を付与できます。 #figure( image("../img/nyan4.jpg", width: 3cm), caption: [ねこです] ) ## 図形関数 `#rect()` や `#circle()` などの関数で、基本的な図形を簡単に描画できます。 #align(center)[ #grid(columns: 3, [#square(size: 1cm, fill: blue)], [#circle(radius: 0.5cm, fill: red)], [#polygon( (0cm, 1cm), (0.5cm, 0cm), (1cm, 1cm), fill: green, )] )] ## 色の指定方法 関数の引数に`color`がある場合、色を指定できます。`fill`は塗りつぶしです。`stroke`は枠線です。`3pt + black`のように`+`で属性を追加できます。 #rect(fill: red, stroke: 3pt + black, radius: 1em) #line(stroke: 3pt + green, start: (0%,0%), end: (50%, -4em)) `rgb("#000000")`のように RGB 値で指定することもできます。透明度を含めた`rgb("#000000aa")`のような指定方法もあります。 #grid(columns: 2, polygon( (0cm, 1cm), (0.5cm, 0cm), (1cm, 1cm), fill: rgb("#0000cc"), ), circle(radius: 0.5cm , fill: rgb("#0000cc55")) ) グラデーションを指定するには`gradient`を利用します。グラデーションの種類を`gradient.linear`のように指定します。 グラデーションの方向は`angle: 90deg`のように角度で指定します。 #rect(fill: gradient.linear(red, blue,angle: 90deg), radius: 1em,) ## table 関数 `#table()` 関数で柔軟な表を作成できます。 #table( columns: (auto, 1fr, 1fr), stroke: 0.5pt, align: (left), [*No.*],[*項目*],[*説明*], [1], [Typst], [組版システム], [2], [Markdown], [軽量マークアップ言語], [3], [LaTeX], [組版システム], ) ## grid 関数 `#columns()`関数よりも柔軟なレイアウトをしたい場合利用できます。 #set rect( inset: 8pt, fill: rgb("e4e5ea"), width: 100%, ) #grid( columns: (60pt, 1fr, 2fr), rows: (auto, 60pt), gutter: 3pt, rect[Fixed width, auto height], rect[1/3 of the remains], rect[2/3 of the remains], rect(height: 100%)[Fixed height], grid.cell( colspan: 2, image("../img/nyan4.jpg", width: 100%), ), ) ## footnote 関数 脚注をつけることができます。 Astro#footnote("SSGだけでなくSSRもできる静的サイトジェネレーター")もありますがTypstは使えません。 ## ファイルの分割 `#for` 関数と `#include` 関数を使って分割されたファイルを読み込みします。 複数のファイルに分割することで項目ごとに編集管理しやすくできます。 // ファイルのパスを配列にする #let chapters = ( "content/text-format.typ", "content/heading.typ", "content/list.typ", "content/codeblock.typ", "content/formula.typ", ) = ここからchaptersが配列順にそれぞれ並ぶ #for chapter in (chapters) { include(chapter) } ## リストのループ 別ファイルからリストを読み込み`#for`ループを利用して用語リストとテーブルに表示してみます。`#table`関数では`..#for`と書くことで配列を渡します。 ### import される Typst ファイル #let locales=( ( name:"日本",str:"首都は東京です。",), ( name:"アメリカ",str:"首都はワシントンD.C.です。",), ( name:"フランス",str:"首都はパリです。",), ( name:"イギリス",str:"首都はロンドンです。",), ( name:"ドイツ",str:"首都はベルリンです。",), ( name:"中国",str:"首都は北京です。",), ( name:"韓国",str:"首都はソウルです。",), ) ### コード #import "../import/locales.typ": locales #for c in locales { terms.item(text(c.name),text(c.str)) } #table( columns: (auto, 1fr), stroke: 1pt+gray, align: (left), [*国名*],[*首都*], ..for (name,str) in locales { (name,str) } ) ## 外部データの読み込み Typst は以下のデータを読み込むことができます。 * cbor * csv * json * read * toml * xml * yaml ### 読み込むデータ [ { "name": "ねこ", "path": "../img/e670ceab9f15d95ce92d718ba046aaac3142aac3.jpg", "description": "クリスマスにゃんこだにゃん" }, { "name": "きつね", "path": "../img/2022-0106-01.jpg", "description": "見せつけてくるきつね" }, { "name": "ティファ", "path": "../img/c2b7d960c6205cb3d973fe0b3c51b477ecf75202.jpg", "description": "FF担当" }, { "name": "ブリジット", "path": "../img/1e4697102be08c9174a60f109b4e6558e838bf81.jpg", "description": "格ゲー" } ] ### コード #let columnimage(data) = columns( 2, for img in data{ block( width: 100%, clip: true, square( radius: 1em, width: 100%, height: auto, inset: 0.5cm, fill: if img.name == "ねこ" { yellow } else { aqua }, highlight(fill:rgb("#77ffff"), text(strong(underline(img.name)))) +"\n"+ text(img.description) +align(center, rotate(8deg, image(img.path, fit:"cover", width: 80%))), ) ) } ) #columnimage(json("../json/animals.json")) * * * # 外部パッケージ ## codly コードブロック装飾 codly – Typst Universe Codly is a beautiful code presentation template with many features like smart indentation, line numbering, highlighting, etc. https://typst.app/universe/package/codly 以下のようにインポートと初期化を行うことでコードブロックのスタイルが変化します。 #import "@preview/codly:1.3.0": * #import "@preview/codly-languages:0.1.1": * #show: codly-init.with() Rust の例 一部分のハイライト #codly(highlights: ( (line: 4, start: 2, end: none, fill: red), (line: 5, start: 13, end: 19, fill: green, tag: "(a)"), (line: 5, start: 26, fill: blue, tag: "(b)"), )) ## Rubby ルビをふる rubby – Typst Universe Add ruby (furigana) next to base text. https://typst.app/universe/package/rubby/ ### 初期化 #import "@preview/rubby:0.10.2": get-ruby #let ruby = get-ruby( size: 0.5em, // Ruby font size dy: 0em, // Vertical offset of the ruby pos: top, // Ruby position (top or bottom) alignment: "center", // Ruby alignment ("center", "start", "between", "around") delimiter: "|", // The delimiter between words auto-spacing: true, // Automatically add necessary space around words ) ### ルビのふりかた ルビはRubbyを#ruby[り|よう][利|用]する。 ## wrap-it 回り込み wrap-it – Typst Universe Wrap text around figures and content https://typst.app/universe/package/wrap-it/ ### 初期化 #import "@preview/wrap-it:0.1.1": wrap-content ### 使用例 #let wrap_fig = [ #figure( image("../../img/nyan4.jpg",width:5cm), caption: [画像], )<fig:nyan4> ] #let wrap_body = [#lorem(100)] #wrap-content(wrap_fig, wrap_body,align: bottom + left, column-gutter: 1em) * @fig:nyan4 * ## showybox 様々なボックス描画 showybox – Typst Universe Colorful and customizable boxes for Typst https://typst.app/universe/package/showybox 様々な枠線を作ることができるパッケージです。 ### 初期化 #import "@preview/showybox:2.0.4": showybox ### 使用例 #showybox( [Hello world!] ) #showybox( frame: ( border-color: red.darken(50%), title-color: red.lighten(60%), body-color: red.lighten(80%) ), title-style: ( color: black, weight: "regular", align: center ), shadow: ( offset: 3pt, ), title: "Red-ish showybox with separated sections!", lorem(20), lorem(12) ) #showybox( frame: ( dash: "dashed", border-color: red.darken(40%) ), body-style: ( align: center ), sep: ( dash: "dashed" ), shadow: ( offset: (x: 2pt, y: 3pt), color: yellow.lighten(70%) ), [This is an important message!], [Be careful outside. There are dangerous bananas!] ) * * * # 付録 ## 地震情報を掲載する 気象庁の地震情報を取得できるアドレス https://www.jma.go.jp/bosai/quake/data/list.json から json ファイルを取得してテーブル表示します。 ### json ファイルの取得 Terminal window wget https://www.jma.go.jp/bosai/quake/data/list.json リストは 1000 件と長すぎるため表示する範囲は`slice`で限定しました。 #let earthquake-list(num) = { set text( size: 0.8em, ) let earthquakes = json("json/list.json") [== 最近の地震 #num 件] table( stroke: 0.5pt, align: left, columns: (auto,auto,auto,auto), [*地震発生時刻*], [*震源地*], [*マグニチュード*], [*最大震度*], ..for (at,anm,mag,maxi) in earthquakes.slice(0,num){ (at,anm,mag,maxi) } ) } #earthquake-list(10)
ubanis.com
July 15, 2025 at 9:25 AM
yazi
## yazi CLIファイラーに何かいいものがないか探していたところyaziを見つけた。 GitHub - sxyazi/yazi: 💥 Blazing fast terminal file manager written in Rust, based on async I/O. 💥 Blazing fast terminal file manager written in Rust, based on async I/O. - sxyazi/yazi https://github.com/sxyazi/yazi 残念ながらARMv7用は存在しないもののそれ以外のアーキテクチャ(aarch64等)には対応していた。 ### yaziのインストール(snap) Installation | Yazi How to install Yazi on various operating systems. https://yazi-rs.github.io/docs/installation/ Ubuntuではcargoでインストールするようになっているが面倒なのでsnapでインストールする。 Terminal window sudo snap install yazi --classic ### yaziのテーマ Flavors (BETA) | Yazi Learn how to use Yazi flavors. https://yazi-rs.github.io/docs/flavors/overview `~/.config/yazi/flavors/`以下にテーマフォルダを置く。 githubにあるテーマは`ya pack -a kmlupreti/ayu-dark`のようにコマンドでインストールすることができる。 コマンドが存在しない場合、直接`~/.config/yazi/flavors`フォルダ内に`git clone`する。(`git clone`もダメなら直接ダウンロードして配置する) `~/.config/yazi/theme.toml`にテーマ名を入力。 ~/.config/yazi/theme.toml [flavor] dark = "catppuccin-mocha" light = "catppuccin-mocha" ### yaziの画像表示 Image Preview | Yazi How to preview images in Yazi. https://yazi-rs.github.io/docs/image-preview tmuxの場合`~/.tmux.conf`に以下を追記する。 ~/.tmux.conf set -g allow-passthrough on set -ga update-environment TERM set -ga update-environment TERM_PROGRAM ### fishでyaziを起動するときのスクリプト Quick Start | Yazi A quick guide on the basic usage of Yazi. https://yazi-rs.github.io/docs/quick-start yaziを閉じたときにその現在位置経自動的にcdするようにするためのスクリプト`~/.config/fish/functions/`以下に配置する。(function名とファイル名は一致させる: ya -> ya.fish) ~/.config/fish/functions/ya.fish function ya set tmp (mktemp -t "yazi-cwd.XXXXXX") yazi $argv --cwd-file="$tmp" if read -z cwd < "$tmp"; and [ -n "$cwd" ]; and [ "$cwd" != "$PWD" ] builtin cd -- "$cwd" end rm -f -- "$tmp" end
ubanis.com
May 22, 2025 at 11:18 AM
### TriliumNotesの開発終了

TriliumNotesがすでに去年にメンテナンスモードとなり開発が終わっていたことに今更気づいた。

Announcement: Trilium transitions into maintenance mode · Issue #4620 · zadam/trilium Describe feature Hello, some of you might have noticed that the pace of development slowed down in the recent months. In short, my […]
Original post on ubanis.com
ubanis.com
May 14, 2025 at 3:33 AM