ブログの<kbd>タグを組織モードで作成したい


16

私はブログをorg-modeとorg-pageで書いて公開しています。問題は、Emacsについて書きたいことです。StackExchangeが<kbd>タグで行うように、キーストロークを強調表示したいと思います。これを取得する:C-x C-f他の何かの代わりに!

どのように、またはどのようにこれを達成できますか?

回答:


15

これが私のブログに使用するものです。

(define-key org-mode-map "\C-ck" #'endless/insert-key)
(defun endless/insert-key (key)
  "Ask for a key then insert its description.
Will work on both org-mode and any mode that accepts plain html."
  (interactive "kType key sequence: ")
  (let* ((is-org-mode (derived-mode-p 'org-mode))
         (tag (if is-org-mode
                  "@@html:<kbd>%s</kbd>@@"
                "<kbd>%s</kbd>")))
    (if (null (equal key "\r"))
        (insert
         (format tag (help-key-description key nil)))
      (insert (format tag ""))
      (forward-char (if is-org-mode -8 -6)))))

を呼び出して呼び出しC-c kます。

  1. 行うのと同じように、キーの入力を求められますC-h k
  2. エスケープされた<kbd>タグに囲まれたキーを挿入します。
  3. RET押すだけで、タグを挿入し、キーを挿入する代わりにポイントを内部に残すため、より複雑なキーを入力できます。
  4. さらに、外部で使用できるようにするコードもありますorg-mode

1
ブログはかっこいいですね。組織モードで書きますか?どのように公開しますか?
シャックラ14年

2
@JorgeArayaNavarro私はox-jekyllの非常にパッチが適用されたバージョンを使用しています。私はそれについてブログを書くつもりでしたが、パッチには200行のコードが含まれているので、ちょっとした挑戦であることが証明されています。
マラバルバ14年

1
違いは何だ(define-key org-mode-map (kbd "C-c k") #'endless/insert-key)とは(define-key org-mode-map (kbd "C-c k") 'endless/insert-key)
シャックラ14年

2
@JorgeArayaNavarro このコメント
マラバルバ14年

2
いいね シーケンス内の個々のキーを個別のタグとして使用する場合は、次のように変更(help-key-description key nil)します(mapconcat 'identity (split-string (help-key-description key nil)) "</kbd><kbd>")
phils
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.