This commit is contained in:
Magic_RB 2021-02-25 19:56:21 +01:00
parent 2ca94a541b
commit 35c8893dc8
11 changed files with 245 additions and 0 deletions

50
.gitignore vendored Normal file
View file

@ -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

3
.gitmodules vendored Normal file
View file

@ -0,0 +1,3 @@
[submodule "org-thtml"]
path = org-thtml
url = https://github.com/juanjosegarciaripoll/org-thtml

2
Makefile Normal file
View file

@ -0,0 +1,2 @@
all:
emacs --script make.el

9
assets/css/style.css Normal file
View file

@ -0,0 +1,9 @@
* {
font-family: "monospace";
}
code {
border-radius: 0.3rem;
background: #ACACAC;
padding: 0.1rem;
}

View file

@ -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:

39
make.el Normal file
View file

@ -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

1
org-thtml Submodule

@ -0,0 +1 @@
Subproject commit 0c84e993a7e9ae9fc1fd5e34f7713d6526f03cd0

View file

@ -0,0 +1,9 @@
* {
font-family: "monospace";
}
code {
border-radius: 0.3rem;
background: #ACACAC;
padding: 0.1rem;
}

View file

@ -0,0 +1,75 @@
<!doctype html>
<html lang="en">
<head>
<title>Emacs, the Journey to an Operating System</title>
<link rel="stylesheet" href="./css/style.css"/>
</head>
<body>
<div id="layout" class="pure-g">
<div class="content pure-u-1 pure-u-md-2-3">
<div id="content">
<h1>Emacs, the Journey to an Operating System</h1>
<div class="post-meta">Published on Nov 30, 2020</div>
<div id="outline-container-orge0881fc" class="outline-2">
<h2 id="orge0881fc">Emacs, the Journey to an Operating System</h2>
<div class="outline-text-2" id="text-orge0881fc">
</div>
<div id="outline-container-org5c3ce53" class="outline-3">
<h3 id="org5c3ce53">The Age without Emacs</h3>
<div class="outline-text-3" id="text-org5c3ce53">
<p>
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 <code>Dockerfile</code>. <br />
<br />
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.
</p>
</div>
<div id="outline-container-org4f6ba1a" class="outline-4">
<h4 id="org4f6ba1a">The Pain</h4>
<div class="outline-text-4" id="text-org4f6ba1a">
<p>
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.
</p>
</div>
<div id="outline-container-orga52b0a3" class="outline-5">
<h5 id="orga52b0a3">Multiple Editors</h5>
<div class="outline-text-5" id="text-orga52b0a3">
<p>
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&amp;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:
</p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>

18
templates/blog.html Normal file
View file

@ -0,0 +1,18 @@
<!doctype html>
<html lang="en">
{{:include "head.html"}}
<body>
<div id="layout" class="pure-g">
<div class="content pure-u-1 pure-u-md-2-3">
<div id="content">
{{:if with-title}}<h1>{{title}}</h1>{{:endif}}
{{:if date}}<div class="post-meta">Published on {{format-time-string "%b %d, %Y" date}}</div>{{:endif}}
{{contents}}
</div>
</div>
</div>
</body>
</html>

5
templates/head.html Normal file
View file

@ -0,0 +1,5 @@
<head>
<title>{{title}}</title>
<link rel="stylesheet" href="./css/style.css"/>
</head>