mirror of https://github.com/Chizi123/.emacs.d.git

Joel Grunbaum
2020-05-31 a428a2903e6a94c5f08a57599b6e2c6861c85107
config.org
@@ -40,6 +40,13 @@
           (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 'none)
         (disable-all-themes)))
#+END_SRC
@@ -74,6 +81,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 +664,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 +787,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 +927,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
                                     compant-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 +1131,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 +1218,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 +1255,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 +1267,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 +1319,53 @@
    :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
                 :validation-link nil
                 ;; :makeindex t
                 :auto-sitemap t
                 :sitemap-file-entry-format "%d"
                 :sitemap-format-entry (concat (org-publish-find-date) " - " (org-publish-find-title)))))
#+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