remove themes

This commit is contained in:
Yann Esposito (Yogsototh) 2020-02-13 00:39:46 +01:00
parent 1526d468ee
commit fb11b23fec
Signed by untrusted user who does not match committer: yogsototh
GPG key ID: 7B19A4C650D59646
9 changed files with 169 additions and 977 deletions

View file

@ -2,6 +2,6 @@
cd "$(git rev-parse --show-toplevel)" || exit 1
echo -n "* Clean site cache"
rm -rf _site
find _site -mindepth 1 -delete
rm -rf _cache
echo " [done]"

View file

@ -3,8 +3,8 @@
cd "$(git rev-parse --show-toplevel)" || exit 1
echo "Optim HTML size"
./engine/optim-html.sh
echo "Gen themes clones"
./engine/dup-for-themes.sh
# echo "Gen themes clones"
# ./engine/dup-for-themes.sh
echo "Optim Classes accross CSS/HTML"
./engine/optim-classes.sh
echo "Update file size"

View file

@ -156,7 +156,7 @@
"#+DESCRIPTION: " descr "\n"
""
"@@html:<nav>"
"<a href=\"/index.html\">Home</a> | "
"<a href=\"/\">Home</a> | "
"<a href=\"/archive.html\">Posts</a> | "
"<a href=\"/slides.html\">Slides</a> | "
"<a href=\"/about-me.html\">About</a>"
@ -180,10 +180,7 @@
(defun org-blog-publish-to-html (plist filename pub-dir)
"Same as `org-html-publish-to-html' but modifies html before finishing."
(let* ((file-path (org-html-publish-to-html plist filename pub-dir))
(mk-path (format "./%s.html" (replace-regexp-in-string ".*/\\([^/]*\\)\\.org$" "\\1" filename)))
(min-path (format "./%s-min.html" (replace-regexp-in-string ".*/\\([^/]*\\)\\.org$" "\\1" filename)))
(sci-path (format "./%s-sci.html" (replace-regexp-in-string ".*/\\([^/]*\\)\\.org$" "\\1" filename)))
(modern-path (format "./%s-modern.html" (replace-regexp-in-string ".*/\\([^/]*\\)\\.org$" "\\1" filename))))
(mk-path (format "./%s.html" (replace-regexp-in-string ".*/\\([^/]*\\)\\.org$" "\\1" filename))))
(with-current-buffer (find-file-noselect file-path)
(goto-char (point-min))
(search-forward "<body>")
@ -193,15 +190,10 @@
"<div id=\"labels\">"
"<div class=\"content\">"
"<a id=\"h\" href=\"/index.html\">her.esy.fun</a> - "
"<a id=\"h\" href=\"/\">her.esy.fun</a>"
"<label for=\"l\">light</label>"
" / "
"<label for=\"d\">dark</label>"
" - "
,(format "<a href=\"%s\">mk</a>" mk-path)
,(format "<a href=\"%s\">min</a>" min-path)
,(format "<a href=\"%s\">sci</a>" sci-path)
,(format "<a href=\"%s\">modern</a>" modern-path)
"</div>"
"</div>"
"<div class=\"main\">")

View file

@ -1,110 +0,0 @@
/* Fonts */
html,body {
font-size: 13px;
font-family: Menlo, monospace;
line-height: 1.5em;
}
img { width: 100%; }
label:hover { cursor:pointer; }
#content,.content {
max-width: 48em;
padding: 0 1em;
margin: 0 auto;
}
pre {
border: dashed 1px;
padding: 1ex;
max-width: 100%;
overflow-x: scroll;
overflow-y: hidden;
}
body > input {
display:none;
}
.main {
padding-top: 1em;
min-height:calc(100vh - 2.5em);
}
:root {
--b2: #fff;
--b3: #fffa;
--y: #da2;
--o: #d72;
--r: #c33;}
/* --------------------------------------------------------------------------- */
/* Default color theme */
/* colors theme */
/* Dark themes soften and darken images */
@media (prefers-color-scheme: dark) {
body {
background: #000;
color: #ddd;
}
a { color: #38c }
a:visited { color: #83c }
img {
filter: brightness(0.8);
}
}
/* Manually checked colortheme */
#d:checked ~ * {
background: #000;
color: #ddd;
}
#d:checked ~ * a { color: #38c; }
#d:checked ~ * a:visited { color: #83c; }
/* --------------------------------------------------------------------------- */
/* Light theme selected */
#l:checked ~ * {
background: #FFF;
color: #333;
}
/* ---- SYNTAX HIGHLIGHTING ---- */
.org-rainbow-delimiters-depth-1, .org-rainbow-delimiters-depth-9,
.org-css-selector, .org-nix-attribute, .org-builtin,
.IN_REVIEW, a {
color:var(--c);
}
.org-rainbow-delimiters-depth-2, .org-nix-builtin, .org-variable-name,
.org-haskell-definition, .org-haskell-operator, .org-function-name, .org-diff-changed {
color:var(--b);
}
.org-rainbow-delimiters-depth-3, .HOLD, .WAITING {
color:var(--v);
}
.org-rainbow-delimiters-depth-4, .org-diff-hunk-header, .org-sh-quoted-exec,
.CANCELED {
color:var(--m);
}
.org-rainbow-delimiters-depth-5, .org-diff-removed, .TODO {
color:var(--r);
}
.org-rainbow-delimiters-depth-6, .org-haskell-constructor {
color:var(--o);
}
.org-rainbow-delimiters-depth-7, .org-type, .org-constant, .org-diff-header,
.org-haskell-keyword, .org-haskell-type, .IN_PROGRESS {
color:var(--y);
}
.org-rainbow-delimiters-depth-8, .org-sh-heredoc, .org-diff-added, .org-string,
.org-doc, .org-keyword, .DONE {
color:var(--g);
}
.org-diff-none, .org-preprocessor, .org-comment-delimiter, .org-comment,
.org-outshine-level-1, .org-outshine-level-2, .org-outshine-level-3,
.org-outshine-level-4, .org-outshine-level-5, .org-outshine-level-6,
.org-outshine-level-7, .org-outshine-level-8, .org-outshine-level-9 {
color:var(--fg2);
}
.org-highlight-numbers-number, .org-highlight-number-number
{
color:var(--rfg);
}

View file

@ -36,7 +36,6 @@ li {
}
ol > li:before, ul > li:before {
content: " ";
opacity: 0.5;
float: left;
position: relative;
left: -2ch;
@ -71,16 +70,17 @@ table {
display: block; /* for overflow to work */
max-width: 100%;
border-collapse: collapse;
border: solid 1px;
overflow: scroll;
border-top: dashed 2px;
border-bottom: dashed 2px;
}
td, th {
height: 1em;
padding: 0 10px;
text-align: left;
vertical-align: middle;
border-right: solid 1px;
border-left: solid 1px;
border-left: dashed 2px;
border-right: dashed 2px;
}
sup {
vertical-align: top;
@ -223,61 +223,6 @@ figure, .figure {
.underline {
text-decoration: underline;
}
/* colors theme */
:root {
color-scheme: light dark; /* support color scheme */
--b03: #202631;
--b02: #2B313C;
--b01: #656B74;
--b00: #727781;
--b0: #8B919B;
--b1: #989EA8;
--b2: #E5E8ED;
--b3: #F4F7FC;
--y: #A98D50;
--o: #aa6550;
--r: #b85a64;
--m: #af53b0;
--v: #846f93;
--b: #5679a4;
--c: #4c8493;
--g: #728b5c;
/* Solaryzed accented colors */
--bg: var(--b03);
--fg: var(--b0);
--bg2: var(--b02);
--fg2: var(--b1);
--rfg: var(--b1);
--rbg: var(--b02);
--bdr: var(--b02);
--l-fg: var(--bg);
--l-bg: var(--g);
}
/* org colors */
@media (prefers-color-scheme: light) {
:root {
--bg: var(--b3);
--fg: var(--b01);
--bg2: var(--b2);
--fg2: var(--b00);
--rfg: var(--b01);
--rbg: var(--b2);
--bdr: var(--b2);
--l-fg: var(--bg);
--l-bg: var(--o);
}
img {
filter: sepia(100%) hue-rotate(182deg) saturate(0.6);
}
}
/* Dark themes soften and darken images */
@media (prefers-color-scheme: dark) {
img {
filter: brightness(0.8) sepia(100%) hue-rotate(182deg) saturate(0.6);
}
}
#h {
float: left;
}
@ -294,6 +239,63 @@ figure, .figure {
font-style: italic;
}
/* colors theme */
:root {
color-scheme: light dark; /* support color scheme */
--b03: #202631;
--b02: #2b313c;
--b01: #656b74;
--b00: #727781;
--b0: #8b919b;
--b1: #989ea8;
--b2: #e5e8ed;
--b3: #f4f7ff;
--y: #a98d50;
--o: #aa6550;
--r: #b85a64;
--m: #af53b0;
--v: #846f93;
--b: #5679a4;
--c: #4c8493;
--g: #728b5c;
/* Solaryzed accented colors */
--bg: var(--b03);
--fg: var(--b0);
--fg0: var(--b00);
--bg2: var(--b02);
--fg2: var(--b1);
--rfg: var(--b1);
--rbg: var(--b02);
--bdr: var(--b02);
--l-fg: var(--bg);
--l-bg: var(--g);
}
/* org colors */
@media (prefers-color-scheme: light) {
:root {
--bg: var(--b3);
--fg0: var(--b0);
--fg: var(--b00);
--bg2: var(--b2);
--fg2: var(--b01);
--rfg: var(--b01);
--rbg: var(--b2);
--bdr: var(--b2);
--l-fg: var(--bg);
--l-bg: var(--o);
}
img {
filter: sepia(100%) hue-rotate(182deg) saturate(0.6);
}
}
/* Dark themes soften and darken images */
@media (prefers-color-scheme: dark) {
img {
filter: brightness(0.8) sepia(100%) hue-rotate(182deg) saturate(0.6);
}
}
/* Light themes does not soften and darken images */
#l:checked ~ .main img { filter: sepia(100%) hue-rotate(182deg) saturate(0.6); }
#d:checked ~ .main img { filter: brightness(0.8) sepia(100%) hue-rotate(182deg) saturate(0.6); }
@ -303,8 +305,9 @@ figure, .figure {
#d:checked ~ .main, #d:checked ~ #labels {
--bg: var(--b03);
--fg: var(--b0);
--fg0: var(--b00);
--bg2: var(--b02);
--fg2: var(--b01);
--fg2: var(--b1);
--rfg: var(--b1);
--rbg: var(--b02);
--bdr: var(--b02);
@ -316,9 +319,10 @@ figure, .figure {
/* Light theme selected */
#l:checked ~ .main, #l:checked ~ #labels {
--bg: var(--b3);
--fg: var(--b01);
--fg0: var(--b0);
--fg: var(--b00);
--bg2: var(--b2);
--fg2: var(--b00);
--fg2: var(--b01);
--rfg: var(--b01);
--rbg: var(--b2);
--bdr: var(--b2);
@ -337,6 +341,7 @@ body,.main {
color: white;
background: var(--v);
}
a, a:visited,
.main a, .main a:visited {
color: var(--rfg);
@ -359,19 +364,14 @@ body > input { display:none; }
li .keywords {
font-style: italic;
opacity: .5;
}
.main ol > li:before, ol > li:before {
color: var(--fg2)
color: var(--fg0);
}
.main ol > li:before, ol > li:before,
pre::after,pre::before,hr:after,
.main pre::after,.main pre::before,.main hr:after {
color: var(--fg2);
}
.main pre::after,.main pre::before,.main hr:after,
nav a, nav a:visited, .main nav a,.main nav a:visited {
color: var(--fg2);
color: var(--fg0);
}
#labels label:hover,
a:hover,
@ -406,7 +406,7 @@ h6, .main h6,
}
table, td, th,
.main table,.main td,.main th {
border-color: var(--bdr);
border-color: var(--fg0);
}
code, .main code {
background: var(--rbg);
@ -423,13 +423,14 @@ blockquote:after, .main blockquote:after {
/* -------- */
/* org colors */
.todo, .done, .main .todo, .main .done {
background: var(--rbg);
border: solid 1px;
height: 10px;
display: inline-block;
line-height: 12px;
font-weight: bold;
font-size: 10px;
border-left: solid 2px;
border-right: solid 2px;
padding: 0 3px;
}
.notes, .main .notes {
background: var(--rbg);

View file

@ -1,221 +0,0 @@
/* Fonts */
html,body {
font: 18px/1.8 "Helvetica Neue", sans-serif;
line-height: 1.5em;
font-weight: 300;
margin:0;
padding:0;
text-rendering: optimizeLegibility;
}
h1,h2 { font-family: "Hoefler Text";
font-style: italic;
text-rendering: optimizeLegibility;
}
pre, pre code {
line-height: 1em;
font-size: .8em;
}
img { width: 100%; }
label:hover { cursor:pointer; }
#content,.content {
max-width: 48em;
padding: 0 1em;
margin: 0 auto;
}
pre {
border: dashed 1px;
padding: 1ex;
max-width: 100%;
overflow-x: scroll;
overflow-y: hidden;
}
body > input {
display:none;
}
.main {
min-height:calc(100vh - 2.5em);
}
#content { margin-top: 2em; }
#table-of-contents {
border-bottom: dashed;
padding-bottom: 2em;
margin-bottom: 2em;
}
:root {
--b03: #202631;
--b02: #2B313C;
--b01: #656B74;
--b00: #727781;
--b0: #8B919B;
--b1: #989EA8;
--b2: #E5E8ED;
--b3: #F4F7FC;
--y: #A98D50;
--o: #aa6550;
--r: #b85a64;
--m: #af53b0;
--v: #846f93;
--b: #5679a4;
--c: #4c8493;
--g: #728b5c;
--fg: var(--b00);
--bg: var(--b3);
--fg2: var(--b1);
--bg2: var(--b2);
--rfg: var(--b01);
--rbg: var(--b2);
--bdr: var(--b2);
--l-fg: var(--bg);
--l-bg: var(--g);
}
/* --------------------------------------------------------------------------- */
/* Default color theme */
/* colors theme */
/* Dark themes soften and darken images */
@media (prefers-color-scheme: dark) {
:root {
--fg: var(--b0);
--bg: var(--b03);
--fg2: var(--b01);
--bg2: var(--b02);
--rfg: var(--b1);
--rbg: var(--b02);
--bdr: var(--b02);
--l-fg: var(--bg);
--l-bg: var(--g);
}
}
/* Manually checked colortheme */
#d:checked ~ * {
--fg: var(--b0);
--bg: var(--b03);
--fg2: var(--b01);
--bg2: var(--b02);
--rfg: var(--b1);
--rbg: var(--b02);
--bdr: var(--b02);
--l-fg: var(--bg);
--l-bg: var(--g);
}
/* --------------------------------------------------------------------------- */
/* Light theme selected */
#l:checked ~ * {
--fg: var(--b00);
--bg: var(--b3);
--fg2: var(--b1);
--bg2: var(--b2);
--rfg: var(--b01);
--rbg: var(--b2);
--bdr: var(--b2);
--l-fg: var(--bg);
--l-bg: var(--g);
}
/* ----------------- */
#labels,#preamble,#postamble {
padding: 2em 0;
background: var(--y);
color: var(--bg);
}
#postamble { margin-top: 2em; }
#labels a,#preamble a,#postamble a {
color: var(--bg2);
}
.main { background: var(--bg);
color: var(--fg);}
/* -------- */
/* org colors */
.todo, .done, .main .todo, .main .done {
background: var(--rbg);
border: solid 1px;
height: 10px;
display: inline-block;
line-height: 12px;
font-weight: bold;
font-size: 10px;
}
b,i,strong,em {
color: var(--rfg);
}
table {
display: block; /* for overflow to work */
max-width: 100%;
border-collapse: collapse;
border: solid 1px;
overflow: scroll;
}
td, th {
height: 1em;
padding: 0 10px;
text-align: left;
vertical-align: middle;
border-right: solid 1px;
border-left: solid 1px;
}
sup {
vertical-align: top;
position: relative;
top: -.25em;
}
sup > a {
text-decoration: none;
padding: 1px 2px;
font-weight: bold;
}
table, td, th {
border-color: var(--bdr);
}
.notes {
background: var(--rbg);
color: var(--rfg);
padding: 1em;
}
/* ---- SYNTAX HIGHLIGHTING ---- */
.org-rainbow-delimiters-depth-1, .org-rainbow-delimiters-depth-9,
.org-css-selector, .org-nix-attribute, .org-builtin,
.IN_REVIEW, a {
color:var(--c);
}
.org-rainbow-delimiters-depth-2, .org-nix-builtin, .org-variable-name,
.org-function-name, .org-diff-changed {
color:var(--b);
}
.org-rainbow-delimiters-depth-3, .HOLD, .WAITING {
color:var(--v);
}
.org-rainbow-delimiters-depth-4, .org-diff-hunk-header, .org-sh-quoted-exec,
.CANCELED {
color:var(--m);
}
.org-rainbow-delimiters-depth-5, .org-diff-removed, .TODO {
color:var(--r);
}
.org-rainbow-delimiters-depth-6 {
color:var(--o);
}
.org-rainbow-delimiters-depth-7, .org-type, .org-constant, .org-diff-header,
.IN_PROGRESS {
color:var(--y);
}
.org-rainbow-delimiters-depth-8, .org-sh-heredoc, .org-diff-added, .org-string,
.org-doc, .org-keyword, .DONE {
color:var(--g);
}
.org-diff-none, .org-preprocessor, .org-comment-delimiter, .org-comment,
.org-outshine-level-1, .org-outshine-level-2, .org-outshine-level-3,
.org-outshine-level-4, .org-outshine-level-5, .org-outshine-level-6,
.org-outshine-level-7, .org-outshine-level-8, .org-outshine-level-9 {
color:var(--fg2);
}
.org-highlight-number-number {
color:var(--rfg);
}

View file

@ -1,512 +0,0 @@
/* CSS to be used for HTML Org-mode export
Author: Yann Esposito
*/
/* Fonts */
body {
font: 14px/1.4 monospace;
line-height: 16px;
}
pre, pre code {
line-height: 1em;
}
/* Layout */
body, h1, h2, h3, h4, h5, h6, pre, code, blockquote, ol, ul, ol ol, ul ul, ul ol, ol
ul, li, p, section, header, footer, img {
float: none;
margin: 0;
padding: 0;
border: 0;
hyphens: auto;
}
h1, h2, h3, h4, h5, h6, pre, code, blockquote, p, ul, ol, section, header,
figure,table {
margin-top: 1em;
margin-bottom: 1em;
}
li {
display: block;
padding-left: 2ch;
}
ol > li:before, ul > li:before {
content: " ";
opacity: 0.5;
float: left;
position: relative;
left: -2ch;
text-align: right;
width: 0;
}
ol {
counter-reset: ol;
}
ol > li:before {
content: counter(ol) ". ";
counter-increment: ol;
}
ol > li:nth-child(n+10) {
padding-left:3ch;
}
ol > li:nth-child(n+10):before {
left: -3ch;
}
img {
width: 100%;
max-height: 100vh;
margin: 1em auto;
}
p > img, li > img {
max-height: 1cap;
width: auto;
margin: 0;
vertical-align: middle;
}
table {
display: block; /* for overflow to work */
max-width: 100%;
border-collapse: collapse;
border: solid 1px;
overflow: scroll;
}
td, th {
height: 1em;
padding: 0 10px;
text-align: left;
vertical-align: middle;
border-right: solid 1px;
border-left: solid 1px;
}
sup {
vertical-align: top;
position: relative;
top: -.25em;
}
sup > a {
text-decoration: none;
padding: 1px 2px;
font-weight: bold;
}
/* Markdown tricks */
h1,h2,h3,h4,h5,h6 {
font-size: 1em;
}
h1::before {
content: "# ";
}
h2::before {
content: "## ";
}
h3::before {
content: "### ";
}
h4::before {
content: "#### ";
}
h5::before {
content: "##### ";
}
h6::before {
content: "###### ";
}
hr {
border: 0;
}
#preamble h1 {
margin-top: 0;
}
#table-of-contents,
#table-of-contents ul,
#table-of-contents h2
{
padding:0;
margin:0;
}
#table-of-contents {
margin-bottom: 1em;
}
#postamble:before, hr:after {
text-align: center;
content: "-----------------------------------------------------------------------------";
display:block;
width: 100%;
overflow: hidden;
opacity: .5;
height: 1em;
}
pre {
max-width: 100%;
overflow-x: scroll;
overflow-y: hidden;
}
pre:after,pre:before {
content: "~~~~~~~~~";
display: block; }
pre:before {
content: "~~~~~~~~~ " attr(class);
}
pre code {
background: none;
}
blockquote,#table-of-contents {
margin-left: 0;
position: relative;
padding-left: 17px;
padding-left: 2ch;
overflow: hidden;
}
#table-of-contents:after, blockquote:after {
content: ">\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>\A>";
white-space: pre;
position: absolute;
top: 0;
left: 0;
}
nav {
font-weight: bold;
display: block;
padding: 10px 0;
}
nav > a {
margin-right: 10px;
}
/* org mode ids and classes */
figure, .figure {
margin: 1em 0;
}
#content,.content {
max-width: 48em;
margin: 0 auto;
padding: 0 1em;
}
#content:last-child, .notes *:last-child, blockquote *:last-child {
margin-bottom: 0;
}
#content:first-child, .notes *:first-child, blockquote *:first-child{
margin-top: 0;
}
#postamble {
margin-top: 1em;
}
.timestamp-wrapper {
font-size: 12px;
}
.todo, .done {
font-size: 12px;
font-weight: bold;
padding: 1px 1ex;
}
.article-date {
font-size: 0.8em;
font-style: italic;
float: right;
}
.footpara {
display: inline;
}
.footdef > sup {
vertical-align: middle;
}
.footdef > sup::after {
content: ": ";
}
.notes {
padding: 5px 10px;
}
.notes::before {
content: "☞";
float: left;
display: inline-block;
width: 1.5em;
}
.underline {
text-decoration: underline;
}
/* colors theme */
:root {
color-scheme: light dark; /* support color scheme */
--bg: #000;
--fg: #0b0;
--bg2: #040;
--fg2: #080;
--rfg: #0f0;
--rbg: #000;
--bdr: #080;
--l-fg: #0f0;
--l-bg: var(--bg);
--y: #0f0;
--o: #0e0;
--r: #0d0;
--m: #0f0;
--v: #0f0;
--b: #080;
--c: #080;
--g: #080;
--b03: #020;
--b02: #030;
--b3: #0f0;
--b2: #0e0;
}
/* org colors */
@media (prefers-color-scheme: light) {
:root {
--y: #0ff;
--o: #0ee;
--r: #0dd;
--m: #0ff;
--v: #0ff;
--b: #088;
--c: #088;
--g: #088;
--b03: #022;
--b02: #033;
--b3: #fff;
--b2: #cee;
--bg: #fff;
--fg: #055;
--fg2: #044;
--bg2: #cff;
--rfg: #033;
--rbg: #aee;
--bdr: #088;
--l-fg: #000;
--l-bg: var(--bg);
}
}
/* Dark themes soften and darken images */
img {
filter: brightness(0.8) sepia(100%) hue-rotate(55deg) saturate(10);
}
@media (prefers-color-scheme: light) {
img {
filter: brightness(1.3) sepia(100%) hue-rotate(130deg) saturate(2);
}
}
#h {
float: left;
}
#labels {
width: 100%;
text-align: right;
}
.main {
padding-top: 1em;
min-height: calc(100vh - 2.5em);
}
#labels label {
text-decoration: underline;
cursor: pointer;
font-style: italic;
}
/* Light themes does not soften and darken images */
#l:checked ~ .main img {
filter: brightness(1.3) sepia(100%) hue-rotate(130deg) saturate(2);
}
#d:checked ~ .main img {
filter: brightness(0.8) sepia(100%) hue-rotate(55deg) saturate(10);
}
#l:checked ~ * {
--y: #0ff;
--o: #0ee;
--r: #0dd;
--m: #0ff;
--v: #0ff;
--b: #088;
--c: #088;
--g: #088;
--b03: #022;
--b02: #033;
--b3: #fff;
--b2: #cee;
--bg: #fff;
--fg: #055;
--fg2: #044;
--bg2: #cff;
--rfg: #033;
--rbg: #aee;
--bdr: #088;
--l-fg: #000;
--l-bg: var(--bg);
}
/* --------------------------------------------------------------------------- */
/* Dark matrix theme selected */
#d:checked ~ * {
--bg: #000;
--fg: #0b0;
--bg2: #040;
--fg2: #080;
--rfg: #0f0;
--rbg: #000;
--bdr: #080;
--l-fg: #0f0;
--l-bg: var(--bg);
--y: #0f0;
--o: #0e0;
--r: #0d0;
--m: #0f0;
--v: #0f0;
--b: #080;
--c: #080;
--g: #080;
--b03: #020;
--b02: #030;
--b3: #0f0;
--b2: #0e0;
}
/* --------------------------------------------------------------------------- */
/* Default color theme */
body,.main {
background: var(--bg);
color: var(--fg);
}
::selection, .main ::selection,
::-moz-selection, .main ::-moz-selection {
color: white;
background: var(--b);
}
a, a:visited,
.main a, .main a:visited {
color: var(--rfg);
}
b, strong, i, em {
color: var(--rfg);
}
sup > a {
background: var(--rbg);
}
body > input { display:none; }
#labels {
background: var(--bg2);
color: var(--fg2);
}
.keywords {
color: var(--fg2);
}
li .keywords {
float: right;
}
.main ol > li:before, ol > li:before {
color: var(--fg2)
}
pre::after,pre::before,hr:after,
.main pre::after,.main pre::before,.main hr:after {
color: var(--fg2);
}
nav a, nav a:visited, .main nav a,.main nav a:visited {
color: var(--fg2);
}
#labels label:hover, a:hover, a:active, a:focus, .main a:hover,.main a:active,.main a:focus,
nav a:focus, nav a:hover, .main nav a:focus,.main nav a:hover {
color: var(--l-fg);
background: var(--l-bg);
}
thead, .main thead, tr:hover, .main tr:hover {
background: var(--rbg);
color: var(--rfg);
}
.description {
color: var(--fg2);
}
h1, .main h1,
h2, .main h2,
h3, .main h3,
h4, .main h4,
h5, .main h5,
h6, .main h6,
{
color: var(--rfg);
}
table, td, th,
.main table,.main td,.main th {
border-color: var(--bdr);
}
code, .main code {
background: var(--rbg);
}
blockquote:after, .main blockquote:after {
color: var(--fg2);
}
#preamble,#postamble,.main #preamble, .main #postamble {
border-color: transparent;
}
.article-date, .main .article-date {
color: var(--fg2);
}
/* -------- */
/* org colors */
.todo, .done, .main .todo, .main .done {
background: var(--rbg);
border: solid 1px;
height: 10px;
display: inline-block;
line-height: 12px;
font-weight: bold;
font-size: 10px;
}
.notes, .main .notes {
background: var(--rbg);
color: var(--rfg);
}
/* ---- SYNTAX HIGHLIGHTING ---- */
.org-rainbow-delimiters-depth-1, .org-rainbow-delimiters-depth-9,
.org-css-selector, .org-nix-attribute, .org-builtin,
.IN_REVIEW, a {
color:var(--c);
}
.org-rainbow-delimiters-depth-2, .org-nix-builtin, .org-variable-name,
.org-function-name, .org-diff-changed {
color:var(--b);
}
.org-rainbow-delimiters-depth-3, .HOLD, .WAITING {
color:var(--v);
}
.org-rainbow-delimiters-depth-4, .org-diff-hunk-header, .org-sh-quoted-exec,
.CANCELED {
color:var(--m);
}
.org-rainbow-delimiters-depth-5, .org-diff-removed, .TODO {
color:var(--r);
}
.org-rainbow-delimiters-depth-6 {
color:var(--o);
}
.org-rainbow-delimiters-depth-7, .org-type, .org-constant, .org-diff-header,
.IN_PROGRESS {
color:var(--y);
}
.org-rainbow-delimiters-depth-8, .org-sh-heredoc, .org-diff-added, .org-string,
.org-doc, .org-keyword, .DONE {
color:var(--g);
}
.org-diff-none, .org-preprocessor, .org-comment-delimiter, .org-comment,
.org-outshine-level-1, .org-outshine-level-2, .org-outshine-level-3,
.org-outshine-level-4, .org-outshine-level-5, .org-outshine-level-6,
.org-outshine-level-7, .org-outshine-level-8, .org-outshine-level-9 {
color:var(--fg2);
}
.org-highlight-number-number {
color:var(--rfg);
}

View file

@ -38,7 +38,6 @@ I will focus on command line interfaces and REST APIs.
My no brainer solution for it:
1. Write this =shell.nix= file and launch =nix-shell=:
#+begin_src nix :tangle shell.nix
{ nixpkgs ? import (fetchGit {
name = "nixos-release-19.09";
@ -79,7 +78,56 @@ My no brainer solution for it:
'';
}
#+end_src
2. now launch =summon-tui=
2. now launch =summon-tui=
3. add the following nix files:
The first file to create is the one that will pin the versions of all your
packages and libraries:
#+caption: [[./my-app/nixpkgs.nix]]
#+begin_src nix :tangle my-app/nixpkgs.nix :mkdirp t
import (fetchTarball https://github.com/NixOS/nixpkgs/archive/19.09.tar.gz) {}
#+end_src
The second file is the =default.nix= file:
#+caption: [[./my-app/default.nix]]
#+begin_src nix :tangle my-app/default.nix :mkdirp t
{ nixpkgs ? import ./nixpkgs.nix
, compiler ? "default"
, doBenchmark ? false }:
let
inherit (nixpkgs) pkgs;
name = "my-app";
haskellPackages = pkgs.haskellPackages;
variant = if doBenchmark
then pkgs.haskell.lib.doBenchmark
else pkgs.lib.id;
drv = haskellPackages.callCabal2nix name ./. {};
in
{
my_project = drv;
shell = haskellPackages.shellFor {
# generate hoogle doc
withHoogle = true;
packages = p: [drv];
# packages dependencies (by default haskellPackages)
buildInputs = with haskellPackages;
[ hlint
ghcid
cabal-install
cabal2nix
hindent
# # if you want to add some system lib like ncurses
# # you could by writing it like:
# pkgs.ncurses
];
# nice prompt for the nix-shell
shellHook = ''
export PS1="\n\[[${name}:\033[1;32m\]\W\[\033[0m\]]> "
'';
};
}
#+end_src
** Retrieve Compiler
:PROPERTIES:

View file

@ -1,44 +1,38 @@
{ nixpkgs ? import (fetchGit {
name = "nixos-release-19.09";
url = "https://github.com/NixOS/nixpkgs";
# obtained via
# git ls-remote https://github.com/nixos/nixpkgs master
ref = "refs/heads/nixpkgs-19.09-darwin";
rev = "d5291756487d70bc336e33512a9baf9fa1788faf";
}) { config = { allowBroken = true; }; } }:
let
inherit (nixpkgs) pkgs;
inherit (pkgs) haskellPackages;
haskellDeps = ps: with ps; [
base
protolude
containers
];
hspkgs = haskellPackages;
# ### how to override package version
# hspkgs = haskellPackages.extend (self: super: {
# summoner = self.callHackage "summoner" "1.4.0.0" {};
# # summoner-tui = self.callHackage "summoner-tui" "1.4.0.0" {};
# });
ghc = hspkgs.ghcWithPackages haskellDeps;
nixPackages = [
ghc
pkgs.gdb
hspkgs.summoner
hspkgs.summoner-tui
haskellPackages.cabal-install
haskellPackages.ghcid
];
in
pkgs.stdenv.mkDerivation {
name = "env";
buildInputs = nixPackages;
shellHook = ''
export PS1="\n\[[hs:\033[1;32m\]\W\[\033[0m\]]> "
'';
}
{ nixpkgs ? import (fetchGit {
name = "nixos-release-19.09";
url = "https://github.com/NixOS/nixpkgs";
# obtained via
# git ls-remote https://github.com/nixos/nixpkgs master
ref = "refs/heads/nixpkgs-19.09-darwin";
rev = "d5291756487d70bc336e33512a9baf9fa1788faf";
}) { config = { allowBroken = true; }; } }:
let
inherit (nixpkgs) pkgs;
inherit (pkgs) haskellPackages;
haskellDeps = ps: with ps; [
base
protolude
containers
];
hspkgs = haskellPackages;
ghc = hspkgs.ghcWithPackages haskellDeps;
nixPackages = [
ghc
pkgs.gdb
hspkgs.summoner
hspkgs.summoner-tui
haskellPackages.cabal-install
haskellPackages.ghcid
];
in
pkgs.stdenv.mkDerivation {
name = "env";
buildInputs = nixPackages;
shellHook = ''
export PS1="\n\[[hs:\033[1;32m\]\W\[\033[0m\]]> "
'';
}