Below you will find pages that utilize the taxonomy term “Emacs”
Test from dijkstra, my Framework laptop
Decided to test out setting up and enabling this wiki setup on my Fedora Linux laptop that I got from the good folks at Frame.Work. Have had it for a while now. I got the smaller laptop, the Framework Laptop 13 (AMD Ryzen™ 7040 Series).
It it light and handy. Has a decent keyboard for a laptop. Running the latest version of Fedora, as of the time of this post:
cat /etc/fedora-release
Fedora release 42 (Adams)
It’s a solid distro and is kept very up-to-date, which I like.
Emacs updates to support new hugo-powered blog
This has been an interesting day. After getting the updates to the blog repo all updated and working well, I wanted to also update my Emacs configuration to make it a smoother experience to add new posts.
So two main changes were required. The majority is in this one file, located in my `$HOME/.emacs.d/lisp` directory:
init-hugo.el
;;; init-hugo.el --- Blogging helpers for Hugo/ox-hugo -*- lexical-binding: t; -*-
;; Author: Gordon Owen Tillman <got@example.com>
;; Namespace: got/
;; Summary: Create date-prefixed Hugo posts with optional tag prompting
;;; Commentary:
;; This file provides a helper function to create a new blog post in
;; `got/blog-directory`, using the ox-hugo front-matter conventions.
;; All functions are namespaced with `got/` (Gordon Owen Tillman).
;;; Code:
(require 'subr-x) ;; for string-join
(defcustom got/blog-directory
"~/Projects/g/gordyt.github.io/source/blog/"
"Directory where blog posts are stored."
:type 'string
:group 'got)
(defun got--collect-existing-tags ()
"Collect all unique tags from existing blog posts."
(let ((tags '()))
(dolist (file (directory-files got/blog-directory t "\.org$"))
(with-temp-buffer
(insert-file-contents file)
(goto-char (point-min))
(when (re-search-forward "^#\\+HUGO_TAGS:\\s-*\\(.*\\)" nil t)
(let ((line-tags (split-string (match-string 1) "[ ,]+" t)))
(setq tags (append tags line-tags))))))
(delete-dups tags)))
(defun got/new-blog-post (title)
"Create a new org-mode blog post in `got/blog-directory` with TITLE.
Prompts for existing tags (with the option to add new ones)."
(interactive "sPost Title: ")
(let* ((date (format-time-string "%Y-%m-%d"))
(slug (replace-regexp-in-string
"[^a-z0-9-]" ""
(replace-regexp-in-string
" " "-" (downcase title))))
(filename (expand-file-name (format "%s-%s.org" date slug) got/blog-directory))
(existing-tags (got--collect-existing-tags))
(chosen-tags
(completing-read-multiple
"Select tags (or type new ones, space-separated): "
existing-tags nil nil)))
(find-file filename)
(insert (format "#+TITLE: %s\n" title))
(insert (format "#+DATE: %s\n" date))
(insert "#+HUGO_BASE_DIR: ../hugo-site/\n")
(insert "#+HUGO_SECTION: posts\n")
(insert (format "#+HUGO_TAGS: %s\n"
(string-join chosen-tags " ")))
(insert "#+HUGO_CATEGORIES: \n\n")
(message "New post created: %s" filename)))
(provide 'init-hugo)
;;; init-hugo.el ends here
Then just a minor update in `init.el` to load it:
Chromebook Performance Test - C720 vs C200
My buddy at work just got a new Acer C720-3404 Chromebook. I have the ASUS C200MA-EDU-4GB Chromebook. We decided to do a real-world performance comparison with a sample task that we have to perform all of the time.
Org-Octopress Notes
I’ve been trying to sort-out the details of what is required to be able to maintain a GitHub pages site via Octopress / org-octopress from multiple computers. The slight complicating factor is that the location of the git repository for the site is different on the two computers that I am using.
Building Emacs 24.4 on Ubuntu 14.04
I recently signed up for a Virtual Private Server (VPS) with vpsdime. The idea is to set-up a complete development environment for all of my work and personal projects that I can access from a low-end device like a Chromebook or an iPad (with a suitable SSH app installed).
Second Post: This Time with Org
Testing Org-Octopress
This is a test post using org-octopress…