Emacs는 매우 확장 가능한 소프트웨어입니다. 텍스트 편집기, 이메일 클라이언트, USENET 리더가 될 수 있습니다. Elfeed를 사용하면 Emacs를 RSS 피드 리더로 사용할 수도 있습니다.
엘피드란 무엇입니까?
Elfeed는 Emacs용으로 작성된 가벼우면서도 강력한 RSS 피드 리더입니다. RSS 피드를 정렬하기 위해 간단한 태그 기반 시스템을 사용합니다. 뿐만 아니라 콘텐츠를 기반으로 피드에 자동으로 태그를 지정할 수 있는 강력한 "후크 기반" 태그 지정 시스템도 함께 제공됩니다.
따라서 Elfeed는 RSS 피드를 많이 팔로우하고 피드를 자동으로 정렬하는 방법을 찾고 있는 사람들에게 유용합니다.
Emacs에서 Feedreader를 사용하는 이유
Emacs는 데이터를 가져와 다양한 방식으로 해석할 수 있으므로 Emacs는 상호 운용성의 개념에서 작동합니다.
Emacs를 사용하여 텍스트만 편집할 수 있지만, 예를 들어 텍스트를 편집하는 동안 이메일에 액세스할 수 있으면 작성 중인 이메일에서 작성 중인 텍스트를 원활하게 사용할 수 있습니다.
이것이 RSS 피드 리더를 Emacs에 통합하는 것이 매력적일 수 있는 이유입니다. Emacs의 강력한 편집 기능을 사용하여 Emacs의 피드 및 기타 기능을 조작할 수 있습니다.
Emacs에 Elfeed 설치
Elfeed 설치는 정말 간단합니다. GNU ELPA 저장소에서 사용할 수 있으므로 init.el 파일을 수정하지 않고도 액세스할 수 있습니다.
Elfeed를 설치하려면 Alt를 누르십시오. + X 명령 버퍼를 불러온 다음 package-install
을 입력합니다. . elfeed
를 제공해야 합니다. 패키지 이름으로 입력하고 Enter 키를 누릅니다. . Emacs는 Elfeed의 소스 코드를 다운로드하고 즉시 컴파일합니다.
Emacs에서 첫 RSS 피드 설정하기
설치한 상태에서 Alt를 눌러 Elfeed에 액세스합니다. + X elfeed
입력 명령 버퍼에서. 이렇게 하면 빈 Elfeed 버퍼가 로드됩니다.
Elfeed에 RSS 피드를 추가하는 방법은 두 가지가 있습니다.
- init.el 파일을 수동으로 수정
- Emacs 없이
Elfeed에서 수동으로 RSS 피드 추가
Elfeed에는 추적하는 "elfeed-feeds" 변수가 있으므로 init.el 파일에 피드 URL을 수동으로 추가하여 Elfeed를 쉽게 채울 수 있습니다. 이것은 Elfeed에게 어떤 피드를 가져와서 개요 화면에 표시할지 알려줍니다.
예를 들어, 이것은 내 init.el 파일의 스니펫입니다.
(setq elfeed-feeds '("https://feeds.maketecheasier.com/MakeTechEasier" "https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" "https://old.reddit.com/r/f1technical.rss"))
Setq 특정 변수의 값을 설정하는 Emacs 함수입니다. 이 경우 3개의 피드 링크가 있는 elfeed-feeds 변수를 값으로 설정하고 있습니다.
거기에서 Elfeed는 해당 링크를 내부 데이터베이스에 자동으로 추가하고 다음에 프로그램을 실행할 때 로드합니다.
Emacs에 RSS 피드 추가
Elfeed를 채우는 또 다른 방법은 실행되는 동안 피드 링크를 제공하는 것입니다. 이를 통해 Emacs를 다시 로드하지 않고도 RSS 링크로 피드 명단을 능동적으로 업데이트할 수 있습니다.
이렇게 하려면 Alt를 누르십시오. + X 명령 버퍼를 엽니다. elfeed-add-feed
입력 Enter 키를 누릅니다. . Elfeed는 로드하려는 피드의 URL을 제공하도록 요청할 것입니다.
제 경우에는 최신 기술 기사에 대한 매일 업데이트를 수신하기 위해 Elfeed에 피드 URL을 제공하고 있습니다.
피드 URL을 복사하고 Ctrl 키를 누릅니다. + Y URL 프롬프트에서 Emacs에 대한 링크를 붙여넣습니다. 붙여넣은 후에는 Enter를 누르기만 하면 됩니다. Elfeed에 피드 URL을 커밋합니다.
Emacs에서 자동으로 태그를 지정하고 피드를 필터링하는 방법
RSS 피드 나열 및 보기 외에도 Elfeed는 피드 목록을 미세 조정할 수 있는 여러 기능을 수행할 수 있습니다.
그 깔끔한 기능 중 하나는 자동 태깅입니다. 이 기능을 사용하면 특정 피드에서 가져온 RSS 항목에 즉시 태그를 지정할 수 있습니다.
예를 들어 특정 주제에 대한 여러 피드가 있는 경우 모두 동일한 태그를 갖도록 설정할 수 있으므로 요약 화면에서 여러 피드를 쉽고 직관적으로 정렬할 수 있습니다.
이렇게 하려면 init.el 파일에서 RSS 피드를 편집하십시오. 이 간단한 예를 살펴보십시오.
(setq elfeed-feeds '(("https://feeds.maketecheasier.com/MakeTechEasier" tech news) ("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" tech) ("https://old.reddit.com/r/f1technical.rss" tech f1)))
RSS 피드에 자동으로 태그를 지정하려면 기본 elfeed-feeds 형식에 대해 다음 두 가지 작업을 수행해야 합니다.
- 피드 링크를 괄호로 묶습니다. 이것은
elfeed-feeds
에 알려줍니다. 변수의 이 특정 항목에는 여러 부분이 있습니다. - 특정 링크에 대한 태그 역할을 할 단어를 제공하십시오. 각 태그를 공백으로 구분하기만 하면 여러 태그를 포함할 수 있습니다.
Elfeed에서 RSS 피드 필터링하기
이 태그는 Elfeed의 강력한 필터링 시스템과 함께 작동합니다. 이렇게 하면 태그만을 기준으로 RSS 피드를 그룹화할 수 있습니다.
예를 들어, "뉴스", "뉴스 기술" 및 "뉴스 게임"으로 태그가 지정된 RSS 피드가 있는 경우 Elfeed를 사용하면 "뉴스" 태그 아래에 모든 항목을 그룹화할 수 있습니다.
피드 목록을 필터링하려면 S를 누르세요. Elfeed에 있는 동안 Elfeed의 필터 프롬프트를 불러옵니다. 기본적으로 프롬프트에는 다음이 포함됩니다.
@6-months-ago +unread
- @ 기호는 날짜 범위를 나타냅니다. '2022-02-22'와 같은 절대 날짜 또는 '3일 전'과 같은 상대 날짜가 될 수 있습니다.
- "+" 기호는 Elfeed에 이 태그가 있는 모든 피드를 명시적으로 포함하도록 지시하는 태그 연산자입니다.
이를 염두에 두고 다음 RSS 피드를 고려하십시오.
[0](setq elfeed-feeds [1] '(("https://feeds.maketecheasier.com/MakeTechEasier" tech news) [2] ("https://solar.lowtechmagazine.com/feeds/all-en.atom.xml" tech) [3] ("https://old.reddit.com/r/f1technical.rss" tech f1) [4] ("https://www.autosport.com/rss/f1/photos/" f1) [5] ("https://www.philstar.com/rss/world" news)))
"tech" 태그를 필터링하려면 Elfeed의 필터 프롬프트에 "+tech"를 입력하여 Elfeed의 요약 버퍼에 있는 처음 세 개의 링크를 표시합니다. 그러나 "+news"를 추가하면 Elfeed가 대신 첫 번째와 다섯 번째 태그를 표시합니다.
이를 알면 필터링 논리를 보다 구체적으로 사용할 수 있습니다. 예를 들어 "f1" 없이 모든 기술 링크를 포함하려는 경우 다음을 입력할 수 있습니다.
+tech -f1
URL을 기반으로 피드에 자동으로 태그를 지정하는 방법
Elfeed에서 RSS 항목에 자동으로 태그를 지정하는 또 다른 방법은 URL을 기준으로 항목을 정렬하는 것입니다. 이것은 Elfeed를 사용하여 유사한 URL 구조를 가진 RSS 피드를 구독하는 경우에 유용합니다.
그렇게 하려면 Elfeed의 elfeed-new-entry-hook
를 사용하세요. . 특정 조건에 따라 사용자 정의 명령을 실행하는 후크 함수입니다. 이 함수는 elfeed-add-feed
를 사용하여 항목이 추가될 때마다 사용자 정의 명령을 실행합니다. 명령.
elfeed-make-tagger
를 사용할 수 있습니다. 해당 후크 내에서 함수. 설정한 옵션에 따라 링크에 태그를 지정하는 일반 기능입니다. 따라서 자동 태깅을 생성하기 위해 두 기능을 결합하면 다음과 같이 보일 수 있습니다.
(add-hook 'elfeed-new-entry-hook (elfeed-make-tagger :feed-url "medium\\.com" :add '(medium)))
이 기능은 슬러그 "medium.com"을 포함할 모든 링크에 자동으로 태그를 지정합니다.
elfeed-make-tagger
로 설정한 옵션으로 더 구체적일 수도 있습니다. . 예를 들어 URL을 기반으로 피드에 태그를 지정하고 3개월보다 오래된 항목을 필터링할 수 있습니다.
(add-hook 'elfeed-new-entry-hook (elfeed-make-tagger :feed-url "medium\\.com" :before "3 months ago" :add 'medium))
태그용 사용자 정의 색상 및 글꼴을 만드는 방법
자동 태그 지정 외에도 Elfeed가 처리하는 태그를 기반으로 Elfeed의 모양을 사용자 지정할 수도 있습니다. 특정 태그가 있는 피드를 눈에 띄게 하려는 경우에 유용합니다.
그렇게 하려면 elfeed-search-face-alist
를 재정의해야 합니다. 기능. 이것은 Elfeed가 요약 버퍼의 모양을 변경하는 데 사용하는 명령입니다. 따라서 이 기능을 재정의하려면 defface
를 사용할 수 있습니다. 및 push
기능:
- 비방 기능은 Emacs의 새로운 "얼굴"을 만듭니다. "얼굴"은 문자 글꼴과 배경색을 모두 포함할 수 있는 값 집합입니다.
- 푸시 반면에 함수는 Emacs의 기존 명령에 정의를 추가합니다.
이를 염두에 두고 이러한 기능을 결합하여 Elfeed에 대한 사용자 정의 "얼굴"을 만들 수 있습니다. 예를 들어, 이것은 f1 태그를 빨간색으로 강조 표시하는 사용자 정의 얼굴입니다.
(defface elfeed-face-tag-f1 '((t :foreground "#f00")) "This is a custom font face for the F1 tag in Elfeed.") (push '(f1 elfeed-face-tag-f1) elfeed-search-face-alist)
축하합니다! 이제 Elfeed에서 Emacs를 RSS 리더로 사용하는 방법을 알게 되었습니다. 또한 RSS 피드의 요구 사항에 맞게 Elfeed를 사용자 지정하고 자동화하는 방법에 대한 기본 아이디어도 얻었습니다.
이 모든 토론을 통해 Emacs로 무엇을 더 할 수 있는지 생각하게 되었다면 Emacs를 위한 최고의 생산성 패키지에 대한 기사를 확인할 수 있습니다.
자주 묻는 질문(FAQ)
1. Elfeed에서 피드를 삭제하려면 어떻게 해야 하나요?
두 가지 방법으로 피드를 제거할 수 있습니다. init.el 파일에서 피드 항목을 삭제하거나 Emacs의 사용자 정의 기능을 사용하여 제거하는 것입니다.
전자의 경우 피드를 제거하는 것은 elfeed-feeds 변수에서 피드 URL을 삭제하기만 하면 됩니다. 그러나 후자의 경우 Alt를 눌러야 합니다. + X 명령 버퍼를 엽니다. 여기에서 customize
를 입력해야 합니다. . 그러면 Emacs의 사용자 정의 창이 열립니다.
거기에서 elfeed-feeds
를 입력합니다. 검색창에. 그러면 현재 구독 중인 모든 피드가 표시됩니다.
DEL를 클릭하여 피드를 삭제할 수 있습니다. 피드 링크 옆에 있는 버튼. 완료되면 적용을 클릭할 수 있습니다. 및 저장 검색창 아래에 있는 버튼을 눌러 피드를 업데이트하세요.
2. Elfeed에 모든 피드를 추가했는데 새로 고쳐지지 않으면 어떻게 해야 하나요?
Elfeed는 자동으로 피드 링크를 새로 고치지 않습니다. 피드의 최신 항목을 가져오려면 Shift를 누르십시오. + G 현재 구독 중인 모든 피드에 대한 업데이트를 시작합니다.
또한 특정 RSS 피드만 업데이트하려면 elfeed-update-feed
를 실행하십시오. 기능.
3. 내 자동 태그가 작동하지 않는 것 같습니다. 어떻게 해결할 수 있나요?
이는 동일한 RSS 피드에 대해 충돌하는 태그가 있기 때문일 수 있습니다. 수동 피드와 자동 피드 모두에 동일한 피드 URL을 포함했다면 이런 일이 발생할 수 있습니다.
이 문제를 해결하려면 init.el 파일에서 수동 입력을 제거하거나 Emacs의 사용자 정의 버퍼에서 자동 피드 입력을 제거해야 합니다.