diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..01a4042 --- /dev/null +++ b/.gitignore @@ -0,0 +1,50 @@ +### Emacs ### +# -*- mode: gitignore; -*- +*~ +\#*\# +/.emacs.desktop +/.emacs.desktop.lock +*.elc +auto-save-list +tramp +.\#* + +# Org-mode +.org-id-locations +*_archive +ltximg/** + +# flymake-mode +*_flymake.* + +# eshell files +/eshell/history +/eshell/lastdir + +# elpa packages +/elpa/ + +# reftex files +*.rel + +# AUCTeX auto folder +/auto/ + +# cask packages +.cask/ +dist/ + +# Flycheck +flycheck_*.el + +# server auth directory +/server/ + +# projectiles files +.projectile + +# directory configuration +.dir-locals.el + +# network security +/network-security.data diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..ce4bfd0 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "org-thtml"] + path = org-thtml + url = https://github.com/juanjosegarciaripoll/org-thtml diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..fef355d --- /dev/null +++ b/Makefile @@ -0,0 +1,2 @@ +all: + emacs --script make.el diff --git a/assets/css/style.css b/assets/css/style.css new file mode 100644 index 0000000..aa3cb09 --- /dev/null +++ b/assets/css/style.css @@ -0,0 +1,9 @@ +* { + font-family: "monospace"; +} + +code { + border-radius: 0.3rem; + background: #ACACAC; + padding: 0.1rem; +} diff --git a/blog/emacs-the-journey-to-an-operating-system.org b/blog/emacs-the-journey-to-an-operating-system.org new file mode 100644 index 0000000..f6f5242 --- /dev/null +++ b/blog/emacs-the-journey-to-an-operating-system.org @@ -0,0 +1,34 @@ +#+TITLE: Emacs, the Journey to an Operating System +* Emacs, the Journey to an Operating System +** The Age without Emacs + It's the 12th of February, I'm playing Factorio on my laptop, when the bell rings and not long + after my Biology teacher enters the classroom, I quickly save and exit out of Factorio. After the + usual formalities I sit down and open my editor, so that I can take notes during the lesson. As + you might have guessed, I didn't open Emacs, instead I opened VSCode, yes I know, not even + VSCodium, but the prorietary spyware-filled version. I then open a new Markdown file and started + typing away. This procedure repeated multiple times during the day, until school ended and I got + home, I sat down in front of my desktop and opened CLion, because I wanted to do some coding in + Rust. I had VSCode opened on my desktop too, as I needed access to my notes, when one of my + classmates wanted them. I had two completely different editors opened almost all the time and + even vim, when I logged into remote servers and got to editing some =Dockerfile=. \\ + \\ + That is roughly how my day went, before I switched full time to Emacs and learned of all the + features the Emacs operating system has. I didn't even realize, how much I was missing out on + and how painful my existence was. Let's go over the different pain points I now, in retrospect, + realize existed. + +*** The Pain + If you're an Emacs veteran, you surely have already noticed everything I'll point out in the + next few paragraphs, but please do read on as I present my unique view on the issues. + +**** Multiple Editors + Let's start with the most obvious one, during "A day in the Life of Me", I would switch between + 3 different editors, being, in increasing order of time spent in each, VSCode, CLion and Vim. + This brings with it many issues, including but not limited to: keybindings, plugins/addons, + look&feel, features and even supported files/projects. The editors could be split into two + categories, classic: "CLion, VSCode" and "Vim". If you've spend even a minute on a *nix system, + you must know what Vim is and that, let's be honest, it has a weird, alien control scheme. This + "Weirdness" is even supported by a multitude of memes, such as: + + + diff --git a/make.el b/make.el new file mode 100644 index 0000000..a8dddd9 --- /dev/null +++ b/make.el @@ -0,0 +1,39 @@ +;;; Package -- make.el +;;; Commentary: +;;; + +;;; Code: +(load-file "./org-thtml/ox-thtml.el") +(require 'org) + +(dolist (d '("public_html")) + (unless (file-exists-p d) + (make-directory d))) + +(defvar org-publish-project-alist) +(setq org-publish-project-alist + `(("blog-org" + :base-directory ,(expand-file-name "blog/") + :base-extension "org" + :publishing-directory ,(expand-file-name "public_html/") + :recursive t + :section-numbers nil + :with-toc nil + :with-date nil + :html-template ,(templated-html-load-template "templates/blog.html") + :publishing-function org-html-publish-to-templated-html + :headline-levels 4 + :auto-preamble t) + ("blog-assets" + :base-directory ,(expand-file-name "assets/") + :publishing-directory ,(expand-file-name "public_html/") + :recursive t + :base-extension "\\(jpg\\|gif\\|png\\|css\\|js\\|el\\|nb\\|ipynb\\|pdf\\|xml\\)" + :publishing-function org-publish-attachment) + ("blog" + :components ("blog-org" "blog-assets")))) + +(org-publish "blog" t) + +(provide 'make) +;;; make.el ends here diff --git a/org-thtml b/org-thtml new file mode 160000 index 0000000..0c84e99 --- /dev/null +++ b/org-thtml @@ -0,0 +1 @@ +Subproject commit 0c84e993a7e9ae9fc1fd5e34f7713d6526f03cd0 diff --git a/public_html/css/style.css b/public_html/css/style.css new file mode 100644 index 0000000..aa3cb09 --- /dev/null +++ b/public_html/css/style.css @@ -0,0 +1,9 @@ +* { + font-family: "monospace"; +} + +code { + border-radius: 0.3rem; + background: #ACACAC; + padding: 0.1rem; +} diff --git a/public_html/emacs-the-journey-to-an-operating-system.html b/public_html/emacs-the-journey-to-an-operating-system.html new file mode 100644 index 0000000..bfb2f99 --- /dev/null +++ b/public_html/emacs-the-journey-to-an-operating-system.html @@ -0,0 +1,75 @@ + + + + Emacs, the Journey to an Operating System + + + + + + +
+
+ +
+

Emacs, the Journey to an Operating System

+ +
+

Emacs, the Journey to an Operating System

+
+
+
+

The Age without Emacs

+
+

+It's the 12th of February, I'm playing Factorio on my laptop, when the bell rings and not long +after my Biology teacher enters the classroom, I quickly save and exit out of Factorio. After the +usual formalities I sit down and open my editor, so that I can take notes during the lesson. As +you might have guessed, I didn't open Emacs, instead I opened VSCode, yes I know, not even +VSCodium, but the prorietary spyware-filled version. I then open a new Markdown file and started +typing away. This procedure repeated multiple times during the day, until school ended and I got +home, I sat down in front of my desktop and opened CLion, because I wanted to do some coding in +Rust. I had VSCode opened on my desktop too, as I needed access to my notes, when one of my +classmates wanted them. I had two completely different editors opened almost all the time and +even vim, when I logged into remote servers and got to editing some Dockerfile.
+
+That is roughly how my day went, before I switched full time to Emacs and learned of all the +features the Emacs operating system has. I didn't even realize, how much I was missing out on +and how painful my existence was. Let's go over the different pain points I now, in retrospect, +realize existed. +

+
+ +
+

The Pain

+
+

+If you're an Emacs veteran, you surely have already noticed everything I'll point out in the +next few paragraphs, but please do read on as I present my unique view on the issues. +

+
+ +
+
Multiple Editors
+
+

+Let's start with the most obvious one, during "A day in the Life of Me", I would switch between +3 different editors, being, in increasing order of time spent in each, VSCode, CLion and Vim. +This brings with it many issues, including but not limited to: keybindings, plugins/addons, +look&feel, features and even supported files/projects. The editors could be split into two +categories, classic: "CLion, VSCode" and "Vim". If you've spend even a minute on a *nix system, +you must know what Vim is and that, let's be honest, it has a weird, alien control scheme. This +"Weirdness" is even supported by a multitude of memes, such as: +

+
+
+
+
+
+ +
+ +
+
+ + diff --git a/templates/blog.html b/templates/blog.html new file mode 100644 index 0000000..b067f5e --- /dev/null +++ b/templates/blog.html @@ -0,0 +1,18 @@ + + + {{:include "head.html"}} + + +
+
+ +
+ {{:if with-title}}

{{title}}

{{:endif}} + {{:if date}}{{:endif}} + {{contents}} +
+ +
+
+ + diff --git a/templates/head.html b/templates/head.html new file mode 100644 index 0000000..3dc882b --- /dev/null +++ b/templates/head.html @@ -0,0 +1,5 @@ + + {{title}} + + +