summaryrefslogtreecommitdiff
path: root/blendoit
diff options
context:
space:
mode:
Diffstat (limited to 'blendoit')
-rw-r--r--blendoit/custom/custom-file.el49
-rw-r--r--blendoit/init-blendoit.org288
-rw-r--r--blendoit/init-blendoit.pdfbin183431 -> 194114 bytes
3 files changed, 222 insertions, 115 deletions
diff --git a/blendoit/custom/custom-file.el b/blendoit/custom/custom-file.el
index f61f205..8c2039e 100644
--- a/blendoit/custom/custom-file.el
+++ b/blendoit/custom/custom-file.el
@@ -5,6 +5,11 @@
;; If there is more than one, they won't work right.
'(ansi-color-names-vector
["#3F3F3F" "#CC9393" "#7F9F7F" "#F0DFAF" "#8CD0D3" "#DC8CC3" "#93E0E3" "#DCDCCC"])
+ '(c-default-style
+ (quote
+ ((java-mode . "java")
+ (awk-mode . "awk")
+ (other . "linux"))))
'(company-quickhelp-color-background "#4F4F4F")
'(company-quickhelp-color-foreground "#DCDCCC")
'(cua-mode t nil (cua-base))
@@ -13,6 +18,9 @@
(quote
("f56eb33cd9f1e49c5df0080a3e8a292e83890a61a89bceeaa481a5f183e8e3ef" default)))
'(fci-rule-color "#383838")
+ '(ibuffer-sidebar-display-column-titles t)
+ '(ibuffer-sidebar-display-summary t)
+ '(ibuffer-sidebar-width 22)
'(ledger-reports
(quote
(("bal" "%(binary) -f %(ledger-file) bal")
@@ -35,7 +43,7 @@
'(org-agenda-diary-file "~/org/PERSONAL/diary/diary.org")
'(org-agenda-files
(quote
- ("~/org/PERSONAL/workout/workout.org" "~/org/WORK/Safran/programs/MA700/notes/MA700-notes.org_archive" "~/org/WORK/Safran/programs/MA700/notes/MA700-notes.org" "~/org/PERSONAL/diary/log.org" "~/org/WORK/Safran/programs/B787/VIP/timeline.org" "~/org/PERSONAL/diary/diary.org" "~/org/WORK/Safran/programs/WFH/WFH-notes.org_archive" "~/org/WORK/Safran/programs/WFH/WFH-notes.org" "~/org/WORK/Safran/programs/PHM/PHM-notes.org_archive" "~/org/WORK/Safran/programs/MRJ/test-fixture-status.org" "~/org/WORK/Safran/programs/MRJ/MRJ-notes.org" "~/org/WORK/Safran/programs/A220/A220-notes.org" "~/org/PERSONAL/projects/projects.org" "~/org/PERSONAL/schedule-personal.org" "~/org/WORK/Safran/schedule-Safran.org" "~/org/people.org")))
+ ("~/.emacs.d/blendoit/init-blendoit.org" "~/org/PERSONAL/workout/workout.org" "~/org/WORK/Safran/programs/MA700/notes/MA700-notes.org_archive" "~/org/WORK/Safran/programs/MA700/notes/MA700-notes.org" "~/org/PERSONAL/diary/log.org" "~/org/WORK/Safran/programs/B787/VIP/timeline.org" "~/org/PERSONAL/diary/diary.org" "~/org/WORK/Safran/programs/WFH/WFH-notes.org_archive" "~/org/WORK/Safran/programs/WFH/WFH-notes.org" "~/org/WORK/Safran/programs/PHM/PHM-notes.org_archive" "~/org/WORK/Safran/programs/MRJ/test-fixture-status.org" "~/org/WORK/Safran/programs/MRJ/MRJ-notes.org" "~/org/WORK/Safran/programs/A220/A220-notes.org" "~/org/PERSONAL/projects/projects.org" "~/org/PERSONAL/schedule-personal.org" "~/org/WORK/Safran/schedule-Safran.org" "~/org/people.org")))
'(org-agenda-include-diary t)
'(org-agenda-insert-diary-strategy (quote date-tree-last))
'(org-agenda-skip-scheduled-if-deadline-is-shown (quote not-today))
@@ -54,11 +62,48 @@
("\\.mm\\'" . default)
("\\.x?html?\\'" . default)
("\\.pdf\\'" . "mupdf %s"))))
+ '(org-latex-classes
+ (quote
+ (("article" "\\documentclass[11pt]{article}"
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection{%s}" . "\\subsubsection*{%s}")
+ ("\\paragraph{%s}" . "\\paragraph*{%s}")
+ ("\\subparagraph{%s}" . "\\subparagraph*{%s}"))
+ ("report" "\\documentclass[11pt]{report}"
+ ("\\part{%s}" . "\\part*{%s}")
+ ("\\chapter{%s}" . "\\chapter*{%s}")
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
+ ("book" "\\documentclass[12pt]{book}"
+ ("\\part{%s}" . "\\part*{%s}")
+ ("\\chapter{%s}" . "\\chapter*{%s}")
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection{%s}" . "\\subsubsection*{%s}"))
+ ("book-blendoit" "\\documentclass[12pt]{book}"
+ ("\\chapter{%s}" . "\\chapter*{%s}")
+ ("\\section{%s}" . "\\section*{%s}")
+ ("\\subsection*{%s}" . "\\subsection*{%s}")
+ ("\\subsubsection*{%s}" . "\\subsubsection*{%s}")))))
+ '(org-latex-inactive-timestamp-format "\\textcolor{ForestGreen!60}{\\textit{%s}}")
+ '(org-latex-packages-alist
+ (quote
+ (("AUTO" "polyglossia" t
+ ("xelatex" "lualatex"))
+ ("AUTO" "babel" t
+ ("pdflatex"))
+ ("table,dvipsnames" "xcolor" t
+ ("pdflatex")))))
+ '(org-latex-pdf-process
+ (quote
+ ("latexmk -pdf -f -interaction=nonstopmode -pdflatex=\"%latex\" -outdir=%o %f")))
'(org-startup-align-all-tables t)
'(org-time-stamp-custom-formats (quote ("%d %b, %Y (%a)" . "%d %b, %Y (%a), at %H:%M")))
'(package-selected-packages
(quote
- (gnuplot ledger-mode company-mode wombat-theme wombar-theme which-key srefactor-lisp srefactor all-the-icons flycheck ibuffer-sidebar pdf-tools magit rainbow-delimiters smartparens mixed-pitch org-bullets use-package tabbar powerline ivy-hydra flatui-theme evil counsel company benchmark-init)))
+ (minimap gnuplot ledger-mode company-mode wombat-theme wombar-theme which-key srefactor-lisp srefactor all-the-icons flycheck ibuffer-sidebar pdf-tools magit rainbow-delimiters smartparens mixed-pitch org-bullets use-package tabbar powerline ivy-hydra flatui-theme evil counsel company benchmark-init)))
'(pdf-view-midnight-colors (quote ("#DCDCCC" . "#383838")))
'(save-place-mode t)
'(send-mail-function (quote smtpmail-send-it))
diff --git a/blendoit/init-blendoit.org b/blendoit/init-blendoit.org
index 7864af6..67c33d6 100644
--- a/blendoit/init-blendoit.org
+++ b/blendoit/init-blendoit.org
@@ -7,27 +7,38 @@
#+BEGIN_abstract
GNU Emacs is most often used as a text editor. The utmost level of
-customisation is afforded by enabling the user to rewrite /any/ part of the
-source code and observe the editor's modified behaviour in real time. Since its
-inception in 1984, GNU Emacs has grown to be much more than a full-featured,
-high-productivity text editor---new /modes/ have been written to interact with
-hundreds of file formats, including =.txt=, =.pdf=, =.jpg=, =.csv=, and =.zip= just to
-name a few. This configuration file itself was written in /Org mode/, a
-collection of functions enabling the harmonious mixing of code and comments in
-view of publication: this is the endgame of /literate programming/.
+customisation is afforded by enabling the user to rewrite /any/ part of
+the source code and observe the editor's modified behaviour in real
+time. Since its inception in 1984, GNU Emacs has grown to be much more
+than a full-featured, high-productivity text editor---new /modes/ have
+been written to interact with hundreds of file formats, including
+=.txt=, =.pdf=, =.jpg=, =.csv=, and =.zip= just to name a few. This
+configuration file itself was written in /Org mode/, a collection of
+functions enabling the harmonious mixing of code and comments in view
+of publication: this is the endgame of /literate programming/.
#+END_abstract
* Preliminary setup
** Garbage collection
-Increase the garbage collection limit.
+First, we increase the RAM threshold beyond which the garbage collector is
+activated.
#+NAME: garbage-collection
#+BEGIN_SRC emacs-lisp
(setq gc-cons-threshold 100000000)
#+END_SRC
+** Server start
+
+Makes opening emacs faster for following instances.
+
+#+NAME: server-start
+#+BEGIN_SRC emacs-lisp
+(server-start)
+#+END_SRC
+
** Custom file
Load settings created automatically by GNU Emacs Custom. (For example, any
@@ -47,9 +58,10 @@ We begin by defining a user shortcut to this very file:
#+NAME: shortcut-config
#+BEGIN_SRC emacs-lisp
(defun find-init-blendoit ()
- "Jump to this very file."
- (interactive)
- (find-file "~/.emacs.d/blendoit/init-blendoit.org"))
+ "Jump to this very file."
+ (interactive)
+ (find-file "~/.emacs.d/blendoit/init-blendoit.org"))
+
(global-set-key (kbd "C-c c") 'find-init-blendoit)
#+END_SRC
@@ -60,21 +72,20 @@ Now, different shortcuts for other customization actions:
(global-set-key (kbd "C-c v") 'customize-variable)
#+END_SRC
-
** Backups
Backups are so important that they should be described right after the shortcut
to this file.
#+BEGIN_SRC emacs-lisp
-(setq backup-directory-alist `((".*" . ,temporary-file-directory))
-auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
- backup-by-copying t ; Don't delink hardlinks
- version-control t ; Use version numbers on backups
- delete-old-versions t ; Automatically delete excess backups
- kept-new-versions 20 ; how many of the newest versions to keep
- kept-old-versions 5 ; and how many of the old
- )
+ (setq backup-directory-alist `((".*" . ,temporary-file-directory))
+ auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
+ backup-by-copying t ; Don't delink hardlinks
+ version-control t ; Use version numbers on backups
+ delete-old-versions t ; Automatically delete excess backups
+ kept-new-versions 20 ; how many of the newest versions to keep
+ kept-old-versions 5 ; and how many of the old
+ )
#+END_SRC
** Secrets
@@ -86,47 +97,25 @@ auto-save-file-name-transforms `((".*" ,temporary-file-directory t))
user-mail-address "blendoit@gmail.com")
#+END_SRC
-* Bindings
+* Global key bindings
-** Navigation
+The following bindings strive to further enhance CUA[fn::Common User Access.]
+mode.
-#+BEGIN_SRC emacs-lisp
-(global-set-key (kbd "C-s") 'save-buffer)
-(global-set-key (kbd "C-b") 'ibuffer-sidebar-toggle-sidebar)
-(global-set-key (kbd "C-w") 'kill-buffer-and-window)
-(global-set-key (kbd "C-q") 'save-buffers-kill-terminal)
-(global-set-key (kbd "C-o") 'menu-find-file-existing)
-(global-set-key (kbd "C-r") 'counsel-recentf)
-#+END_SRC
-
-** =Org=
-
-Quick access to important Org mode functionalities.
-
-*** Agenda
-
-The agenda displays a chronological list of headings across all agenda files
-for which the heading or body contain a matching =org-time-stamp=.[fn::An
-=org-time-stamp= can be inserted with =C-c .= (period)]
+** Navigation
#+BEGIN_SRC emacs-lisp
-(global-set-key (kbd "C-c a") 'org-agenda)
+ (global-set-key (kbd "C-s") 'save-buffer)
+ (global-set-key (kbd "C-b") 'ibuffer-sidebar-toggle-sidebar)
+ (global-set-key (kbd "C-o") 'menu-find-file-existing)
+ (global-set-key (kbd "C-r") 'counsel-recentf)
#+END_SRC
-*** Export
-
-This creates a shorter binding for the most common Org export: Org to LaTeX.
+The following bindings lead to more natural exit behaviors.
#+BEGIN_SRC emacs-lisp
-(defun blendoit-org-quick-export ()
- "Org export to PDF and open.
- This basically reimplements `C-c C-e l o'."
- (interactive)
- (org-latex-export-to-pdf)
- (org-open-file
- (concat (substring buffer-file-truename 0 -3) "pdf")))
-
-(global-set-key (kbd "C-c e") 'blendoit-org-quick-export)
+(global-set-key (kbd "C-w") 'kill-buffer-and-window)
+(global-set-key (kbd "C-q") 'save-buffers-kill-terminal)
#+END_SRC
** Mouse zoom
@@ -144,10 +133,10 @@ List of package archives.
#+NAME: packages
#+BEGIN_SRC emacs-lisp
-(require 'package)
-(add-to-list 'package-archives '("melpa" . "http://melpa.milkbox.net/packages/") t)
-(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
-(package-initialize)
+ (require 'package)
+ (add-to-list 'package-archives '("melpa" . "https://melpa.milkbox.net/packages/") t)
+ (add-to-list 'package-archives '("org" . "https://orgmode.org/elpa/") t)
+ (package-initialize)
#+END_SRC
#+RESULTS: packages
@@ -155,30 +144,75 @@ List of package archives.
Ensure =use-package= is installed.
#+BEGIN_SRC emacs-lisp
-(unless (package-installed-p 'use-package)
-(package-refresh-contents)
-(package-install 'use-package)
-(eval-when-compile (require 'use-package)))
-(setq use-package-always-ensure t)
+ (unless (package-installed-p 'use-package)
+ (package-refresh-contents)
+ (package-install 'use-package)
+ (eval-when-compile (require 'use-package)))
+ (setq use-package-always-ensure t)
#+END_SRC
** Org
Phew, I can finally introduce Org mode! I am so *excited*.
-#+NAME: org
+Org mode replaces a word processor, a presentation creator, and a spreadsheet
+editor. IMHO, the spreadsheet ability captures more than 80% use cases wherein
+one wishes to include a table in a text document destined for physical
+publication. (It is clear that Excel spreadsheets are /not/ destined for physical
+publication---simply attempt to print an Excel spreadsheet with the default
+settings.) In my opinion, Org mode matches all /useful/ features of the
+Microsoft Office suite 1-to-1.
+
+What follows are customizations designed to make Org mode behave more like
+Microsoft Word. The end goal is, once again, to draw as many new users to Emacs
+as possible!
+
+*** Basic customization
+
+First, we hide markup symbols for *bold*, /italic/, _underlined_ and +strikethrough+
+text, and ensure our document appears indented upon loading:[fn::It /appears/
+indented, but the underlying plaintext file does not contain tab characters!]
+
+#+NAME: org-basic
#+BEGIN_SRC emacs-lisp
-(setq org-hide-emphasis-markers t)
-(setq org-startup-indented t)
-(setq org-directory "~/org")
+ (setq org-hide-emphasis-markers t)
+ (setq org-startup-indented t)
+#+END_SRC
-(font-lock-add-keywords 'org-mode
- '(("^ *\\([-]\\) "
- (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
+Then, we customize Org headings to emulate WYSIWYG[fn::What You See Is What You
+Get (input and output are identical), as opposed to What You See Is What You
+Mean (the input contains instructions that can modify the output).] behavior
+normally found in Word:
-(use-package org-bullets
- :config
- (add-hook 'org-mode-hook (lambda () (org-bullets-mode 1))))
+#+NAME: org-list-bullets
+#+BEGIN_SRC emacs-lisp
+ (setq org-directory "~/org")
+ (font-lock-add-keywords
+ 'org-mode
+ '(("^ *\\([-]\\) "
+ (0 (prog1 () (compose-region (match-beginning 1) (match-end 1) "•"))))))
+#+END_SRC
+
+- Look at
+- This beautifully indented
+ - List...
+ - Of lists!
+- (Rendered with pretty bullets in Emacs)
+
+The following prettifies Org mode heading bullets:
+
+#+NAME: org-headings-bullets
+#+BEGIN_SRC emacs-lisp
+ (use-package org-bullets
+ :hook
+ (org-mode . org-bullets-mode)
+ )
+#+END_SRC
+
+
+
+#+NAME: org-cosmetics
+#+BEGIN_SRC emacs-lisp
(let* ((variable-tuple
(cond ((x-list-fonts "Liberation Sans") '(:font "Liberation Sans"))
@@ -199,34 +233,37 @@ Phew, I can finally introduce Org mode! I am so *excited*.
`(org-level-1 ((t (,@headline ,@variable-tuple :height 1.75))))
`(org-document-title ((t (,@headline ,@variable-tuple :height 2.0 :underline nil))))))
-(custom-theme-set-faces
- 'user
- '(variable-pitch ((t (:family "Liberation Sans"))))
- '(fixed-pitch ((t ( :family "Hack")))))
-
+;(custom-theme-set-faces
+; 'user
+; '(variable-pitch ((t (:family "Liberation Sans"))))
+; '(fixed-pitch ((t ( :family "Hack")))))
-
-
-(x-list-fonts "Hermit")
#+END_SRC
-- Beautiful bullet lists in Org mode!
+*** Agenda
-*** Org Agenda
+The agenda displays a chronological list of headings across all agenda files
+for which the heading or body contain a matching =org-time-stamp=.[fn::An
+=org-time-stamp= can be inserted with =C-c .= (period)]
#+BEGIN_SRC emacs-lisp
-
+(global-set-key (kbd "C-c a") 'org-agenda)
#+END_SRC
-*** Org publish
+*** Publish
+
+In the following /alist/ (association list), we describe the projects publishable
+via =org-publish=. We separate the publishing of =.org= files and attachments,
+because an online tutorial recommended we do so.
+
#+BEGIN_SRC emacs-lisp
(require 'ox-publish)
(setq org-publish-project-alist
'(
("Safran-VIP-html"
- :base-directory "~/org/WORK/Safran/programs/VIP/doc/org/"
+ :base-directory "~/org/WORK/Safran/programs/B787/VIP/doc/org/"
:base-extension "org"
- :publishing-directory "~/org/WORK/Safran/programs/VIP/doc/wiki/"
+ :publishing-directory "~/org/WORK/Safran/programs/B787/VIP/doc/wiki/"
:recursive t
:publishing-function org-html-publish-to-html
:auto-preamble t
@@ -234,9 +271,9 @@ Phew, I can finally introduce Org mode! I am so *excited*.
:sitemap-title "" )
("Safran-VIP-static"
- :base-directory "~/org/WORK/Safran/programs/VIP/doc/org/"
+ :base-directory "~/org/WORK/Safran/programs/B787/VIP/doc/org/"
:base-extension "css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|mp4\\|ogg\\|swf"
- :publishing-directory "~/org/WORK/Safran/programs/VIP/doc/wiki/"
+ :publishing-directory "~/org/WORK/Safran/programs/B787/VIP/doc/wiki/"
:recursive t
:publishing-function org-publish-attachment )
@@ -271,6 +308,23 @@ Phew, I can finally introduce Org mode! I am so *excited*.
t ("xelatex" "lualatex")))
#+END_SRC
+*** Export
+
+This creates a shorter binding for the most common Org export: Org \rightarrow
+LaTeX \rightarrow PDF.
+
+#+BEGIN_SRC emacs-lisp
+(defun blendoit-org-quick-export ()
+ "Org export to PDF and open.
+ This basically reimplements `C-c C-e l o'."
+ (interactive)
+ (org-latex-export-to-pdf)
+ (org-open-file
+ (concat (substring buffer-file-truename 0 -3) "pdf")))
+
+(global-set-key (kbd "C-c e") 'blendoit-org-quick-export)
+#+END_SRC
+
** =gnuplot=
#+BEGIN_SRC emacs-lisp
@@ -286,17 +340,26 @@ Phew, I can finally introduce Org mode! I am so *excited*.
** Ledger
#+BEGIN_SRC emacs-lisp
-(use-package ledger-mode
- :bind
- ("C-c r" . ledger-report)
- ("C-c C" . ledger-mode-clean-buffer)
-)
+ (use-package ledger-mode
+ :bind
+ ("C-c r" . ledger-report)
+ ("C-c C" . ledger-mode-clean-buffer))
#+END_SRC
-** ibuffer-sidebar
+** TODO ibuffer-sidebar
+SCHEDULED: <2020-07-21 Tue>
#+BEGIN_SRC emacs-lisp
-(use-package ibuffer-sidebar)
+; (use-package ibuffer-sidebar
+; :bind ("mouse-1" . ibuffer-mouse-visit-buffer)
+; :bind ("mouse-3" . ibuffer-mouse-toggle-mark))
+
+; (add-hook 'ibuffer-sidebar-mode-hook
+; (lambda ()
+; (local-unset-key (quote mouse-1))
+; (local-unset-key (quote mouse-2))
+; (local-set-key (quote mouse-1) (quote ibuffer-mouse-visit-buffer))
+; (local-set-key (quote mouse-2) (quote ibuffer-mouse-toggle-mark))))
#+END_SRC
** Which-key
@@ -356,18 +419,18 @@ Auto completion.
** Company
- #+NAME: company
- #+BEGIN_SRC emacs-lisp
- (use-package company
- :config (add-hook 'after-init-hook 'global-company-mode))
- #+END_SRC
+#+NAME: company
+#+BEGIN_SRC emacs-lisp
+;; (use-package company
+;; :config (add-hook 'after-init-hook 'global-company-mode))
+#+END_SRC
** Flycheck
#+NAME: flycheck
#+BEGIN_SRC emacs-lisp
-; (use-package flycheck
-; :init (global-flycheck-mode))
+(use-package flycheck
+ :init (global-flycheck-mode))
#+END_SRC
** Magit
@@ -397,16 +460,15 @@ cursor.
(setq-default cursor-type (quote bar))
#+END_SRC
-*** Default faces
+*** Mixed pitch in Org mode
-Fixed-pitch and variable-pitch fonts will be used intelligently in all text
+Fixed-pitch and variable-pitch fonts will be used intelligently in all hooked
modes.
#+BEGIN_SRC emacs-lisp
-(use-package mixed-pitch
- :hook
- ;; If you want it in all text modes:
- (org-mode . mixed-pitch-mode))
+ (use-package mixed-pitch
+ :hook ((org-mode
+ info-mode) . mixed-pitch-mode))
#+END_SRC
** All the icons
@@ -419,10 +481,10 @@ modes.
#+BEGIN_SRC emacs-lisp
;; (use-package zenburn-theme
-;; :config
-;; (load-theme 'zenburn)
-;; )
- (load-theme 'wombat)
+;; :config
+;; (load-theme 'zenburn))
+
+(load-theme 'wombat)
#+END_SRC
** Transparency
diff --git a/blendoit/init-blendoit.pdf b/blendoit/init-blendoit.pdf
index 1665a5d..bfe16f0 100644
--- a/blendoit/init-blendoit.pdf
+++ b/blendoit/init-blendoit.pdf
Binary files differ
Copyright 2019--2024 Marius PETER