From 71c6f95ce5ae2ea8207a6cfe69ba93bb47ec6964 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Fri, 1 May 2020 15:25:59 +0200 Subject: [PATCH] update footer, simpler css --- engine/update-file-size.sh | 3 +- project.el | 107 ++++++++++++++++++++++++------------- project.el.sig | Bin 586 -> 586 bytes src/about-me.org | 78 +++++++++++++++++---------- src/css/mk.css | 25 +-------- src/files/publickey.txt | 52 ++++++++++++++++++ src/index.org | 30 ++++++++--- src/slides.org | 17 +++--- 8 files changed, 209 insertions(+), 103 deletions(-) create mode 100644 src/files/publickey.txt diff --git a/engine/update-file-size.sh b/engine/update-file-size.sh index fc49ea0..d470935 100755 --- a/engine/update-file-size.sh +++ b/engine/update-file-size.sh @@ -56,7 +56,8 @@ for fic in $filelist; do done debug CSS: $csssize total=$(( htmlsize + imgsize + csssize )) - sizeinfos=$(print -- "Size: $(toh $total) (HTML: $(toh $htmlsize), CSS: $(toh $csssize), IMG: $(toh $imgsize))") + # the space is important before the toh total + sizeinfos=$(print -- " $(toh $total) (HTML: $(toh $htmlsize), CSS: $(toh $csssize), IMG: $(toh $imgsize))") print -- $sizeinfos perl -pi -e 's#(
)[^<]*(
)#$1'"$sizeinfos"'$2#' $fic done diff --git a/project.el b/project.el index 3b697c7..4e06f07 100644 --- a/project.el +++ b/project.el @@ -108,6 +108,14 @@ (apply 'concat (mapcar 'rand-obfs txt))) +(defun keywords-to-html (keywords) + (let ((keywords (split-string keywords ",\s*"))) + (format " %s" + (mapconcat (lambda (k) + (format "#%s" k)) + (cl-sort keywords 'string-lessp :key 'downcase) + " ")))) + (defun org-blog-postamble (info) "Post-amble for whole blog." (concat @@ -117,33 +125,61 @@ ;; (format "comment" ;; (url-hexify-string url))) "" (menu '("↑ Top ↑")) "")) @@ -168,19 +204,16 @@ (when (string-match "posts/.*" entry) (let* ((file (org-publish--expand-file-name entry project)) (title (org-publish-find-title entry project)) - (date (format-time-string "%Y-%m-%d" (org-publish-find-date entry project))) - (keywords (split-string (y/get-meta file "KEYWORDS") ",\s*")) + (artdate (format-time-string "%Y-%m-%d" (org-publish-find-date entry project))) + ;; (keywords (y/get-meta file "KEYWORDS")) (description (y/get-meta file "DESCRIPTION"))) (concat - "- " - (format " [%s]" date) + (format " @@html:%s@@: " artdate) (format " *[[file:%s][%s]]*" file title) - (format " @@html:
@@%s@@html:
@@" - (mapconcat (lambda (k) (format "@@html:@@#%s@@html:@@" k)) - (cl-sort keywords 'string-lessp :key 'downcase) - " ")) - (format "@@html:
@@%s@@html:
@@" description) - (format "@@html:
@@" description))))) + (format " @@html:
@@%s@@html:
@@" description) + (format " @@html:
@@ ") + ;; (keywords-to-html keywords) + " @@html:
@@\n")))) (defun org-blog-sitemap-fn-descr (descr title list) "Return sitemap using TITLE and LIST returned by `org-blog-sitemap-format-entry'." diff --git a/project.el.sig b/project.el.sig index 7d497fd12766cd42e86ce322585b73d84ca1e5f0..57fa15cab80b10e86cc9f98429fb1d5e07d35d4f 100644 GIT binary patch delta 534 zcmV+x0_pwA1j+=EBLl1>T9GCof0Aqu{y%ZW%g`2#R+KN=npDl(6vI~YW)##hq?geY zF*WB|3UhF_sWW8~_Wi;s`J>MZqp)uI8vNK4_-dScUQZE@v{?9{w)f<%%0^rmu)mIh zmxP>7zHkxD=n{}V_qIfw;3ccNLs4b`JsT-Vq%x}53bXwbuKl{DPJ+d^e^k0;BNV!|$PAmbj@4$eFCv%u|t8~Trh;_oeyF%wrC zGbLe>=#~C~tfD@q`Oy%QFX8s@e_-l}Fm2De$;xsfqGjNh@Z!4*#I@HRu^@Y>(hH77 zp(E#JGM%R?t(Y)UGCzqO3Bkl4Kkmpc-DuxNNw!#RrXRlzT5GIJe_c1cQis(4c!b8f z-@<8Xr_=567nf(2(a`A;>2QX1FZ3?8_=w#;MBc}|1?Vp`8e`<~|C3JhorHz>rKOcT zbCZ8{I}`$L=P8Cl!1ZOog$as0c9{3w_!F`%jH97U-^%8i55h4r#CZblJASdDvxtpt Y32iJw#{=#QLpUe#2y=!W9XN?YV%1d+_W%F@ delta 534 zcmV+x0_pwA1j+=EBLl15Q;{Yhf0MTl{T@-~N=;}6Y%Lk!qvfNjiFSVFB#VAEO4MV1 zGi4MvW?9`a}tUchD5XuS~pK;zks z6Ecf6I6H9BNH(wJ_nDnMRtYTheR-zqI8pB9S1p^_s>xS^Hp^8|p1}_te@38$O!dZU zN7a?_`n!!ZteACE(k@P#Nmd?40Q^$Ez{4JPBc>9a(S{P7+Y|h6exbrmPZ@1oNIN_+n@cd0Qkao+6BEzFyfvMQvyg1yV zlt$C*X*^)aX#H~RLE-NHe>2J)YB=0gz1wRN)=$mG}Li}5bjfvz`?OUs2ofSC8xN}k0PR>SL0mPxc4WY2e(uB(XkP;?` z@sl~ze$R_J;}>+~seUBmec)-fXu&pkN>kJgc9gma=xB%D##WfQ5$bS6%Qt?YaS1%5 Y3HB2}i7qj#g8dm^2m)BbR}tvyC|NKN4*&oF diff --git a/src/about-me.org b/src/about-me.org index 817afa0..bd4c090 100644 --- a/src/about-me.org +++ b/src/about-me.org @@ -30,6 +30,9 @@ I try to look at my email everyday. But sometime a few days could go without me checking them. So I'll answer, it can just take a lot of time. + +My preferred way to be contacted is via encrypted email. +This will certainly be the best way for me to notice you among notifications. #+end_notes [fn:dm] http://www.calnewport.com/books/digital-minimalism/ @@ -39,35 +42,19 @@ So I'll answer, it can just take a lot of time. :CUSTOM_ID: contact :END: -- *email*: @@html: Yann Esposito <yann@esposito.host>@@ -Self hosted services: +#+MACRO: pemail @@html: Yann Esposito <yann@esposito.host>@@ -| programs | [[https://gitea.esy.fun/yogsototh][gitea]] | -| bookmarks | [[https://espial.esy.fun/u:yogsototh][espial public bookmarks]] | -| notes/microblog | [[https://espial.esy.fun/u:yogsototh/notes][espial public notes]] | +| email | {{{pemail}}} | +| gpg | [[file:files/publickey.txt][CB420F8005F1A662]] | +| programs | [[https://gitea.esy.fun/yogsototh][gitea]] / [[https://github.com/yogsototh][github/yogsototh]] | +| bookmarks | [[https://espial.esy.fun/u:yogsototh][espial]] / [[https://pinboard.in/u:yogsototh][pinboard/u:yogsototh]] | +| microblog | [[https://espial.esy.fun/u:yogsototh/notes][espial]] / [[https://twitter.com/yogsototh][twitter/@yogsototh]] | +| keybase | [[https://keybase.io/yogsototh][yogsototh]] | +| lobste.rs | [[https://lobste.rs/u/yogsototh][/u/yogsototh]] | +| reddit | [[https://reddit.com/u/yogsototh][/u/yogsototh]] | +| stack overflow | [[https://stackoverflow.com/users/40569/yogsototh][yogsototh]] | -** Social Platforms -:PROPERTIES: -:CUSTOM_ID: social-platforms -:END: - -| keybase | [[https://keybase.io/yogsototh][yogsototh]] | -| bookmarks | [[https://pinboard.in/u:yogsototh][u:yogsototh]] | -| lobste.rs | [[https://lobste.rs/u/yogsototh][/u/yogsototh]] | -| github | [[https://github.com/yogsototh][yogsototh]] | -| twitter | [[https://twitter.com/yogsototh][@yogsototh]] | -| reddit | [[https://reddit.com/u/yogsototh][/u/yogsototh]] | -| stack overflow | [[https://stackoverflow.com/users/40569/yogsototh][yogsototh]] | - -** old websites -:PROPERTIES: -:CUSTOM_ID: old-websites -:END: - -- https://yannesposito.com ✞ 2016 -- http://yann.esposito.free.fr ✞ 2007 - -* Who am I +* Who am I? :PROPERTIES: :CUSTOM_ID: who-am-i :END: @@ -79,3 +66,40 @@ In particular: - [[http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/][Learn Haskell Fast and Hard]] - [[http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/][Haskell Web Programming]] - [[http://yannesposito.com/Scratch/en/blog/Category-Theory-Presentation/][Category Theory Presentation]] + +** Work +:PROPERTIES: +:CUSTOM_ID: work +:END: + +#+MACRO: br @@html:
@@ + +I'm a functional programmer, working remotely for Cisco.{{{br}}} +I work in Clojure and use Haskell/Purescript during the weekends. + +I am part of a full remote team. +I work on the backend and I'm particularly specialized in Authentication. +I wrote a full OAuth2 and OpenID Connect Provider in Clojure. +Right now there is no plan to make it opensource. + +** Tooling +:PROPERTIES: +:CUSTOM_ID: tooling +:END: + +In our programmer community, tooling is essential. + +- emacs (former vim user) + - spacemacs + - org-mode / org-journal / org-roam + - magit / forge / github-review +- weechat + - weeslack + +* former websites +:PROPERTIES: +:CUSTOM_ID: old-websites +:END: + +- https://yannesposito.com ✞ 2016 +- http://yann.esposito.free.fr ✞ 2007 diff --git a/src/css/mk.css b/src/css/mk.css index 82f133c..62dcd69 100644 --- a/src/css/mk.css +++ b/src/css/mk.css @@ -143,7 +143,7 @@ hr { #table-of-contents { margin-bottom: var(--lh); } -#postamble:before, hr:after { +hr:after { font-family: Menlo, monospace; text-align: center; content: "----------------------------------------------------------"; @@ -191,9 +191,6 @@ figure, .figure { #postamble { margin-top: var(--lh); } -.timestamp-wrapper { - font-size: 14px; -} .todo, .done { font-size: 14px; font-weight: bold; @@ -232,9 +229,6 @@ figure, .figure { label + pre { margin-top: 0; } -li .keywords { - font-style: italic; -} /* COLORS */ :root { @@ -260,7 +254,7 @@ li .keywords { --fg0: var(--b0); --fg: var(--b02); --rfg: #000; - --hl: var(--o); + --hl: var(--c); } img { @@ -278,9 +272,6 @@ h1, h2, h3, h4, h5, h6 { a { color: var(--hl); } -#content a, #content a:visited { - color: var(--rfg); -} b, strong, i, em { color: var(--rfg); @@ -301,22 +292,10 @@ h1:before, h2:before, h3:before, h4:before, h5:before, h6:before { nav a, nav a:visited { color: var(--fg); } -li .keywords, ol > li:before, pre::after,pre::before,hr:after, label, label a, label a:visited { color: var(--fg0); } -#labels label:hover, -a:hover, -a:hover *, -.metas a:hover, -#content a:hover, -#content a:hover *, -nav a:hover { - color: var(--bg); - background: var(--hl); -} - abbr { border-bottom: dashed 1px; display: inline-block; } diff --git a/src/files/publickey.txt b/src/files/publickey.txt new file mode 100644 index 0000000..1a63220 --- /dev/null +++ b/src/files/publickey.txt @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +knVzm9h9eZeOhQ== +=y96G +-----END PGP PUBLIC KEY BLOCK----- diff --git a/src/index.org b/src/index.org index d7c4e69..1371386 100644 --- a/src/index.org +++ b/src/index.org @@ -1,4 +1,4 @@ -#+TITLE: Welcome! +#+TITLE: Yann Esposito's Website #+KEYWORDS: programming #+AUTHOR: Yann Esposito #+EMAIL: yann@esposito.host @@ -20,15 +20,25 @@ @@ -#+MACRO: br @@html:

@@ +#+MACRO: br @@html:
@@ +#+MACRO: pemail @@html: Yann Esposito <yann@esposito.host>@@ -Welcome to my personal website. -I generally talk about programming, maybe movies, or miscellaneous topics. -You can follow new articles via [[https://her.esy.fun/rss.xml][RSS]]. -I also expose some of my presentations here. +I'm a functional programmer, working remotely for Cisco.{{{br}}} +I work in Clojure and use Haskell/Purescript during the weekends. -- [[file:archive.org][articles]] -- [[file:slides.org][presentations]] +- [[https://gitea.esy.fun/yogsototh][I write softwares]] ([[https://github.com/yogsototh][backuped on github]]), +- [[file:archive.org][I blog]] (you can follow new articles via [[https://her.esy.fun/rss.xml][RSS]]), +- [[file:slides.org][I sometime make some presentations]] + +| email | {{{pemail}}} | +| gpg | [[file:files/publickey.txt][CB420F8005F1A662]] | +| programs | [[https://gitea.esy.fun/yogsototh][gitea]] / [[https://github.com/yogsototh][github/yogsototh]] | +| bookmarks | [[https://espial.esy.fun/u:yogsototh][espial]] / [[https://pinboard.in/u:yogsototh][pinboard/u:yogsototh]] | +| microblog | [[https://espial.esy.fun/u:yogsototh/notes][espial]] / [[https://twitter.com/yogsototh][twitter/@yogsototh]] | +| keybase | [[https://keybase.io/yogsototh][yogsototh]] | +| lobste.rs | [[https://lobste.rs/u/yogsototh][/u/yogsototh]] | +| reddit | [[https://reddit.com/u/yogsototh][/u/yogsototh]] | +| stack overflow | [[https://stackoverflow.com/users/40569/yogsototh][yogsototh]] | That website was created with the following constraints in mind by order of priority: @@ -36,14 +46,18 @@ priority: 1. *Respect Privacy*; no tracker of any sort (no ads, no google analytics, no referrer for all external links, etc...) {{{br}}} + {{{br}}} 2. *Almost javascript free*; no js at all except for a single exception, pages containing Math formulæ are displayed using mathjax. {{{br}}} + {{{br}}} 3. *Accessibility*; should be easy to read on a text browser so people with disabilities could easily consume it. {{{br}}} + {{{br}}} 4. *RSS*; you should be able to get informed when I add a new blog post. {{{br}}} + {{{br}}} 5. *Frugal*; try to minimize the resources needed to visit my website; no javascript, no web-font, not too much CSS magic, not much images or really compressed one. diff --git a/src/slides.org b/src/slides.org index ae6c88f..26a8d97 100644 --- a/src/slides.org +++ b/src/slides.org @@ -22,13 +22,16 @@ * English -- [2018-10-25 Thu] [[file:slides/git-project-manager.org][Git Project Manager]] is a talk I made for the "Commission Open Source" - about how to gain back autonomy with git by providing most features - Github propose just with a few conventions. I even written a tool to help - manage issues, code review, git hosting, etc... +@@html:2018-10-25@@: *[[file:slides/git-project-manager.org][Git Project Manager]]* + +This is a talk I made for the "Commission Open Source" about how to gain +back autonomy with git by providing most features Github propose just with +a few conventions. +I even written a tool to help manage issues, code review, git hosting, +etc... * French -- [2018-03-15 Thu] - [[file:slides/Intro-to-FP-with-Haskell.org][Introduction à la programmation fonctionnelle avec Haskell]] - is a French talk introducing Functional programming concept with Haskell. +@@html:2018-03-15@@: *[[file:slides/Intro-to-FP-with-Haskell.org][Introduction à la programmation fonctionnelle avec Haskell]]* + +A talk in French introducing Functional programming concept with Haskell.