Dashboard로 부팅 화면을 멋지게 만들자 ✨
9032 단어 Emacs
안녕하세요🤗
첫 Emacs Advent Calendar입니다.
오늘은 기동 화면에 다양한 정보를 할 수 있는 Emacs Dashboard를 소개합니다.
Emacs Dashboard란?
작년의 어드벤트 캘린더에서 @kiwanami 님으로부터도 소개 되었습니다만,
Emacs 기동시의 초기 화면에 로고나 Recent files, Bookmarks등 편리한 정보를 표시해 주는 패키지입니다.
GitHub - rakanalh/emacs-dashboard: An extensible emacs dashboard
패키지를 넣은 후, dashboard-items
에 값을 setq 해 주는 것으로, 다음의 정보를 표시할 수 있습니다.
(setq dashboard-items '((recents . 5)
(bookmarks . 5)
(projects . 5)
(agenda . 5)
(registers . 5)))
아무 것도 설정하지 않으면 Recent files, Bookmarks list, Org mode Agenda가 표시됩니다.
대시보드에 표시 정보를 추가하려면
Dashboard에는 상기 이외에,
표시 기능을 제공하고 dashboard-item-generators
목록에 추가하여 자신의 정보를 볼 수 있습니다.
아래 샘플이됩니다.
dashboard-item-editors;; dashboard-item-generatorにエディタ名を表示する関数を追加する
(add-to-list 'dashboard-item-generators
'(editor . (lambda (list-size)
(dashboard-insert-heading "Text Editors:")
(mapc (lambda (el) (insert "\n" el))
'("Emacs" "Vim" "VSCode" "Atom")))))
;; dashbord-item(表示する項目)のリストに上記で定義した情報を設定する
(setq dashboard-items '((editor . nil)))
다양한 정보를 표시
dashboard-item-generators
와 고유 함수를 결합하여 다양한 정보를 표시할 수 있습니다.
예를 들어, Qiita API를 호출하고 기사를 표시! 같은 것이 가능합니다.
dashboard-item-qiita;; APIコールにrequest.elを利用
(require 'request)
;; アイテム表示用関数
(defun dashboard-qiita-insert-list (list-display-name list)
"Render LIST-DISPLAY-NAME and items of LIST."
(dashboard-insert-heading list-display-name)
(mapc (lambda (el)
(insert "\n ")
(widget-create 'push-button
:action `(lambda (&rest ignore)
(browse-url ,(cdr (assoc 'url el))))
:mouse-face 'highlight
:follow-link "\C-m"
:button-prefix ""
:button-suffix ""
:format "%[%t%]"
(decode-coding-string (cdr (assoc 'title el)) 'utf-8))) list))
;; 記事を取得し、表示する関数
(defun dashboard-qiita-insert (list-size)
"Add the list of LIST-SIZE items from qiita."
(request
(format "https://qiita.com/api/v2/items?page=1&per_page=%s" list-size)
:sync t
:parser 'json-read
:success (cl-function
(lambda (&key data &allow-other-keys)
(dashboard-qiita-insert-list "Qiita:" data)))))
;; dashboardに記事を追加
(add-to-list 'dashboard-item-generators '(qiita . dashboard-qiita-insert))
(setq dashboard-items '((qiita . 20)))
요약
쉬웠지만,
간단하게 궤도 화면을 커스터마이즈 할 수 있는 Emacs Dashboard를 소개했습니다.
Dashboard로 원하는 시작 화면에 코디 해 봅시다!
내일은 conao3 씨의 "use-package에서의 마이그레이션의 스즈메 - leaf.el로 버전 안전한 init.el을 쓴다"입니다!
Reference
이 문제에 관하여(Dashboard로 부팅 화면을 멋지게 만들자 ✨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hyakt/items/f4468facec0478e06f7a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
;; dashboard-item-generatorにエディタ名を表示する関数を追加する
(add-to-list 'dashboard-item-generators
'(editor . (lambda (list-size)
(dashboard-insert-heading "Text Editors:")
(mapc (lambda (el) (insert "\n" el))
'("Emacs" "Vim" "VSCode" "Atom")))))
;; dashbord-item(表示する項目)のリストに上記で定義した情報を設定する
(setq dashboard-items '((editor . nil)))
dashboard-item-generators
와 고유 함수를 결합하여 다양한 정보를 표시할 수 있습니다.예를 들어, Qiita API를 호출하고 기사를 표시! 같은 것이 가능합니다.
dashboard-item-qiita
;; APIコールにrequest.elを利用
(require 'request)
;; アイテム表示用関数
(defun dashboard-qiita-insert-list (list-display-name list)
"Render LIST-DISPLAY-NAME and items of LIST."
(dashboard-insert-heading list-display-name)
(mapc (lambda (el)
(insert "\n ")
(widget-create 'push-button
:action `(lambda (&rest ignore)
(browse-url ,(cdr (assoc 'url el))))
:mouse-face 'highlight
:follow-link "\C-m"
:button-prefix ""
:button-suffix ""
:format "%[%t%]"
(decode-coding-string (cdr (assoc 'title el)) 'utf-8))) list))
;; 記事を取得し、表示する関数
(defun dashboard-qiita-insert (list-size)
"Add the list of LIST-SIZE items from qiita."
(request
(format "https://qiita.com/api/v2/items?page=1&per_page=%s" list-size)
:sync t
:parser 'json-read
:success (cl-function
(lambda (&key data &allow-other-keys)
(dashboard-qiita-insert-list "Qiita:" data)))))
;; dashboardに記事を追加
(add-to-list 'dashboard-item-generators '(qiita . dashboard-qiita-insert))
(setq dashboard-items '((qiita . 20)))
요약
쉬웠지만,
간단하게 궤도 화면을 커스터마이즈 할 수 있는 Emacs Dashboard를 소개했습니다.
Dashboard로 원하는 시작 화면에 코디 해 봅시다!
내일은 conao3 씨의 "use-package에서의 마이그레이션의 스즈메 - leaf.el로 버전 안전한 init.el을 쓴다"입니다!
Reference
이 문제에 관하여(Dashboard로 부팅 화면을 멋지게 만들자 ✨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/hyakt/items/f4468facec0478e06f7a
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Dashboard로 부팅 화면을 멋지게 만들자 ✨), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/hyakt/items/f4468facec0478e06f7a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)