264 KiB
- Emacs
[65/338]- NEXT Refile GTD knowledge as org-roam
[0/7]Reorganize this file to follow Emacs manual- Menu
- Important General Concepts
- Fundamental Editing Commands
- 7 Basic Editing Commands
- 8 The Minibuffer
- 8.1 Using the Minibuffer
- 8.2 Minibuffers for File Names
- 8.3 Editing in the Minibuffer
- 8.4 Completion
- 8.4.1 Completion Example
- 8.4.2 Completion Commands
- 8.4.3 Completion Exit
- 8.4.4 How Completion Alternatives Are Chosen
- 8.4.5 Completion Options
- 8.5 Minibuffer History
- 8.6 Repeating Minibuffer Commands
- 8.7 Entering passwords
- 8.8 Yes or No Prompts
- 9 Running Commands by Name
- 10 Help
- Important Text-Changing Commands
- 11 The Mark and the Region
- 11.1 Setting the Mark
- 11.2 Commands to Mark Textual Objects
- 11.3 Operating on the Region
- 11.4 The Mark Ring
- 11.5 The Global Mark Ring
- 11.6 Shift Selection
- 11.7 Disabling Transient Mark Mode
- 12 Killing and Moving Text
- 12.1 Deletion and Killing
- 12.1.1 Deletion
- 12.1.2 Killing by Lines
- 12.1.3 Other Kill Commands
- 12.1.4 Options for Killing
- 12.2 Yanking
- 12.3 “Cut and Paste” Operations on Graphical Displays
- 12.4 Accumulating Text
- 12.5 Rectangles
- 12.6 CUA Bindings
- 13 Registers
- 14 Controlling the Display
- 14.1 Scrolling
- 14.2 Recentering
- 14.3 Automatic Scrolling
- 14.4 Horizontal Scrolling
- 14.5 Narrowing
- 14.6 View Mode
- 14.7 Follow Mode
- 14.8 Text Faces
- 14.9 Colors for Faces
- 14.9.1 Color Names
- 14.9.2 RGB Triplets
- 14.10 Standard Faces
- 14.11 Text Scale
- 14.12 Font Lock mode
- 14.13 Interactive Highlighting
- 14.14 Window Fringes
- 14.15 Displaying Boundaries
- 14.16 Useless Whitespace
- 14.17 Selective Display
- 14.18 Optional Mode Line Features
- 14.19 How Text Is Displayed
- 14.20 Displaying the Cursor
- 14.21 Line Truncation
- 14.22 Visual Line Mode
- 14.23 Customization of Display
- 15 Searching and Replacement
- 15.1 Incremental Search
- 15.2 Nonincremental Search
- 15.3 Word Search
- 15.4 Symbol Search
- 15.5 Regular Expression Search
- 15.6 Syntax of Regular Expressions
- 15.7 Backslash in Regular Expressions
- 15.8 Regular Expression Example
- 15.9 Lax Matching During Searching
- 15.10 Replacement Commands
- 15.11 Other Search-and-Loop Commands
- 15.12 Tailoring Search to Your Needs
- 16 Commands for Fixing Typos
- 17 Keyboard Macros
- 11 The Mark and the Region
- Major Structures of Emacs
- 18 File Handling
- 18.1 File Names
- 18.2 Visiting Files
- 18.3 Saving Files
- 18.4 Reverting a Buffer
- 18.5 Auto Revert: Keeping buffers automatically up-to-date
- 18.6 Auto-Saving: Protection Against Disasters
- 18.7 File Name Aliases
- 18.8 File Directories
- 18.9 Comparing Files
- 18.10 Diff Mode
- 18.11 Copying, Naming and Renaming Files
- 18.12 Miscellaneous File Operations
- 18.13 Accessing Compressed Files
- 18.14 File Archives
- 18.15 Remote Files
- 18.16 Quoted File Names
- 18.17 File Name Cache
- 18.18 Convenience Features for Finding Files
- 18.19 Viewing Image Files
- 18.20 Filesets
- 19 Using Multiple Buffers
- 20 Multiple Windows
- 21 Frames and Graphical Displays
- 21.1 Mouse Commands for Editing
- 21.2 Mouse Commands for Words and Lines
- 21.3 Following References with the Mouse
- 21.4 Mouse Clicks for Menus
- 21.5 Mode Line Mouse Commands
- 21.6 Creating Frames
- 21.7 Frame Commands
- 21.8 Fonts
- 21.9 Speedbar Frames
- 21.10 Multiple Displays
- 21.11 Frame Parameters
- 21.12 Scroll Bars
- 21.13 Window Dividers
- 21.14 Drag and Drop
- 21.15 Menu Bars
- 21.16 Tool Bars
- 21.17 Tab Bars
- 21.18 Using Dialog Boxes
- 21.19 Tooltips
- 21.20 Mouse Avoidance
- 21.21 Non-Window Terminals
- 21.22 Using a Mouse in Text Terminals
- 22 International Character Set Support
- 22.1 Introduction to International Character Sets
- 22.2 Language Environments
- 22.3 Input Methods
- 22.4 Selecting an Input Method
- 22.5 Coding Systems
- 22.6 Recognizing Coding Systems
- 22.7 Specifying a File’s Coding System
- 22.8 Choosing Coding Systems for Output
- 22.9 Specifying a Coding System for File Text
- 22.10 Coding Systems for Interprocess Communication
- 22.11 Coding Systems for File Names
- 22.12 Coding Systems for Terminal I/O
- 22.13 Fontsets
- 22.14 Defining Fontsets
- 22.15 Modifying Fontsets
- 22.16 Undisplayable Characters
- 22.17 Unibyte Editing Mode
- 22.18 Charsets
- 22.19 Bidirectional Editing
- 18 File Handling
- Advanced Features
- 23 Major and Minor Modes
- 24 Indentation
- 25 Commands for Human Languages
- 25.1 Words
- 25.2 Sentences
- 25.3 Paragraphs
- 25.4 Pages
- 25.5 Quotation Marks
- 25.6 Filling Text
- 25.7 Case Conversion Commands
- 25.8 Text Mode
- 25.9 Outline Mode
- 25.10 Org Mode
- 25.11 TeX Mode
- 25.12 SGML and HTML Modes
- 25.13 Nroff Mode
- 25.14 Enriched Text
- 25.15 Editing Text-based Tables
- 25.16 Two-Column Editing
- 26 Editing Programs
- 26.1 Major Modes for Programming Languages
- 26.2 Top-Level Definitions, or Defuns
- 26.3 Indentation for Programs
- 26.4 Commands for Editing with Parentheses
- 26.5 Manipulating Comments
- 26.6 Documentation Lookup
- 26.7 Hideshow minor mode
- 26.8 Completion for Symbol Names
- 26.9 MixedCase Words
- 26.10 Semantic
- 26.11 Other Features Useful for Editing Programs
- 26.12 C and Related Modes
- 26.13 Asm Mode
- 26.14 Fortran Mode
- 27 Compiling and Testing Programs
- 27.1 Running Compilations under Emacs
- 27.2 Compilation Mode
- 27.3 Subshells for Compilation
- 27.4 Searching with Grep under Emacs
- 27.5 Finding Syntax Errors On The Fly
- 27.6 Running Debuggers Under Emacs
- 27.7 Executing Lisp Expressions
- 27.8 Libraries of Lisp Code for Emacs
- 27.9 Evaluating Emacs Lisp Expressions
- 27.10 Lisp Interaction Buffers
- 27.11 Running an External Lisp
- 28 Maintaining Large Programs
- 28.1 Version Control
- 28.1.1 Introduction to Version Control
- 28.1.1.1 Understanding the Problems it Addresses
- 28.1.1.2 Supported Version Control Systems
- 28.1.1.3 Concepts of Version Control
- 28.1.1.4 Merge-based vs Lock-based Version Control
- 28.1.1.5 Changeset-based vs File-based Version Control
- 28.1.1.6 Decentralized vs Centralized Repositories
- 28.1.1.7 Types of Log File
- 28.1.2 Version Control and the Mode Line
- 28.1.3 Basic Editing under Version Control
- 28.1.4 Features of the Log Entry Buffer
- 28.1.5 Registering a File for Version Control
- 28.1.6 Examining And Comparing Old Revisions
- 28.1.7 VC Change Log
- 28.1.8 Undoing Version Control Actions
- 28.1.9 Ignore Version Control Files
- 28.1.10 VC Directory Mode
- 28.1.11 Version Control Branches
- 28.1.12 Miscellaneous Commands and Features of VC
- 28.1.13 Customizing VC
- 28.1.1 Introduction to Version Control
- 28.2 Working with Projects
- 28.3 Change Logs
- 28.4 Find Identifier References
- 28.5 Emacs Development Environment
- 28.6 Merging Files with Emerge
- 28.7 Bug Reference
- 28.1 Version Control
- 29 Abbrevs
- 30 Dired, the Directory Editor
- 30.1 Entering Dired
- 30.2 Navigation in the Dired Buffer
- 30.3 Deleting Files with Dired
- 30.4 Flagging Many Files at Once
- 30.5 Visiting Files in Dired
- 30.6 Dired Marks vs. Flags
- 30.7 Operating on Files
- 30.8 Shell Commands in Dired
- 30.9 Transforming File Names in Dired
- 30.10 File Comparison with Dired
- 30.11 Subdirectories in Dired
- 30.12 Subdirectory Switches in Dired
- 30.13 Moving Over Subdirectories
- 30.14 Hiding Subdirectories
- 30.15 Updating the Dired Buffer
- 30.16 Dired and find
- 30.17 Editing the Dired Buffer
- 30.18 Viewing Image Thumbnails in Dired
- 30.19 Other Dired Features
- 31 The Calendar and the Diary
- 31.1 Movement in the Calendar
- 31.2 Scrolling in the Calendar
- 31.3 Counting Days
- 31.4 Miscellaneous Calendar Commands
- 31.5 Writing Calendar Files
- 31.6 Holidays
- 31.7 Times of Sunrise and Sunset
- 31.8 Phases of the Moon
- 31.9 Conversion To and From Other Calendars
- 31.10 The Diary
- 31.10.1 The Diary File
- 31.10.2 Displaying the Diary
- 31.10.3 Date Formats
- 31.10.4 Commands to Add to the Diary
- 31.10.5 Special Diary Entries
- 31.10.6 Appointments
- 31.10.7 Importing and Exporting Diary Entries
- 31.11 Daylight Saving Time
- 31.12 Summing Time Intervals
- 31.13 More advanced features of the Calendar and Diary
- 31.13.1 Customizing the Calendar
- 31.13.2 Customizing the Holidays
- 31.13.3 Converting from the Mayan Calendar
- 31.13.4 Date Display Format
- 31.13.5 Time Display Format
- 31.13.6 Customizing the Diary
- 31.13.7 Diary Entries Using non-Gregorian Calendars
- 31.13.8 Diary Display
- 31.13.9 Fancy Diary Display
- 31.13.10 Sexp Entries and the Fancy Diary Display
- 32 Sending Mail
- 33 Reading Mail with Rmail
- 33.1 Basic Concepts of Rmail
- 33.2 Scrolling Within a Message
- 33.3 Moving Among Messages
- 33.4 Deleting Messages
- 33.5 Rmail Files and Inboxes
- 33.6 Multiple Rmail Files
- 33.7 Copying Messages Out to Files
- 33.8 Labels
- 33.9 Rmail Attributes
- 33.10 Sending Replies
- 33.11 Summaries
- 33.12 Sorting the Rmail File
- 33.13 Display of Messages
- 33.14 Rmail and Coding Systems
- 33.15 Editing Within a Message
- 33.16 Digest Messages
- 33.17 Reading Rot13 Messages
- 33.18 movemail program
- 33.19 Retrieving Mail from Remote Mailboxes
- 33.20 Retrieving Mail from Local Mailboxes in Various Formats
- 34 Email and Usenet News with Gnus
- 35 Host Security
- 36 Network Security
- 37 Document Viewing
- 38 Running Shell Commands from Emacs
- 39 Using Emacs as a Server
- 40 Printing Hard Copies
- 42 Editing Pictures
- 43 Editing Binary Files
- 44 Saving Emacs Sessions
- 45 Recursive Editing Levels
- 46 Hyperlinking and Web Navigation Features
- 47 Games and Other Amusements
- 48 Emacs Lisp Packages
- 49 Customization
- 49.1 Easy Customization Interface
- 49.2 Variables
- 49.3 Customizing Key Bindings
- 49.3.1 Keymaps
- 49.3.2 Prefix Keymaps
- 49.3.3 Local Keymaps
- 49.3.4 Minibuffer Keymaps
- 49.3.5 Changing Key Bindings Interactively
- 49.3.6 Rebinding Keys in Your Init File
- 49.3.7 Modifier Keys
- 49.3.8 Rebinding Function Keys
- 49.3.9 Named ASCII Control Characters
- 49.3.10 Rebinding Mouse Buttons
- 49.3.11 Disabling Commands
- 49.4 The Emacs Initialization File
- 49.5 Keeping Persistent Authentication Information
- Recovery from Problems
- Straight package manager
- Diary
- Phone
- Hydra
- Fork and clone Github projects from Emacs
- Compare directories
- helm interface for the recoll desktop search tool.
- u11 / csv.el · GitLab
- Interact with the pass-otp extension for pass
- Time-based One-time Passwords (TOTP) like specified in RFC 6238)
- OpenVPN management mode for Emacs
- CNCL Emacs Helm interface for pass
- CNCL A major mode for password-store
- CNCL Install Prelude
- CNCL Gnome calendar integration with emacs
- CNCL Integrate orgmode with the GNOME desktop
- CNCL Open files with external programs
- CNCL Control GNU/Linux computer from Emacs
- CNCL Access existed File Managers' bookmarks in Dired.
- Emacs-Lisp
- Docker
- Web
- Python
- Anaconda Python
- Define Python path
- YALM
- R
- NGINX
- Orgzly sync
- CNCL Create an Orgzly feature request asking for android web page share to Orgzly to be in the format Title for easy bookmarking, leaving the note content for notes.
- CNCL Write an Emacs keyboard macro to covert Orgzly phone capture to standard capture
- Narrow to org-hierarchy
- Download file at URL and attach with org-attach
- Encryption
- Convert org header into org-roam node
- Covert org header to org-roam-dailies header
- Capture from web pages & org-roam : r/orgmode
- Get summaries of wikipedia articles in Emacs
- org mode - Org-roam custom capture template - Emacs Stack Exchange
- Modified and creation timestamps to the org-roam property drawer
- Moldable Emacs: query your Org Roam notes by tag - Where parallels cross
- unofficial-user-manual-org-roam · GitHub
- Publishing
- Org mode epub export
- Hugo Org-Mode Default Archetype - lambda.cx blog
- Org2blog: Blog from Org mode to WordPress
- A carefully crafted Org exporter back-end for Hugo
- Emacs interface to a Transmission session
- View, capture, and archive Waeb pages in Org-mode
- Convert html to org format text
- org-bookmarks-extractor
- Bookmark+: extensions to standard library `bookmark.el'
- Archive Mastodon links
[0/2]org-roam-capture web articles in web/- Article is pulled into *Article below block quotes using org-web-tools
- CNCL Org mode's web archiver.
- CNCL Manage zotero collections from emacsemacs.
- Emacs Zotero · GitLab
- zotxt: a Zotero extension for text
- org mode - zotero workflow into emacs? - Emacs Stack Exchange
- Emacs-zotero-bib-fetch: fork of zotelo to use better-bibtex's pull export · GitHub
- BibTeX-Mode for GNU Emacs
- helm-bibtex
- Org Roam integration with bibliography management software
- org-ref
- Browse and import bibliographic references from CrossRef, DBLP, HAL, arXiv, Dissemin, and doi.org from Emacs
- Zotra: get bibliographic information from a url and save it into a bibtex file
- Annotate and sort incoming PDFs into your org files
- Emacs support library for PDF files.
- nov-xwidget: The best epub reader in Emacs
- Send books to Kindle
- Convert between Kindle clippings and org mode.
- A collection of classes and scripts that can be used to manage a kindle notes files.
- Reading list management with org mode
- Open EPUBs in CalibreDB inside Emacs
- CNCL Extract highlights and notes from Calibre EPUB reader
- CNCL Create book library report
- CNCL Import book library report into org
- CNCL Create sync mechanism between Calibre library and org book report
- Install mpd controller
- Emms
- Install org-download
- Emacs interface to the BBC's iPlayer (uses get_iplayer)
- Use Gnome shell’s screen recorder from within Emacs
- Control mpv for easy note takin
- peertube - MELPA
- Take notes in org mode while watching videos in mpv media player
- Movie watchlist management using org-mode.
- ytdl
- Extract YouTube video subtitles
- View and annotate video and audio
- Install Pandoc
- Connect Pandoc and Org
- GitHub - emacs-openai/eglot-uniteai: Eglot Clients for UniteAI
- CNCL orgmodeweb
- CNCL A simple org-mode based journaling mode
- CNCL Store Emacs configs in org file using org-dotemacs
- CNCL Install org-board
- CNCL Org-appear
- CNCL Superstar
- An Org-mode query language, including search commands and saved views
- Emacs interface for editing Etherpad pads
- Minor mode for Emacs that deals with parens pairs and tries to be smart about it.
- Emacs minor mode to automatically balance window margins
- Type-writing training program on GNU Emacs
- Increase size of LaTeX fragment previews
- Html As Markdown. Transparently edit an html file using markdown.
- Emacs: automatic dictionary switcher for flyspell
- kiwix - MELPA
- Emacs interface to edit any mediawiki site
- A mediawiki export for Emacs org-mode
- Wikipedia Infobox -> Emacs-Lisp
- Org mode wikinfo integration
- Mastodon keyboard shortcuts via Hydra
- Web search from Emacs and the terminal
- Maciej Barć / emacs-websearch · GitLab
- Minor mode for defining and querying search engines through Emacs.
- CNCL Emacs wallabag client
- CNCL Emacs client for Pocket reading list (getpocket.com)
- Install BBDB contact manager
- bbdb-csv-import - MELP
- Synchronize calendars and contacts.
- Google Calendar Synchronization
- org-contacts - MELPA
- org-contacts2vcard
- Org sync with Google Tasks
- Hanno Perrey / khalel · GitLab
- pomodoro technique for org-mode
- Timesheet management add-on for Emacs org-mode
- Flexible Bi-directional sync for Emacs BBDB, Google Contacts, MS Outlook, MS Exchange, CardDAV
- vCard Import and Export for BBDB
- Display lunar phase and sunrise/sunset time in emacs mode line
- A simple pomodoro indicator for Unity/GTK tray
- News and mail on Gnus
- Keep handy notes of Gnus articles with helm and org
- Use Linux/Windows/Mac mail program to send mail from Emacs
- Install elfeed
- Make elfeed work with tt-rss using elfeed-protocol
- Elfeed with Tiny Tiny RSS
- Easy auto-tagging for elfeed-protocol.
- A frontend for elfeed
- Configure the Elfeed RSS reader with an Orgmode file
- Provide extra protocols to make like Fever, NewsBlur, Nextcloud/ownCloud News and Tiny Tiny RSS work with elfeed
- Youtube integration for Elfeed, the feed reader for Emacs
- A mobile client for Elfeed built with React Native and written in ClojureScript.
- Emacs interface to tt-rss
- mastodon - MELPA
- Emacs client for Mastodon - mastodon.el - Codeberg.org
- A Gnus backend for Twitter
- A Gnus backend for Reddit
- Emacs Mode for Reddit
- Install Memacs
- Recipes
- Philip Woods / org-if · GitLab
- EmacsWiki: amazon.el
- EmacsWiki: ebay-template-mode.el
- EmacsWiki: ebay-template-tools.el
- Emacs minor mode for showing the price of Bitcoin, Ethereum, and other cryptocurrencies.
- Currency converter in Emacs
- Recording and viewing expenses using Emacs
- Hass: An Emacs package for interacting with Home Assistant
- View an NOAA weather forecast for a specific geographic location.
- OpenStreetMap viewer for Emacs
- OpenSCAD Emacs mode
- Emacs client for Yaesu CAT control of FT991A
- Org CV
- Play/Download crossword puzzles in Emacs
- ellama
- LLM
- Llama-cpp in Emacs
- org-ai: Emacs as your personal AI assistant. Use LLMs such as ChatGPT or LLaMA for text generation or DALL-E and Stable Diffusion for image generation. Also supports speech input / output.
- openai
- org-ai
- gptai
- Install anki-editor
- CNCL Install anki-mode
- Macros
- Restart Emacs from Emacs
- Save & shutdown when we get an "end of session" signal on dbus
- Using org mode and ox-hugo to replace markdown in hugo workflow
- The Zen of Buffer Display (GNU Emacs Lisp Reference Manual)
- Running Shells and Terminal Emulators in Emacs - Mastering Emacs
- The Emacs Window Management Almanac | Karthinks
- The Emacs Window Management Almanac | Karthinks
- Ebib Manual
- Using `make-llm-openai-compatible` with Mistral AI fails parsing the partial responses · Issue #32 · ahyatt/llm · GitHub
- Using make-llm-openai-compatible with Azure OpenAI service fails to connect to endpoint · Issue #36 · ahyatt/llm · GitHub
- Question: How to RAG org-roam? · Issue #91 · s-kostyaev/ellama · GitHub
- Riccardo Pinosio: personal website - Scientific note-taking with org-roam, citar, and zotero
- Dominik Schlack / Domacs · GitLab
- Mozilla Readability in GNU Emacs
- GitHub - clange/csv2orgclock: Converting CSV clock logs to Org Mode
- GitHub - jamesnvc/helm-switch-shell: Helm source for easily switching between eshells
- GNU Emacs configuration | Protesilaos Stavrou
- Tips for refiling into org roam dailies? : r/OrgRoam
- GitHub - stevemolitor/robby: Extensible Emacs interface to OpenAI
- GitHub - s-kostyaev/elisa: ELISA (Emacs Lisp Information System Assistant) is a project designed to help Emacs users quickly find answers to their questions related to Emacs and Emacs Lisp. Utilizing the powerful Ellama package, ELISA provides accurate and relevant responses to user queries, enhancing productivity and efficiency in the Emacs environment.
- GitHub - vygr/ChrysaLisp: Parallel OS, with GUI, Terminal, OO Assembler, Class libraries, C-Script compiler, Lisp interpreter and more…
- Lisp Operating System
- org-mode-noodlings.el · GitHub
- org-protocol.el – Intercept calls from emacsclient to trigger custom actions
- GitHub - hasu/notdeft: NotDeft note manager for Emacs
- Deft for Emacs
- GitHub - jgru/consult-org-roam: A bunch of convenience functions for operating org-roam with the help of consult
- GitHub - chrisbarrett/nursery: Programs and libs that I haven't gotten around to formally packaging
- roam-buffer shows full content of backlinks/reflinks · Issue #1934 · org-roam/org-roam · GitHub
- Tweaking Emacs on Android via Termux: xclip, xdg-open, syncthing conflicts :: Sacha Chua
- An Orgmode Note Workflow :: Rohit Goswami — Reflections
- EmacsWiki: Gnus Tutorial
- Emacs Turbo-Charges My Writing // Take on Rules
- My Zettelkasten: An Author’s Digital Slip-Box Method Example (Using Plain-Text Software)
- Public Git Hosting - org-contacts.git/summary
- Artawower (Artawower) / Repositories · GitHub
- GitHub - emacs-pe/crontab-mode
- GitHub - Boruch-Baum/emacs-crossword: Play/Download crossword puzzles in Emacs
- GitHub - xenodium/chatgpt-shell: ChatGPT and DALL-E Emacs shells + Org babel 🦄 + a shell maker for other providers
- GNU ELPA - csv-mode
- GitHub - abo-abo/define-word: Display the definition of word at point in Emacs
- ~zetagon/el-secretario - The Emacs Secretary - sourcehut git
- GitHub - Wilfred/emacs-refactor: language-specific refactoring in Emacs
- GitHub - LaurenceWarne/finito.el: 📚 Manage books with Emacs 📚
- GitHub - LaurenceWarne/libro-finito: A book management backend written in Scala
- Flycheck — Syntax checking for GNU Emacs — Flycheck 33-cvs documentation
- GitHub - emacs-helm/helm-org
- GitHub - stuhlmueller/gpt.el: A simple Emacs package for calling instruction-following language models
- GitHub - alphapapa/org-rifle: Rifle through your Org-mode buffers and acquire your target
- GitHub - enisozgen/idle-org-agenda: A package that shows your agenda when Emacs is idle
- GitHub - marcwebbie/auto-virtualenv: Automatically activate python virtualenv on Emacs
- GitHub - rranelli/auto-package-update.el: Automatically update Emacs packages.
- auto-dictionary-mode
- My org-roam workflows for taking notes and writing articles — Dominik Honnef
- GitHub - jart/emacs-copilot: Large language model code completion for Emacs
- GitHub - gopar/.emacs.d: All my emacs config files
- GNU Emacs configuration | Protesilaos Stavrou
- Pygopar - Trust me, Python will rule the world. And Emacs will guide it.
- GitHub - jxq0/org-tidy: 🧹 An Emacs minor mode to automatically tidy org-mode property drawers
- GitHub - kamushadenes/gptel-extensions.el: Extra functions for gptel
- GitHub - kamushadenes/ai-blog.el: Blogging with Emacs and AI
- GitHub - Silex/docker-emacs: Run Emacs in docker containers!
- GitHub - Elilif/org-heatmap: Show heatmap in org-mode.
- GitHub - Naheel-Azawy/emacs-arabic-reshaper: Reshape Arabic characters in Emacs
- GitHub - Naheel-Azawy/c-arabic-reshaper: A simple Arabic reshaper written in C
- A custom org link type for pdf-tools
- Adapting Emacs for moldable development
- Emacs package to enable transclusion with Org Mode
- The Age-Old Question: When to Declare "Configuration Bankruptcy"? : r/emacs
- Your AI Stack in Your Editor
- Manage calendar from spreadsheets (or in my case emacs)
- A library of gesture commands for GNU Emacs' strokes-mode.
- dotemacs/init.el at master · sriramkswamy/dotemacs · GitHub
- CSS for Org-exported HTML
- Deft for Emacs
- EmacsWiki: Window Configuration
- Literate Programming: Empower Your Writing with Emacs Org-Mode - OfferZen
- Org-mode - Literate Programming Recipes
- Introduction to Literate Programming
- Generating a site from org-mode files - Kraken of Thought
- Building a Emacs Org-Mode Blog
- SSH config export for org-mode
- My Lesser Sung Packages of Emacs // Take on Rules
- dots/config.el at master · jethrokuan/dots · GitHub
- GitHub - novoid/dot-emacs: My GNU/Emacs configuration
- Org-mode Workflow Part 1: Capturing in the Inbox · Jethro Kuan
- How To Take Smart Notes With Org-mode · Jethro Kuan
- Org Roam, Emacs, and Ever Refining the Note Taking Process // Take on Rules
- Emacs application framework : r/emacs
- EAF, an extensible framework that revolutionizes the graphical capabilities of Emacs
- M-EMACS, a full-featured GNU Emacs configuration distribution
- CNCL dotemacs/gemacsclient at master · karlicoss/dotemacs · GitHub
- Efficiently hopping squeezed lines powered by Emacs helm interface
- Microblog Server
- The Emacsmirror
- An Orgmode Note Workflow :: Rohit Goswami — Reflections
- dot/emacs.d at master · whacked/dot · GitHub
- Don’t manage work email with Emacs
- A simple Emacs interface to TTS (text-to-speech) engines
- Project Interaction Library for Emacs
- Manage org-mode TODOs for your projectile projects
- CNCL Store your emacs config as an org file, and load code snippets based on tag matches.
- GitHub - antham/git-backup
- crontab-mode
- cheatsheet
- More Productive with Emacs: Writing, Researching, Publishing
- An Agenda for Life With Org Mode - The Chronicle
- How I Take Notes with Org-roam
- On Android Termux, any access to the database fails with "middleware out of memory" error · Issue #1605 · org-roam/org-roam · GitHub
- EmacsWiki
- GNU Guix transactional package manager and distribution — GNU Guix
- My Emacs Setup | Clinton Liddick
- My Minimal Emacs Setup | Sandeep Nambiar
- UOMF: Using Template Files for Pandoc Exports to Word or LibreOffice
- Org Mode - Organize Your Life In Plain Text!
- How To Set An Image Title In Hugo Using Org-Mode Markup - lambda.cx blog
- How I Keep Track of My Servers - lambda.cx blog
- My Emacs on Android Setup - lambda.cx blog
- Tool to convert data into searchable and interactive org-mode views
- Emacs X Window Manager
- An Emacs Tutorial: Beginner's Guide to Emacs - Mastering Emacs
- Behind the code: project planning - Devalot
- Debian-el
- Digitizing All Your Paper Stuff
- EmacsWiki: Learning Emacs
- Getting Started • Zettelkasten Method
- How to Design File Management for a Company
- How to learn Emacs :: About this guide to Emacs
- How to Use Tags
- metajack.im - Journaling with Emacs OrgMode
- Org for GTD and other Task managment systems
- Orgmode for GTD
- org-mode snippets | tychoish
- Per-contact FROM-email Addresses for Users Of mutt and org-contacts.el
- The Tag «decentralization»
- UOMF: Linking Headings
- UOMF: Managing web bookmarks with Org Mode
- UOMF: My Current Mobile Capture Process
- UOMF: My Current Org Mode Files and Heading Structure
- UOMF: On How to Define Projects in Org Mode
- UOMF: Reference Management with Org Mode
- UOMF: Using Template Files for Pandoc Exports to Word or LibreOffice
- GitHub - atykhonov/google-translate: Emacs interface to Google Translate
- GitHub - tmalsburg/guess-language.el: Emacs minor mode that detects the language you're typing in. Automatically switches spell checker. Supports multiple languages per document.
- GitHub - mhayashi1120/Emacs-langtool: LanguageTool for Emacs
- GitHub - aaron-em/ten-hundred-mode.el: A thing to help people use only the ten hundred most usual English words.
- GitHub - andreasjansson/language-detection.el: Automatic programming language detection of code snippets, in Emacs Lisp
- GitHub - emacsmirror/po-mode: Major mode for GNU gettext PO files
- GitHub - abo-abo/define-word: iDsplay the definition of word at point in Emacs
- GitHub - mbork/emacs-cat: A simplistic Emacs CAT (Computer Aided Translation) mode
- Emacs as a translator's tool
- CNCL Flycheck Eask
- Recoll
- Take org-roam-node as argument to #'org-roam-refile by pestctrl · Pull Request #2388 · org-roam/org-roam · GitHub
- Blocked repairing actionable.org from org-gtd-refile–group-p error · Issue #209 · Trevoke/org-gtd.el · GitHub
- Explore the org-roam-captures and templates re: "archive this" · Issue #109 · Trevoke/org-gtd.el · GitHub
- Archive location issue and Delegated/Blocked visibility · Issue #180 · Trevoke/org-gtd.el · GitHub
TODO
Emacs [65/338] emacs
[2024-02-28 Wed 16:14]
NEXT Refile GTD knowledge as org-roam
(defun my/org-gtd-roam-knowledge-func ()
(setq-local org-gtd--organize-type 'knowledge)
(org-gtd-organize-apply-hooks)
(org-delete-property "ID")
(when (yes-or-no-p "Does this need to be ID'd? ")
(org-set-property "ID" (org-id-new)))
(org-copy-subtree)
(org-paste-subtree)
(goto-char (point-min))
;; Do not cancel out here (otherwise double up headings)
(org-roam-refile))
(setq org-gtd-knowledge-func #'my/org-gtd-roam-knowledge-func)
TODO
[0/7] Reorganize this file to follow Emacs manual
- State "DONE" from "DONE" [2023-07-28 Fri 13:25]
- State "DONE" from [2023-07-28 Fri 13:24]
TODO Menu
TODO Distribution
TODO Introduction
TODO Important General Concepts
TODO 1 The Organization of the Screen
TODO 2 Kinds of User Input
TODO 3 Keys
TODO 4 Keys and Commands
TODO 5 Entering Emacs
TODO 6 Exiting Emacs
TODO Fundamental Editing Commands
TODO 7 Basic Editing Commands
TODO 8 The Minibuffer
TODO 9 Running Commands by Name
TODO 10 Help
TODO Important Text-Changing Commands
TODO 11 The Mark and the Region
TODO 13 Registers
TODO 14 Controlling the Display
TODO 15 Searching and Replacement
TODO 16 Commands for Fixing Typos
TODO 17 Keyboard Macros
TODO Major Structures of Emacs
TODO 18 File Handling
TODO 19 Using Multiple Buffers
TODO 20 Multiple Windows
TODO 21 Frames and Graphical Displays
TODO 22 International Character Set Support
TODO Advanced Features
TODO 23 Major and Minor Modes
TODO 24 Indentation
TODO 25 Commands for Human Languages
TODO 26 Editing Programs
TODO 27 Compiling and Testing Programs
TODO 28 Maintaining Large Programs
TODO 29 Abbrevs
TODO 30 Dired, the Directory Editor
TODO 31 The Calendar and the Diary
TODO 32 Sending Mail
TODO 33 Reading Mail with Rmail
TODO 34 Email and Usenet News with Gnus
TODO 35 Host Security
TODO 36 Network Security
TODO 37 Document Viewing
TODO 38 Running Shell Commands from Emacs
TODO 39 Using Emacs as a Server
TODO 40 Printing Hard Copies
TODO 42 Editing Pictures
TODO 43 Editing Binary Files
TODO 44 Saving Emacs Sessions
TODO 45 Recursive Editing Levels
TODO 46 Hyperlinking and Web Navigation Features
TODO 47 Games and Other Amusements
TODO 48 Emacs Lisp Packages
TODO 49 Customization
TODO Recovery from Problems
TODO 50 Quitting and Aborting
TODO 51 Dealing with Emacs Trouble
TODO 52 Reporting Bugs
TODO 53 Contributing to Emacs Development
DONE Straight package manager
- State "DONE" from "TODO" [2024-07-10 Wed 09:57]
TODO Diary
(setq diary-file (concat org-directory "diary"))
TODO Phone
(setq browse-url-browser-function 'browse-url-firefox)
(unless window-system
(xterm-mouse-mode 1)
(global-set-key [mouse-4] (lambda ()
(interactive)
(scroll-down 1)))
(global-set-key [mouse-5] (lambda ()
(interactive)
(scroll-up 1))))
(use-package org
:config
(when my-phone-p
(add-to-list 'org-file-apps '("\\.png\\'" . default))
(add-to-list 'org-file-apps '("\\.jpg\\'" . default))
(add-to-list 'org-file-apps '("\\.jpeg\\'" . default)))
)
(defun my/format-intent (intent &optional params)
"Return a command string for sending INTENT with PARAMS.
PARAMS is an alist of (\"key\" . \"value\") pairs."
(format "am broadcast --user 0 -a %s %s"
intent
(mapconcat
(lambda (o)
(format
"-e %s %s"
(shell-quote-argument (car o))
(shell-quote-argument (cdr o))))
params
" ")))
(defun my/send-intent (intent &optional params)
"Send broadcast INTENT to my phone.
PARAMS is a plist of :key value pairs."
(let ((command (my-format-intent intent params)))
(if my-phone-p
(shell-command command)
(shell-command (format "ssh phone %s" (shell-quote-argument command))))))
(use-package kdeconnect
:ensure t
:config
(setq kdeconnect-devices "1bd8e06bb908496b")
(setq kdeconnect-active-device "1bd8e06bb908496b")
)
TODO Hydra
(use-package hydra
)
TODO Fork and clone Github projects from Emacs emacs git
TODO Compare directories
(use-package ztree
:bind* (("M-m g v" . ztree-dir)
("M-m g V" . ztree-diff))
:init
(setq ztree-dir-move-focus t))
TODO helm interface for the recoll desktop search tool.
(defun helm-ff-recoll-index-directory (directory)
"Create a recoll index directory from DIRECTORY.
Add the new created directory to `helm-recoll-directories' using the
basename of DIRECTORY as name.
By using `customize-set-variable', a new source is created for this
new directory."
(cl-assert (boundp 'helm-recoll-directories) nil
"Package helm-recoll not installed or configured")
(let* ((bn (helm-basename (expand-file-name directory)))
(index-dir (format "~/.recoll-%s" bn))
(conf-file (expand-file-name "recoll.conf" index-dir)))
(mkdir index-dir)
(with-current-buffer (find-file-noselect conf-file)
(insert (format "topdirs = %s" (expand-file-name directory)))
(save-buffer)
(kill-buffer))
(customize-set-variable 'helm-recoll-directories
(append `((,bn . ,index-dir)) helm-recoll-directories))
(message "Don't forget to index config directory with 'recollindex -c %s'" index-dir)))
(defmethod helm-setup-user-source ((source helm-source-ffiles))
(helm-source-add-action-to-source-if
"Recoll index directory"
'helm-ff-recoll-index-directory
source
'file-directory-p
3))
(use-package helm-recoll
:commands helm-recoll
:init (setq helm-recoll-directories
'(("confdir" . "~/.recoll-.emacs.d")
("lisp sources" . "~/.recoll-emacs-lisp")
("work" . "~/.recoll-work"))))
TODO u11 / csv.el · GitLab emacs archive
TODO Interact with the pass-otp extension for pass emacs security
TODO Time-based One-time Passwords (TOTP) like specified in RFC 6238) emacs security
TODO OpenVPN management mode for Emacs emacs security
CNCL Emacs Helm interface for pass emacs security
- State "CNCL" from "DONE" [2023-08-26 Sat 11:59]
- State "DONE" from "TODO" [2023-07-06 Thu 11:41]
(use-package helm-pass
)
CNCL A major mode for password-store emacs security
- State "CNCL" from "DONE" [2023-08-26 Sat 11:59]
- State "DONE" from "TODO" [2023-07-06 Thu 11:42]
(use-package pass
:ensure t
)
CNCL Install Prelude
- State "CNCL" from [2023-07-02 Sun 15:04]
CNCL Gnome calendar integration with emacs emacs linux
- State "CNCL" from [2023-07-31 Mon 17:45]
CNCL Integrate orgmode with the GNOME desktop emacs linux
- State "CNCL" from [2023-07-31 Mon 14:01]
CNCL Open files with external programs emacs computer
- State "CNCL" from [2023-07-31 Mon 17:48]
CNCL Control GNU/Linux computer from Emacs emacs
- State "CNCL" from [2023-07-31 Mon 17:46]
CNCL Access existed File Managers' bookmarks in Dired. emacs archive linux
- State "CNCL" from [2023-07-31 Mon 17:47]
TODO Emacs-Lisp
- State "DONE" from "NEXT" [2023-08-09 Wed 13:52]
(use-package "eldoc"
;; :if my-laptop-p
:diminish eldoc-mode
:commands turn-on-eldoc-mode
:defer t
:init
(progn
(add-hook 'emacs-lisp-mode-hook 'turn-on-eldoc-mode)
(add-hook 'lisp-interaction-mode-hook 'turn-on-eldoc-mode)
(add-hook 'ielm-mode-hook 'turn-on-eldoc-mode)
)
)
(use-package emacs-lisp-mode
:mode ("\\.el$" . emacs-lisp-mode)
:bind (:map emacs-lisp-mode-map
("C-c I" . describe-function)
("C-c S" . find-function-at-point)
)
)
DONE Docker
- State "DONE" from "NEXT" [2023-08-09 Wed 13:52]
(use-package dockerfile-mode
:mode ("Dockerfile\\'" . dockerfile-mode)
)
DONE Web
- State "DONE" from "NEXT" [2023-08-09 Wed 13:53]
(use-package web-mode
:mode ("\\.html$" . web-mode)
)
DONE Python
- State "DONE" from "NEXT" [2023-08-09 Wed 13:52]
(use-package python
:mode ("\\.py\\'" . python-mode)
:config
(setq python-shell-interpreter "ipython"
python-shell-interpreter-args "-i")
)
DONE Anaconda Python
- State "DONE" from "TODO" [2023-08-28 Mon 19:03]
Anaconda mode provides python code navigation and completion but you need to install a few dependencies first from pip first or it will install on its own.
(use-package anaconda-mode
:defer 2
:diminish anaconda-mode
:diminish anaconda-eldoc-mode
:bind (:map python-mode-map
("C-c I" . anaconda-mode-show-doc)
("C-c S" . anaconda-mode-find-definitions))
:config
(progn
(add-hook 'python-mode-hook 'anaconda-mode)))
DONE Define Python path
- State "DONE" from "TODO" [2023-08-28 Mon 19:03]
(setq python-interpreter "/usr/bin/python3")
DONE YALM
- State "DONE" from "TODO" [2023-08-28 Mon 19:03]
(use-package yaml-mode
:mode "\\.yml$")
DONE R
(use-package ess
:mode (("\\.r$" . R-mode)
("\\.R$" . R-mode)
("\\.jl$" . julia-mode))
:commands (R-mode
julia-mode
my-julia-shell-here
ess-eval-function
ess-eval-line
ess-eval-buffer
ess-switch-to-ESS)
:config
(require 'ess-site)
)
DONE NGINX
- State "DONE" from "TODO" [2023-08-22 Tue 13:20]
(use-package nginx-mode
:commands (nginx-mode)
)
TODO Orgzly sync
From this Reddit post. In termux, you also need to pkg install diffutils.
(setq ediff-toggle-skip-similar t
ediff-diff-options "-w"
ediff-window-setup-function 'ediff-setup-windows-plain
ediff-split-window-function 'split-window-horizontally
)
(defun my/resolve-orgzly-syncthing ()
(interactive)
(ibizaman/syncthing-resolve-conflicts "~/sync/orgzly")
)
(defun ibizaman/syncthing-resolve-conflicts (directory)
"Resolve all conflicts under given DIRECTORY."
(interactive "D")
(let* (
(all (ibizaman/syncthing--get-sync-conflicts directory))
(chosen (ibizaman/syncthing--pick-a-conflict all))
)
(ibizaman/syncthing-resolve-conflict chosen)
)
)
(defun ibizaman/syncthing-show-conflicts-dired (directory)
"Open dired buffer at DIRECTORY showing all syncthing conflicts."
(interactive "D")
(find-name-dired directory "*.sync-conflict-*")
)
(defun ibizaman/syncthing-resolve-conflict-dired (&optional arg)
"Resolve conflict of first marked file in dired or close to point with ARG."
(interactive "P")
(let ((chosen (car (dired-get-marked-files nil arg))))
(ibizaman/syncthing-resolve-conflict chosen)
)
)
(defun ibizaman/syncthing-resolve-conflict (conflict)
"Resolve CONFLICT file using ediff."
(let* ((normal (ibizaman/syncthing--get-normal-filename conflict)))
(ibizaman/ediff-files)
(list conflict normal)
`(lambda ()
(when (y-or-n-p "Delete conflict file? ")
(kill-buffer (get-file-buffer ,conflict)
)
(delete-file ,conflict)
)
)
)
)
(defun ibizaman/syncthing--get-sync-conflicts (directory)
"Return a list of all sync conflict files in a DIRECTORY."
(seq-filter
(lambda (o) (not (string-match "\\.stversions" o)))
(directory-files-recursively directory "\\.sync-conflict-")
)
)
(defvar ibizaman/syncthing--conflict-history nil
"Completion conflict history")
(defun ibizaman/syncthing--pick-a-conflict (conflicts)
"Let user choose the next conflict from CONFLICTS to investigate."
(completing-read "Choose the conflict to investigate: " conflicts
nil t nil ibizaman/syncthing--conflict-history)
)
(defun ibizaman/syncthing--get-normal-filename (conflict)
"Get non-conflict filename matching the given CONFLICT."
(replace-regexp-in-string "\\.sync-conflict-.*\\(\\..*\\)$" "\\1" conflict)
)
(defun ibizaman/ediff-files (&optional files quit-hook)
(interactive)
(lexical-let ((files (or files (dired-get-marked-files)))
(quit-hook quit-hook)
(wnd (current-window-configuration))
)
(if (<= (length files) 2)
(let ((file1 (car files))
(file2 (if (cdr files)
(cadr files)
(read-file-name
"file: "
(dired-dwim-target-directory))
)
)
)
(if (file-newer-than-file-p file1 file2)
(ediff-files file2 file1)
(ediff-files file1 file2)
)
(add-hook 'ediff-after-quit-hook-internal
(lambda ()
(setq ediff-after-quit-hook-internal nil)
(when quit-hook (funcall quit-hook)
)
(set-window-configuration wnd)
)
)
)
(error "no more than 2 files should be marked")
)
)
)
)
CNCL Create an Orgzly feature request asking for android web page share to Orgzly to be in the format Title for easy bookmarking, leaving the note content for notes.
CNCL Write an Emacs keyboard macro to covert Orgzly phone capture to standard capture
- State "CNCL" from [2023-07-02 Sun 15:06]
Adding TITLE and URI properties, converting heading to a hyperlink.
TODO Narrow to org-hierarchy
- State "DONE" from "TODO" [2023-07-07 Fri 16:23]
(with-eval-after-load 'org
(let ((listvar (if (boundp 'org-speed-commands) 'org-speed-commands
'org-speed-commands-user)))
(add-to-list listvar '("N" org-narrow-to-subtree))
(add-to-list listvar '("W" widen))
(add-to-list listvar '("T" my/org-agenda-for-subtree))
(add-to-list listvar '("b" my/org-bounce-to-file))))
(defun my/org-agenda-for-subtree ()
(interactive)
(when (derived-mode-p 'org-agenda-mode) (org-agenda-switch-to))
(my/org-with-current-task
(let ((org-agenda-view-columns-initially t))
(org-agenda nil "t" 'subtree))))
TODO Download file at URL and attach with org-attach
- State "DONE" from "NEXT" [2023-08-09 Wed 09:06]
(defun my/org-attach-download (url)
"Download file at URL and attach with org-attach.
Interactively, look for URL at point, in X clipboard, and in \"kill-ring\", prompting if not found. With prefix, prompt for URL."
(interactive (list (if current-prefix-arg
(read-string "URL: ")
(or (org-element-property :raw-link (org-element-context))
(org-web-tools--get-first-url)
(read-string "URL: ")
)
)
)
)
(when (yes-or-no-p (concat "Attach file at URL: " url))
(let* ((temp-dir (make-temp-file "org-attach-download-" 'dir))
(basename (file-name-nondirectory (directory-file-name url)))
(local-path (expand-file-name basename temp-dir))
size)
(unwind-protect
(progn
(url-copy-file url local-path 'ok-if-exists 'keep-time)
(setq size (file-size-human-readable
(file-attribute-size
(file-attributes local-path))))
(org-attach-attach local-path nil 'mv)
(message "Attached %s (%s)" url size))
(delete-directory temp-dir)
)
)
)
)
DONE Go to the headline corresponding to this org-attach directory
- State "DONE" from "NEXT" [2023-08-09 Wed 09:06]
(defun my/org-attach-visit-headline-from-dired ()
"Go to the headline corresponding to this org-attach directory.
from https://fuco1.github.io/2023-02-08-Visit-the-org-headline-from-the-attach-dired-buffer.html"
(interactive)
(let* ((id-parts (last (split-string default-directory "/" t) 2))
(id (apply #'concat id-parts))
)
(let ((m (org-id-find id 'marker)))
(unless m (user-error "Cannot find entry with ID \"%s\"" id))
(pop-to-buffer (marker-buffer m))
(goto-char m)
(move-marker m nil)
(org-fold-show-context)
)
)
)
TODO Encryption
- State "DONE" from [2023-09-02 Sat 13:05]
(use-package org-crypt
:config
(org-crypt-use-before-save-magic)
(setq org-tags-exclude-from-inheritance '("crypt"))
(setq org-crypt-key nil)
;; GPG key to use for encryption.
;; nil means use symmetric encryption unconditionally.
;; "" means use symmetric encryption unless heading sets CRYPTKEY property.
(setq auto-save-default nil)
;; Auto-saving does not cooperate with org-crypt.el: so you need to
;; turn it off if you plan to use org-crypt.el quite often. Otherwise,
;; you'll get an (annoying) message each time you start Org.
;; To turn it off only locally, you can insert this:
;;
;; # -*- buffer-auto-save-file-name: nil; -*-
)
DONE Convert org header into org-roam node
- State "DONE" from "TODO" [2023-07-31 Mon 13:43]
(defun my/convert-to-org-roam-node ()
"Convert org header at point into org-roam node."
(interactive)
(when (org-at-heading-p) ; Check if we're at a heading
(let* ((header (org-get-heading t t t t))
(content (org-get-entry)) ; Get content under the header
;; Get properties block start and end
(props-start (string-match ":PROPERTIES:" content))
(props-end (when props-start (string-match ":END:" content props-start)))
;; Save the existing properties into a variable
(existing-props (when (and props-start props-end)
(let ((props (split-string (substring content (+ props-start 13) (- props-end 4)) "\n")))
(mapconcat #'identity
(seq-remove (lambda (s) (string-match-p ":CREATED:" s)) props) "\n"))))
;; Extract and format CREATED property
(created (when-let ((created-match (string-match ":CREATED: \\[\\(.*?\\)\\]" content)))
(format "%s" (match-string 1 content)))))
(if created
(let* ((cleaned-created (substring created 0 10)) ; Extract YYYY-MM-DD
(filename (concat cleaned-created "-" (replace-regexp-in-string " " "-" header) ".org")))
(with-temp-buffer
(insert "* " header "\n\n") ; Put an empty line between the header and properties drawer
(insert ":PROPERTIES:\n:ID: " (org-id-uuid) "\n:CREATED: [" created "]\n") ; Add new ID and CREATED properties
;; Append existing properties, if any
(when existing-props
(insert existing-props "\n"))
(insert ":END:\n\n")
;; Insert the content, skipping existing properties block
(insert (if (and props-start props-end)
(substring content (+ props-end 6))
content))
(write-file filename)))
(message "No CREATED property found for this heading")))))
TODO Covert org header to org-roam-dailies header
(defun my/org-header-to-org-roam-dailies (filename)
"Migrate Org-header to org-roam-dailies file.
Searches for a the :CREATED: property in the supplied org FILENAME and create an org-roam-dailies file from it."
(with-current-buffer (find-file-noselect filename)
(goto-char (point-min))
(let ((created-property
(when (re-search-forward "^\\*+ .*?\\s-+:PROPERTIES:\\s-+:CREATED:\\s-+\\[\\(\\<[0-9]\\{4\\}-[0-9]\\{2\\}-[0-9]\\{2\\}\\) .*?\\]")
(match-string-no-properties 1))))
(if created-property
(let ((daily-filename (concat org-roam-dailies-directory "/" created-property ".org")))
(unless (file-exists-p daily-filename)
(org-roam-dailies-capture created-property)
(with-current-buffer (find-file-noselect daily-filename)
(insert (buffer-substring (point-min) (point-max)))
(save-buffer))))
(error "No :CREATED: property found")))))
TODO Capture from web pages & org-roam : r/orgmode
- State "DONE" from "TODO" [2023-08-22 Tue 12:43]
(setq org-roam-capture-ref-templates
'(("i" "internet" plain #'org-roam-capture--get-point "%?"
:file-name "float/%<%Y%m%d%H%M>-${slug}"
:head "#+title: ${title}\n#+roam_key: ${ref}\n#+roam_tags: bookmark"
:unnarrowed t)))
TODO Get summaries of wikipedia articles in Emacs emacs web search
TODO Publishing
- State "DONE" from "TODO" [2023-08-10 Thu 07:32]
- State "DONE" from "TODO" [2023-08-09 Wed 09:11]
This is taken from ox-hugo and https://justin.vc/posts/ox-hugo-and-org-roam/[[JustinVC's modifications to make it work with org-roam.
(use-package ox-hugo
:after ox
:bind (
("C-c C-e H H" . org-hugo-export-wim-to-md)
("C-C C-e H H" . org-hugo-export-wim-to-md :all-subtres)
("C-c C-e H h" . org-hugo-export-to-md)
)
)
DONE Org mode epub export emacs books
- State "DONE" from "NEXT" [2023-08-11 Fri 13:25]
(use-package ox-epub
)
TODO Org2blog: Blog from Org mode to WordPress emacs web publishing
TODO A carefully crafted Org exporter back-end for Hugo emacs web publishing
TODO Emacs interface to a Transmission session emacs archive
TODO View, capture, and archive Waeb pages in Org-mode emacs
- State "DONE" from "NEXT" [2023-08-03 Thu 13:18]
- State "DONE" from "NEXT" [2023-08-03 Thu 13:17]
(use-package org-web-tools
:bind (:map org-mode-map
("C-c w" . org-web-tools-archive-attach)
("C-c W" . org-web-tools-archive-view)
)
:config
; (setq org-web-tools-archive-wget-options
; (delete "--execute robots=off" org-web-tools-archive-wget-options))
; (add-to-list 'org-web-tools-archive-wget-options "-e robots=off")
;; :custom
; (org-web-tools-archive-wget-option ;; Fix wget bug with -e robots=off https://github.com/alphapapa/org-web-tools/issues/35
; '("--execute"
; "robots=off)"
; )
; )
)
TODO Convert html to org format text emacs web html archive
TODO org-bookmarks-extractor emacs web archive
TODO Bookmark+: extensions to standard library `bookmark.el' emacs web
TODO Archive Mastodon links
(defun my/mastodon-store-link ()
"Store links in Mastodon buffers."
(when (derived-mode-p 'mastodon-mode)
(let ((json (get-text-property (point) 'toot-json)))
(org-link-store-props
:link (assoc-default 'url json)
:content (assoc-default 'content json)
:text
(concat
(string-trim (mastodon-tl--render-text (assoc-default 'content json)))
(if (assoc-default 'media_attachments json)
(concat "\n\n"
(mapconcat
(lambda (attachment)
(org-link-make-string
(assoc-default 'url attachment)
(assoc-default 'description attachment)))
(assoc-default 'media_attachments json)
"\n"
)))
"")
))))
(use-package org
:config
(org-link-set-parameters
"mastodon"
:store 'my/mastodon-store-link)
(add-to-list 'org-capture-templates
`("m" "Mastodon" entry (file ,my/org-inbox-file)
"* %?
#+begin_quote
%:text
#+end_quote
%a"
:prepend t)))
TODO
[0/2] org-roam-capture web articles in web/
- State "DONE" from "TODO" [2023-08-19 Sat 20:03]
- web highlight L template is converted into block quotes
- notes are written below each block quote
- Node CREATED timestamp in file properties
TODO org-roam-capture
(defun my/org-protocol-insert-selection-dwim (selection)
"Insert SELECTION as an org blockquote."
(unless (string= selection "")
(format "#+begin_quote\n%s\n#+end_quote" selection)
(format "\n%s\n" selection)))
TODO Templates
(add-to-list 'org-roam-capture-templates
'("r" "ref" plain
"* %U\n %(my/org-protocol-insert-selection-dwim \"%i\")%?"
:target (file+head "web/${slug}.org"
"#+title: ${title}\n
,#+roam_key: ${ref}\n
,#+created: %u\n"
)
:unnarrowed t
)
)
TODO Article is pulled into *Article below block quotes using org-web-tools
- Article ACCESSED timestamp in header properties
- Link to node is listed as a header in web.org, sorted by CREATED date. Web.org is added to agenda with custom TODO statuses: READ ARCHIVE DONE
- ARCHIVE is when entire web page ZIP archive is captured using org-web-tools.
CNCL Org mode's web archiver. emacs archive
- State "CNCL" from [2023-08-09 Wed 09:15]
Using org-web-tools instead, being actively developed.
CNCL Manage zotero collections from emacsemacs. emacs archive academia
- State "CNCL" from "TODO" [2023-08-22 Tue 13:00]
TODO Emacs Zotero · GitLab emacs archive academia
TODO zotxt: a Zotero extension for text emacs archive academia
TODO org mode - zotero workflow into emacs? - Emacs Stack Exchange
Excellent comment below
TODO BibTeX-Mode for GNU Emacs emacs
TODO helm-bibtex
- State "DONE" from "NEXT" [2023-08-03 Thu 13:15]
(use-package helm-bibtex
:ensure t
:config (setq bibtex-completion-bibliography bib-files-directory
bibtex-completion-library-path pdf-files-directory
bibtex-completion-pdf-field "File"
bibtex-completion-notes-path org-directory
)
)
TODO Org Roam integration with bibliography management software emacs archive
- State "DONE" from "NEXT" [2023-08-03 Thu 13:15]
(use-package org-roam-bibtex
:after (org-roam helm-bibtex)
:bind (
:map org-mode-map ("C-c n b" . orb-note-actions))
:config
(require 'org-ref)
(org-roam-bibtex-mode)
)
(add-hook 'bibtex-mode-hook 'flyspell-mode ) ;; Spell checking (requires the ispell software)
;; Change fields and format
(setq bibtex-user-optional-fields '(("keywords" "Keywords to describe the entry" "")
("file" "Link to document file." ":"))
bibtex-align-at-equal-sign t
bib-files-directory (directory-files
(concat org-directory "library") t "^[A-Z|a-z].+.bib$")
pdf-files-directory (concat org-directory "documents/pdf"))
TODO org-ref
(use-package org-ref
:ensure t
:defer t
:config (setq org-ref-completion-library 'org-ref-helm-cite
org-ref-get-pdf-filename-function 'org-ref-get-pdf-filename-helm-bibtex
org-ref-default-bibliography bib-files-directory
org-ref-notes-directory org-directory
org-ref-notes-function 'orb-edit-notes
)
)
TODO Zotra: get bibliographic information from a url and save it into a bibtex file
(use-package zotra
:ensure t
)
TODO Annotate and sort incoming PDFs into your org files emacs archive
(use-package org-incoming
:ensure t
:config
(setq org-incoming-dirs
'(
(:source "Download" :target "/home/amr/org/library/documents/pdf")
; (:source (concat (getenv "HOME") "/Download") :target (concat org-directory "/library/documents/pdf"))
; (:source (concat org-directory "/inbox") :target (concat org-directory "/library/documents/pdf") :use-roam 't)
; (:source "/home/user/incoming/folder3" :target "/home/user/org/todos" :pdf-subdir "originals")
)
)
)
TODO Emacs support library for PDF files. emacs archive
- State "DONE" from "NEXT" [2023-08-09 Wed 14:53]
(use-package pdf-tools
:ensure t
:hook (org-mode . org-pdftools-setup-link)
:config
(pdf-tools-install)
(setq-default pdf-view-display-size 'fit-width)
(define-key pdf-view-mode-map (kbd "C-s") 'isearch-forward)
:custom
(pdf-annot-activate-created-annotations t "automatically annotate highlights")
)
(defun my/fix-pdf-selection ()
"Replace pdf with one where selection shows transparently."
(interactive)
(unless (equal (file-name-extension (buffer-file-name)) "pdf")
(error "Buffer should visit a pdf file."))
(unless (equal major-mode 'pdf-view-mode)
(pdf-view-mode))
;; save file in QDF-mode
(qpdf-run (list
(concat "--infile="
(buffer-file-name))
"--qdf --object-streams=disable"
"--replace-input"))
;; do replacements
(text-mode)
(read-only-mode -1)
(while (re-search-forward "3 Tr" nil t)
(replace-match "7 Tr" nil nil))
(save-buffer)
(pdf-view-mode))
TODO nov-xwidget: The best epub reader in Emacs emacs books
TODO Send books to Kindle
(use-package org-kindle ;; Send books to Kindle
:ensure t
)
TODO Convert between Kindle clippings and org mode. python kindle emacs
TODO A collection of classes and scripts that can be used to manage a kindle notes files. ruby emacs kindle
TODO Reading list management with org mode emacs books
TODO Open EPUBs in CalibreDB inside Emacs
(defun calibredb-open-file-with-default-tool (arg &optional candidate)
"Open file with the system default tool.
If the universal prefix ARG is used, ignore `calibredb-preferred-format'.
Optional argument CANDIDATE is the selected item."
(interactive "P")
(unless candidate
(setq candidate (car (calibredb-find-candidate-at-point))))
(if arg
(let ((calibredb-preferred-format nil))
(calibredb-open-with-default-tool (calibredb-get-file-path candidate t)))
(calibredb-open-with-default-tool (calibredb-get-file-path candidate t))))
(defun my/calibredb-open-file-with-emacs (&optional candidate)
"Open file with Emacs.
Optional argument CANDIDATE is the selected item."
(interactive "P")
(unless candidate
(setq candidate (car (calibredb-find-candidate-at-point))))
(find-file (calibredb-get-file-path candidate t)))
(define-key calibredb-search-mode-map "V" #'my/calibredb-open-file-with-emacs)
CNCL Extract highlights and notes from Calibre EPUB reader emacs books
CLOSED: [2024-02-03 Sat 03:08]
CNCL Create book library report
- State "CNCL" from [2023-07-02 Sun 15:09]
CNCL Import book library report into org
- State "CNCL" from [2023-07-02 Sun 15:09]
CNCL Create sync mechanism between Calibre library and org book report
- State "CNCL" from [2023-07-02 Sun 15:09]
TODO Install mpd controller
TODO A tight, ergonomic, async MPD client library in Emacs Lisp emacs music
TODO GNU Emacs control of Music Player Daemon (MPD) emacs music
TODO Emms emacs music
TODO Install org-download
This extension facilitates moving images from point A to point B.
Point A (the source) can be:
- An image inside your browser that you can drag to Emacs.
- An image on your file system that you can drag to Emacs.
- A local or remote image address in kill-ring. Use the org-download-yank command for this. Remember that you can use "0 w" in dired to get an address.
- A screenshot taken using gnome-screenshot, scrot, gm, xclip (on Linux), screencapture (on OS X) or , imagemagick/convert (on Windows). Use the org-download-screenshot command for this. Customize the backend with org-download-screenshot-method.
Point B (the target) is an Emacs org-mode buffer where the inline link will be inserted. Several customization options will determine where exactly on the file system the file will be stored.
(use-package org-download
)
(add-hook 'dired-mode-hook 'org-download-enable) ;; Drag-and-drop to `dired`
TODO Emacs interface to the BBC's iPlayer (uses get_iplayer) emacs video audio
TODO Use Gnome shell’s screen recorder from within Emacs emacs video
TODO Control mpv for easy note takin emacs video
TODO peertube - MELPA emacs video
TODO Take notes in org mode while watching videos in mpv media player emacs video
TODO Movie watchlist management using org-mode. emacs archive video
- State "DONE" from "NEXT" [2023-08-13 Sun 11:45]
(use-package org-movies
:ensure t
:config
;; (setq org-movies-api-key "f99b1ad3")
(setq org-movies-api-key (auth-source-pass-get "api-key" "www/omdbapi.com/witty.zone3686@fastmail.com"))
(add-to-list 'org-capture-templates
'("m"
"Movie"
entry
;;(file+headline (concat org-directory "library/movies.org") "To-watch")
(file+headline "~/org/library/movies.org" "Movies")
"%(call-interactively 'org-movies-from-url)"
:prepend t
:empty-lines 1
:created t
:kill-buffer t
)
)
)
TODO ytdl emacs video youtube
TODO Extract YouTube video subtitles emacs video youtube
TODO View and annotate video and audio
(use-package org-media-note
:init (setq org-media-note-use-org-ref t)
:hook (org-mode . org-media-note-mode)
:bind (
("H-v" . org-media-note-hydra/body)) ;; Main entrance
:config
(setq org-media-note-screenshot-image-dir (concat org-directory "images/")) ;; Folder to save screenshot
(setq org-media-note-use-refcite-first t) ;; use videocite link instead of video link if possible
)
DONE Install Pandoc
- State "DONE" from "TODO" [2023-07-05 Wed 17:17]
sudo apt-install pandoc
TODO Connect Pandoc and Org
(use-package org-pandoc-import
:straight (:host github :repo "tecosaur/org-pandoc-import" :files ("*.el" "filters" "preprocessors"))
)
CNCL orgmodeweb emacs
CLOSED: [2023-01-30 Mon 21:41]
- State "CNCL" from [2023-07-02 Sun 15:05]
CNCL A simple org-mode based journaling mode
CLOSED: [2023-01-31 Tue 05:04]
- State "CNCL" from [2023-07-02 Sun 15:05]
CNCL Store Emacs configs in org file using org-dotemacs
- State "CNCL" from [2023-07-02 Sun 15:05]
CNCL Install org-board
- State "CNCL" from [2023-07-02 Sun 15:05]
CNCL Org-appear
- State "CNCL" from [2023-07-02 Sun 15:06]
(use-package org-appear ;; Show hidden emphasis markers
:hook (org-mode . org-appear-mode)
)
CNCL Superstar
- State "CNCL" from [2023-07-02 Sun 15:06]
(use-package org-superstar ;; Nice bullets
:ensure t
:config
(setq org-superstar-special-todo-items t)
(add-hook 'org-mode-hook (lambda ()
(org-superstar-mode 1)
)
)
)
TODO Emacs interface for editing Etherpad pads emacs writing
TODO Emacs minor mode to automatically balance window margins emacs writing
TODO Type-writing training program on GNU Emacs emacs writing
TODO Increase size of LaTeX fragment previews
(plist-put org-format-latex-options :scale 2)
TODO Html As Markdown. Transparently edit an html file using markdown. emacs web
:URI: ATED: [2023-01-28 Sat 09:09
TODO kiwix - MELPA emacs wiki
TODO Emacs interface to edit any mediawiki site emacs wiki
TODO A mediawiki export for Emacs org-mode emacs wiki
TODO Wikipedia Infobox -> Emacs-Lisp emacs wiki
TODO Org mode wikinfo integration emacs wiki
TODO Mastodon keyboard shortcuts via Hydra
;; Not in the following hydra, but mentioned in "M-x describe-mode". Also, the README.org
;; contains several functions that aren't in my hydra.
;;
;; TAB mastodon-tl--next-tab-item
;; D mastodon-toot--delete-and-redraft-toot
;; C-S-b mastodon-tl--unblock-user
;; S-TAB mastodon-tl--previous-tab-item
;; S-RET mastodon-tl--unmute-user
;; C-S-w mastodon-tl--unfollow-user
;; S-SPC scroll-down-command
;; <backtab> mastodon-tl--previous-tab-item
;; C-M-i mastodon-tl--previous-tab-item
;; M-n mastodon-tl--next-tab-item
;; M-p mastodon-tl--previous-tab-item
(defhydra my/mastodon-help (:color blue :hint nil)
"
Timelines^^ Toots^^^^ Own Toots^^ Profiles^^ Users/Follows^^ Misc^^
^^-----------------^^^^--------------------^^----------^^-------------------^^------^^-----
_H_ome _n_ext _p_rev _r_eply _A_uthors follo_W_ _X_ lists
_L_ocal _T_hread of toot^^ wri_t_e user _P_rofile _N_otifications f_I_lter
_F_ederated (un) _b_oost^^ _e_dit ^^ _R_equests _C_opy URL
fa_V_orites (un) _f_avorite^^ _d_elete _O_wn su_G_estions _S_earch
_#_ tagged (un) p_i_n^^ ^^ _U_pdate own _M_ute user _h_elp
_@_ mentions (un) boo_k_mark^^ show _E_dits ^^ _B_lock user
boo_K_marks _v_ote^^
trendin_g_
_u_pdate _w_rite Emacs news _o_rg _s_creenshot
"
;; my custom stuff
("s" my/mastodon-toot-screenshot)
("w" my/mastodon-save-toot-for-emacs-news)
("o" (org-capture nil "m"))
;; more general things
("H" mastodon-tl--get-home-timeline)
("L" mastodon-tl--get-local-timeline)
("F" mastodon-tl--get-federated-timeline)
("V" mastodon-profile--view-favourites)
("#" mastodon-tl--get-tag-timeline)
("@" mastodon-notifications--get-mentions)
("K" mastodon-profile--view-bookmarks)
("g" mastodon-search--trending-tags)
("u" mastodon-tl--update :exit nil)
("n" mastodon-tl--goto-next-toot)
("p" mastodon-tl--goto-prev-toot)
("T" mastodon-tl--thread)
("b" mastodon-toot--toggle-boost :exit nil)
("f" mastodon-toot--toggle-favourite :exit nil)
("i" mastodon-toot--pin-toot-toggle :exit nil)
("k" mastodon-toot--bookmark-toot-toggle :exit nil)
("c" mastodon-tl--toggle-spoiler-text-in-toot)
("v" mastodon-tl--poll-vote)
("A" mastodon-profile--get-toot-author)
("P" mastodon-profile--show-user)
("O" mastodon-profile--my-profile)
("U" mastodon-profile--update-user-profile-note)
("W" mastodon-tl--follow-user)
("N" mastodon-notifications-get)
("R" mastodon-profile--view-follow-requests)
("G" mastodon-tl--get-follow-suggestions)
("M" mastodon-tl--mute-user)
("B" mastodon-tl--block-user)
("r" mastodon-toot--reply)
("t" mastodon-toot)
("e" mastodon-toot--edit-toot-at-point)
("d" mastodon-toot--delete-toot)
("E" mastodon-toot--view-toot-edits)
("I" mastodon-tl--view-filters)
("X" mastodon-tl--view-lists)
("C" mastodon-toot--copy-toot-url)
("S" mastodon-search--search-query)
("h" describe-mode)
("q" nil :exit t)
)
(use-package mastodon
:bind ("s-m" . my/mastodon-help/body))
TODO Web search from Emacs and the terminal emacs web search
TODO Maciej Barć / emacs-websearch · GitLab emacs web search
CNCL Emacs wallabag client emacs web
- State "CNCL" from [2023-08-09 Wed 12:26]
CNCL Emacs client for Pocket reading list (getpocket.com) emacs web
- State "CNCL" from [2023-07-06 Thu 11:30]
TODO Install BBDB contact manager
(use-package bbdb
:config
(bbdb-initialize 'gnus 'message 'w3)
(bbdb-insinuate-message)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
(setq bbdb-north-american-phone-numbers nil)
)
(require 'bbdb-autoloads)
(require 'bbdb)
(load "bbdb-com" t)
(bbdb-initialize 'gnus 'message 'reportmail 'w3)
(bbdb-insinuate-reportmail)
(bbdb-insinuate-message)
;; (bbdb-insinuate-sc)
(bbdb-insinuate-w3)
(setq bbdb-north-american-phone-numbers nil)
(add-hook 'gnus-startup-hook 'bbdb-insinuate-gnus)
(setq bbdb-auto-notes-alist
(quote (("To"
("w3o" . "w3o")
("plug" . "plug")
("linux" . "linux")
("emacs-commit" . "emacs commit")
("emacs" . "emacs")
("pinoyjug" . "pinoyjug")
("digitalfilipino" . "digitalfilipino")
("sacha" . "personal mail"))
("From"
("admu" company "Ateneo de Manila University")
("Organization" (".*" company 0 nil))
))))
(setq bbdb-auto-notes-ignore (quote (("Organization" . "^Gatewayed from\\\\|^Source only"))))
(setq bbdb-auto-notes-ignore-all nil)
(setq bbdb-check-zip-codes-p nil)
(setq bbdb-default-area-code 632)
(setq bbdb-default-country "Philippines")
(setq bbdb-ignore-some-messages-alist (quote (("From" . "hotmail") ("To" . "handhelds") ("From" . "yahoo.com"))))
(setq bbdb-notice-hook (quote (bbdb-auto-notes-hook)))
(setq bbdb/mail-auto-create-p t)
(setq bbdb/news-auto-create-p (quote bbdb-ignore-some-messages-hook))
TODO bbdb-csv-import - MELP emacs archive
TODO Synchronize calendars and contacts. calendar carddav
TODO org-contacts - MELPA emacs contacts
TODO org-contacts2vcard emacs contacts
TODO Org sync with Google Tasks emacs work
TODO Hanno Perrey / khalel · GitLab emacs calendar carddav
TODO pomodoro technique for org-mode emacs work
TODO Timesheet management add-on for Emacs org-mode emacs work
TODO Flexible Bi-directional sync for Emacs BBDB, Google Contacts, MS Outlook, MS Exchange, CardDAV emacs carddav
TODO vCard Import and Export for BBDB emacs
TODO Display lunar phase and sunrise/sunset time in emacs mode line emacs calendar
TODO News and mail on Gnus
(setq
user-mail-address "amr@gharbeia.net" ; $EMAIL
user-full-name "Amr Gharbeia") ; $NAME
smtpmail-smtp-server "imap.fastmail.com" ; $SMTPSERVER
send-mail-function 'smtpmail-send-it ;
smtpmail-smtp-service 587 ; SMTP port
; gnus-select-method '(nntp "foo.bar.com") ; Connect to an NNTP server
)
;; A list of additional servers
(add-to-list gnus-secondary-select-methods
'((nnspool "localhost")
(nnml "")))
;; nnml gets credentials here.
(setq mail-sources
'((pop :server "imap.fastmail.com"
:user "amr@gharbeia.net")))
(setq user-mail-address "amr@gharbeia.net") ; $EMAIL
(setq user-full-name "Amr Gharbeia") ; $NAME
(setq smtpmail-smtp-server "imap.fastmail.com") ; $SMTPSERVER
(setq send-mail-function 'smtpmail-send-it) ;
(setq smtpmail-smtp-service 587) ; SMTP port
(setq gnus-select-method '(nnimap "imap.gmail.com") ; Connect to an NNTP server
;; A list of additional servers
(add-to-list gnus-secondary-select-methods
'((nnspool "localhost")
(nnml "")))
;; nnml gets credentials here.
(setq mail-sources
'((pop :server "imap.fastmail.com"))
)
TODO Keep handy notes of Gnus articles with helm and org emacs email
TODO Use Linux/Windows/Mac mail program to send mail from Emacs emacs email
(use-package desktop-mail-user-agent
:ensure t
:config
(setq mail-user-agent sendmail-user-agent)
)
TODO Install elfeed
TODO Make elfeed work with tt-rss using elfeed-protocol
TODO Elfeed with Tiny Tiny RSS emacs rss
TODO Easy auto-tagging for elfeed-protocol. emacs rss
TODO A frontend for elfeed emacs rss
TODO Configure the Elfeed RSS reader with an Orgmode file emacs rss
TODO Provide extra protocols to make like Fever, NewsBlur, Nextcloud/ownCloud News and Tiny Tiny RSS work with elfeed emacs rss
TODO Youtube integration for Elfeed, the feed reader for Emacs emacs rss video
TODO Emacs interface to tt-rss emacs rss
TODO mastodon - MELPA emacs social_network
TODO A Gnus backend for Twitter emacs twitter
TODO A Gnus backend for Reddit emacs reddit
TODO Emacs Mode for Reddit emacs web reddit
TODO Install Memacs
- State "DONE" from "NEXT" [2023-08-07 Mon 13:39]
TODO Recipes emacs food
This is probably dated and unmaintained.
(use-package org-chef
:ensure t)
(add-to-list 'org-capture-templates '("c"
"Cookbook"
entry
(file "cookbook.org")
"%(org-chef-get-recipe-from-url)"
:empty-lines 1
)
)
(add-to-list 'org-capture-templates '("m"
"Manual Cookbook"
entry
(file "cookbook.org")
"* %^{Recipe title: }\n :PROPERTIES:\n :source-url:\n :servings:\n :prep-time:\n :cook-time:\n :ready-in:\n :END:\n** Ingredients\n %?\n** Directions\n\n"
)
)
TODO Philip Woods / org-if · GitLab emacs writing
TODO EmacsWiki: amazon.el
TODO Emacs minor mode for showing the price of Bitcoin, Ethereum, and other cryptocurrencies. emacs bitcoin
TODO Currency converter in Emacs emacs money
TODO Recording and viewing expenses using Emacs emacs money
TODO Hass: An Emacs package for interacting with Home Assistant emacs home
TODO View an NOAA weather forecast for a specific geographic location. emacs weather
TODO OpenStreetMap viewer for Emacs emacs maps
TODO OpenSCAD Emacs mode emacs archive physibles
TODO Emacs client for Yaesu CAT control of FT991A emacs radio
TODO Org CV
TODO Play/Download crossword puzzles in Emacs emacs games
TODO ellama
(use-package ellama
:init
(setq ellama-language "English")
(require 'llm-ollama)
(setq ellama-buffer-mode org)
(setopt ellama-provider
(make-llm-ollama
:chat-model "mistral:7b-instruct-v0.2-q6_K"
:embedding-model "mistral:7b-instruct-v0.2-q6_K")
)
)
TODO LLM
(use-package llm-refactoring
:init
(require 'llm-openai)
(setq llm-refactoring-provider (make-llm-openai :key (auth-source-pass-get "api-key" "www/openai.com/amr@gharbeia.net")))
)
TODO Llama-cpp in Emacs
(use-package llama-cpp
:ensure t)
TODO org-ai: Emacs as your personal AI assistant. Use LLMs such as ChatGPT or LLaMA for text generation or DALL-E and Stable Diffusion for image generation. Also supports speech input / output.
(use-package org-ai
:ensure t
:commands (org-ai-mode
org-ai-global-mode)
:init
(add-hook 'org-mode-hook #'org-ai-mode) ; enable org-ai in org-mode
(org-ai-global-mode) ; installs global keybindings on C-c M-a
:config
(setq org-ai-default-chat-model "gpt-4") ; if you are on the gpt-4 beta:
(org-ai-install-yasnippets)) ; if you are using yasnippet and want `ai` snippets
TODO openai
(use-package openai
:config (setq openai-key (auth-source-pass-get "api-key" "www/openai.com/amr@gharbeia.net")
openai-user (auth-source-pass-get "login" "www/openai.com/amr@gharbeia.net")
)
)
(use-package chatgpt
:config (setq chatgpt-model "gpt-4"
chatgpt-max-tokens "2000"
chatgpt-temperature "1.0"
chatgpt-input-method 'window
chatgpt-spinner-type 'moon
chatgpt-display tokens-info t
chatgp-animate-text -t
chatp-gpt-animate-fps 5
)
)
(use-package dall-e
:config (setq dall-e-n 5
dall-e-size "256x256"
dall-e-spinner-type 'moon
dall-e-cache-dir "~/Downloads"
dall-e-display-width 200
)
)
(use-package codegpt
:config (setq codegpt-tunnel 'completion
codegpt-model "gpt-4"
codegpt-max-tokens
codegpt-temperature
)
)
TODO org-ai
(use-package org-ai
:commands (org-ai-mode
org-ai-global-mode)
:init
(add-hook 'org-mode-hook #'org-ai-mode) ; enable org-ai in org-mode
(org-ai-global-mode) ; installs global keybindings on C-c M-a
:config
(org-ai-install-yasnippets)
(setq org-ai-default-chat-model "gpt-4"
org-ai-openai-api-token (auth-source-pass-get "api-key" "www/openai.com/amr@gharbeia.net")
)
)
Only needed if you want speach input and output
(use-package greader
(require 'whisper)
(setq org-ai-talk-say-words-per-minute 210
org-ai-talk-say-voice "Karen"
)
)
(use-package whisper
:load-path (concat (getenv "HOME") "/library/src/git/github.com/natrys/whisper.el")
:bind ("C-H-r" . whisper-run)
:config
(setq whisper-install-directory (concat (getenv "HOME") "/.emacs.d/whisper")
whisper-model "large"
whisper-language "en"
whisper-translate nil
)
)
TODO gptai
(use-package gptai
set configurations
(setq gptai-model "gpt-4"
gptai-username (auth-source-pass-get "login" "www/openai.com/amr@gharbeia.net")
gptai-api-key (auth-source-pass-get "api-key" "www/openai.com/amr@gharbeia.net")
gptai-max-tokens 2000
)
;; set keybindings optionally
(global-set-key (kbd "C-c o") 'gptai-send-query)
)
DONE Install anki-editor emacs learning
- State "DONE" from "TODO" [2023-08-21 Mon 13:36]
(use-package anki-editor
:ensure t
)
CNCL Install anki-mode emacs learning
- State "CNCL" from "TODO" [2023-08-21 Mon 13:31]
This uses markdown, while anki-editor uses org-mode
A major mode for creating Anki cards.
TODO Macros
(use-package elmacro
)
TODO Restart Emacs from Emacs
(use-package restart-emacs
:bind* (("C-x M-c" . restart-emacs)
)
)
TODO Save & shutdown when we get an "end of session" signal on dbus
(require 'dbus)
(defun my/register-signals (client-path)
"Register for the 'QueryEndSession' and 'EndSession' signals from Gnome SessionManager.
When we receive 'QueryEndSession', we just respond with 'EndSessionResponse(true, \"\")'. When we receive 'EndSession', we append this EndSessionResponse to kill-emacs-hook, and then call kill-emacs. This way, we can shut down the Emacs daemon cleanly before we send our 'ok' to the SessionManager."
(setq my/gnome-client-path client-path)
(let ( (end-session-response (lambda (&optional arg)
(dbus-call-method-asynchronously
:session "org.gnome.SessionManager" my/gnome-client-path
"org.gnome.SessionManager.ClientPrivate" "EndSessionResponse" nil
t "")
)
)
)
(dbus-register-signal
:session "org.gnome.SessionManager" my/gnome-client-path
"org.gnome.SessionManager.ClientPrivate" "QueryEndSession"
end-session-response )
(dbus-register-signal
:session "org.gnome.SessionManager" my/gnome-client-path
"org.gnome.SessionManager.ClientPrivate" "EndSession"
`(lambda (arg)
(add-hook 'kill-emacs-hook ,end-session-response t)
(kill-emacs)
)
)
)
)
;; DESKTOP_AUTOSTART_ID is set by the Gnome desktop manager when emacs is autostarted. We can use it to register as a client with gnome SessionManager.
(dbus-call-method-asynchronously
:session "org.gnome.SessionManager"
"/org/gnome/SessionManager"
"org.gnome.SessionManager" "RegisterClient" 'my/register-signals
"Emacs server" (getenv "DESKTOP_AUTOSTART_ID")
)
TODO Ebib Manual
TODO Tips for refiling into org roam dailies? : r/OrgRoam
This has the solution to my refile-to-org-roam-dailies blues
TODO GitHub - s-kostyaev/elisa: ELISA (Emacs Lisp Information System Assistant) is a project designed to help Emacs users quickly find answers to their questions related to Emacs and Emacs Lisp. Utilizing the powerful Ellama package, ELISA provides accurate and relevant responses to user queries, enhancing productivity and efficiency in the Emacs environment.
Install this when it arrives in the repositories
TODO Lisp Operating System
Wonderful
TODO Deft for Emacs
TODO GitHub - chrisbarrett/nursery: Programs and libs that I haven't gotten around to formally packaging
TODO roam-buffer shows full content of backlinks/reflinks · Issue #1934 · org-roam/org-roam · GitHub
TODO Tweaking Emacs on Android via Termux: xclip, xdg-open, syncthing conflicts :: Sacha Chua emacs android
TODO EmacsWiki: Gnus Tutorial emacs
DONE Emacs Turbo-Charges My Writing // Take on Rules emacs
- State "DONE" from "TODO" [2024-02-01 Thu 13:50]
TODO GitHub - emacs-pe/crontab-mode emacs
TODO GNU ELPA - csv-mode emacs
TODO GitHub - emacs-helm/helm-org emacs
TODO GitHub - alphapapa/org-rifle: Rifle through your Org-mode buffers and acquire your target emacs
TODO auto-dictionary-mode emacs
TODO GitHub - jxq0/org-tidy: 🧹 An Emacs minor mode to automatically tidy org-mode property drawers emacs
TODO A custom org link type for pdf-tools emacs
TODO Adapting Emacs for moldable development emacs
TODO The Age-Old Question: When to Declare "Configuration Bankruptcy"? : r/emacs emacs
The two tops here
TODO Your AI Stack in Your Editor emacs
TODO CSS for Org-exported HTML emacs
TODO Deft for Emacs emacs
TODO EmacsWiki: Window Configuration emacs
TODO Org-mode - Literate Programming Recipes emacs
TODO Introduction to Literate Programming emacs
TODO Building a Emacs Org-Mode Blog emacs publishing
TODO SSH config export for org-mode emacs
TODO dots/config.el at master · jethrokuan/dots · GitHub
Very good Emacs configs by the maker of org-roam
TODO Emacs application framework : r/emacs emacs
CNCL dotemacs/gemacsclient at master · karlicoss/dotemacs · GitHub emacs
- State "CNCL" from [2023-08-11 Fri 13:58]
TODO Microblog Server radio software emacs
Microblogging on JS8Call
TODO The Emacsmirror emacs
The Emacsmirror is a growing collection of Emacs Lisp packages. All mirrored packages are available as Git repositories. In most cases this is done by mirroring the upstream Git repository, but if upstream uses something else, then the mirror nevertheless makes the package available as a Git repository.
TODO dot/emacs.d at master · whacked/dot · GitHub emacs
TODO Don’t manage work email with Emacs emacs email
TODO A simple Emacs interface to TTS (text-to-speech) engines emacs audio
TODO Project Interaction Library for Emacs emacs work
TODO Manage org-mode TODOs for your projectile projects emacs work
CNCL Store your emacs config as an org file, and load code snippets based on tag matches. emacs
CLOSED: [2023-07-06 Thu 05:40]
TODO GitHub - antham/git-backup emacs archive computers
TODO crontab-mode emacs
TODO cheatsheet emacs
TODO More Productive with Emacs: Writing, Researching, Publishing emacs
Very good introduction, tutorial and configs to get one started with Emacs for prose purposes.
TODO An Agenda for Life With Org Mode - The Chronicle emacs agenda
TODO How I Take Notes with Org-roam
By the maker of org-roam himself
TODO EmacsWiki emacs
DONE GitHub - pprevos/EmacsLife: Managing your life and work with Emacs emacs
CLOSED: [2023-01-30 Mon 07:25]
Great Emacs and Org-mode setup tutorial and config files
DONE My Emacs Setup | Clinton Liddick emacs
- State "DONE" from "TODO" [2023-07-02 Sun 15:10]
Daemon Terminal support Use-package for portability
DONE My Minimal Emacs Setup | Sandeep Nambiar emacs
CLOSED: [2023-01-23 Mon 13:37]
TODO Org Mode - Organize Your Life In Plain Text! org_mode organisation emacs
- State "DONE" from "TODO" [2024-02-02 Fri 16:37]
TODO My Emacs on Android Setup - lambda.cx blog emacs
TODO Emacs X Window Manager emacs
DONE An Emacs Tutorial: Beginner's Guide to Emacs - Mastering Emacs emacs
CLOSED: [2023-01-20 Fri 04:31]
DONE Behind the code: project planning - Devalot emacs
CLOSED: [2023-01-21 Sat 09:54]
TODO Debian-el emacs
(use-package debian-el
:ensure t
)
DONE Digitizing All Your Paper Stuff emacs
CLOSED: [2023-01-13 Fri 13:22]
DONE EmacsWiki: Learning Emacs emacs
CLOSED: [2023-01-21 Sat 09:58]
DONE Getting Started • Zettelkasten Method emacs
CLOSED: [2023-01-15 Sun 04:52]
DONE How to Design File Management for a Company emacs
CLOSED: [2023-01-21 Sat 08:37]
DONE How to learn Emacs :: About this guide to Emacs emacs
CLOSED: [2023-01-20 Fri 04:37]
DONE How to Use Tags emacs
CLOSED: [2023-01-21 Sat 08:40]
DONE metajack.im - Journaling with Emacs OrgMode emacs
CLOSED: [2023-01-21 Sat 09:54]
DONE Org for GTD and other Task managment systems emacs
CLOSED: [2023-01-14 Sat 03:21]
DONE Orgmode for GTD emacs
CLOSED: [2023-01-14 Sat 03:27]
DONE org-mode snippets | tychoish emacs
CLOSED: [2023-01-21 Sat 09:54]
DONE Per-contact FROM-email Addresses for Users Of mutt and org-contacts.el emacs
CLOSED: [2023-01-15 Sun 10:56]
DONE The Tag «decentralization» emacs
CLOSED: [2023-01-17 Tue 03:49]
DONE UOMF: Linking Headings emacs
CLOSED: [2023-01-14 Sat 03:39]
DONE UOMF: Managing web bookmarks with Org Mode emacs
CLOSED: [2023-01-14 Sat 03:16]
DONE UOMF: My Current Mobile Capture Process emacs
CLOSED: [2023-01-14 Sat 03:33]
DONE UOMF: My Current Org Mode Files and Heading Structure emacs
CLOSED: [2023-01-15 Sun 10:57]
I like the quantified self things here. Need to learn more.
DONE UOMF: On How to Define Projects in Org Mode emacs
CLOSED: [2023-01-13 Fri 10:12]
DONE UOMF: Reference Management with Org Mode emacs
CLOSED: [2023-01-14 Sat 03:00]
This could replace Zotero for academic papers.
TODO UOMF: Using Template Files for Pandoc Exports to Word or LibreOffice
Apparently good scanner drivers for Linux
TODO GitHub - atykhonov/google-translate: Emacs interface to Google Translate emacs languages translation
TODO GitHub - tmalsburg/guess-language.el: Emacs minor mode that detects the language you're typing in. Automatically switches spell checker. Supports multiple languages per document. emacs languages
:URI: https://github.com/tmalsburg/guess-language.el :TITLE: GitHub - tmalsburg/guess-language.el: Emacs minor mode that detects the language you're typing in. Automatically switches spell checker. Supports multiple languages per document.
TODO GitHub - mhayashi1120/Emacs-langtool: LanguageTool for Emacs emacs writing languages
TODO GitHub - aaron-em/ten-hundred-mode.el: A thing to help people use only the ten hundred most usual English words. emacs languages writing
TODO GitHub - andreasjansson/language-detection.el: Automatic programming language detection of code snippets, in Emacs Lisp emacs languages
TODO GitHub - emacsmirror/po-mode: Major mode for GNU gettext PO files emacs software translation
TODO GitHub - abo-abo/define-word: iDsplay the definition of word at point in Emacs emacs languages
TODO GitHub - mbork/emacs-cat: A simplistic Emacs CAT (Computer Aided Translation) mode emacs translation
TODO Emacs as a translator's tool emacs translation
CNCL Flycheck Eask
- State "CNCL" from "TODO" [2024-07-03 Wed 10:23]
Eask is mainly for development.
DONE Recoll
- State "DONE" from "TODO" [2023-08-18 Fri 13:05]
TODO Blocked repairing actionable.org from org-gtd-refile–group-p error · Issue #209 · Trevoke/org-gtd.el · GitHub
Recompile all Emacs packages with
(byte-recompile-directory package-user-dir nil :force)