diff --git a/bootstrap.org b/bootstrap.org index 5c2da70..8391783 100644 --- a/bootstrap.org +++ b/bootstrap.org @@ -6,21 +6,23 @@ A literate programming file for bootstraping my Emacs Configuration. #+BEGIN_SRC emacs-lisp :exports none -;;; bootstrap.el --- file for bootstraping my Emacs Configuration -;; -;; Copyright (C) 2021 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: October 8, 2021 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/bootstrap.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; bootstrap.el --- file for bootstraping my Emacs Configuration + ;; + ;; © 2021-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: October 8, 2021 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/bootstrap.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction This file contains all the variable definitions and library loading for the other files in my project. diff --git a/elisp/boxes-extras.el b/elisp/boxes-extras.el index 2d46157..cce7bb5 100644 --- a/elisp/boxes-extras.el +++ b/elisp/boxes-extras.el @@ -1,7 +1,9 @@ ;;; BOXES-EXTRAS --- Refiling Subtrees to Proper Org Files ;; ;; Author: Howard Abrams -;; Copyright © 2019, Howard Abrams, all rights reserved. +;; © 2019-2022 Howard Abrams, all rights reserved. +;; This work is licensed under a Creative Commons Attribution 4.0 International License. +;; See http://creativecommons.org/licenses/by/4.0/ ;; Created: 7 January 2019 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/elisp/boxes.el b/elisp/boxes.el index 2fc17eb..8d59d32 100644 --- a/elisp/boxes.el +++ b/elisp/boxes.el @@ -1,7 +1,9 @@ ;;; BOXES --- An opinionated approach to a GTD workflow ;; ;; Author: Howard Abrams -;; Copyright © 2019, Howard Abrams, all rights reserved. +;; © 2019-2022 Howard Abrams, all rights reserved. +;; This work is licensed under a Creative Commons Attribution 4.0 International License. +;; See http://creativecommons.org/licenses/by/4.0/ ;; Created: 7 January 2019 ;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; diff --git a/ha-agendas.org b/ha-agendas.org index 778ba3b..4754524 100644 --- a/ha-agendas.org +++ b/ha-agendas.org @@ -6,21 +6,23 @@ A literate programming configuration for fancy agenda and todo lists. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-agendas.el --- A literate programming configuration for fancy agenda and todo lists. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 18, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-agendas.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; ha-agendas --- Configuration for fancy agenda and todo lists. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 18, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-agendas.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction All the code we describe in this file needs loading /after/ org. diff --git a/ha-aux-apps.org b/ha-aux-apps.org index 102ff63..34bd0da 100644 --- a/ha-aux-apps.org +++ b/ha-aux-apps.org @@ -6,9 +6,11 @@ A literate programming file for helper apps in Emacs. #+BEGIN_SRC emacs-lisp :exports none - ;;; ha-aux-apps.el --- A literate programming file for helper apps in Emacs. -*- lexical-binding: t; -*- + ;;; ha-aux-apps --- Configuring helper apps in Emacs. -*- lexical-binding: t; -*- ;; - ;; Copyright (C) 2021 Howard X. Abrams + ;; © 2021-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ ;; ;; Author: Howard X. Abrams ;; Maintainer: Howard X. Abrams diff --git a/ha-capturing-notes.org b/ha-capturing-notes.org index 7b9c5c5..00d12c2 100644 --- a/ha-capturing-notes.org +++ b/ha-capturing-notes.org @@ -6,21 +6,23 @@ A literate programming file for configuring org for capturing notes. #+BEGIN_SRC emacs-lisp :exports none -;;; capturing-notes.el --- A literate programming file for configuring org for capturing notes. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 18, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-capturing-notes.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; capturing-notes --- Configuring org for capturing notes. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 18, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-capturing-notes.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction Capturing (or collecting) notes from files, browsers, and meetings, is a great way to get organized. diff --git a/ha-config.org b/ha-config.org index 051088e..5e8109a 100644 --- a/ha-config.org +++ b/ha-config.org @@ -6,21 +6,23 @@ A literate programming file for configuring Emacs. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-config.org --- A literate programming file for configuring Emacs. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020-2021 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 10, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-config.org -;; Using `find-file-at-point', and tangle the file to recreate this one . -;; -;;; Code: + ;;; ha-config --- Emacs configuration. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 10, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-config.org + ;; Using `find-file-at-point', and tangle the file to recreate this one . + ;; + ;;; Code: #+END_SRC * Basic Configuration New way to display line-numbers. I set mine to =relative= so that I can easily jump up and down by that value. Set this to =nil= to turn off, or =t= to be absolute. diff --git a/ha-display.org b/ha-display.org index 0b69f14..e28a96e 100644 --- a/ha-display.org +++ b/ha-display.org @@ -4,24 +4,25 @@ #+FILETAGS: :emacs: A literate programming file to configure the Emacs UI. -# *Note:* After each change, /tangle it/ to the source destination with ~C-c C-v t~. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-display.org --- A literate programming file to configure the Emacs UI. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 10, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-display.org -;; Using `find-file-at-point', and tangle the file to recreate this one . -;; -;;; Code: + ;;; ha-display --- Emacs UI configuration. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 10, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-display.org + ;; Using `find-file-at-point', and tangle the file to recreate this one . + ;; + ;;; Code: #+END_SRC * Dashboard The [[https://github.com/emacs-dashboard/emacs-dashboard][emacs-dashboard]] project makes a nicer startup screen. diff --git a/ha-email.org b/ha-email.org index ea757cb..a624c89 100644 --- a/ha-email.org +++ b/ha-email.org @@ -6,21 +6,23 @@ A literate configuration file for email using Notmuch. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-email.el --- A literate configuration file for email using Notmuch. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 16, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-email.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; ha-email --- Email configuration using Notmuch. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 16, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-email.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction To use this system, begin with ~SPC a m~ (after a ~SPC a n~ to asychronously download new mail ... which probably should be running regularly). diff --git a/ha-feed-reader.org b/ha-feed-reader.org index b8fa2dd..36e216a 100644 --- a/ha-feed-reader.org +++ b/ha-feed-reader.org @@ -6,21 +6,23 @@ A literate programming file for configuring =elfeed= in Emacs. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-config.org --- A literate programming file for configuring elfeed. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020-2021 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 10, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-feed-reader.org -;; Using `find-file-at-point', and tangle the file to recreate this one . -;; -;;; Code: + ;;; ha-config --- ElFeed configuration. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 10, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-feed-reader.org + ;; Using `find-file-at-point', and tangle the file to recreate this one . + ;; + ;;; Code: #+END_SRC * Configuring Elfeed Let's get our feeds from a collection of org mode files. By default, Doom configures =rmh-elfeed-org-files= to [[file:~/Dropbox/org/elfeed.org][elfeed.org]] in =org-directory=, so that will be fine. diff --git a/ha-irc.org b/ha-irc.org index f4060bd..af538bc 100644 --- a/ha-irc.org +++ b/ha-irc.org @@ -6,21 +6,23 @@ A literate programming configuration file for IRC communiction. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-irc.el --- configuration for IRC communication. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: December 10, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-irc.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; ha-irc.el --- configuration for IRC communication. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: December 10, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-irc.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction My IRC /needs/ are basic, but I'm not sure which I want to use. diff --git a/ha-org-babel.org b/ha-org-babel.org deleted file mode 100644 index 37958c7..0000000 --- a/ha-org-babel.org +++ /dev/null @@ -1,77 +0,0 @@ -#+TITLE: Literate Programming with Org -#+AUTHOR: Howard X. Abrams -#+DATE: 2021-11-05 -#+FILETAGS: :emacs: - -This section is primarily about development in a literate way, especially focused on [[http://howardism.org/Technical/Emacs/literate-devops.html][literate devops]]. - -#+BEGIN_SRC emacs-lisp :exports none - ;;; ha-org-babel.el --- -*- lexical-binding: t; -*- - ;; - ;; Copyright (C) 2021 Howard X. Abrams - ;; - ;; Author: Howard X. Abrams - ;; Maintainer: Howard X. Abrams - ;; Created: November 5, 2021 - ;; - ;; This file is not part of GNU Emacs. - ;; - ;; *NB:* Do not edit this file. Instead, edit the original literate file at: - ;; ~/other/hamacs/ha-org-babel.org - ;; And tangle the file to recreate this one. - ;; - ;;; Code: - #+END_SRC - -* Introduction -Let's turn on all the languages: -#+BEGIN_SRC emacs-lisp - (use-package org - :init - (setq org-confirm-babel-evaluate nil - org-src-fontify-natively t - org-src-tab-acts-natively t) - :config - (add-to-list 'org-src-lang-modes '("dot" . "graphviz-dot")) - - (org-babel-do-load-languages 'org-babel-load-languages - '((shell . t) - (js . t) - (emacs-lisp . t) - (clojure . t) - (python . t) - (ruby . t) - (dot . t) - (css . t) - (plantuml . t)))) -#+END_SRC - -#+RESULTS: -: t - - - -* Technical Artifacts :noexport: - -Let's provide a name so that the file can be required: - -#+BEGIN_SRC emacs-lisp :exports none - (provide 'ha-org-babel) - ;;; ha-org-babel.el ends here - #+END_SRC - -Before you can build this on a new system, make sure that you put the cursor over any of these properties, and hit: ~C-c C-c~ - -#+DESCRIPTION: - -#+PROPERTY: header-args:sh :tangle no -#+PROPERTY: header-args:emacs-lisp :tangle yes -#+PROPERTY: header-args :results none :eval no-export :comments no mkdirp yes - -#+OPTIONS: num:nil toc:nil todo:nil tasks:nil tags:nil date:nil -#+OPTIONS: skip:nil author:nil email:nil creator:nil timestamp:nil -#+INFOJS_OPT: view:nil toc:nil ltoc:t mouse:underline buttons:0 path:http://orgmode.org/org-info.js - -# Local Variables: -# eval: (add-hook 'after-save-hook #'org-babel-tangle t t) -# End: diff --git a/ha-org-clipboard.org b/ha-org-clipboard.org index c90379d..996eddc 100644 --- a/ha-org-clipboard.org +++ b/ha-org-clipboard.org @@ -4,24 +4,25 @@ #+FILETAGS: :emacs: A literate programming file of functions for formatting the clipboard. -# *Note:* After each change, /tangle it/ to the source destination with ~C-c C-v t~. #+BEGIN_SRC emacs-lisp :exports none -;;; org-clipboard.el --- A literate programming file of functions for formatting the clipboard. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 15, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/org-clipboard.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; org-clipboard --- Functions for formatting the clipboard. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 15, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/org-clipboard.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction I would like to paste the formatted contents of the clipboard into an Org file /as org-formatted text/. diff --git a/ha-org-graphviz-example.png b/ha-org-graphviz-example.png new file mode 100644 index 0000000..0cbb3f5 Binary files /dev/null and b/ha-org-graphviz-example.png differ diff --git a/ha-org-journaling.org b/ha-org-journaling.org index 3fc2393..7fe4002 100644 --- a/ha-org-journaling.org +++ b/ha-org-journaling.org @@ -6,21 +6,23 @@ A literate programming configuration file for extending the Journaling capabilities. #+BEGIN_SRC emacs-lisp :exports none -;;; org-journaling.el --- A literate programming configuration file for extending the Journaling capabilities. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 24, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/org-journaling.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; org-journaling --- Configuring journals in org. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 24, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/org-journaling.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction Using the [[https://github.com/bastibe/org-journal][org-journal]] project to easily create /daily/ journal entries: diff --git a/ha-org-publishing.org b/ha-org-publishing.org index 42b5b1c..f4a3c8e 100644 --- a/ha-org-publishing.org +++ b/ha-org-publishing.org @@ -6,21 +6,23 @@ A literate programming file for publishing my website using org. #+BEGIN_SRC emacs-lisp :exports none -;;; org-publishing.el --- Publishing my website using org. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: December 22, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/org-publishing.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; org-publishing --- Publishing my website using org. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: December 22, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/org-publishing.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction While the Emacs community have a plethora of options for generating a static website from org-formatted files, I keep my pretty simple, and just use the standard =org-publish= feature. diff --git a/ha-org-sprint.org b/ha-org-sprint.org index e317e82..0f341b8 100644 --- a/ha-org-sprint.org +++ b/ha-org-sprint.org @@ -4,24 +4,25 @@ #+FILETAGS: :emacs: A literate program for configuring org files for work-related notes. -# *Note:* After each change, /tangle it/ to the source destination with ~C-c C-v t~. #+BEGIN_SRC emacs-lisp :exports none -;;; org-sp rint.el --- A literate program for configuring org files for work-related notes. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 25, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/org-sprint.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; org-sprint --- Configuring org files for work-related notes. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 25, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/org-sprint.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction diff --git a/ha-org-word-processor.org b/ha-org-word-processor.org index e5a0846..6993fb5 100644 --- a/ha-org-word-processor.org +++ b/ha-org-word-processor.org @@ -4,24 +4,25 @@ #+FILETAGS: :emacs: A literate programming file for making Org file more readable. -# *Note:* After each change, /tangle it/ to the source destination with ~C-c C-v t~. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-org-word-processor.org --- A literate programming file for making Org file more readable. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 10, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-org-word-processor.org -;; Using `find-file-at-point', and tangle the file to recreate this one . -;; -;;; Code: + ;;; ha-org-word-processor --- Making Org file more readable. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 10, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-org-word-processor.org + ;; Using `find-file-at-point', and tangle the file to recreate this one . + ;; + ;;; Code: #+END_SRC * Introduction I like having org-mode files look more like editing in a word processor than having it look like programming code. But that is just me. diff --git a/ha-org.org b/ha-org.org index 29de898..074aa7d 100644 --- a/ha-org.org +++ b/ha-org.org @@ -6,20 +6,23 @@ A literate programming file for configuring org-mode and those files. #+BEGIN_SRC emacs-lisp :exports none -;; -;; ©2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 18, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-org.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; ha --- Org configuration. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 18, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-org.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Use Package @@ -30,6 +33,7 @@ Org is a /large/ complex beast with a gazillion settings, so I discuss these lat :init <> <> + <> :config <> @@ -38,6 +42,7 @@ Org is a /large/ complex beast with a gazillion settings, so I discuss these lat <> <> <> + <> <> <> <> @@ -258,8 +263,14 @@ Of course, I need an 'undo' feature when the meeting is over… #+END_SRC ** Misc *** Babel Blocks +I use [[https://orgmode.org/worg/org-contrib/babel/intro.html][org-babel]] (obviously) and don’t need confirmation before evaluating a block: +#+NAME: ob-configuration +#+BEGIN_SRC emacs-lisp :tangle no + (setq org-confirm-babel-evaluate nil + org-src-fontify-natively t + org-src-tab-acts-natively t) +#+END_SRC Whenever I edit Emacs Lisp blocks from my tangle-able configuration files, I get a lot of superfluous warnings. Let's turn them off. - #+NAME: no-flycheck-in-org #+BEGIN_SRC emacs-lisp :tangle no (defun disable-flycheck-in-org-src-block () @@ -282,6 +293,28 @@ And turn on ALL the languages: (css . t) (plantuml . t))) #+END_SRC + +The [[https://graphviz.org/][graphviz project]] can be written in org blocks, and then rendered as an image: +#+NAME: ob-graphviz +#+BEGIN_SRC emacs-lisp :tangle no + (add-to-list 'org-src-lang-modes '("dot" . "graphviz-dot")) +#+END_SRC + +For example: +#+BEGIN_SRC dot :file ha-org-graphviz-example.png + digraph G { + main -> parse -> execute; + main -> init; + main -> cleanup; + execute -> make_string; + execute -> printf + init -> make_string; + main -> printf; + execute -> compare; + } +#+END_SRC +#+ATTR_ORG: :width 400px +[[file:ha-org-graphviz-example.png]] *** Next Image When I create images or other artifacts that I consider /part/ of the org document, I want to have them based on the org file, but with a prepended number. Keeping track of what numbers are now free is difficult, so for a /default/ let's figure it out: diff --git a/ha-passwords.org b/ha-passwords.org index 0246e83..63462e0 100644 --- a/ha-passwords.org +++ b/ha-passwords.org @@ -6,21 +6,23 @@ A literate programming version for Emacs code to generate and store passwords. #+BEGIN_SRC emacs-lisp :exports none - ;;; ha-passwords.el --- A literate programming version for Emacs code to generate and store passwords. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2021 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: January 11, 2021 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-passwords.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; ha-passwords --- Emacs code to generate and store passwords. -*- lexical-binding: t; -*- + ;; + ;; © 2021-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: January 11, 2021 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-passwords.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction Let's assume that I store a bunch of words in data files: diff --git a/ha-programming-python.org b/ha-programming-python.org index 6e7c7ec..7feb894 100644 --- a/ha-programming-python.org +++ b/ha-programming-python.org @@ -6,9 +6,11 @@ A literate programming file for configuring Python. #+BEGIN_SRC emacs-lisp :exports none - ;;; ha-programming-python.el --- A literate programming file for configuring Python. -*- lexical-binding: t; -*- + ;;; ha-programming-python --- Python configuration. -*- lexical-binding: t; -*- ;; - ;; Copyright (C) 2021 Howard X. Abrams + ;; © 2021-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ ;; ;; Author: Howard X. Abrams ;; Maintainer: Howard X. Abrams diff --git a/ha-programming-scheme.org b/ha-programming-scheme.org index 15e8092..ff6b663 100644 --- a/ha-programming-scheme.org +++ b/ha-programming-scheme.org @@ -1,15 +1,16 @@ #+TITLE: Programming in Scheme for SICP #+AUTHOR: Howard X. Abrams -#+EMAIL: howard.abrams@gmail.com #+DATE: 2022-03-01 #+FILETAGS: :emacs: A literate programming file configuring Emacs. #+BEGIN_SRC emacs-lisp :exports none - ;;; ha-programming-scheme.el --- A literate programming file configuring Emacs. -*- lexical-binding: t; -*- + ;;; ha-programming-scheme --- Configuration for Scheme. -*- lexical-binding: t; -*- ;; - ;; Copyright (C) 2022 Howard X. Abrams + ;; © 2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ ;; ;; Author: Howard X. Abrams ;; Maintainer: Howard X. Abrams diff --git a/ha-programming.org b/ha-programming.org index 2ff0d50..759014d 100644 --- a/ha-programming.org +++ b/ha-programming.org @@ -6,21 +6,23 @@ A literate programming file for helping me program. #+BEGIN_SRC emacs-lisp :exports none -;;; general-programming.el --- A literate programming file for helping me program. -*- lexical-binding: t; -*- -;; -;; Copyright © 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: October 26, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/general-programming.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; general-programming --- Configuration for general languages. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: October 26, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/general-programming.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Introduction diff --git a/ha-remoting.org b/ha-remoting.org index 9af59c6..619e160 100644 --- a/ha-remoting.org +++ b/ha-remoting.org @@ -6,21 +6,23 @@ A literate configuration for accessing remote systems. #+BEGIN_SRC emacs-lisp :exports none -;;; ha-remoting.el --- A literate configuration for accessing remote systems. -*- lexical-binding: t; -*- -;; -;; Copyright (C) 2020 Howard X. Abrams -;; -;; Author: Howard X. Abrams -;; Maintainer: Howard X. Abrams -;; Created: September 25, 2020 -;; -;; This file is not part of GNU Emacs. -;; -;; *NB:* Do not edit this file. Instead, edit the original literate file at: -;; ~/other/hamacs/ha-remoting.org -;; And tangle the file to recreate this one. -;; -;;; Code: + ;;; ha-remoting --- Accessing remote systems. -*- lexical-binding: t; -*- + ;; + ;; © 2020-2022 Howard X. Abrams + ;; This work is licensed under a Creative Commons Attribution 4.0 International License. + ;; See http://creativecommons.org/licenses/by/4.0/ + ;; + ;; Author: Howard X. Abrams + ;; Maintainer: Howard X. Abrams + ;; Created: September 25, 2020 + ;; + ;; This file is not part of GNU Emacs. + ;; + ;; *NB:* Do not edit this file. Instead, edit the original literate file at: + ;; ~/other/hamacs/ha-remoting.org + ;; And tangle the file to recreate this one. + ;; + ;;; Code: #+END_SRC * Local Terminals The following section configures my Terminal experience, both inside and outside Emacs. diff --git a/templates/hamacs-config b/templates/hamacs-config index 05cc05f..8893b91 100644 --- a/templates/hamacs-config +++ b/templates/hamacs-config @@ -4,16 +4,17 @@ (--map (s-capitalize it)) (s-join " "))`} #+AUTHOR: `user-full-name` -#+EMAIL: `user-mail-address` #+DATE: `(format-time-string "%Y-%m-%d")` #+FILETAGS: :emacs: -${2:A literate programming file configuring Emacs.} +A literate programming file for ${2:configuring Emacs.} #+BEGIN_SRC emacs-lisp :exports none -;;; `(file-name-base (buffer-file-name)))`.el --- $2 -*- lexical-binding: t; -*- +;;; `(file-name-base (buffer-file-name)))` --- $2 -*- lexical-binding: t; -*- ;; -;; Copyright (C) `(format-time-string "%Y")` `user-full-name` +;; © `(format-time-string "%Y")` `user-full-name` +;; This work is licensed under a Creative Commons Attribution 4.0 International License. +;; See http://creativecommons.org/licenses/by/4.0/ ;; ;; Author: `user-full-name` ;; Maintainer: `user-full-name`