From 44760e03e7aea57c64b9acf4a480f58af1666d6f Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Thu, 15 Aug 2019 23:20:09 +0200 Subject: [PATCH] many minor fixes --- .project.el.gpg | Bin 3592 -> 3591 bytes src/css/minimalist.css | 25 ++++-- src/demo.org | 89 ++++++++++++++++++++ src/index.org | 15 ++-- src/posts/2019-07-04-static-org-publish.org | 65 ++++++++------ 5 files changed, 155 insertions(+), 39 deletions(-) diff --git a/.project.el.gpg b/.project.el.gpg index 12d47795a467ef693b298be6bb4c8886c121569b..e3fbbeac482c6126d9b49a6244ed16fa83d420ea 100644 GIT binary patch literal 3591 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 OF7Sb5Udy&G$9!tsPXDd| diff --git a/src/css/minimalist.css b/src/css/minimalist.css index 7ff5f2e..6dd4a33 100644 --- a/src/css/minimalist.css +++ b/src/css/minimalist.css @@ -465,29 +465,38 @@ blockquote:after, .main blockquote:after { } /* -------- */ /* org colors */ +.underline { + text-decoration: underline; +} .todo, .done, .main .todo, .main .done { - color: var(--todo-txt); + background-color: var(--reveal-background); + border: solid 1px; + height: 10px; + display: inline-block; + line-height: 12px; + font-weight: bold; + font-size: 10px; } .TODO, .main .TODO { - background-color: var(--red); + color: var(--red); } .IN_PROGRESS, .main .IN_PROGRESS { - background-color: var(--yellow); + color: var(--yellow); } .IN_REVIEW, .main .IN_REVIEW { - background-color: var(--cyan); + color: var(--cyan); } .HOLD, .main .HOLD { - background-color: var(--violet); + color: var(--violet); } .WAITING, .main .WAITING { - background-color: var(--violet); + color: var(--violet); } .DONE, .main .DONE { - background-color: var(--green); + color: var(--green); } .CANCELED, .main .CANCELED { - background-color: var(--magenta); + color: var(--magenta); } .notes, .main .notes { background-color: var(--reveal-background); diff --git a/src/demo.org b/src/demo.org index 2987777..cdc5dc3 100644 --- a/src/demo.org +++ b/src/demo.org @@ -26,6 +26,95 @@ paragraph. But if I use a double space There should be a forced newline. +* Lorem Ipsum + :PROPERTIES: + :CUSTOM_ID: lorem-ipsum + :END: + + #+begin_src http :pretty + GET https://jaspervdj.be/lorem-markdownum/markdown.txt + #+end_src + +** Deos illo sacrum perque victorem eurytus paterque + :PROPERTIES: + :CUSTOM_ID: deos-illo-sacrum-perque-victorem-eurytus-paterque + :END: + +*** Haec tela discedentem femina + :PROPERTIES: + :CUSTOM_ID: haec-tela-discedentem-femina + :END: + +Lorem markdownum invidiosa iactor! Fidem utque indeploratum pariter. + +#+BEGIN_SRC javascript + var port = tooltipPimThreading; + if (pinterest_net_koffice) { + format -= installer; + buffer = 4; + office_device(2, ssh + model); + } else { + website_controller_linux.gigabyte = clone; + } + fileProtocol = driverOcr; +#+END_SRC + +*** Duorum habuisse horrentia de noceat + :PROPERTIES: + :CUSTOM_ID: duorum-habuisse-horrentia-de-noceat + :END: + +Patriam vocalibus peraget robore recursus diruta ut ergo signa factis, +nigrum, attonitas, in Solis. Mugit [[http://news.ycombinator.com][non +carpe sed]] ceperunt dextra ausum; sanguine durior. Soror Cinyras illos +remugis; super quia somno nunc retemptat oracula cumque. Id Helicen +primum, proles turis nemus claudit molior naturalique deciperetur qua +sulcat et, ad volui. + +1. Tubas gener +2. Ad pacta +3. Vetantis ferrum pugnabant quoque +4. Diomede pallida boum membra + +Saepe /mihi/? Tum comae iurasse statione morsus vigilans, ergo. Ipse dum +sunt Hymettia: fecit cum et coactis, potae carmine lynca fertur +descenderat. + +*** Subitis de luce et poenas cum + :PROPERTIES: + :CUSTOM_ID: subitis-de-luce-et-poenas-cum + :END: + +Cladem adit ergo es tecto sit visa dryades vota quos, prima ligno ficta. +Ibat supplex, /est/ costis oblita, elisi regis captum Phoebi tandem +conchaeque! Aera et Aello genetrix. + +Et caelo adspexit, cornua et Iuppiter inmensae /abies/. Micabant Paeonas +meliora constitit, ut expers *artisque* adspicit fretum, vulnere +oppidaque, tenuit arma, haec velamine unda. Retinentia iudice, *quos +moras* comitata aliquid prospiciens cepit cum iustius sua cur truncis +ausus unde partibus marisque et grave. Fui opertis liquor laudatae di +erat, repellit conspectos manibus. + +Auresque longius res Fando es /nil nec ora/ vixque et tot pendens maius +in et meliora! Flentibus verba nostro agmenque: dedit est regis virque +post Talia telumque, sol *et lanient* perierunt timido. Fitque variare +truncas Phoebus agros, salictis tam pumice facti! Post et neque et +vidit, Lycaeo incautus, latratus terrae thalamique ulta. + +* Math + :PROPERTIES: + :CUSTOM_ID: math + :END: + + \(x^y / \log(x)\) + +\[ \prod_{i=0}^n \sum_{x_i\in E} \frac{1}{x_i} \] + +* Level 1 + :PROPERTIES: + :CUSTOM_ID: level-1 + :END: ** Level 2 :PROPERTIES: :CUSTOM_ID: level-2-85fc diff --git a/src/index.org b/src/index.org index d891b96..f13a805 100644 --- a/src/index.org +++ b/src/index.org @@ -16,16 +16,17 @@ So programming, functional programming in particular. That website was created with the following constraints in mind by order of priority: -1. /Respect Privacy/; no tracker of any sort (no ads, no google analytics, no +1. *Respect Privacy*; no tracker of any sort (no ads, no google analytics, no referrer for all external links, etc...) -2. /javascript free/; no js at all, yes even the theme changer -3. /disability friendly/; should be easy to read on a text browser so people +2. *javascript free*; no js at all, yes even the theme changer +3. *disability friendly*; should be easy to read on a text browser so people with disabilities could easily consume it -4. /nerdy/; should feel mostly like markdown text in a terminal and source code +4. *nerdy*; should feel mostly like markdown text in a terminal and source code should be syntax higlighted. -5. /org-mode friendly/; I should write my post in [[https://orgmode.org][org mode]] -6. /user friendly/; support your preferred light/dark theme by default but you +5. *org-mode friendly*; I should write my post in [[https://orgmode.org][org mode]] +6. *user friendly*; support your preferred light/dark theme by default but you can change it if you want. -7. /frugal/; try to minize the resources needed to visit my website; no +7. *rss*; you should be able to get informed when I add a new blog post. +8. *frugal*; try to minize the resources needed to visit my website; no javascript, no webfont, not too much CSS magic, not much images or really compressed one. diff --git a/src/posts/2019-07-04-static-org-publish.org b/src/posts/2019-07-04-static-org-publish.org index cf33167..746eb59 100644 --- a/src/posts/2019-07-04-static-org-publish.org +++ b/src/posts/2019-07-04-static-org-publish.org @@ -4,7 +4,12 @@ #+EMAIL: yann@esposito.host #+DATE: [2019-07-27] #+KEYWORDS: programming, blog, org-mode, meta -#+OPTIONS: auto-id:t +#+OPTIONS: auto-id:t toc:t + +* Introduction + :PROPERTIES: + :CUSTOM_ID: introduction + :END: #+begin_quote /tl;dr/: [[#full-solution][Go to the full solution]] for the impatients. @@ -81,6 +86,17 @@ See [[file:project-el/index.org][my other post about it]]. :END: #+begin_src elisp +(setq domainname "https://her.esy.fun") +(setq base-dir (concat (projectile-project-root) "src")) +(setq publish-dir (concat (projectile-project-root) "_site")) +(setq assets-dir (concat base-dir "/")) +(setq publish-assets-dir (concat publish-dir "/")) +(setq rss-dir base-dir) +(setq rss-title "Subscribe to articles") +(setq publish-rss-dir publish-dir) +(setq css-path "/css/minimalist.css") +(setq author-name "Yann Esposito") +(setq author-email "yann@esposito.host") (require 'org) (require 'ox-publish) @@ -89,16 +105,8 @@ See [[file:project-el/index.org][my other post about it]]. (require 'ox-rss) (setq org-link-file-path-type 'relative) - -(defun org-blog-prepare (project-plist) - "With help from `https://github.com/howardabrams/dot-files'. -Touch `index.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 "index.org" base-directory) t))) - (with-current-buffer buffer - (set-buffer-modified-p t) - (save-buffer 0)))) +(setq org-publish-timestamp-directory + (concat (projectile-project-root) "_cache/")) (defvar org-blog-head (concat @@ -136,6 +144,11 @@ Argument `PROJECT-PLIST' contains information about the current project." (str-time-to-year-float blog-creation-date)))) (format "∆t=%.2f" y))) +(defun get-from-info (info k) + (let ((i (car (plist-get info k)))) + (when (and i (stringp i)) + i))) + (defun org-blog-preamble (info) "Pre-amble for whole blog." (concat @@ -144,17 +157,15 @@ Argument `PROJECT-PLIST' contains information about the current project." "

" (format "%s" (car (plist-get info :title))) "

" - (when-let ((date (get-from-info info :date))) - (format "%s" date)) + (when-let ((date (plist-get info :date))) + (format "%s" + (format-time-string "%Y-%m-%d" + (org-timestamp-to-time + (car date))))) (when-let ((subtitle (car (plist-get info :subtitle)))) (format "

%s

" subtitle)) "")) -(defun get-from-info (info k) - (let ((i (car (plist-get info k)))) - (when (and i (stringp i)) - i))) - (defun rand-obfs (c) (let ((r (% (random) 20))) (cond ;; ((eq 0 r) (format "%c" c)) @@ -206,9 +217,11 @@ Argument `PROJECT-PLIST' contains information about the current project." (defun org-blog-sitemap-format-entry (entry _style project) "Return string for each ENTRY in PROJECT." (when (s-starts-with-p "posts/" entry) - (format "@@html:@@ %s: @@html:@@ [[file:%s][%s]] @@html:@@" - (format-time-string "%Y-%m-%d" - (org-publish-find-date entry project)) + (format (concat "@@html:" + "@@ %s: @@html:@@" + " [[file:%s][%s]]" + " @@html:@@") + (format-time-string "%Y-%m-%d" (org-publish-find-date entry project)) entry (org-publish-find-title entry project)))) @@ -233,11 +246,16 @@ Argument `PROJECT-PLIST' contains information about the current project." (insert (mapconcat 'identity '("" "" + "" + "" "
" "
" - "" + "Change theme: " + "" + "()" " / " - "" + "" + "()" "
" "
" "
") @@ -257,7 +275,6 @@ Argument `PROJECT-PLIST' contains information about the current project." :publishing-directory ,publish-dir :recursive t - :preparation-function org-blog-prepare :publishing-function org-blog-publish-to-html :with-toc nil