From 350884bb7afdb215fd73ba685063f9677303c209 Mon Sep 17 00:00:00 2001
From: Joel Grunbaum <joelgrun@gmail.com>
Date: Sat, 20 Jun 2020 04:00:46 +0000
Subject: [PATCH] Added automatic font alternatives and EXWM mode

---
 config.org |  192 +++++++++++++++++++++++++++++++++++------------
 1 files changed, 142 insertions(+), 50 deletions(-)

diff --git a/config.org b/config.org
index ddec4d2..ea4a512 100644
--- a/config.org
+++ b/config.org
@@ -40,6 +40,20 @@
            (load-theme 'doom-one t)
            (doom-themes-visual-bell-config)
            (doom-themes-org-config)))
+        ((eq emacs-theme 'nord)
+         (use-package nord-theme
+           :ensure t
+           :init
+           (disable-all-themes)
+           :config
+           (load-theme 'nord t)))
+        ((eq emacs-theme 'solarized)
+         (use-package solarized-theme
+           :ensure t
+           :init
+           (disable-all-themes)
+           :config
+           (load-theme 'solarized-dark t)))
         ((eq emacs-theme 'none)
          (disable-all-themes)))
 #+END_SRC
@@ -47,9 +61,13 @@
 ** Default font
 Set default font and faces.
 #+BEGIN_SRC emacs-lisp 
-  ;; (set-frame-font "DejaVu Sans Mono" nil t)
-  (set-frame-font "Dank Mono-11" nil t)
-  ;; (set-frame-font "Source Code Pro-10" nil t)
+  (cond ((member "Dank Mono" (font-family-list))
+         (set-frame-font "Dank Mono-11" nil t))
+        ((member "DejaVu Sans Mono" (font-family-list))
+         (set-frame-font "DejaVu Sans Mono" nil t))
+        ((member "Source Code Pro" (font-family-list))
+         (set-frame-font "Source Code Pro-10" nil t)))
+
   (set-face-italic 'font-lock-comment-face t)
   (set-face-italic 'font-lock-keyword-face t)
 #+END_SRC
@@ -60,6 +78,16 @@
   (menu-bar-mode 0)
   (tool-bar-mode 0)
   (scroll-bar-mode 1)
+#+END_SRC
+* COMMENT EXWM
+Emacs window manager.
+Tiling window manager that runs in emacs.
+#+BEGIN_SRC emacs-lisp
+  (use-package exwm
+    :ensure t
+    :config
+    (require 'exwm-config)
+    (exwm-config-default))
 #+END_SRC
 
 * Writing requirements
@@ -74,6 +102,7 @@
   ;; (add-hook 'latex-mode-hook 'flyspell-buffer)
   (add-hook 'org-mode-hook 'flyspell-mode)
   ;; (add-hook 'org-mode-hook 'flyspell-buffer)
+
 #+END_SRC
 
 ** Switch-window
@@ -656,6 +685,12 @@
       (spaceline-helm-mode))
 #+END_SRC
 
+*** Separator
+Slightly nicer separator.
+#+BEGIN_SRC emacs-lisp
+(setq powerline-default-separator nil)
+#+END_SRC
+
 * Programming tweaks
 ** Yasnippet
 Add snippets, pretty useful.
@@ -773,7 +808,7 @@
     (semantic-mode 1))
 #+END_SRC
 
-*** EDE
+*** COMMENT EDE
 Emacs Development Environment.
 Can be used to manage and create build files for a project.
 #+BEGIN_SRC emacs-lisp
@@ -913,13 +948,15 @@
     :ensure t
     :after company
     :config
-    (add-to-list 'company-backends 'company-math-symbols-unicode))
+    (add-to-list 'company-backends '(company-math-symbols-unicode company-math-symbols-latex
+                                     company-latex-commands))
+    (setq company-math-allow-latex-symbols-in-faces t))
 
   (use-package company-reftex
     :ensure t
     :after company
     :config
-    (add-to-list 'company-backends 'company-reftex))
+    (add-to-list 'company-backends 'company-reftex-citations))
 
   (use-package company-auctex
     :ensure t
@@ -1115,6 +1152,12 @@
 (diminish 'org-indent-mode)
 (diminish 'visual-line-mode)
 #+END_SRC
+*** Spell checking for code and latex
+#+BEGIN_SRC emacs-lisp
+  (add-to-list 'ispell-skip-region-alist '("#\\+BEGIN_SRC" . "#\\+END_SRC"))
+  (add-to-list 'ispell-skip-region-alist '("\\$" . "\\$"))
+  (add-to-list 'ispell-skip-region-alist '("\\$\\$" . "\\$\\$"))
+#+END_SRC
 
 ** Line wrapping
 Enable line wrapping for long lines.
@@ -1196,31 +1239,31 @@
     (setq emms-source-file-directory "~/Music/"))
 #+END_SRC
 
-* Org Blog
+* COMMENT Org Blog
 I use org to write my blog and use org-static-blog to generate the HTML.
 ** Org static blog config
 Basic configuration for site.
 Copied and modified from the example configuration.
 #+BEGIN_SRC emacs-lisp
-    (use-package org-static-blog
-      :ensure t
-      :config
-      (setq org-static-blog-publish-title "Joel's Site")
-      (setq org-static-blog-publish-url "https://blog.joelg.cf/")
-      (setq org-static-blog-publish-directory "/backup/home/joel/Downloads/Chizi123.github.io/")
-      (setq org-static-blog-posts-directory "/backup/home/joel/Downloads/Chizi123.github.io/posts/")
-      (setq org-static-blog-drafts-directory "/backup/home/joel/Downloads/Chizi123.github.io/drafts/")
-      (setq org-static-blog-enable-tags t)
-      (setq org-export-with-toc nil)
-      (setq org-export-with-section-numbers nil)
+  (use-package org-static-blog
+    :ensure t
+    :config
+    (setq org-static-blog-publish-title "Joel's Site")
+    (setq org-static-blog-publish-url "https://blog.joelg.cf/")
+    (setq org-static-blog-publish-directory "/backup/home/joel/Downloads/Chizi123.github.io/")
+    (setq org-static-blog-posts-directory "/backup/home/joel/Downloads/Chizi123.github.io/posts/")
+    (setq org-static-blog-drafts-directory "/backup/home/joel/Downloads/Chizi123.github.io/drafts/")
+    (setq org-static-blog-enable-tags t)
+    (setq org-export-with-toc nil)
+    (setq org-export-with-section-numbers nil)
 
-      ;; This header is inserted into the <head> section of every page:
-      ;;   (you will need to create the style sheet at
-      ;;    ~/projects/blog/static/style.css
-      ;;    and the favicon at
-      ;;    ~/projects/blog/static/favicon.ico)
-      (setq org-static-blog-page-header
-      "<meta name=\"author\" content=\"Joel Grunbaum\">
+    ;; This header is inserted into the <head> section of every page:
+    ;;   (you will need to create the style sheet at
+    ;;    ~/projects/blog/static/style.css
+    ;;    and the favicon at
+    ;;    ~/projects/blog/static/favicon.ico)
+    (setq org-static-blog-page-header
+          "<meta name=\"author\" content=\"Joel Grunbaum\">
       <meta name=\"referrer\" content=\"no-referrer\">
       <link href= \"static/style.css\" rel=\"stylesheet\" type=\"text/css\" />
       <link rel=\"icon\" href=\"static/favicon.png\">
@@ -1233,10 +1276,10 @@
       </script>
       ")
 
-      ;; This preamble is inserted at the beginning of the <body> of every page:
-      ;;   This particular HTML creates a <div> with a simple linked headline
-      (setq org-static-blog-page-preamble
-      "<div class=\"header\">
+    ;; This preamble is inserted at the beginning of the <body> of every page:
+    ;;   This particular HTML creates a <div> with a simple linked headline
+    (setq org-static-blog-page-preamble
+          "<div class=\"header\">
         <a href=\"https://blog.joelg.cf\">Joel's Site - Personal site and constant work in progress</a>
         <div class=\"sitelinks\">
           <a href=\"https://blog.joelg.cf/about-me.html\">About Me</a> |
@@ -1245,30 +1288,26 @@
         </div>
       </div>")
 
-      ;; This postamble is inserted at the end of the <body> of every page:
-      ;;   This particular HTML creates a <div> with a link to the archive page
-      ;;   and a licensing stub.
-      (setq org-static-blog-page-postamble
-      "<div id=\"archive\">
+    ;; This postamble is inserted at the end of the <body> of every page:
+    ;;   This particular HTML creates a <div> with a link to the archive page
+    ;;   and a licensing stub.
+    (setq org-static-blog-page-postamble
+          "<div id=\"archive\">
         <a href=\"https://blog.joelg.cf/archive.html\">Other posts</a>
       </div>
       <br>
-      <script data-isso=\"//commento.joelg.cf/\"
-            src=\"//commento.joelg.cf/js/embed.min.js\"></script>
-      <section id=\"isso-thread\"></section>")
-      ;; <center><button id=\"disqus_button\" onclick=\"load_disqus()\">Load Disqus Comments</button></center>
-      ;; <div id=\"disqus_thread\"></div>
-      ;; <script type=\"text/javascript\">
-      ;;   function load_disqus() {
-      ;;       var dsq = document.createElement('script');
-      ;;       dsq.type = 'text/javascript';
-      ;;       dsq.async = true;
-      ;;       dsq.src = 'https://joelg-cf.disqus.com/embed.js';
-      ;;       (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
-      ;;       document.getElementById('disqus_button').style.visibility = 'hidden';
-      ;;   };
-      ;; </script>")
-  )
+      <center><button id=\"disqus_button\" onclick=\"load_disqus()\">Load Disqus Comments</button></center>
+    <div id=\"disqus_thread\"></div>
+    <script type=\"text/javascript\">
+      function load_disqus() {
+          var dsq = document.createElement('script');
+          dsq.type = 'text/javascript';
+          dsq.async = true;
+          dsq.src = 'https://joelg-cf.disqus.com/embed.js';
+          (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
+          document.getElementById('disqus_button').style.visibility = 'hidden';
+      };
+    </script>"))
 #+END_SRC
 
 ** Sitemap addition
@@ -1301,3 +1340,56 @@
     :ensure t)
 #+END_SRC
 
+* Journaling
+** Noteworthy entries
+I write weekly journal entries recapping my week.
+These files are in org mode.
+This is inspired by org-static-blog.
+#+BEGIN_SRC emacs-lisp
+  (defun journal-create-new-post ()
+      "Create a new entry, prompt for title and insert header"
+    (interactive)
+    (let ((title (read-string "Title: ")))
+      (find-file (concat "~/Documents/Journal/entry/"
+                         (read-string "Filename: "
+                                      (concat (format-time-string "%Y-%m-%d-" (current-time))
+                                              (replace-regexp-in-string "\s" "-" (downcase title))
+                                              ".org"))))
+      (insert "#+title: " title "\n"
+              "#+date: " (format-time-string "<%Y-%m-%d %H:%M>") "\n"
+              "#+filetags: ")))
+#+END_SRC
+*** Publish entries
+Use org-publish to collate entries into a single unit.
+#+BEGIN_SRC emacs-lisp
+  (setq org-publish-project-alist
+               '(("Journal"
+                 :base-directory "~/Documents/Journal/entry/"
+                 :publishing-directory "~/Documents/Journal/out/"
+                 :publishing-function org-html-publish-to-html
+                 ;;:htmlized-source t
+                 :section-numbers nil
+                 :html-preamble t
+                 :html-validation-link nil
+
+                 :auto-sitemap t
+                 :sitemap-sort-files anti-chronologically
+                 :sitemap-file-entry-format "%d - %t"
+                 :sitemap-title "Home"
+                 :sitemap-filename "index.html"
+                 :sitemap-function org-publish-sitemap)))
+#+END_SRC
+** COMMENT Daily
+Using Org-Journal for daily journaling.
+Package provides journaling support files for org mode.
+#+BEGIN_SRC emacs-lisp
+  (use-package org-journal
+    :ensure t
+    :custom
+    (org-journal-dir "~/Documents/Journal/daily")
+    (org-journal-date-format "%A, %d %B %Y")
+    (org-journal-time-format "%I:%M %p")
+    (org-journal-file-type "daily"))
+#+END_SRC
+
+

--
Gitblit v1.9.3