telescope-zenn.nvim
は、Zenn の記事執筆を支援するための telescope.nvim
の拡張です。
![telescope-zenn-nvim](https://private-user-images.githubusercontent.com/52688583/282139985-467897cb-3998-4d8d-9fec-9d33a54b92d5.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MTk4NDc3NzAsIm5iZiI6MTcxOTg0NzQ3MCwicGF0aCI6Ii81MjY4ODU4My8yODIxMzk5ODUtNDY3ODk3Y2ItMzk5OC00ZDhkLTlmZWMtOWQzM2E1NGI5MmQ1LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNDA3MDElMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjQwNzAxVDE1MjQzMFomWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTM0NTJhMTJkYzNhMjNmMzExYTZlYmFmMzVlMjhlMzllZDdjMmFmMDZlNzA1M2E5ZWM0YzNhNDdkN2Y5MDkwZDQmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0JmFjdG9yX2lkPTAma2V5X2lkPTAmcmVwb19pZD0wIn0.kAjTJ_OV3WZr9Gx-4wvodIuv8T5uCuB-cXO7iNWM4yg)
- Slug と同時に記事タイトルを確認および対話的に検索しながら編集する記事を選択できます。
- topics の文字列も検索対象となります。
- packer.nvim
use {
"sankantsu/telescope-zenn.nvim", requires = { { "nvim-telescope/telescope.nvim" } }
}
- lazy.nvim
require("lazy").setup({
{ "sankantsu/telescope-zenn.nvim", dependencies = { "nvim-telescope/telescope.nvim", } },
})
:Telescope zenn article_picker
: 記事選択画面を起動します。
キーマップ設定例
vim.keymap.set('n', '<leader>fz', telescope.extensions.zenn.article_picker)
- Zenn と Github 連携しているレポジトリ内のルートディレクトリで nvim を起動することが必要です。
- 記事候補の作成に zenn-cli の機能を用いており、zenn-cli がプロジェクトのルートディレクトリ以外で期待する出力を返さないことによる制約です。
Zenn のプロジェクト内のファイル操作を行うためのカスタムアクションを定義しています。
name | description | default mapping (normal mode) |
---|---|---|
create |
新規記事を作成 | c |
delete |
記事を削除 | d |
Slug の表示幅を設定するオプションを用意しています。以下は、デフォルト相当の設定の記述方法
require("telescope").setup({
extensions = {
zenn = {
slug_display_length = 7,
},
},
})
This software is released under the MIT License, see LICENSE.