WIP How I Internet
This commit is contained in:
parent
0082064358
commit
2d18bb2cd3
28
project.el
28
project.el
|
@ -140,9 +140,17 @@
|
||||||
(let* ((file (org-publish--expand-file-name entry project))
|
(let* ((file (org-publish--expand-file-name entry project))
|
||||||
(title (org-publish-find-title entry project))
|
(title (org-publish-find-title entry project))
|
||||||
(date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project)))
|
(date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project)))
|
||||||
(keywords (y/get-meta file "KEYWORDS"))
|
(keywords (split-string (y/get-meta file "KEYWORDS") ",\s*"))
|
||||||
(description (y/get-meta file "DESCRIPTION")))
|
(description (y/get-meta file "DESCRIPTION")))
|
||||||
(format "- [%s] [[file:%s][%s]] /(%s)/ \n %s" date file title keywords description))))
|
(concat
|
||||||
|
"- "
|
||||||
|
(format " [%s]" date)
|
||||||
|
(format " *[[file:%s][%s]]*" file title)
|
||||||
|
(format " @@html:<div class=\"keywords\">@@%s@@html:</div>@@"
|
||||||
|
(mapconcat (lambda (k) (format "@@html:<span class=\"keyword\">@@#%s@@html:</span>@@" k))
|
||||||
|
(cl-sort keywords 'string-lessp :key 'downcase)
|
||||||
|
" "))
|
||||||
|
(format "@@html:<div class=\"description\">@@%s@@html:</div>@@" description)))))
|
||||||
|
|
||||||
(defun org-blog-sitemap-fn-descr (descr title list)
|
(defun org-blog-sitemap-fn-descr (descr title list)
|
||||||
"Return sitemap using TITLE and LIST returned by `org-blog-sitemap-format-entry'."
|
"Return sitemap using TITLE and LIST returned by `org-blog-sitemap-format-entry'."
|
||||||
|
@ -154,6 +162,17 @@
|
||||||
(seq-filter #'car (cdr list))
|
(seq-filter #'car (cdr list))
|
||||||
"\n")))
|
"\n")))
|
||||||
|
|
||||||
|
(defun org-blog-prepare (project-plist)
|
||||||
|
"With help from `https://github.com/howardabrams/dot-files'.
|
||||||
|
Touch `archive.org' to rebuilt it.
|
||||||
|
Argument `PROJECT-PLIST' contains information about the current project."
|
||||||
|
(let* ((base-directory (plist-get project-plist :base-directory))
|
||||||
|
(buffer (find-file-noselect (expand-file-name "archive.org" base-directory) t)))
|
||||||
|
(with-current-buffer buffer
|
||||||
|
(set-buffer-modified-p t)
|
||||||
|
(save-buffer 0))
|
||||||
|
(kill-buffer buffer)))
|
||||||
|
|
||||||
(defun org-blog-publish-to-html (plist filename pub-dir)
|
(defun org-blog-publish-to-html (plist filename pub-dir)
|
||||||
"Same as `org-html-publish-to-html' but modifies html before finishing."
|
"Same as `org-html-publish-to-html' but modifies html before finishing."
|
||||||
(let ((file-path (org-html-publish-to-html plist filename pub-dir)))
|
(let ((file-path (org-html-publish-to-html plist filename pub-dir)))
|
||||||
|
@ -166,6 +185,7 @@
|
||||||
"<input id=\"modern\">"
|
"<input id=\"modern\">"
|
||||||
"<input id=\"dark\">"
|
"<input id=\"dark\">"
|
||||||
"<input id=\"darkraw\">"
|
"<input id=\"darkraw\">"
|
||||||
|
"<input id=\"matrix\">"
|
||||||
|
|
||||||
"<div id=\"labels\">"
|
"<div id=\"labels\">"
|
||||||
"<div class=\"content\">"
|
"<div class=\"content\">"
|
||||||
|
@ -175,7 +195,8 @@
|
||||||
"<a href=\"#modern\">modern</a>)"
|
"<a href=\"#modern\">modern</a>)"
|
||||||
" / "
|
" / "
|
||||||
"<a href=\"#dark\">dark</a>"
|
"<a href=\"#dark\">dark</a>"
|
||||||
"(<a href=\"#darkraw\">raw</a>)"
|
"(<a href=\"#darkraw\">raw</a>,"
|
||||||
|
"<a href=\"#matrix\">matrix</a>)"
|
||||||
"</div>"
|
"</div>"
|
||||||
"</div>"
|
"</div>"
|
||||||
"<div class=\"main\">")
|
"<div class=\"main\">")
|
||||||
|
@ -253,6 +274,7 @@ Return output file name."
|
||||||
:base-extension "org"
|
:base-extension "org"
|
||||||
:publishing-directory ,publish-dir
|
:publishing-directory ,publish-dir
|
||||||
:recursive t
|
:recursive t
|
||||||
|
:preparation-function org-blog-prepare
|
||||||
:publishing-function org-blog-publish-to-html
|
:publishing-function org-blog-publish-to-html
|
||||||
:with-toc nil
|
:with-toc nil
|
||||||
:with-title nil
|
:with-title nil
|
||||||
|
|
BIN
project.el.sig
BIN
project.el.sig
Binary file not shown.
|
@ -2,9 +2,7 @@
|
||||||
#+AUTHOR: Yann Esposito
|
#+AUTHOR: Yann Esposito
|
||||||
#+EMAIL: yann@esposito.host
|
#+EMAIL: yann@esposito.host
|
||||||
#+DESCRIPTION: Articles
|
#+DESCRIPTION: Articles
|
||||||
- [2019-08-18] [[file:/Users/yaesposi/y/her.esy.fun/src/posts/project-el/index.org][Autoload Script by project]] /(programming, blog, org-mode)/
|
- [2019-09-14] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/how-i-internet.org][How I Internet]]* @@html:<div class="keywords">@@@@html:<span class="keyword">@@#blog@@html:</span>@@ @@html:<span class="keyword">@@#self-hosting@@html:</span>@@ @@html:<span class="keyword">@@#web@@html:</span>@@@@html:</div>@@@@html:<div class="description">@@How I protect myself against attention grabbing anti-patterns.@@html:</div>@@
|
||||||
A script I use to load safely an eLISP file when entering a new project directory.
|
- [2019-08-18] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/project-el/index.org][Autoload Script by project]]* @@html:<div class="keywords">@@@@html:<span class="keyword">@@#blog@@html:</span>@@ @@html:<span class="keyword">@@#org-mode@@html:</span>@@ @@html:<span class="keyword">@@#programming@@html:</span>@@@@html:</div>@@@@html:<div class="description">@@A script I use to load safely an eLISP file when entering a new project directory.@@html:</div>@@
|
||||||
- [2019-08-17] [[file:/Users/yaesposi/y/her.esy.fun/src/posts/troll-2/index.org][Troll 2]] /(movie)/
|
- [2019-08-17] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/troll-2/index.org][Troll 2]]* @@html:<div class="keywords">@@@@html:<span class="keyword">@@#movie@@html:</span>@@@@html:</div>@@@@html:<div class="description">@@I watched what may be the worse movie of all time and I still enjoyed greatly the show.@@html:</div>@@
|
||||||
I watched what may be the worse movie of all time and I still enjoyed greatly the show.
|
- [2019-08-17] *[[file:/Users/yaesposi/y/her.esy.fun/src/posts/new-blog.org][New Blog]]* @@html:<div class="keywords">@@@@html:<span class="keyword">@@#blog@@html:</span>@@ @@html:<span class="keyword">@@#css@@html:</span>@@ @@html:<span class="keyword">@@#org-mode@@html:</span>@@ @@html:<span class="keyword">@@#programming@@html:</span>@@ @@html:<span class="keyword">@@#web@@html:</span>@@@@html:</div>@@@@html:<div class="description">@@Meta article about how I generate this blog.@@html:</div>@@
|
||||||
- [2019-08-17] [[file:/Users/yaesposi/y/her.esy.fun/src/posts/new-blog.org][New Blog]] /(programming, blog, org-mode, web, css)/
|
|
||||||
Meta article about how I generate this blog.
|
|
|
@ -146,8 +146,7 @@ h6::before {
|
||||||
}
|
}
|
||||||
hr {
|
hr {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 1em;
|
height: 1px;
|
||||||
font-size: 0;
|
|
||||||
line-height: 0;
|
line-height: 0;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border: 0;
|
border: 0;
|
||||||
|
@ -158,6 +157,7 @@ hr:after {
|
||||||
top: 0;
|
top: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
font-weight: bold;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
pre { max-width: 100%; overflow: scroll; }
|
pre { max-width: 100%; overflow: scroll; }
|
||||||
|
@ -211,7 +211,7 @@ navigation > a {
|
||||||
margin: 0 1em;
|
margin: 0 1em;
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
#content *:first-child {
|
#content:first-child {
|
||||||
margin-top: 0;
|
margin-top: 0;
|
||||||
}
|
}
|
||||||
.timestamp-wrapper {
|
.timestamp-wrapper {
|
||||||
|
@ -223,7 +223,7 @@ navigation > a {
|
||||||
padding: 1px 1ex;
|
padding: 1px 1ex;
|
||||||
}
|
}
|
||||||
.article-date {
|
.article-date {
|
||||||
font-size: 0.8;
|
font-size: 0.8em;
|
||||||
font-style: italic;
|
font-style: italic;
|
||||||
float: right;
|
float: right;
|
||||||
}
|
}
|
||||||
|
@ -494,6 +494,33 @@ input#darkraw:target ~ .main code,
|
||||||
input#darkraw:target ~ .main pre {
|
input#darkraw:target ~ .main pre {
|
||||||
font-family: monospace;
|
font-family: monospace;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* Dark matrix theme selected */
|
||||||
|
input#matrix:target ~ .main {
|
||||||
|
--main-background: #000;
|
||||||
|
--main-foreground: #0b0;
|
||||||
|
--second-foreground: #0b0;
|
||||||
|
--reveal-background: #000;
|
||||||
|
--soft-foreground: #0b0;
|
||||||
|
--border-color: #0b0;
|
||||||
|
--todo-txt: #0b0;
|
||||||
|
--color-h1: #0b0;
|
||||||
|
--color-h2: #0b0;
|
||||||
|
--color-h3: #0b0;
|
||||||
|
--color-h4: #0b0;
|
||||||
|
--color-h5: #0b0;
|
||||||
|
--color-h6: #0b0;
|
||||||
|
--color-link: white;
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
input#matrix:target ~ #labels {
|
||||||
|
background: #000;
|
||||||
|
color: #0b0;
|
||||||
|
}
|
||||||
|
input#matrix:target ~ .main code,
|
||||||
|
input#matrix:target ~ .main pre {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
/* Default color theme */
|
/* Default color theme */
|
||||||
body,.main {
|
body,.main {
|
||||||
background: var(--main-background);
|
background: var(--main-background);
|
||||||
|
@ -510,6 +537,15 @@ a, a:visited,
|
||||||
color: var(--second-foreground);
|
color: var(--second-foreground);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.keywords {
|
||||||
|
color: var(--second-foreground);
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
.keyword:hover {
|
||||||
|
cursor: pointer;
|
||||||
|
color: var(--yellow);
|
||||||
|
}
|
||||||
|
|
||||||
.main ol > li:before, ol > li:before {
|
.main ol > li:before, ol > li:before {
|
||||||
color: var(--soft-foreground)
|
color: var(--soft-foreground)
|
||||||
}
|
}
|
||||||
|
|
140
src/posts/how-i-internet.org
Normal file
140
src/posts/how-i-internet.org
Normal file
|
@ -0,0 +1,140 @@
|
||||||
|
#+TITLE: How I Internet
|
||||||
|
#+SUBTITLE: (POSSE) Relaxing the Internet experience
|
||||||
|
#+AUTHOR: Yann Esposito
|
||||||
|
#+EMAIL: yann@esposito.host
|
||||||
|
#+DATE: [2019-09-14 Sat]
|
||||||
|
#+KEYWORDS: blog, self-hosting, web, zen, minimalism
|
||||||
|
#+DESCRIPTION: How I protect myself against attention grabbers and many social media anti-patterns.
|
||||||
|
#+OPTIONS: auto-id:t
|
||||||
|
|
||||||
|
#+begin_notes
|
||||||
|
*Sorry for the late reply*
|
||||||
|
|
||||||
|
Don't take it personnaly if I do not answer immediately to your comments or
|
||||||
|
questions.
|
||||||
|
|
||||||
|
I do not receive notification from most social media or even mail.
|
||||||
|
I do not have any social-media platform application on my phone.
|
||||||
|
I almost never check social media platform except GitHub.
|
||||||
|
|
||||||
|
I check my mails once in a while.
|
||||||
|
It can be a few times a day, but it is not unusual not to check my mail for
|
||||||
|
a few days or even an entiere week.
|
||||||
|
|
||||||
|
It is a protection against real-time notifications, and urgency feeling
|
||||||
|
that is harmful fof most people.
|
||||||
|
|
||||||
|
---------
|
||||||
|
|
||||||
|
TL;DR:
|
||||||
|
|
||||||
|
- I /POSSE[fn:posse]/; Publish Own Site, Syndicate Elsewhere:
|
||||||
|
+ I own my data I self host my blog, notes, my repositories, my bookmarks, etc...
|
||||||
|
+ I use espial[fn:espial] for self-hosted bookmarks and notes
|
||||||
|
+ I use note-red[fn:node-red] to publish my blogs, bookmarks and notes to
|
||||||
|
twitter, sync bookmarks with pinboard[fn:pinboard]
|
||||||
|
- read Digital Minimalism[fn:dm]
|
||||||
|
- Control notifications
|
||||||
|
- Control real-time interactions
|
||||||
|
#+end_notes
|
||||||
|
|
||||||
|
[fn:posse]: https://indieweb.org/POSSE
|
||||||
|
[fn:dm] http://www.calnewport.com/books/digital-minimalism/
|
||||||
|
[fn:espial]: https://github.com/jonschoning/espial
|
||||||
|
[fn:node-red]: https://nodered.org
|
||||||
|
[fn:pinboard]: https://pinboard.in
|
||||||
|
|
||||||
|
* Intro
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: intro
|
||||||
|
:END:
|
||||||
|
|
||||||
|
Our usage of the Internet changed a lot in recent years.
|
||||||
|
The book Digital Minimalism[fn:dm] explains quite clearly how Internet
|
||||||
|
and many social platforms are really useful but at the same can harm us.
|
||||||
|
|
||||||
|
The harm mostly come from social anti-pattern that are mostly hacking our
|
||||||
|
brain.
|
||||||
|
More precisely owr lower part of the brain, the one close to the instinct
|
||||||
|
which is quite difficult to tame.
|
||||||
|
This is why this is the preferred target of those "brain hacks".
|
||||||
|
|
||||||
|
Anti-features are:
|
||||||
|
|
||||||
|
- likes / retweets ; they provide no more benefit for us except we feel good
|
||||||
|
by this social approval.
|
||||||
|
- comments are useful, the problem with comments is they generate a
|
||||||
|
notification or if not, generate us to check quite often if our output
|
||||||
|
has generated social approval or not.
|
||||||
|
|
||||||
|
So now, I how my own blog on my own server with my own domain name.
|
||||||
|
And I publish things, but I only check the outcome once or two times a day.
|
||||||
|
I receive no notification, I do not have any social media application on my
|
||||||
|
phone.
|
||||||
|
The social media "reactions" are filtered in my email, put in some
|
||||||
|
directory and checked once in a while (no more than twice a day, generally
|
||||||
|
only a few times a week).
|
||||||
|
|
||||||
|
The drawback is that it can feel rude for people not to be answered fast.
|
||||||
|
I am sorry, but it is a protection for my sanity.
|
||||||
|
|
||||||
|
* Producing
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: producing
|
||||||
|
:END:
|
||||||
|
** Self Hosting
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: self-hosting
|
||||||
|
:END:
|
||||||
|
The first important step is to self host most of my data.
|
||||||
|
|
||||||
|
Unfortunately this is not as straightforward as it should be.
|
||||||
|
The very first huge obstacle is owning a domain name and configuring the DNS.
|
||||||
|
It is WAY too complex to buy and control easily your own domain name.
|
||||||
|
I mean, once used to it, it is quite easy.
|
||||||
|
But I can't imagine someone not very used to computers to be able to
|
||||||
|
do all of that for himself in less than a few hours/days.
|
||||||
|
|
||||||
|
I wrote an [[file:new-blog.org][article]] sharing the details about my currentl blog platform.
|
||||||
|
I also describe how I intend to provide a respectful blog.
|
||||||
|
|
||||||
|
** TODO RSS
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: rss
|
||||||
|
:END:
|
||||||
|
Describe that it is important to provide an RSS feed as a nice standardized
|
||||||
|
root to publishing.
|
||||||
|
|
||||||
|
** TODO Git Repositories
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: git-repositories
|
||||||
|
:END:
|
||||||
|
** TODO Espial
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: espial
|
||||||
|
:END:
|
||||||
|
Describe espial, and how I changed it.
|
||||||
|
** TODO node-red
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: node-red
|
||||||
|
:END:
|
||||||
|
Describe node-red and how I use it.
|
||||||
|
* TODO Consuming
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: consuming
|
||||||
|
:END:
|
||||||
|
** TODO Emacs elfeed
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: emacs-elfeed
|
||||||
|
:END:
|
||||||
|
|
||||||
|
** TODO Mail
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: mail
|
||||||
|
:END:
|
||||||
|
Only use mail
|
||||||
|
|
||||||
|
** TODO Github
|
||||||
|
:PROPERTIES:
|
||||||
|
:CUSTOM_ID: github
|
||||||
|
:END:
|
Loading…
Reference in a new issue