home

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

commit 60454d32044f43114f3841b3d4fd9ba4acc6e9be
parent 7d6ef03a026fbf44162b7da4c57aef0e1552571d
Author: Vincent Demeester <vincent@sbr.pm>
Date:   Mon, 30 Mar 2020 08:01:32 +0200

emacs: remove publish part

Signed-off-by: Vincent Demeester <vincent@sbr.pm>

Diffstat:
Dtools/emacs/notes.css | 1274-------------------------------------------------------------------------------
Dtools/emacs/publish.org | 230-------------------------------------------------------------------------------
2 files changed, 0 insertions(+), 1504 deletions(-)

diff --git a/tools/emacs/notes.css b/tools/emacs/notes.css @@ -1,1274 +0,0 @@ -@font-face { - font-family: "GraublauWeb"; - src: url("/fonts/GraublauWeb.otf") format("opentype"); -} -@font-face { - font-family: "GraublauWeb"; - font-weight: bold; - src: url("/fonts/GraublauWebBold.otf") format("opentype"); -} -@font-face { - font-family: "Merriweather"; - src: url("/fonts/Merriweather-Regular.otf") format("opentype"); -} -@font-face { - font-family: "Merriweather"; - font-weight: bold; - src: url("/fonts/Merriweather-Bold.otf") format("opentype"); -} -@font-face { - font-family: "Merriweather"; - font-weight: bold; - font-style: italic; - src: url("/fonts/Merriweather-BoldItalic.otf") format("opentype"); -} -@font-face { - font-family: "Merriweather"; - font-style: italic; - src: url("/fonts/Merriweather-Italic.otf") format("opentype"); -} -@font-face { - font-family: "Merriweather"; - font-weight: lighter; - font-style: italic; - src: url("/fonts/Merriweather-LightItalic.otf") format("opentype"); -} -@font-face { - font-family: "Merriweather"; - font-weight: lighter; - src: url("/fonts/Merriweather-Light.otf") format("opentype"); -} - -html { - font-family:sans-serif; - line-height:1.15; - -ms-text-size-adjust:100%; - -webkit-text-size-adjust:100%; - --font-mono: 'Fira Code','Deja Vu Sans Mono','Bitstream Vera Sans Mono','Source Code Pro','Courier New',monospace; - --font-header: 'Merriweather','Linux Libertine','Georgia','Times',serif; - -} -body { - margin:0 -} -article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary { - display:block -} -audio,canvas,progress,video { - display:inline-block -} -audio:not([controls]) { - display:none; - height:0 -} -progress { - vertical-align:baseline -} -[hidden],template { - display:none -} -a { - background-color:transparent; - -webkit-text-decoration-skip:objects; - border-bottom:1px solid; -} -a:active,a:hover { - outline-width:0 -} -div#table-of-contents a { - border-bottom: 0px solid; -} -abbr[title] { - border-bottom:none; - text-decoration:underline; - text-decoration:underline dotted -} -b,strong { - font-weight:inherit; - font-weight:bolder -} -dfn { - font-style:italic -} -h1 { - font-size:2em; - margin:.67em 0 -} -mark { - background-color:#ff0; - color:#000 -} -small { - font-size:80% -} -sub,sup { - font-size:75%; - line-height:0; - position:relative; - vertical-align:baseline -} -sub { - bottom:-.25em -} -sup { - top:-.5em -} -img { - border-style:none -} -svg:not(:root) { - overflow:hidden -} -code,kbd,pre,samp { - font-family:monospace,monospace; - font-family: var(--font-mono); - font-size:1em -} -figure { - margin:1em 40px -} -hr { - box-sizing:content-box; - height:0; - overflow:visible -} -button,input,optgroup,select,textarea { - font:inherit; - margin:0 -} -optgroup { - font-weight:700 -} -button,input { - overflow:visible -} -button,select { - text-transform:none -} -[type=reset],[type=submit],button,html [type=button] { - -webkit-appearance:button -} -[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner { - border-style:none; - padding:0 -} -[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring { - outline:1px dotted ButtonText -} -fieldset { - border:1px solid silver; - margin:0 2px; - padding:.35em .625em .75em -} -legend { - box-sizing:border-box; - color:inherit; - display:table; - max-width:100%; - padding:0; - white-space:normal -} -textarea { - overflow:auto -} -[type=checkbox],[type=radio] { - box-sizing:border-box; - padding:0 -} -[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button { - height:auto -} -[type=search] { - -webkit-appearance:textfield; - outline-offset:-2px -} -[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration { - -webkit-appearance:none -} -::-webkit-input-placeholder { - color:inherit; - opacity:.54 -} -::-webkit-file-upload-button { - -webkit-appearance:button; - font:inherit -} -.org-bold { - font-weight:700 -} -.org-bold-italic { - font-weight:700; - font-style:italic -} -.org-buffer-menu-buffer { - font-weight:700 -} -.org-builtin { - color:#483d8b -} -.org-button { - color:#3a5fcd; - text-decoration:underline -} -.org-calendar-month-header { - color:#00f -} -.org-calendar-today { - text-decoration:underline -} -.org-calendar-weekday-header { - color:#008b8b -} -.org-calendar-weekend-header { - color:#b22222 -} -.org-comint-highlight-input { - font-weight:700 -} -.org-comint-highlight-prompt { - color:#0000cd -} -.org-comment,.org-comment-delimiter { - color:#b22222 -} -.org-constant { - color:#008b8b -} -.org-diary { - color:red -} -.org-doc { - color:#8b2252 -} -.org-error { - color:red; - font-weight:700 -} -.org-escape-glyph { - color:brown -} -.org-file-name-shadow { - color:#7f7f7f -} -.org-fringe { - background-color:#f2f2f2 -} -.org-function-name { - color:#00f -} -.org-glyphless-char { - font-size:60% -} -.org-header-line { - color:#333; - background-color:#e5e5e5 -} -.org-help-argument-name { - font-style:italic -} -.org-highlight { - background-color:#b4eeb4 -} -.org-holiday { - background-color:pink -} -.org-info-header-node { - color:brown; - font-weight:700; - font-style:italic -} -.org-info-header-xref { - color:#3a5fcd; - text-decoration:underline -} -.org-info-index-match { - background-color:#ff0 -} -.org-info-menu-header { - font-weight:700 -} -.org-info-menu-star { - color:red -} -.org-info-node { - color:brown; - font-weight:700; - font-style:italic -} -.org-info-title-1 { - font-size:172%; - font-weight:700 -} -.org-info-title-2 { - font-size:144%; - font-weight:700 -} -.org-info-title-3 { - font-size:120%; - font-weight:700 -} -.org-info-title-4 { - font-weight:700 -} -.org-info-xref { - color:#3a5fcd; - text-decoration:underline -} -.org-italic { - font-style:italic -} -.org-keyword { - color:#a020f0 -} -.org-lazy-highlight { - background-color:#afeeee -} -.org-link { - color:#3a5fcd; - text-decoration:underline -} -.org-link-visited { - color:#8b008b; - text-decoration:underline -} -.org-makefile-makepp-perl { - background-color:#bfefff -} -.org-makefile-space { - background-color:#ff69b4 -} -.org-makefile-targets { - color:#00f -} -.org-match { - background-color:#ff0 -} -.org-next-error { - background-color:gtk_selection_bg_color -} -.org-nobreak-space { - color:brown; - text-decoration:underline -} -.org-org-agenda-calendar-event,.org-org-agenda-calendar-sexp { - color:#000; - background-color:#fff -} -.org-org-agenda-clocking { - background-color:#ff0 -} -.org-org-agenda-column-dateline { - background-color:#e5e5e5 -} -.org-org-agenda-current-time { - color:#b8860b -} -.org-org-agenda-date { - color:#00f -} -.org-org-agenda-date-today { - color:#00f; - font-weight:700; - font-style:italic -} -.org-org-agenda-date-weekend { - color:#00f; - font-weight:700 -} -.org-org-agenda-diary { - color:#000; - background-color:#fff -} -.org-org-agenda-dimmed-todo { - color:#7f7f7f -} -.org-org-agenda-done { - color:#228b22 -} -.org-org-agenda-filter-category,.org-org-agenda-filter-effort,.org-org-agenda-filter-regexp,.org-org-agenda-filter-tags { - color:#000; - background-color:#bfbfbf -} -.org-org-agenda-restriction-lock { - background-color:#eee -} -.org-org-agenda-structure { - color:#00f -} -.org-org-archived,.org-org-block { - color:#7f7f7f -} -.org-org-block-begin-line,.org-org-block-end-line { - color:#b22222 -} -.org-org-checkbox { - font-weight:700 -} -.org-org-checkbox-statistics-done { - color:#228b22; - font-weight:700 -} -.org-org-checkbox-statistics-todo { - color:red; - font-weight:700 -} -.org-org-clock-overlay { - color:#000; - background-color:#d3d3d3 -} -.org-org-code { - color:#7f7f7f -} -.org-org-column,.org-org-column-title { - background-color:#e5e5e5 -} -.org-org-column-title { - font-weight:700; - text-decoration:underline -} -.org-org-date { - color:#a020f0; - text-decoration:underline -} -.org-org-date-selected { - color:red -} -.org-org-default { - color:#000; - background-color:#fff -} -.org-org-document-info { - color:#191970 -} -.org-org-document-info-keyword { - color:#7f7f7f -} -.org-org-document-title { - color:#191970; - font-weight:700 -} -.org-org-done { - color:#228b22; - font-weight:700 -} -.org-org-drawer { - color:#00f -} -.org-org-ellipsis { - color:#b8860b; - text-decoration:underline -} -.org-org-footnote { - color:#a020f0; - text-decoration:underline -} -.org-org-formula { - color:#b22222 -} -.org-org-headline-done { - color:#bc8f8f -} -.org-org-hide { - color:#fff -} -.org-org-latex-and-related { - color:#8b4513 -} -.org-org-level-1 { - color:#00f -} -.org-org-level-2 { - color:sienna -} -.org-org-level-3 { - color:#a020f0 -} -.org-org-level-4 { - color:#b22222 -} -.org-org-level-5 { - color:#228b22 -} -.org-org-level-6 { - color:#008b8b -} -.org-org-level-7 { - color:#483d8b -} -.org-org-level-8 { - color:#8b2252 -} -.org-org-link { - color:#3a5fcd; - text-decoration:underline -} -.org-org-list-dt { - font-weight:700 -} -.org-org-macro { - color:#8b4513 -} -.org-org-meta-line { - color:#b22222 -} -.org-org-mode-line-clock { - color:#000; - background-color:#bfbfbf -} -.org-org-mode-line-clock-overrun { - color:#000; - background-color:red -} -.org-org-priority { - color:#a020f0 -} -.org-org-quote { - color:#7f7f7f -} -.org-org-scheduled { - color:#006400 -} -.org-org-scheduled-previously { - color:#b22222 -} -.org-org-scheduled-today { - color:#006400 -} -.org-org-sexp-date,.org-org-special-keyword { - color:#a020f0 -} -.org-org-table { - color:#00f -} -.org-org-tag,.org-org-tag-group { - font-weight:700 -} -.org-org-target { - text-decoration:underline -} -.org-org-time-grid { - color:#b8860b -} -.org-org-todo { - color:red; - font-weight:700 -} -.org-org-upcoming-deadline { - color:#b22222 -} -.org-org-verbatim,.org-org-verse { - color:#7f7f7f -} -.org-org-warning { - color:red; - font-weight:700 -} -.org-outline-1 { - color:#00f -} -.org-outline-2 { - color:sienna -} -.org-outline-3 { - color:#a020f0 -} -.org-outline-4 { - color:#b22222 -} -.org-outline-5 { - color:#228b22 -} -.org-outline-6 { - color:#008b8b -} -.org-outline-7 { - color:#483d8b -} -.org-outline-8 { - color:#8b2252 -} -.org-preprocessor { - color:#483d8b -} -.org-regexp-grouping-backslash,.org-regexp-grouping-construct { - font-weight:700 -} -.org-region { - background-color:gtk_selection_bg_color -} -.org-secondary-selection { - background-color:#ff0 -} -.org-shadow { - color:#7f7f7f -} -.org-show-paren-match { - background-color:#40e0d0 -} -.org-show-paren-mismatch { - color:#fff; - background-color:#a020f0 -} -.org-string { - color:#8b2252 -} -.org-success { - color:#228b22; - font-weight:700 -} -.org-table-cell { - color:#e5e5e5; - background-color:#00f -} -.org-tooltip { - color:#000; - background-color:#ffffe0 -} -.org-trailing-whitespace { - background-color:red -} -.org-type { - color:#228b22 -} -.org-underline { - text-decoration:underline -} -.org-variable-name { - color:sienna -} -.org-warning { - color:#ff8c00; - font-weight:700 -} -.org-warning-1 { - color:red; - font-weight:700 -} -body { - width:85%; - margin:2% auto; - font-size:14px; - line-height:1.4em; - font-fannnnnmily:Georgia,serif; - color:#333 -} -@media screen and (min-width:600px) { - body { - font-size:18px - } -} -@media screen and (min-width:1270px) { - body { - width:1200px - } -} -::-moz-selection { - background:#d6edff -} -::selection { - background:#d6edff -} -dl,ol,p,ul { - margin:0 auto -} -#content p { - margin: 1em auto; -} -.title { - margin:.8em auto; - color:gray; -} -.subtitle,.title { - text-align:center -} -.subtitle { - font-size:0.7em; - line-height:1.4; - font-weight:700; - margin:1em auto; - color: lightgray; -} -.abstract { - margin:auto; - width:80%; - font-style:italic -} -.abstract p:last-of-type:before { - content:" "; - white-space:pre -} -.status { - font-size:90%; - margin:2em auto -} -[class^=section-number-] { - margin-right:.5em -} -[id^=orgheadline] { - clear:both -} -#footnotes { - font-size:90% -} -.footpara { - display:inline; - margin:.2em auto -} -.footdef { - margin-bottom:1em -} -.footdef sup { - padding-right:.5em -} -li.on { - list-style: "β˜‘ "; -} -li.off { - list-style: "☐ "; -} -a { - color:#527d9a; - text-decoration:none -} -a:hover { - color:#035; - border-bottom:2px solid; -} -figure { - padding:0; - margin:1em auto; - text-align:center -} -img { - max-width:100%; - vertical-align:middle -} -.MathJax_Display { - margin:0!important; - width:90%!important -} -h1,h2,h3,h4,h5,h6 { - font-family: var(--font-header); -} -h1 { - color: grey; -} -h2,h3,h4,h5,h6 { - color:#a5573e; - line-height:1em; - font-family:Helvetica,sans-serif -} -h1,h2,h3 { - line-height:1.4em -} -h4,h5,h6 { - font-size:1em -} -@media screen and (min-width:600px) { - h1 { - font-size:2em - } - h2 { - font-size:1.5em - } - h3 { - font-size:1.3em - } - h1,h2,h3 { - line-height:1.4em - } - h4,h5,h6 { - font-size:1.1em - } -} -dt { - font-weight:700 -} -table { - margin:1em auto; - border-top:2px solid; - border-collapse:collapse -} -table,thead { - border-bottom:2px solid -} -table td+td,table th+th { - border-left:1px solid gray -} -table tr { - border-top:1px solid #d3d3d3 -} -td,th { - padding:.3em .6em; - vertical-align:middle -} -caption.t-above { - caption-side:top -} -caption.t-bottom { - caption-side:bottom -} -caption { - margin-bottom:.3em -} -figcaption { - margin-top:.3em -} -th.org-center,th.org-left,th.org-right { - text-align:center -} -td.org-right { - text-align:right -} -td.org-left { - text-align:left -} -td.org-center { - text-align:center -} -blockquote { - margin:1em 2em; - padding-left:1em; - border-left:3px solid #ccc -} -kbd { - background-color:#f7f7f7; - font-size:80%; - margin:0 .1em; - padding:.1em .6em -} -.todo { - background-color:red -} -.done,.todo { - color:#fff; - padding:.1em .3em; - border-radius:3px; - background-clip:padding-box; - font-size:80%; - font-family:Lucida Console,monospace; - line-height:1 -} -.done { - background-color:green -} -.priority { - color:orange; - font-family:Lucida Console,monospace -} -#table-of-contents li { - clear:both -} -.tag { - font-family:Lucida Console,monospace; - font-size:.7em; - font-weight:400 -} -.tag span { - padding:.3em; - float:right; - margin-right:.5em; - border:1px solid #bbb; - border-radius:3px; - background-clip:padding-box; - color:#333; - background-color:#eee; - line-height:1 -} -.timestamp { - color:#bebebe; - font-size:90% -} -.timestamp-kwd { - color:#5f9ea0 -} -.org-right { - margin-left:auto; - margin-right:0; - text-align:right -} -.org-left { - margin-left:0; - margin-right:auto; - text-align:left -} -.org-center { - margin-left:auto; - margin-right:auto; - text-align:center -} -.underline { - text-decoration:underline -} -#postamble p,#preamble p { - font-size:90%; - margin:.2em -} -p.verse { - margin-left:3% -} -:not(pre)>code { - padding:2px 5px; - margin:auto 1px; - border:1px solid #ddd; - border-radius:3px; - background-clip:padding-box; - color:#333; - font-size:80% -} -.org-src-container { - background-color: #FDFDFD; - border:1px solid #ccc; - box-shadow:3px 3px 3px #eee; - font-family:Lucida Console,monospace; - font-size:80%; - margin:1em auto; - padding:.1em .5em; - position:relative; - color: #000; -} -.org-src-container>pre { - overflow:auto -} -.org-src-container>pre:before { - display:block; - position:absolute; - background-color:#b3b3b3; - top:0; - right:0; - padding:0 .5em; - border-bottom-left-radius:8px; - border:0; - color:#fff; - font-size:80% -} -.org-src-container>pre.src-sh:before { - content:"sh" -} -.org-src-container>pre.src-bash:before { - content:"bash" -} -.org-src-container>pre.src-emacs-lisp:before { - content:"Emacs Lisp" -} -.org-src-container>pre.src-R:before { - content:"R" -} -.org-src-container>pre.src-cpp:before { - content:"C++" -} -.org-src-container>pre.src-c:before { - content:"C" -} -.org-src-container>pre.src-html:before { - content:"HTML" -} -.org-src-container>pre.src-javascript:before,.org-src-container>pre.src-js:before { - content:"Javascript" -} -// More languages 0% http://orgmode.org/worg/org-contrib/babel/languages.html .org-src-container>pre.src-abc:before { - content:"ABC" -} -.org-src-container>pre.src-asymptote:before { - content:"Asymptote" -} -.org-src-container>pre.src-awk:before { - content:"Awk" -} -.org-src-container>pre.src-C:before { - content:"C" -} -.org-src-container>pre.src-calc:before { - content:"Calc" -} -.org-src-container>pre.src-clojure:before { - content:"Clojure" -} -.org-src-container>pre.src-comint:before { - content:"comint" -} -.org-src-container>pre.src-css:before { - content:"CSS" -} -.org-src-container>pre.src-D:before { - content:"D" -} -.org-src-container>pre.src-ditaa:before { - content:"Ditaa" -} -.org-src-container>pre.src-dot:before { - content:"Dot" -} -.org-src-container>pre.src-ebnf:before { - content:"ebnf" -} -.org-src-container>pre.src-forth:before { - content:"Forth" -} -.org-src-container>pre.src-F90:before { - content:"Fortran" -} -.org-src-container>pre.src-gnuplot:before { - content:"Gnuplot" -} -.org-src-container>pre.src-haskell:before { - content:"Haskell" -} -.org-src-container>pre.src-io:before { - content:"Io" -} -.org-src-container>pre.src-java:before { - content:"Java" -} -.org-src-container>pre.src-latex:before { - content:"LaTeX" -} -.org-src-container>pre.src-ledger:before { - content:"Ledger" -} -.org-src-container>pre.src-ly:before { - content:"Lilypond" -} -.org-src-container>pre.src-lisp:before { - content:"Lisp" -} -.org-src-container>pre.src-makefile:before { - content:"Make" -} -.org-src-container>pre.src-matlab:before { - content:"Matlab" -} -.org-src-container>pre.src-max:before { - content:"Maxima" -} -.org-src-container>pre.src-mscgen:before { - content:"Mscgen" -} -.org-src-container>pre.src-Caml:before { - content:"Objective" -} -.org-src-container>pre.src-octave:before { - content:"Octave" -} -.org-src-container>pre.src-org:before { - content:"Org" -} -.org-src-container>pre.src-perl:before { - content:"Perl" -} -.org-src-container>pre.src-picolisp:before { - content:"Picolisp" -} -.org-src-container>pre.src-plantuml:before { - content:"PlantUML" -} -.org-src-container>pre.src-python:before { - content:"Python" -} -.org-src-container>pre.src-ruby:before { - content:"Ruby" -} -.org-src-container>pre.src-sass:before { - content:"Sass" -} -.org-src-container>pre.src-scala:before { - content:"Scala" -} -.org-src-container>pre.src-scheme:before { - content:"Scheme" -} -.org-src-container>pre.src-screen:before { - content:"Screen" -} -.org-src-container>pre.src-sed:before { - content:"Sed" -} -.org-src-container>pre.src-shell:before { - content:"shell" -} -.org-src-container>pre.src-shen:before { - content:"Shen" -} -.org-src-container>pre.src-sql:before { - content:"SQL" -} -.org-src-container>pre.src-sqlite:before { - content:"SQLite" -} -.org-src-container>pre.src-stan:before { - content:"Stan" -} -.org-src-container>pre.src-vala:before { - content:"Vala" -} -.org-src-container>pre.src-axiom:before { - content:"Axiom" -} -.org-src-container>pre.src-browser:before { - content:"HTML" -} -.org-src-container>pre.src-cypher:before { - content:"Neo4j" -} -.org-src-container>pre.src-elixir:before { - content:"Elixir" -} -.org-src-container>pre.src-request:before { - content:"http" -} -.org-src-container>pre.src-ipython:before { - content:"iPython" -} -.org-src-container>pre.src-kotlin:before { - content:"Kotlin" -} -.org-src-container>pre.src-Flavored Erlang lfe:before { - content:"Lisp" -} -.org-src-container>pre.src-mongo:before { - content:"MongoDB" -} -.org-src-container>pre.src-prolog:before { - content:"Prolog" -} -.org-src-container>pre.src-rec:before { - content:"rec" -} -.org-src-container>pre.src-ML sml:before { - content:"Standard" -} -.org-src-container>pre.src-Translate translate:before { - content:"Google" -} -.org-src-container>pre.src-typescript:before { - content:"Typescript" -} -.org-src-container>pre.src-rust:before { - content:"Rust" -} -.org-src-container>pre.src-go:before { - content:"Go" -} -.org-src-container>pre.src-http:before { - content:"HTTP" -} -.inlinetask { - background:#ffc; - border:2px solid gray; - margin:10px; - padding:10px -} -#org-div-home-and-up { - font-size:70%; - text-align:right; - white-space:nowrap -} -.linenr { - font-size:90% -} -.code-highlighted { - background-color:#ff0 -} -#bibliography { - font-size:90% -} -#bibliography table { - width:100% -} -.creator { - display:block -} -@media screen and (min-width:600px) { - .creator { - display:inline; - float:right - } -} - -div#nav ul li { - display: inline; -} - -div.drawer { - border:1px solid #ccc; - box-shadow:3px 3px 3px #eee; - font-size:85%; - margin:1em auto; - padding:.1em .5em; - position:relative -} -div.drawer h6 { - margin: 0; - padding: 0.1em; - color: #333; -} - -div.drawer.results { - font-family:monospace,monospace; - font-family: var(--font-mono); - background-color: #333; - color: #fff; -} -div.drawer p { - display: block; - unicode-bidi: embed; - white-space: pre; -} -div.drawer.results h6 { - color: #fff; -} - -.info { - border: 1px solid; - background-color: #BDE5F8; - color: #00529B; -} - -.tip { - border: 1px solid; - background-color: #DFF2BF; - color: #4F8A10; -} - -.note { - border: 1px solid; - background-color: #FFFCCB; - color: #9F6000; -} - -.warning { - border: 1px solid; - background-color: #FFBABA; - color: #D8000C; -} - -/* Set the colors in <pre> blocks from the Leuven theme */ -pre span.org-builtin {color:#006FE0;font-weight:bold;} -pre span.org-string {color:#008000;} -pre span.org-keyword {color:#0000FF;} -pre span.org-variable-name {color:#BA36A5;} -pre span.org-function-name {color:#006699;} -pre span.org-type {color:#6434A3;} -pre span.org-preprocessor {color:#808080;font-weight:bold;} -pre span.org-constant {color:#D0372D;} -pre span.org-comment-delimiter {color:#8D8D84;} -pre span.org-comment {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-1 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-2 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-3 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-4 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-5 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-6 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-7 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-8 {color:#8D8D84;font-style:italic} -pre span.org-outshine-level-9 {color:#8D8D84;font-style:italic} -pre span.org-rainbow-delimiters-depth-1 {color:#707183;} -pre span.org-rainbow-delimiters-depth-2 {color:#7388d6;} -pre span.org-rainbow-delimiters-depth-3 {color:#909183;} -pre span.org-rainbow-delimiters-depth-4 {color:#709870;} -pre span.org-rainbow-delimiters-depth-5 {color:#907373;} -pre span.org-rainbow-delimiters-depth-6 {color:#6276ba;} -pre span.org-rainbow-delimiters-depth-7 {color:#858580;} -pre span.org-rainbow-delimiters-depth-8 {color:#80a880;} -pre span.org-rainbow-delimiters-depth-9 {color:#887070;} -pre span.org-sh-quoted-exec {color:#FF1493;} diff --git a/tools/emacs/publish.org b/tools/emacs/publish.org @@ -1,230 +0,0 @@ -#+TITLE: Publish dotemacs notes using Emacs org-mode -#+AUTHOR: Vincent Demeester -#+EMAIL: vincent@sbr.pm -#+EXPORT_EXCLUDE_TAGS: noexport -#+CREATOR: Emacs 27.0.90 (Org mode 9.3) -#+LANGUAGE: en -#+HTML_HEAD: <link rel="stylesheet" type="text/css" href="./notes.css"/> -#+OPTIONS: html-style:nil - -This document is a literate version of my publishing /script/ on publishing my dotemacs -notes (that uses [[https://orgmode.org][=org-mode=]]). - -First let's import required libraries, which are =org= related. - -#+begin_src emacs-lisp :tangle yes -;; Add my personal libraries πŸ’ƒ -(add-to-list 'load-path (concat user-emacs-directory "lisp/")) - -(require 'org) -(require 'ox) -(require 'ox-publish) -(require 'ol-man) -(require 'ol-git-link) -(require 'ol-github) -(require 'ol-gitlab) -#+end_src - -To get syntax coloring on other mode than ~emacs-lisp~, we need to load them too[fn:1]. - -#+begin_src emacs-lisp :tangle yes - (require 'go-mode) - (require 'css-mode) - (require 'python-mode) - (require 'nix-mode) - (require 'ob-http) - (require 'yaml-mode) -#+end_src - -Now let's define variables to use later on. Those variables are where to find the project -we want to publish and where to publish theme. - -#+begin_src emacs-lisp :tangle yes - (setq site-directory "~/desktop/sites/") - - (setq org-default-publish-sbr (expand-file-name "sbr.pm" site-directory)) - (setq org-default-publish-dotemacs (expand-file-name "dotemacs" org-default-publish-sbr)) -#+end_src - -We want to republish everything every time β€” mainly to be used on CI. So we're telling -=org-mode= to disable the timestamp-based cache. - -#+begin_src emacs-lisp :tangle yes - (setq org-publish-use-timestamps-flag nil) -#+end_src - -Let's also customize a bit the /style/ of what =org-mode= will generate. - -- Set the default html coding system πŸ‘Ό - #+begin_src emacs-lisp :tangle yes - (setq org-html-coding-system 'utf-8-unix) - #+end_src -- Let's disable the default script and style "includes". - #+begin_src emacs-lisp :tangle yes - (setq org-export-html-style-include-scripts nil - org-export-html-style-include-default nil) - #+end_src -- Let's also make sure the =#+begin_src= blocks are colorized, *but* using the css instead - of inlude style. - #+begin_src emacs-lisp :tangle yes - (setq org-src-fontify-natively t) - ;; (setq org-html-htmlize-output-type 'inline-css) ;; default - (setq org-html-htmlize-output-type 'css) - ;; (setq org-html-htmlize-font-prefix "") ;; default - (setq org-html-htmlize-font-prefix "org-") - #+end_src -- Customize how we export ~org-mode~ drawers - #+begin_src emacs-lisp :tangle yes - (defun my-org-export-format-drawer (name content) - (concat "<div class=\"drawer " (downcase name) "\">\n" - "<h6>" (capitalize name) "</h6>\n" - content - "\n</div>")) - (setq org-html-format-drawer-function 'my-org-export-format-drawer) - #+end_src -- And disable ~org-babel~ from trying to evaluate on export - #+begin_src emacs-lisp :tangle yes - (setq org-export-use-babel nil) - #+end_src - -I want [[https://writepermission.com/org-blogging-clickable-headlines.html][clickable headlines]], so let's define a ~html-format-headline-function~ for the -exporter to use. Not tangle currently as it doesn't work πŸ˜“. - -#+begin_src emacs-lisp :tangle no - (defun my-org-html-format-headline-function (todo todo-type priority text tags info) - "Format a headline with a link to itself." - (let* ((headline (get-text-property 0 :parent text)) - (id (or (org-element-property :CUSTOM_ID headline) - (org-export-get-reference headline info) - (org-element-property :ID headline))) - (link (if id - (format "<a href=\"#%s\">%s</a>" id text) - text))) - (org-html-format-headline-default-function todo todo-type priority link tags info))) - (setq org-html-format-headline-function 'my-org-html-format-headline-function) -#+end_src - -I also use some custom links… First thing first, I want the =att:= link to be supporting -when exporting - -#+begin_src emacs-lisp :tangle yes -(require 'org-attach) -(setq org-link-abbrev-alist '(("att" . org-attach-expand-link))) -#+end_src - - -They are define in my [[https://github.com/vdemeester/emacs-config][emacs configuration]] repository : [[https://github.com/vdemeester/emacs-config/blob/master/lisp/setup-org.el][~setup-org.el~]]. - -#+begin_src emacs-lisp :tangle yes - (org-link-set-parameters "tag" - :follow #'endless/follow-tag-link) - (defun endless/follow-tag-link (tag) - "Display a list of TODO headlines with tag TAG. - With prefix argument, also display headlines without a TODO keyword." - (org-tags-view (null current-prefix-arg) tag)) - - (org-link-set-parameters "grep" - :follow #'vde/follow-grep-link - :face '(:foreground "DarkRed" :underline t)) - (defun vde/follow-grep-link (regexp) - "Run `rgrep' with REGEXP and FOLDER as argument, - like this : [[grep:REGEXP:FOLDER]]." - (setq expressions (split-string regexp ":")) - (setq exp (nth 0 expressions)) - (grep-compute-defaults) - (if (= (length expressions) 1) - (progn - (rgrep exp "*" (expand-file-name "./"))) - (progn - (setq folder (nth 1 expressions)) - (rgrep exp "*" (expand-file-name folder)))) - ) - - (org-link-set-parameters "rg" - :follow #'vde/follow-rg-link - :face '(:foreground "DarkGreen" :underline t)) - (defun vde/follow-rg-link (regexp) - "Run `ripgrep-regexp` with REXEP and FOLDER as argument, - like this : [[pt:REGEXP:FOLDER]]" - (setq expressions (split-string regexp ":")) - (setq exp (nth 0 expressions)) - (if (= (length expressions) 1) - (progn - (ripgrep-regexp exp (expand-file-name "./"))) - (progn - (setq folder (nth 1 expressions)) - (ripgrep-regexp exp (file-name-as-directory (expand-file-name folder))))) - ) - - (org-link-set-parameters - "org" - :complete (lambda () (+org-link-read-file "org" org-directory)) - :follow (lambda (link) (find-file (expand-file-name link org-directory))) - :face (lambda (link) - (if (file-exists-p (expand-file-name link org-directory)) - 'org-link - 'error))) - (defun +org-link-read-file (key dir) - (let ((file (read-file-name (format "%s: " (capitalize key)) dir))) - (format "%s:%s" - key - (file-relative-name file dir)))) -#+end_src - -Now, let's define projects. - -#+begin_src emacs-lisp :tangle yes - (setq org-publish-project-alist - `(("dotemacs-org" - :base-directory "." - :base-extension "org\\|txt" - :publishing-directory ,org-default-publish-dotemacs - :recursive t - :publishing-function org-html-publish-to-html - :headline-levels 4 - :auto-preamble t - :auto-sitemap t - :with-footnotes t - :with-toc nil - :with-drawers t - :exclude "_setup.org\\|sbr.pm\\|.extension\\|elpa\\|var" - :html-checkbox-type 'html - :html-preamble "<div id=\"nav\"> - <ul> - <li><a href=\"/\" class=\"home\">Home</a></li> - <li><a href=\"./\" class=\"index\">Index</a></li> - <li><a href=\"../\" class=\"up\">Up</a></li> - </ul> - </div>" - :html-postamble "<p class=\"creator\">%c</p><p class=\"postamble\">%a. Last Updated %C (exported %T).</p>") - ("dotemacs-static" - :base-directory "." - :base-extension "html\\|xml\\|css\\|js\\|png\\|jpg\\|gif\\|pdf\\|mp3\\|ogg\\|swf\\|md\\|tar\\|gz\\|xz\\|zip\\|csv" - :exclude ".extension\\|elpa\\|var" - :publishing-directory ,org-default-publish-dotemacs - :recursive t - :publishing-function org-publish-attachment - ) - ("dotemacs" :components ("dotemacs-org" "dotemacs-static")) - )) -#+end_src - -I want the ~sites~ folder to be cleaned too, so let's define a function to be called that -will clean a folder and publish. - -#+begin_src emacs-lisp :tangle yes - (defun clean-and-publish () - "Clean the site folder and publish all projects" - (delete-directory org-default-publish-dotemacs t) - (org-publish-all)) -#+end_src - -Let's now create a ~Makefile~ so that I can just run ~make publish~ to automate that. - -#+INCLUDE: "Makefile" src makefile - -The rest is just /automation/ πŸ‘Ό. The ~~/desktop/sites/~ folder is synced across a bunch -of my machines, including my servers (using [[https://syncthing.net/][syncthing]]). This means almost as soon as I run -this publish script, it will be available. - -[fn:1] Otherwise, emacs doesn't apply any syntax coloring.