Initial commit
This commit is contained in:
221
html/about.html
Normal file
221
html/about.html
Normal file
@@ -0,0 +1,221 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2022-03-18 Fri 13:55 -->
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>About</title>
|
||||||
|
<meta name="generator" content="Org Mode" />
|
||||||
|
<style>
|
||||||
|
#content { max-width: 60em; margin: auto; }
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; 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%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
right: 12px;
|
||||||
|
padding: 3px;
|
||||||
|
color: #555;
|
||||||
|
background-color: #f2f2f299;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="preamble" class="status">
|
||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="content">
|
||||||
|
<p>
|
||||||
|
it’s me ehehe
|
||||||
|
#chuu
|
||||||
|
dfdfd
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
317
html/index.html
Normal file
317
html/index.html
Normal file
@@ -0,0 +1,317 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2022-03-18 Fri 13:55 -->
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Index</title>
|
||||||
|
<meta name="generator" content="Org Mode" />
|
||||||
|
<style>
|
||||||
|
#content { max-width: 60em; margin: auto; }
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; 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%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
right: 12px;
|
||||||
|
padding: 3px;
|
||||||
|
color: #555;
|
||||||
|
background-color: #f2f2f299;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="preamble" class="status">
|
||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="content">
|
||||||
|
<p>
|
||||||
|
ehehe chuu chuu <br>
|
||||||
|
welcome to my <br>
|
||||||
|
cute blog <br>
|
||||||
|
!
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div id="outline-container-org28a918e" class="outline-2">
|
||||||
|
<h2 id="org28a918e">Here’s some headers</h2>
|
||||||
|
<div class="outline-text-2" id="text-org28a918e">
|
||||||
|
<ol class="org-ol">
|
||||||
|
<li>chuu</li>
|
||||||
|
<li><p>
|
||||||
|
daisuki
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<i>eee</i> <b>eeeee</b> <3
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">org-xor</span> <span class="org-rainbow-delimiters-depth-2">(</span>a b<span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-doc">"Exclusive or."</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">if</span> a <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">not</span> b<span class="org-rainbow-delimiters-depth-3">)</span> b<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<a href="https://shamiko.org">shamiko.org</a>
|
||||||
|
</p></li>
|
||||||
|
</ol>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<b>*
|
||||||
|
**</b>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org7f198ef" class="outline-5">
|
||||||
|
<h5 id="org7f198ef">meme</h5>
|
||||||
|
<div class="outline-text-5" id="text-org7f198ef">
|
||||||
|
<table>
|
||||||
|
|
||||||
|
|
||||||
|
<colgroup>
|
||||||
|
<col class="org-left">
|
||||||
|
|
||||||
|
<col class="org-left">
|
||||||
|
|
||||||
|
<col class="org-left">
|
||||||
|
</colgroup>
|
||||||
|
<thead>
|
||||||
|
<tr>
|
||||||
|
<th scope="col" class="org-left">chuu</th>
|
||||||
|
<th scope="col" class="org-left">daisuki</th>
|
||||||
|
<th scope="col" class="org-left">ehehe</th>
|
||||||
|
</tr>
|
||||||
|
</thead>
|
||||||
|
<tbody>
|
||||||
|
<tr>
|
||||||
|
<td class="org-left">guca</td>
|
||||||
|
<td class="org-left">shamiko</td>
|
||||||
|
<td class="org-left">monmo</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
<tr>
|
||||||
|
<td class="org-left">ehehe</td>
|
||||||
|
<td class="org-left">awawa</td>
|
||||||
|
<td class="org-left">uwuwuw</td>
|
||||||
|
</tr>
|
||||||
|
</tbody>
|
||||||
|
</table>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgaa158f1" class="outline-2">
|
||||||
|
<h2 id="orgaa158f1">memes</h2>
|
||||||
|
<div class="outline-text-2" id="text-orgaa158f1">
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org3ed5122" class="outline-3">
|
||||||
|
<h3 id="org3ed5122"><span class="done DONE">DONE</span> chuu bf</h3>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org225542d" class="outline-3">
|
||||||
|
<h3 id="org225542d"><span class="todo TODO">TODO</span> awawahehehej~~~</h3>
|
||||||
|
<div class="outline-text-3" id="text-org225542d">
|
||||||
|
<p>
|
||||||
|
~
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
things done:
|
||||||
|
</p>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li>set it up</li>
|
||||||
|
<li>read pre/post from files</li>
|
||||||
|
<li>code insertions ehehe</li>
|
||||||
|
<li>better highlighting!</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
319
html/posts/elog-1-blog.html
Normal file
319
html/posts/elog-1-blog.html
Normal file
@@ -0,0 +1,319 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2022-03-18 Fri 13:56 -->
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Emacs Log 1: This Blog</title>
|
||||||
|
<meta name="generator" content="Org Mode" />
|
||||||
|
<style>
|
||||||
|
#content { max-width: 60em; margin: auto; }
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; 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%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
right: 12px;
|
||||||
|
padding: 3px;
|
||||||
|
color: #555;
|
||||||
|
background-color: #f2f2f299;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="preamble" class="status">
|
||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
<div id="outline-container-orgdf7e882" class="outline-2">
|
||||||
|
<h2 id="orgdf7e882">Emacs Log 1: This Blog</h2>
|
||||||
|
<div class="outline-text-2" id="text-orgdf7e882">
|
||||||
|
<p>
|
||||||
|
<span class="underline"><i><b>WARNING:</b></i></span> This blog post is still under construction! tehe~
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
This blog is built on top of <code>org-mode</code>’s publishing capabilities.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org1ae4559" class="outline-2">
|
||||||
|
<h2 id="org1ae4559">Appendix A: config.el snippet</h2>
|
||||||
|
<div class="outline-text-2" id="text-org1ae4559">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-emacs-lisp"><span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">require</span> <span class="org-highlight-quoted-quote">'</span><span class="org-constant">ox-publish</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-comment-delimiter">;; </span><span class="org-comment">Get project settings</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">akko/blog-spec</span> <span class="org-rainbow-delimiters-depth-2">()</span>
|
||||||
|
<span class="org-doc">"Return project settings for use with `</span><span class="org-doc"><span class="org-constant">org-publish-project-alist</span></span><span class="org-doc">'."</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">let*</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span>get-util <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-2">(</span>x<span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">with-temp-buffer</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">insert-file-contents</span> <span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">concat</span> <span class="org-string">"~/Blog/util/"</span>
|
||||||
|
x<span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-constant">buffer-string</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span>html-head <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">funcall</span> get-util <span class="org-string">"head.html"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span>html-preamble <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">funcall</span> get-util <span class="org-string">"preamble.html"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span>html-postamble <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">funcall</span> get-util <span class="org-string">"postamble.html"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||||
|
<span class="org-highlight-quoted-quote">`</span><span class="org-rainbow-delimiters-depth-3">(</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"pages"</span>
|
||||||
|
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/Blog/org"</span>
|
||||||
|
<span class="org-builtin">:base-extension</span> <span class="org-string">"org"</span>
|
||||||
|
<span class="org-builtin">:recursive</span> t
|
||||||
|
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/Blog/html"</span>
|
||||||
|
<span class="org-builtin">:publishing-function</span> org-html-publish-to-html
|
||||||
|
|
||||||
|
<span class="org-builtin">:html-doctype</span> <span class="org-string">"html5"</span>
|
||||||
|
<span class="org-builtin">:html-html5-fancy</span> t
|
||||||
|
|
||||||
|
<span class="org-builtin">:language</span> <span class="org-string">"en"</span>
|
||||||
|
<span class="org-builtin">:section-numbers</span> nil
|
||||||
|
|
||||||
|
<span class="org-builtin">:with-toc</span> nil
|
||||||
|
<span class="org-builtin">:with-date</span> nil
|
||||||
|
<span class="org-builtin">:with-title</span> nil
|
||||||
|
<span class="org-builtin">:with-author</span> nil
|
||||||
|
|
||||||
|
<span class="org-builtin">:auto-sitemap</span> t
|
||||||
|
|
||||||
|
<span class="org-builtin">:sitemap-sort-files</span> anti-chronologically
|
||||||
|
<span class="org-builtin">:sitemap-format-entry</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">lambda</span> <span class="org-rainbow-delimiters-depth-2">(</span>entry style project<span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">cond</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">not</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">directory-name-p</span> entry<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">format</span>
|
||||||
|
<span class="org-string">"[[file:%s][%s]]\n"</span>
|
||||||
|
entry
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">org-publish-find-title</span> entry project<span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-3">(</span><span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">eq</span> style <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">tree</span><span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-constant">capitalize</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-constant">file-name-nondirectory</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">directory-file-name</span> entry<span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-3">(</span>t entry<span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-builtin">:headline-levels</span> <span class="org-highlight-numbers-number">4</span>
|
||||||
|
<span class="org-builtin">:html-head</span> ,html-head
|
||||||
|
|
||||||
|
<span class="org-builtin">:html-preamble</span> ,html-preamble
|
||||||
|
<span class="org-builtin">:html-postamble</span> ,html-postamble<span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"static"</span>
|
||||||
|
<span class="org-builtin">:base-directory</span> <span class="org-string">"~/Blog/static"</span>
|
||||||
|
<span class="org-builtin">:base-extension</span> <span class="org-string">"css</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">txt</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">jpg</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">gif</span><span class="org-string"><span class="org-regexp-grouping-backslash">\\</span></span><span class="org-string"><span class="org-regexp-grouping-construct">|</span></span><span class="org-string">png"</span>
|
||||||
|
<span class="org-builtin">:recursive</span> t
|
||||||
|
<span class="org-builtin">:publishing-directory</span> <span class="org-string">"~/Blog/html/static"</span>
|
||||||
|
<span class="org-builtin">:publishing-function</span> org-publish-attachment<span class="org-rainbow-delimiters-depth-4">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-4">(</span><span class="org-string">"blog"</span> <span class="org-builtin">:components</span> <span class="org-rainbow-delimiters-depth-1">(</span><span class="org-string">"pages"</span> <span class="org-string">"static"</span><span class="org-rainbow-delimiters-depth-1">)</span><span class="org-rainbow-delimiters-depth-4">)</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-publish-project-alist</span> <span class="org-rainbow-delimiters-depth-2">(</span><span class="org-function-name">akko/blog-spec</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">akko/publish-blog</span> <span class="org-rainbow-delimiters-depth-2">()</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-publish-project-alist</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">akko/blog-spec</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">org-publish-all</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">defun</span> <span class="org-function-name">akko/force-publish-blog</span> <span class="org-rainbow-delimiters-depth-2">()</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">interactive</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-publish-project-alist</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-function-name">akko/blog-spec</span><span class="org-rainbow-delimiters-depth-3">)</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">org-publish-remove-all-timestamps</span><span class="org-rainbow-delimiters-depth-2">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-constant">org-publish-all</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">map!</span> <span class="org-builtin">:leader</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-2">(</span><span class="org-builtin">:prefix</span> <span class="org-rainbow-delimiters-depth-3">(</span><span class="org-string">"a"</span> . <span class="org-string">"akko"</span><span class="org-rainbow-delimiters-depth-3">)</span>
|
||||||
|
<span class="org-builtin">:desc</span> <span class="org-string">"Publish Blog"</span>
|
||||||
|
<span class="org-string">"b"</span> <span class="org-highlight-quoted-quote">#'</span><span class="org-highlight-quoted-symbol">akko/publish-blog</span><span class="org-rainbow-delimiters-depth-2">)</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-html-htmlize-output-type</span> <span class="org-highlight-quoted-quote">'</span><span class="org-highlight-quoted-symbol">css</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
<span class="org-rainbow-delimiters-depth-1">(</span><span class="org-keyword">setq</span> <span class="org-variable-name">org-html-htmlize-font-prefix</span> <span class="org-string">"org-"</span><span class="org-rainbow-delimiters-depth-1">)</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
570
html/posts/framework.html
Normal file
570
html/posts/framework.html
Normal file
@@ -0,0 +1,570 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2022-03-18 Fri 13:55 -->
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Framework Laptop Review</title>
|
||||||
|
<meta name="generator" content="Org Mode" />
|
||||||
|
<style>
|
||||||
|
#content { max-width: 60em; margin: auto; }
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; 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%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
right: 12px;
|
||||||
|
padding: 3px;
|
||||||
|
color: #555;
|
||||||
|
background-color: #f2f2f299;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="preamble" class="status">
|
||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="content">
|
||||||
|
|
||||||
|
<div id="outline-container-org8391d41" class="outline-2">
|
||||||
|
<h2 id="org8391d41">My Experience with the Framework Laptop</h2>
|
||||||
|
<div class="outline-text-2" id="text-org8391d41">
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org1ce456a" class="outline-3">
|
||||||
|
<h3 id="org1ce456a">Ordering</h3>
|
||||||
|
<div class="outline-text-3" id="text-org1ce456a">
|
||||||
|
<p>
|
||||||
|
I’d been eyeing the <a href="https:frame.work">Framework laptop</a> since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
On top of that, since I had it delivered to France, I was forced to use the French-language website. I wish websites wouldn’t get this wrong, since there’s a lot of people who don’t speak the native language of the country they’re in for various reasons. <br>
|
||||||
|
I asked their customer service to make a small change to the delivery address, but never got a reply, and the address wasn’t changed. This was a non-issue, in the end, though~
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org50ca9d5" class="outline-3">
|
||||||
|
<h3 id="org50ca9d5">Set-up</h3>
|
||||||
|
<div class="outline-text-3" id="text-org50ca9d5">
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-orgb9b62a2" class="outline-4">
|
||||||
|
<h4 id="orgb9b62a2">Hardware</h4>
|
||||||
|
<div class="outline-text-4" id="text-orgb9b62a2">
|
||||||
|
<p>
|
||||||
|
I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn’t seem worth the money to me. The RAM is probably overkill.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Assembling the DIY edition took no time at all; you could probably speedrun this in <30 seconds. The level of care here is excellent - all that’s needed to replace virtually any part is the included screwdriver, and parts pop off easily. All screws are easily accessible, and every part is labelled with a QR code that links to their knowledge base with replacement instructions.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Replaceable RAM, storage and battery are table stakes - you can get that in plenty of laptops if you look for it. What’s impressing about the Framework is first of all the sheer ease with which to disassemble it. It’s a world of difference even compared to my old Thinkpad X230t, which is^H^H was an extremely servicable laptop (;_;). It’s an experience.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Also very impressing is the sheer extent of things that can be replaced. You can see their store of replacement parts <a href="https:https://frame.work/marketplace/parts">here</a> and it includes everything from the audio board to the hinge to the CPU heatsink and so on. The parts aren’t even expensive either!
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
My enrapturement was short-lived, though, as after a quick assembly my new laptop would not boot up or charge. Not even the charging light would come on. After some searching we did find a <a href="https://guides.frame.work/Guide/Fully+Resetting+the+Mainboard+State/113">guide</a> with instructions on how to fully power cycle the mainboard, and that resolved the issue. It seems the issue could potentially be caused by a dead CMOS battery. Regardless of what caused it, the fix was an obscure and somewhat dangerous fix for what I’d consider a big quality assurance failure.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p width="60%" class="center">
|
||||||
|
<img src="../../static/images/framework_inside.jpg" alt="framework_inside.jpg" width="60%" class="center">
|
||||||
|
The more you look at it, the nicer it gets!
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org5832bd6" class="outline-4">
|
||||||
|
<h4 id="org5832bd6">Software</h4>
|
||||||
|
<div class="outline-text-4" id="text-org5832bd6">
|
||||||
|
<p>
|
||||||
|
I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn’t really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The laptop held up well during compiling. It’s not as fast as a desktop of course, but compile times are not limiting. I’ve put this thing through bootstrapping GCC for a cross-compilation toolchain, which is just about the biggest compile job I’ve ran, and it wasn’t <i>that</i> painful.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgd4dd8be" class="outline-5">
|
||||||
|
<h5 id="orgd4dd8be">Display scaling</h5>
|
||||||
|
<div class="outline-text-5" id="text-orgd4dd8be">
|
||||||
|
<p>
|
||||||
|
Simply setting <code>Xft.dpi: 192</code> in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don’t use Wayland.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The odd application requires its own scaling setting. Rofi requires setting <code>rofi.dpi</code> in .Xresources, SDDM required a settings change, Steam also requires a settings change, but for the most part things “just work”.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org8505691" class="outline-5">
|
||||||
|
<h5 id="org8505691">Display manager</h5>
|
||||||
|
<div class="outline-text-5" id="text-org8505691">
|
||||||
|
<p>
|
||||||
|
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don’t usually use things in the whole QT ecosystem, so it’s refreshing.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgc19a9e4" class="outline-5">
|
||||||
|
<h5 id="orgc19a9e4">Hibernate/suspend-to-disk</h5>
|
||||||
|
<div class="outline-text-5" id="text-orgc19a9e4">
|
||||||
|
<p>
|
||||||
|
This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I’ve observed the laptop auto-hibernating when the battery runs out, but it doesn’t do this reliably, so I should probably configure it myself.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orga44529e" class="outline-5">
|
||||||
|
<h5 id="orga44529e"><a href="http://guake-project.org/">Guake</a>-like transient terminal</h5>
|
||||||
|
<div class="outline-text-5" id="text-orga44529e">
|
||||||
|
<p>
|
||||||
|
Using some <code>fish</code> scripts, <code>bspwm</code>, <code>picom</code> and <code>xst</code> I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in <a href="#org52dc838">Appendix A</a> to do this. The implementation is a bit hacky, and it’s not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org69ee640" class="outline-5">
|
||||||
|
<h5 id="org69ee640">Wallpaper-setting script</h5>
|
||||||
|
<div class="outline-text-5" id="text-org69ee640">
|
||||||
|
<p>
|
||||||
|
I wrote a script to set a random wallpaper.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-python"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/env python3</span>
|
||||||
|
<span class="org-keyword">import</span> os
|
||||||
|
<span class="org-keyword">from</span> random <span class="org-keyword">import</span> choice
|
||||||
|
|
||||||
|
<span class="org-variable-name">pape_path</span> = os.path.expandvars(<span class="org-string">"$HOME/Pictures/Wallpapers"</span>)
|
||||||
|
|
||||||
|
<span class="org-keyword">def</span> <span class="org-function-name">set_wallpaper</span>():
|
||||||
|
<span class="org-variable-name">files</span> = os.popen(f<span class="org-string">"ls </span>{pape_path}<span class="org-string">"</span>).read().split(<span class="org-string">'\n'</span>)
|
||||||
|
<span class="org-variable-name">pape</span> = choice(files)
|
||||||
|
<span class="org-variable-name">pp</span> = os.path.join(pape_path, pape)
|
||||||
|
|
||||||
|
os.popen(f<span class="org-string">"hsetroot -full </span>{pp}<span class="org-string">"</span>)
|
||||||
|
os.popen(f<span class="org-string">"echo </span>{pp}<span class="org-string"> > /tmp/wallpaper"</span>)
|
||||||
|
|
||||||
|
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> == <span class="org-string">"__main__"</span>:
|
||||||
|
set_wallpaper()
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org59a8170" class="outline-5">
|
||||||
|
<h5 id="org59a8170">Lockscreen</h5>
|
||||||
|
<div class="outline-text-5" id="text-org59a8170">
|
||||||
|
<p>
|
||||||
|
I hacked together some <a href="#org4a95615">pretty crappy code</a> to lock the screen using <code>i3lock</code>, with my wallpaper composed with a little lock icon as the background. Very overengineered.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p width="60%" class="center">
|
||||||
|
<img src="../../static/images/lockscreen.png" alt="lockscreen.png" width="60%" class="center">
|
||||||
|
Simple, but cute!
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Is there a better lockscreen out there that will let me set my own image as the background? They all seem pretty scrappy.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgcd6505e" class="outline-5">
|
||||||
|
<h5 id="orgcd6505e">TODO</h5>
|
||||||
|
<div class="outline-text-5" id="text-orgcd6505e">
|
||||||
|
</div>
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li><a id="org4d13c88"></a>Battery level notifications<br></li>
|
||||||
|
<li><a id="org891bbc2"></a>sleep-then-hibernate<br></li>
|
||||||
|
<li><a id="org986ee7a"></a>Battery tuning<br></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org636f0d1" class="outline-3">
|
||||||
|
<h3 id="org636f0d1">Impressions</h3>
|
||||||
|
<div class="outline-text-3" id="text-org636f0d1">
|
||||||
|
</div>
|
||||||
|
<div id="outline-container-org199b4e0" class="outline-5">
|
||||||
|
<h5 id="org199b4e0">Build Quality</h5>
|
||||||
|
<div class="outline-text-5" id="text-org199b4e0">
|
||||||
|
<p>
|
||||||
|
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn’t want to drop this thing. It looks sleek and elegant, but pretty muted.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org407cc5f" class="outline-5">
|
||||||
|
<h5 id="org407cc5f">Screen</h5>
|
||||||
|
<div class="outline-text-5" id="text-org407cc5f">
|
||||||
|
<p>
|
||||||
|
This is my first time ever using a high-DPI screen, and I’m very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The colours on the screen look very good too, and the black levels are very impressive. I feel like display technology has come a long way in recent times. I have professional colour calibration equipment at home, so I’ll give calibrating the screen a shot when I get back. The 3:2 aspect ratio works very well for a laptop and I like it a lot.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
The brightness goes up quite high, but colours feel somewhat washed out at high brightness, and the display is very glossy, so it’s a bit distracting in direct sunlight. I heard some people complain that the hinge is floppy, which is true. It’s not all that problematic, but I really don’t agree with the decision to optimize for one-handed operation over stability.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orge31fee0" class="outline-5">
|
||||||
|
<h5 id="orge31fee0">Keyboard</h5>
|
||||||
|
<div class="outline-text-5" id="text-orge31fee0">
|
||||||
|
<p>
|
||||||
|
Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org75c2b8f" class="outline-5">
|
||||||
|
<h5 id="org75c2b8f">Touchpad</h5>
|
||||||
|
<div class="outline-text-5" id="text-org75c2b8f">
|
||||||
|
<p>
|
||||||
|
I’ve never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it’s still a step down. Pinch to zoom doesn’t work very well, but I don’t use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it’s hard not to mess up left/middle/right click. That’s a good incentive for me to practice relying on the mouse less, though. There’s plenty of <a href="https://linuxtouchpad.org/">work being done</a> on the Linux touchpad experience software-side, too. It’s a nice time to be a linux laptop user!
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgba8ec24" class="outline-5">
|
||||||
|
<h5 id="orgba8ec24">Battery</h5>
|
||||||
|
<div class="outline-text-5" id="text-orgba8ec24">
|
||||||
|
<p>
|
||||||
|
With the disclaimer that I haven’t tested very intensely and I haven’t tuned power settings very much. <br>
|
||||||
|
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don’t have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I’m very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orgda266d6" class="outline-5">
|
||||||
|
<h5 id="orgda266d6">Expansion cards/ports</h5>
|
||||||
|
<div class="outline-text-5" id="text-orgda266d6">
|
||||||
|
<p>
|
||||||
|
The little expansion cards are one of Framework’s big marketing things. I think they’re pretty neat, though I don’t always quite understand the way people talk about them, as “dongle killers”. I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I’m looking forward to the USB4 era!
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org3aa2900" class="outline-5">
|
||||||
|
<h5 id="org3aa2900">Performance</h5>
|
||||||
|
<div class="outline-text-5" id="text-org3aa2900">
|
||||||
|
<p>
|
||||||
|
So far I haven’t felt limited by performance at all, the experience has been really snappy. I haven’t thrown particularly difficult things at it, though, but that’s fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn’t play very much.
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-orge99e843" class="outline-3">
|
||||||
|
<h3 id="orge99e843">Closing words</h3>
|
||||||
|
<div class="outline-text-3" id="text-orge99e843">
|
||||||
|
<p>
|
||||||
|
Getting this laptop set up has been really fun! It’s a good opportunity to take stock of where we’re at. On the hardware side, I am very impressed that it’s now possible to make a laptop that’s this user-servicable, this well-specced and still not <i>that</i> expensive. It’s a reminder of how much better things could be.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
On the software side, I feel like the GNU/Linux end-user ecosystem has come a long way. The experience was very painless, though I am also an advanced user, of course. How different are things now than when I got started on Linux Mint Olivia.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Personally, I’m getting a rare chance to critically examine all the little config files, scripts, programs, plugins and worklfows I have. It’s fun to re-ignite the spark of join in configuring software and figuring out fluent, comfortable ways of doing things. I look forward to once more exploring and documenting the joy of computers…! <3
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<div id="outline-container-org52dc838" class="outline-2">
|
||||||
|
<h2 id="org52dc838">Appendix A: Transient Terminal Sources</h2>
|
||||||
|
<div class="outline-text-2" id="text-org52dc838">
|
||||||
|
<p>
|
||||||
|
<code>togglescratch</code>
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/env fish</span>
|
||||||
|
|
||||||
|
<span class="org-keyword">if</span> <span class="org-keyword">test</span> ! -e /tmp/scratch_id
|
||||||
|
<span class="org-builtin">exec</span> xst -e makescratch
|
||||||
|
<span class="org-keyword">end</span>
|
||||||
|
|
||||||
|
<span class="org-keyword">set</span> <span class="org-variable-name">nid</span> (<span class="org-builtin">cat</span> /tmp/scratch_id)
|
||||||
|
|
||||||
|
<span class="org-keyword">if</span> <span class="org-keyword">test</span> -e /tmp/scratch_on
|
||||||
|
<span class="org-builtin">rm</span> /tmp/scratch_on
|
||||||
|
<span class="org-builtin">bspc</span> node <span class="org-string">$</span><span class="org-variable-name">nid</span> --to-desktop z
|
||||||
|
<span class="org-keyword">else</span>
|
||||||
|
<span class="org-builtin">touch</span> /tmp/scratch_on
|
||||||
|
<span class="org-builtin">bspc</span> node <span class="org-string">$</span><span class="org-variable-name">nid</span> --to-desktop focused --focus --state fullscreen --flag private=on
|
||||||
|
<span class="org-keyword">end</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>makescratch</code>
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/bin/fish</span>
|
||||||
|
<span class="org-keyword">set</span> <span class="org-variable-name">nid</span> (<span class="org-builtin">xdo</span> id)
|
||||||
|
<span class="org-builtin">echo</span> <span class="org-string">$</span><span class="org-variable-name">nid</span><span class="org-negation-char"> > /tmp/scratch_id</span>
|
||||||
|
<span class="org-negation-char">bspc</span> node <span class="org-string">$</span><span class="org-variable-name">nid</span> --state fullscreen --flag private=on --to-desktop focused
|
||||||
|
<span class="org-builtin">touch</span> /tmp/scratch_on
|
||||||
|
<span class="org-keyword">set</span> <span class="org-variable-name">decid</span> (<span class="org-builtin">printf</span> <span class="org-string">'%d'</span> <span class="org-string">$</span><span class="org-variable-name">nid</span>)
|
||||||
|
<span class="org-builtin">xdotool</span> set_window --name <span class="org-string">"scratchterminal"</span> <span class="org-string">$</span><span class="org-variable-name">decid</span>
|
||||||
|
<span class="org-builtin">exec</span> <span class="org-string">"$HOME/Scripts/cleanscratch"</span>
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>cleanscratch</code>
|
||||||
|
</p>
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-fish"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/env fish</span>
|
||||||
|
|
||||||
|
<span class="org-string">$</span><span class="org-variable-name">SHELL</span>
|
||||||
|
<span class="org-builtin">rm</span> /tmp/scratch_id
|
||||||
|
<span class="org-builtin">rm</span> /tmp/scratch_on
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p>
|
||||||
|
<code>picom.conf</code>
|
||||||
|
</p>
|
||||||
|
<pre class="example">
|
||||||
|
fading = true;
|
||||||
|
#no-fading-openclose = true;
|
||||||
|
fade-delta = 5;
|
||||||
|
vsync = true;
|
||||||
|
backend="glx";
|
||||||
|
opacity-rule=["90:name = 'scratchterminal'"];
|
||||||
|
#opacity-rule=["90:class_g = 'xst-256color'"];
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="outline-container-org4a95615" class="outline-2">
|
||||||
|
<h2 id="org4a95615">Appendix B: lock.py</h2>
|
||||||
|
<div class="outline-text-2" id="text-org4a95615">
|
||||||
|
<div class="org-src-container">
|
||||||
|
<pre class="src src-python"><span class="org-comment-delimiter">#</span><span class="org-comment">!/usr/bin/python3</span>
|
||||||
|
<span class="org-keyword">import</span> os
|
||||||
|
<span class="org-keyword">import</span> sys
|
||||||
|
<span class="org-keyword">import</span> time
|
||||||
|
|
||||||
|
<span class="org-keyword">if</span> <span class="org-builtin">__name__</span> == <span class="org-string">"__main__"</span>:
|
||||||
|
<span class="org-variable-name">width</span>, <span class="org-variable-name">height</span>, <span class="org-variable-name">lwidth</span>, <span class="org-variable-name">lheight</span> = <span class="org-highlight-numbers-number">2256</span>, <span class="org-highlight-numbers-number">1504</span>, <span class="org-highlight-numbers-number">320</span>, <span class="org-highlight-numbers-number">320</span>
|
||||||
|
icon = <span class="org-string">"$HOME/Pictures/lock_small.png"</span>
|
||||||
|
pape = os.popen(<span class="org-string">"cat /tmp/wallpaper"</span>).read()[:-<span class="org-highlight-numbers-number">1</span>]
|
||||||
|
cache = os.popen(<span class="org-string">"cat /tmp/lockscreen_cache"</span>).read()[:-<span class="org-highlight-numbers-number">1</span>]
|
||||||
|
|
||||||
|
<span class="org-keyword">if</span> pape != cache <span class="org-keyword">or</span> <span class="org-string">'--ignore-cache'</span> <span class="org-keyword">in</span> sys.argv:
|
||||||
|
os.popen(f<span class="org-string">"convert </span>{pape}<span class="org-string"> -resize </span>{width}<span class="org-string">x</span>{height}<span class="org-string"> -background black -gravity center -extent </span>{width}<span class="org-string">x</span>{height}<span class="org-string"> /tmp/wallpaper.png"</span>).read()
|
||||||
|
os.popen(f<span class="org-string">"convert -composite /tmp/wallpaper.png </span>{icon}<span class="org-string"> -geometry +</span>{width//2 - lwidth//2}<span class="org-string">+</span>{height//2 - lheight//2}<span class="org-string"> /tmp/wallpaper.png"</span>).read()
|
||||||
|
os.popen(f<span class="org-string">"echo </span>{pape}<span class="org-string"> > /tmp/lockscreen_cache"</span>)
|
||||||
|
|
||||||
|
os.popen(<span class="org-string">"i3lock -u -i /tmp/wallpaper.png"</span>)
|
||||||
|
time.sleep(<span class="org-highlight-numbers-number">0.5</span>)
|
||||||
|
os.popen(<span class="org-string">"loginctl suspend"</span>)
|
||||||
|
</pre>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
219
html/posts/resources.html
Normal file
219
html/posts/resources.html
Normal file
@@ -0,0 +1,219 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2022-03-18 Fri 14:15 -->
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Resources</title>
|
||||||
|
<meta name="generator" content="Org Mode" />
|
||||||
|
<style>
|
||||||
|
#content { max-width: 60em; margin: auto; }
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; 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%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
right: 12px;
|
||||||
|
padding: 3px;
|
||||||
|
color: #555;
|
||||||
|
background-color: #f2f2f299;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="preamble" class="status">
|
||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="content">
|
||||||
|
<p>
|
||||||
|
<a href="https://serverfault.com/questions/674762/easy-way-to-transfer-files-between-host-and-lxc-container-on-lvm">https://serverfault.com/questions/674762/easy-way-to-transfer-files-between-host-and-lxc-container-on-lvm</a>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
226
html/sitemap.html
Normal file
226
html/sitemap.html
Normal file
@@ -0,0 +1,226 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<html lang="en">
|
||||||
|
<head>
|
||||||
|
<!-- 2022-03-18 Fri 14:15 -->
|
||||||
|
<meta charset="utf-8" />
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
||||||
|
<title>Sitemap for project pages</title>
|
||||||
|
<meta name="generator" content="Org Mode" />
|
||||||
|
<style>
|
||||||
|
#content { max-width: 60em; margin: auto; }
|
||||||
|
.title { text-align: center;
|
||||||
|
margin-bottom: .2em; }
|
||||||
|
.subtitle { text-align: center;
|
||||||
|
font-size: medium;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top:0; }
|
||||||
|
.todo { font-family: monospace; color: red; }
|
||||||
|
.done { font-family: monospace; color: green; }
|
||||||
|
.priority { font-family: monospace; color: orange; }
|
||||||
|
.tag { background-color: #eee; font-family: monospace;
|
||||||
|
padding: 2px; font-size: 80%; font-weight: normal; }
|
||||||
|
.timestamp { color: #bebebe; }
|
||||||
|
.timestamp-kwd { color: #5f9ea0; }
|
||||||
|
.org-right { margin-left: auto; margin-right: 0px; text-align: right; }
|
||||||
|
.org-left { margin-left: 0px; 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%; }
|
||||||
|
pre {
|
||||||
|
border: 1px solid #e6e6e6;
|
||||||
|
border-radius: 3px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
padding: 8pt;
|
||||||
|
font-family: monospace;
|
||||||
|
overflow: auto;
|
||||||
|
margin: 1.2em;
|
||||||
|
}
|
||||||
|
pre.src {
|
||||||
|
position: relative;
|
||||||
|
overflow: auto;
|
||||||
|
}
|
||||||
|
pre.src:before {
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
top: -8px;
|
||||||
|
right: 12px;
|
||||||
|
padding: 3px;
|
||||||
|
color: #555;
|
||||||
|
background-color: #f2f2f299;
|
||||||
|
}
|
||||||
|
pre.src:hover:before { display: inline; margin-top: 14px;}
|
||||||
|
/* Languages per Org manual */
|
||||||
|
pre.src-asymptote:before { content: 'Asymptote'; }
|
||||||
|
pre.src-awk:before { content: 'Awk'; }
|
||||||
|
pre.src-authinfo::before { content: 'Authinfo'; }
|
||||||
|
pre.src-C:before { content: 'C'; }
|
||||||
|
/* pre.src-C++ doesn't work in CSS */
|
||||||
|
pre.src-clojure:before { content: 'Clojure'; }
|
||||||
|
pre.src-css:before { content: 'CSS'; }
|
||||||
|
pre.src-D:before { content: 'D'; }
|
||||||
|
pre.src-ditaa:before { content: 'ditaa'; }
|
||||||
|
pre.src-dot:before { content: 'Graphviz'; }
|
||||||
|
pre.src-calc:before { content: 'Emacs Calc'; }
|
||||||
|
pre.src-emacs-lisp:before { content: 'Emacs Lisp'; }
|
||||||
|
pre.src-fortran:before { content: 'Fortran'; }
|
||||||
|
pre.src-gnuplot:before { content: 'gnuplot'; }
|
||||||
|
pre.src-haskell:before { content: 'Haskell'; }
|
||||||
|
pre.src-hledger:before { content: 'hledger'; }
|
||||||
|
pre.src-java:before { content: 'Java'; }
|
||||||
|
pre.src-js:before { content: 'Javascript'; }
|
||||||
|
pre.src-latex:before { content: 'LaTeX'; }
|
||||||
|
pre.src-ledger:before { content: 'Ledger'; }
|
||||||
|
pre.src-lisp:before { content: 'Lisp'; }
|
||||||
|
pre.src-lilypond:before { content: 'Lilypond'; }
|
||||||
|
pre.src-lua:before { content: 'Lua'; }
|
||||||
|
pre.src-matlab:before { content: 'MATLAB'; }
|
||||||
|
pre.src-mscgen:before { content: 'Mscgen'; }
|
||||||
|
pre.src-ocaml:before { content: 'Objective Caml'; }
|
||||||
|
pre.src-octave:before { content: 'Octave'; }
|
||||||
|
pre.src-org:before { content: 'Org mode'; }
|
||||||
|
pre.src-oz:before { content: 'OZ'; }
|
||||||
|
pre.src-plantuml:before { content: 'Plantuml'; }
|
||||||
|
pre.src-processing:before { content: 'Processing.js'; }
|
||||||
|
pre.src-python:before { content: 'Python'; }
|
||||||
|
pre.src-R:before { content: 'R'; }
|
||||||
|
pre.src-ruby:before { content: 'Ruby'; }
|
||||||
|
pre.src-sass:before { content: 'Sass'; }
|
||||||
|
pre.src-scheme:before { content: 'Scheme'; }
|
||||||
|
pre.src-screen:before { content: 'Gnu Screen'; }
|
||||||
|
pre.src-sed:before { content: 'Sed'; }
|
||||||
|
pre.src-sh:before { content: 'shell'; }
|
||||||
|
pre.src-sql:before { content: 'SQL'; }
|
||||||
|
pre.src-sqlite:before { content: 'SQLite'; }
|
||||||
|
/* additional languages in org.el's org-babel-load-languages alist */
|
||||||
|
pre.src-forth:before { content: 'Forth'; }
|
||||||
|
pre.src-io:before { content: 'IO'; }
|
||||||
|
pre.src-J:before { content: 'J'; }
|
||||||
|
pre.src-makefile:before { content: 'Makefile'; }
|
||||||
|
pre.src-maxima:before { content: 'Maxima'; }
|
||||||
|
pre.src-perl:before { content: 'Perl'; }
|
||||||
|
pre.src-picolisp:before { content: 'Pico Lisp'; }
|
||||||
|
pre.src-scala:before { content: 'Scala'; }
|
||||||
|
pre.src-shell:before { content: 'Shell Script'; }
|
||||||
|
pre.src-ebnf2ps:before { content: 'ebfn2ps'; }
|
||||||
|
/* additional language identifiers per "defun org-babel-execute"
|
||||||
|
in ob-*.el */
|
||||||
|
pre.src-cpp:before { content: 'C++'; }
|
||||||
|
pre.src-abc:before { content: 'ABC'; }
|
||||||
|
pre.src-coq:before { content: 'Coq'; }
|
||||||
|
pre.src-groovy:before { content: 'Groovy'; }
|
||||||
|
/* additional language identifiers from org-babel-shell-names in
|
||||||
|
ob-shell.el: ob-shell is the only babel language using a lambda to put
|
||||||
|
the execution function name together. */
|
||||||
|
pre.src-bash:before { content: 'bash'; }
|
||||||
|
pre.src-csh:before { content: 'csh'; }
|
||||||
|
pre.src-ash:before { content: 'ash'; }
|
||||||
|
pre.src-dash:before { content: 'dash'; }
|
||||||
|
pre.src-ksh:before { content: 'ksh'; }
|
||||||
|
pre.src-mksh:before { content: 'mksh'; }
|
||||||
|
pre.src-posh:before { content: 'posh'; }
|
||||||
|
/* Additional Emacs modes also supported by the LaTeX listings package */
|
||||||
|
pre.src-ada:before { content: 'Ada'; }
|
||||||
|
pre.src-asm:before { content: 'Assembler'; }
|
||||||
|
pre.src-caml:before { content: 'Caml'; }
|
||||||
|
pre.src-delphi:before { content: 'Delphi'; }
|
||||||
|
pre.src-html:before { content: 'HTML'; }
|
||||||
|
pre.src-idl:before { content: 'IDL'; }
|
||||||
|
pre.src-mercury:before { content: 'Mercury'; }
|
||||||
|
pre.src-metapost:before { content: 'MetaPost'; }
|
||||||
|
pre.src-modula-2:before { content: 'Modula-2'; }
|
||||||
|
pre.src-pascal:before { content: 'Pascal'; }
|
||||||
|
pre.src-ps:before { content: 'PostScript'; }
|
||||||
|
pre.src-prolog:before { content: 'Prolog'; }
|
||||||
|
pre.src-simula:before { content: 'Simula'; }
|
||||||
|
pre.src-tcl:before { content: 'tcl'; }
|
||||||
|
pre.src-tex:before { content: 'TeX'; }
|
||||||
|
pre.src-plain-tex:before { content: 'Plain TeX'; }
|
||||||
|
pre.src-verilog:before { content: 'Verilog'; }
|
||||||
|
pre.src-vhdl:before { content: 'VHDL'; }
|
||||||
|
pre.src-xml:before { content: 'XML'; }
|
||||||
|
pre.src-nxml:before { content: 'XML'; }
|
||||||
|
/* add a generic configuration mode; LaTeX export needs an additional
|
||||||
|
(add-to-list 'org-latex-listings-langs '(conf " ")) in .emacs */
|
||||||
|
pre.src-conf:before { content: 'Configuration File'; }
|
||||||
|
|
||||||
|
table { border-collapse:collapse; }
|
||||||
|
caption.t-above { caption-side: top; }
|
||||||
|
caption.t-bottom { caption-side: bottom; }
|
||||||
|
td, th { vertical-align:top; }
|
||||||
|
th.org-right { text-align: center; }
|
||||||
|
th.org-left { text-align: center; }
|
||||||
|
th.org-center { text-align: center; }
|
||||||
|
td.org-right { text-align: right; }
|
||||||
|
td.org-left { text-align: left; }
|
||||||
|
td.org-center { text-align: center; }
|
||||||
|
dt { font-weight: bold; }
|
||||||
|
.footpara { display: inline; }
|
||||||
|
.footdef { margin-bottom: 1em; }
|
||||||
|
.figure { padding: 1em; }
|
||||||
|
.figure p { text-align: center; }
|
||||||
|
.equation-container {
|
||||||
|
display: table;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
.equation {
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.equation-label {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: right;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
.inlinetask {
|
||||||
|
padding: 10px;
|
||||||
|
border: 2px solid gray;
|
||||||
|
margin: 10px;
|
||||||
|
background: #ffffcc;
|
||||||
|
}
|
||||||
|
#org-div-home-and-up
|
||||||
|
{ text-align: right; font-size: 70%; white-space: nowrap; }
|
||||||
|
textarea { overflow-x: auto; }
|
||||||
|
.linenr { font-size: smaller }
|
||||||
|
.code-highlighted { background-color: #ffff00; }
|
||||||
|
.org-info-js_info-navigation { border-style: none; }
|
||||||
|
#org-info-js_console-label
|
||||||
|
{ font-size: 10px; font-weight: bold; white-space: nowrap; }
|
||||||
|
.org-info-js_search-highlight
|
||||||
|
{ background-color: #ffff00; color: #000000; font-weight: bold; }
|
||||||
|
.org-svg { width: 90%; }
|
||||||
|
</style>
|
||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id="preamble" class="status">
|
||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="content" class="content">
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li><a href="about.html">About</a></li>
|
||||||
|
<li><a href="index.html">Index</a></li>
|
||||||
|
<li>Posts
|
||||||
|
<ul class="org-ul">
|
||||||
|
<li><a href="posts/elog-1-blog.html">Emacs Log 1: This Blog</a></li>
|
||||||
|
<li><a href="posts/resources.html">Resources</a></li>
|
||||||
|
<li><a href="posts/framework.html">Framework Laptop Review</a></li>
|
||||||
|
</ul></li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
<div id="postamble" class="status">
|
||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
html/static/images/framework_inside.jpg
Normal file
BIN
html/static/images/framework_inside.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 MiB |
BIN
html/static/images/lockscreen.png
Normal file
BIN
html/static/images/lockscreen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
93
html/static/style.css
Normal file
93
html/static/style.css
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
:root {
|
||||||
|
--site-width: 70%;
|
||||||
|
--vert-content-margin: 1.5em;
|
||||||
|
--navbar-color: #d2e8b0;
|
||||||
|
--black: #222;
|
||||||
|
--white: #FBFBFB;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "Baskerville";
|
||||||
|
font-size: 1.2em;
|
||||||
|
color: var(--black);
|
||||||
|
background-color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
p + p {
|
||||||
|
/* Prose-style indented paragraphs */
|
||||||
|
text-indent: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 0;
|
||||||
|
height: 2px;
|
||||||
|
background-color: var(--black);
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, a:visited {
|
||||||
|
color: blue;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content h2, #content h3, #content h4, #content h5 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header hr {
|
||||||
|
margin-bottom: var(--vert-content-margin);
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer hr {
|
||||||
|
margin-top: var(--vert-content-margin);
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: var(--navbar-color);
|
||||||
|
border: 1px solid var(--black);
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content, #header, #footer {
|
||||||
|
max-width: var(--site-width);
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set the colors in <pre> blocks from the Leuven theme */
|
||||||
|
pre {background-color:#FFFFFF;}
|
||||||
|
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;}
|
5
org/about.org
Normal file
5
org/about.org
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#+TITLE: About
|
||||||
|
|
||||||
|
it's me ehehe
|
||||||
|
#chuu
|
||||||
|
dfdfd
|
40
org/index.org
Normal file
40
org/index.org
Normal file
@@ -0,0 +1,40 @@
|
|||||||
|
#+TITLE: Index
|
||||||
|
|
||||||
|
ehehe chuu chuu \\
|
||||||
|
welcome to my \\
|
||||||
|
cute blog \\
|
||||||
|
!
|
||||||
|
|
||||||
|
* Here's some headers
|
||||||
|
1. chuu
|
||||||
|
1. daisuki
|
||||||
|
|
||||||
|
/eee/ *eeeee* <3
|
||||||
|
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(defun org-xor (a b)
|
||||||
|
"Exclusive or."
|
||||||
|
(if a (not b) b))
|
||||||
|
#+END_SRC
|
||||||
|
|
||||||
|
[[https://shamiko.org][shamiko.org]]
|
||||||
|
|
||||||
|
**
|
||||||
|
***
|
||||||
|
**** meme
|
||||||
|
| chuu | daisuki | ehehe |
|
||||||
|
|-------+---------+--------|
|
||||||
|
| guca | shamiko | monmo |
|
||||||
|
| ehehe | awawa | uwuwuw |
|
||||||
|
|
||||||
|
* memes
|
||||||
|
** DONE chuu bf
|
||||||
|
** TODO awawahehehej~~~
|
||||||
|
|
||||||
|
~
|
||||||
|
|
||||||
|
things done:
|
||||||
|
- set it up
|
||||||
|
- read pre/post from files
|
||||||
|
- code insertions ehehe
|
||||||
|
- better highlighting!
|
92
org/posts/elog-1-blog.org
Normal file
92
org/posts/elog-1-blog.org
Normal file
@@ -0,0 +1,92 @@
|
|||||||
|
#+TITLE: Emacs Log 1: This Blog
|
||||||
|
#+DATE: <2022-03-18 Fri>
|
||||||
|
|
||||||
|
* Emacs Log 1: This Blog
|
||||||
|
_/*WARNING:*/_ This blog post is still under construction! tehe~
|
||||||
|
|
||||||
|
This blog is built on top of =org-mode='s publishing capabilities.
|
||||||
|
|
||||||
|
* Appendix A: config.el snippet
|
||||||
|
#+BEGIN_SRC emacs-lisp
|
||||||
|
(require 'ox-publish)
|
||||||
|
|
||||||
|
;; Get project settings
|
||||||
|
(defun akko/blog-spec ()
|
||||||
|
"Return project settings for use with `org-publish-project-alist'."
|
||||||
|
(let* ((get-util (lambda (x)
|
||||||
|
(with-temp-buffer
|
||||||
|
(insert-file-contents (concat "~/Blog/util/"
|
||||||
|
x))
|
||||||
|
(buffer-string))))
|
||||||
|
(html-head (funcall get-util "head.html"))
|
||||||
|
(html-preamble (funcall get-util "preamble.html"))
|
||||||
|
(html-postamble (funcall get-util "postamble.html")))
|
||||||
|
`(
|
||||||
|
("pages"
|
||||||
|
:base-directory "~/Blog/org"
|
||||||
|
:base-extension "org"
|
||||||
|
:recursive t
|
||||||
|
:publishing-directory "~/Blog/html"
|
||||||
|
:publishing-function org-html-publish-to-html
|
||||||
|
|
||||||
|
:html-doctype "html5"
|
||||||
|
:html-html5-fancy t
|
||||||
|
|
||||||
|
:language "en"
|
||||||
|
:section-numbers nil
|
||||||
|
|
||||||
|
:with-toc nil
|
||||||
|
:with-date nil
|
||||||
|
:with-title nil
|
||||||
|
:with-author nil
|
||||||
|
|
||||||
|
:auto-sitemap t
|
||||||
|
|
||||||
|
:sitemap-sort-files anti-chronologically
|
||||||
|
:sitemap-format-entry
|
||||||
|
(lambda (entry style project)
|
||||||
|
(cond ((not (directory-name-p entry))
|
||||||
|
(format
|
||||||
|
"[[file:%s][%s]]\n"
|
||||||
|
entry
|
||||||
|
(org-publish-find-title entry project)))
|
||||||
|
((eq style 'tree)
|
||||||
|
(capitalize (file-name-nondirectory (directory-file-name entry))))
|
||||||
|
(t entry)))
|
||||||
|
|
||||||
|
:headline-levels 4
|
||||||
|
:html-head ,html-head
|
||||||
|
|
||||||
|
:html-preamble ,html-preamble
|
||||||
|
:html-postamble ,html-postamble)
|
||||||
|
|
||||||
|
("static"
|
||||||
|
:base-directory "~/Blog/static"
|
||||||
|
:base-extension "css\\|txt\\|jpg\\|gif\\|png"
|
||||||
|
:recursive t
|
||||||
|
:publishing-directory "~/Blog/html/static"
|
||||||
|
:publishing-function org-publish-attachment)
|
||||||
|
|
||||||
|
("blog" :components ("pages" "static")))))
|
||||||
|
|
||||||
|
(setq org-publish-project-alist (akko/blog-spec))
|
||||||
|
|
||||||
|
(defun akko/publish-blog ()
|
||||||
|
(interactive)
|
||||||
|
(setq org-publish-project-alist (akko/blog-spec))
|
||||||
|
(org-publish-all))
|
||||||
|
|
||||||
|
(defun akko/force-publish-blog ()
|
||||||
|
(interactive)
|
||||||
|
(setq org-publish-project-alist (akko/blog-spec))
|
||||||
|
(org-publish-remove-all-timestamps)
|
||||||
|
(org-publish-all))
|
||||||
|
|
||||||
|
(map! :leader
|
||||||
|
(:prefix ("a" . "akko")
|
||||||
|
:desc "Publish Blog"
|
||||||
|
"b" #'akko/publish-blog))
|
||||||
|
|
||||||
|
(setq org-html-htmlize-output-type 'css)
|
||||||
|
(setq org-html-htmlize-font-prefix "org-")
|
||||||
|
#+END_SRC
|
113
org/posts/framework.org
Normal file
113
org/posts/framework.org
Normal file
@@ -0,0 +1,113 @@
|
|||||||
|
#+TITLE: Framework Laptop Review
|
||||||
|
#+DATE:<2022-03-17 Thu>
|
||||||
|
|
||||||
|
* My Experience with the Framework Laptop
|
||||||
|
** Ordering
|
||||||
|
I'd been eyeing the [[https:frame.work][Framework laptop]] since somewhere in October 2021, but the EU release got delayed and they were very hesitant to give time estimates. I only managed to get my hands on it in late February, and I ended up having to have it delivered to France. I understand the difficulty of setting up logistics especially these days, but I broke my previous laptop and being stuck in limbo like this was not fun.
|
||||||
|
|
||||||
|
On top of that, since I had it delivered to France, I was forced to use the French-language website. I wish websites wouldn't get this wrong, since there's a lot of people who don't speak the native language of the country they're in for various reasons. \\
|
||||||
|
I asked their customer service to make a small change to the delivery address, but never got a reply, and the address wasn't changed. This was a non-issue, in the end, though~
|
||||||
|
|
||||||
|
** Set-up
|
||||||
|
*** Hardware
|
||||||
|
I got the DIY edition with the (lowest-end) i5-1135G7 CPU, 2x16GB RAM. I brought my own 1TB SSD. The higher spec CPUs didn't seem worth the money to me. The RAM is probably overkill.
|
||||||
|
|
||||||
|
Assembling the DIY edition took no time at all; you could probably speedrun this in <30 seconds. The level of care here is excellent - all that's needed to replace virtually any part is the included screwdriver, and parts pop off easily. All screws are easily accessible, and every part is labelled with a QR code that links to their knowledge base with replacement instructions.
|
||||||
|
|
||||||
|
Replaceable RAM, storage and battery are table stakes - you can get that in plenty of laptops if you look for it. What's impressing about the Framework is first of all the sheer ease with which to disassemble it. It's a world of difference even compared to my old Thinkpad X230t, which is^H^H was an extremely servicable laptop (;_;). It's an experience.
|
||||||
|
|
||||||
|
Also very impressing is the sheer extent of things that can be replaced. You can see their store of replacement parts [[https:https://frame.work/marketplace/parts][here]] and it includes everything from the audio board to the hinge to the CPU heatsink and so on. The parts aren't even expensive either!
|
||||||
|
|
||||||
|
My enrapturement was short-lived, though, as after a quick assembly my new laptop would not boot up or charge. Not even the charging light would come on. After some searching we did find a [[https://guides.frame.work/Guide/Fully+Resetting+the+Mainboard+State/113][guide]] with instructions on how to fully power cycle the mainboard, and that resolved the issue. It seems the issue could potentially be caused by a dead CMOS battery. Regardless of what caused it, the fix was an obscure and somewhat dangerous fix for what I'd consider a big quality assurance failure.
|
||||||
|
|
||||||
|
#+attr_html: :width 60% :class center
|
||||||
|
[[../../static/images/framework_inside.jpg]]
|
||||||
|
The more you look at it, the nicer it gets!
|
||||||
|
|
||||||
|
*** Software
|
||||||
|
I installed Gentoo GNU+Linux on the laptop, just like I have on my desktop. I used an Ubuntu live CD as the install medium together with the Gentoo stage3 tarball, and it worked well. I didn't really have to jump through any laptop-specific hoops, it was a very nice experience. I did use the dist-kernel rather than configuring my own.
|
||||||
|
|
||||||
|
The laptop held up well during compiling. It's not as fast as a desktop of course, but compile times are not limiting. I've put this thing through bootstrapping GCC for a cross-compilation toolchain, which is just about the biggest compile job I've ran, and it wasn't /that/ painful.
|
||||||
|
|
||||||
|
**** Display scaling
|
||||||
|
Simply setting =Xft.dpi: 192= in .Xresources was enough for the vast majority of applications to use 2x scaling, which looks very good on this display. This is on X11 obviously; I don't use Wayland.
|
||||||
|
|
||||||
|
The odd application requires its own scaling setting. Rofi requires setting =rofi.dpi= in .Xresources, SDDM required a settings change, Steam also requires a settings change, but for the most part things "just work".
|
||||||
|
**** Display manager
|
||||||
|
I used SDDM which works very well. I wanted to go for something a bit fancier looking, and this delivers. I don't usually use things in the whole QT ecosystem, so it's refreshing.
|
||||||
|
|
||||||
|
**** Hibernate/suspend-to-disk
|
||||||
|
This required setting up a swap file and setting a kernel command line parameter to refer to it, but it was easy to do. It works well. I've observed the laptop auto-hibernating when the battery runs out, but it doesn't do this reliably, so I should probably configure it myself.
|
||||||
|
|
||||||
|
**** [[http://guake-project.org/][Guake]]-like transient terminal
|
||||||
|
Using some =fish= scripts, =bspwm=, =picom= and =xst= I rigged up a transient, transparent terminal to use for quick shell jobs. I used the scripts and config file in [[*Appendix A: Transient Terminal Sources][Appendix A]] to do this. The implementation is a bit hacky, and it's not impossible to break, but it serves my purposes well (and more important, it was fun to make)!
|
||||||
|
|
||||||
|
**** Wallpaper-setting script
|
||||||
|
I wrote a script to set a random wallpaper.
|
||||||
|
|
||||||
|
#+INCLUDE: "~/Scripts/wallpaper.py" src python
|
||||||
|
|
||||||
|
**** Lockscreen
|
||||||
|
I hacked together some [[*Appendix B: lock.py][pretty crappy code]] to lock the screen using =i3lock=, with my wallpaper composed with a little lock icon as the background. Very overengineered.
|
||||||
|
|
||||||
|
#+attr_html: :width 60% :class center
|
||||||
|
[[../../static/images/lockscreen.png]]
|
||||||
|
Simple, but cute!
|
||||||
|
|
||||||
|
Is there a better lockscreen out there that will let me set my own image as the background? They all seem pretty scrappy.
|
||||||
|
|
||||||
|
**** TODO
|
||||||
|
***** Battery level notifications
|
||||||
|
***** sleep-then-hibernate
|
||||||
|
***** Battery tuning
|
||||||
|
** Impressions
|
||||||
|
**** Build Quality
|
||||||
|
The laptop is made of aluminium and feels solid but light. The screen does seem pretty flimsy, though. I probably wouldn't want to drop this thing. It looks sleek and elegant, but pretty muted.
|
||||||
|
|
||||||
|
**** Screen
|
||||||
|
This is my first time ever using a high-DPI screen, and I'm very impressed by it. Text looks unbelievably crisp and pleasant to read. I was somewhat worried about the linux high DPI situation, but I am having no issues whatsoever.
|
||||||
|
|
||||||
|
The colours on the screen look very good too, and the black levels are very impressive. I feel like display technology has come a long way in recent times. I have professional colour calibration equipment at home, so I'll give calibrating the screen a shot when I get back. The 3:2 aspect ratio works very well for a laptop and I like it a lot.
|
||||||
|
|
||||||
|
The brightness goes up quite high, but colours feel somewhat washed out at high brightness, and the display is very glossy, so it's a bit distracting in direct sunlight. I heard some people complain that the hinge is floppy, which is true. It's not all that problematic, but I really don't agree with the decision to optimize for one-handed operation over stability.
|
||||||
|
|
||||||
|
**** Keyboard
|
||||||
|
Framework seems to advertise their keyboard as having particularly deep travel, but it mostly just feels like any chiclet keyboard to me. Not a bad chiclet keyboard, but not that great, either. The layout is fine, but it makes me miss the thinkpad.
|
||||||
|
|
||||||
|
**** Touchpad
|
||||||
|
I've never had a decent touchpad before, so I was pleasantly surprised. I expected to miss the trackpoint on the thinkpad a lot, but this is fine, though it's still a step down. Pinch to zoom doesn't work very well, but I don't use that functionality a lot. I miss having dedicated mouse buttons; the clicking functionality on this touchpad works fine for me, but it's hard not to mess up left/middle/right click. That's a good incentive for me to practice relying on the mouse less, though. There's plenty of [[https://linuxtouchpad.org/][work being done]] on the Linux touchpad experience software-side, too. It's a nice time to be a linux laptop user!
|
||||||
|
|
||||||
|
**** Battery
|
||||||
|
With the disclaimer that I haven't tested very intensely and I haven't tuned power settings very much. \\
|
||||||
|
I seem to get about 6.5 hours of real-world use time when using Emacs and doing light web browsing. I don't have a good benchmark for more intensive tasks, but compiling does hit the battery pretty hard. All in all I'm very happy with it, getting decent battery life on Linux is hard. It might be worth eventually buying a power bank for it though, for travel~
|
||||||
|
|
||||||
|
**** Expansion cards/ports
|
||||||
|
The little expansion cards are one of Framework's big marketing things. I think they're pretty neat, though I don't always quite understand the way people talk about them, as "dongle killers". I would find hotswapping these about equally obnoxious as carrying dongles. The idea of aftermarket expansion cards is interesting, though - these are low level, high bandwidth ports, with I think similar capabilities to the ExpressCard ports on old business laptops, but more modern with a USB-C port. I'm looking forward to the USB4 era!
|
||||||
|
|
||||||
|
**** Performance
|
||||||
|
So far I haven't felt limited by performance at all, the experience has been really snappy. I haven't thrown particularly difficult things at it, though, but that's fine - most of what I do on a laptop is reading, web browsing, and text editing. I played some Factorio on it and that seemed fine, but using the touchpad felt limiting so I didn't play very much.
|
||||||
|
|
||||||
|
** Closing words
|
||||||
|
Getting this laptop set up has been really fun! It's a good opportunity to take stock of where we're at. On the hardware side, I am very impressed that it's now possible to make a laptop that's this user-servicable, this well-specced and still not /that/ expensive. It's a reminder of how much better things could be.
|
||||||
|
|
||||||
|
On the software side, I feel like the GNU/Linux end-user ecosystem has come a long way. The experience was very painless, though I am also an advanced user, of course. How different are things now than when I got started on Linux Mint Olivia.
|
||||||
|
|
||||||
|
Personally, I'm getting a rare chance to critically examine all the little config files, scripts, programs, plugins and worklfows I have. It's fun to re-ignite the spark of join in configuring software and figuring out fluent, comfortable ways of doing things. I look forward to once more exploring and documenting the joy of computers...! <3
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
* Appendix A: Transient Terminal Sources
|
||||||
|
=togglescratch=
|
||||||
|
#+INCLUDE: "~/Scripts/togglescratch" src fish
|
||||||
|
|
||||||
|
=makescratch=
|
||||||
|
#+INCLUDE: "~/Scripts/makescratch" src fish
|
||||||
|
|
||||||
|
=cleanscratch=
|
||||||
|
#+INCLUDE: "~/Scripts/cleanscratch" src fish
|
||||||
|
|
||||||
|
=picom.conf=
|
||||||
|
#+INCLUDE: "~/.config/picom.conf" src
|
||||||
|
|
||||||
|
* Appendix B: lock.py
|
||||||
|
#+INCLUDE: "~/Scripts/lock.py" src python
|
4
org/posts/resources.org
Normal file
4
org/posts/resources.org
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
#+TITLE: Resources
|
||||||
|
#+DATE:<2022-03-18 Fri>
|
||||||
|
|
||||||
|
https://serverfault.com/questions/674762/easy-way-to-transfer-files-between-host-and-lxc-container-on-lvm
|
8
org/sitemap.org
Normal file
8
org/sitemap.org
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
#+TITLE: Sitemap for project pages
|
||||||
|
|
||||||
|
- [[file:about.org][About]]
|
||||||
|
- [[file:index.org][Index]]
|
||||||
|
- Posts
|
||||||
|
- [[file:posts/elog-1-blog.org][Emacs Log 1: This Blog]]
|
||||||
|
- [[file:posts/resources.org][Resources]]
|
||||||
|
- [[file:posts/framework.org][Framework Laptop Review]]
|
BIN
static/images/framework_inside.jpg
Normal file
BIN
static/images/framework_inside.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.5 MiB |
BIN
static/images/lockscreen.png
Normal file
BIN
static/images/lockscreen.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 MiB |
93
static/style.css
Normal file
93
static/style.css
Normal file
@@ -0,0 +1,93 @@
|
|||||||
|
:root {
|
||||||
|
--site-width: 70%;
|
||||||
|
--vert-content-margin: 1.5em;
|
||||||
|
--navbar-color: #d2e8b0;
|
||||||
|
--black: #222;
|
||||||
|
--white: #FBFBFB;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
font-family: "Baskerville";
|
||||||
|
font-size: 1.2em;
|
||||||
|
color: var(--black);
|
||||||
|
background-color: var(--white);
|
||||||
|
}
|
||||||
|
|
||||||
|
p + p {
|
||||||
|
/* Prose-style indented paragraphs */
|
||||||
|
text-indent: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
hr {
|
||||||
|
border: 0;
|
||||||
|
height: 2px;
|
||||||
|
background-color: var(--black);
|
||||||
|
}
|
||||||
|
|
||||||
|
.center {
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
a, a:visited {
|
||||||
|
color: blue;
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content h2, #content h3, #content h4, #content h5 {
|
||||||
|
margin-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
#header hr {
|
||||||
|
margin-bottom: var(--vert-content-margin);
|
||||||
|
}
|
||||||
|
|
||||||
|
#footer hr {
|
||||||
|
margin-top: var(--vert-content-margin);
|
||||||
|
}
|
||||||
|
|
||||||
|
#header {
|
||||||
|
padding: 5px;
|
||||||
|
background-color: var(--navbar-color);
|
||||||
|
border: 1px solid var(--black);
|
||||||
|
border-radius: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content, #header, #footer {
|
||||||
|
max-width: var(--site-width);
|
||||||
|
margin: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Set the colors in <pre> blocks from the Leuven theme */
|
||||||
|
pre {background-color:#FFFFFF;}
|
||||||
|
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;}
|
1
util/head.html
Normal file
1
util/head.html
Normal file
@@ -0,0 +1 @@
|
|||||||
|
<link rel="stylesheet" href="/static/style.css" type="text/css"/>
|
8
util/postamble.html
Normal file
8
util/postamble.html
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
<div id="footer">
|
||||||
|
<hr>
|
||||||
|
If you have any comments about this page, you can email me at: <br>
|
||||||
|
<b>akko [shift-2] nakadashi -dot- lol</b><br><br>
|
||||||
|
|
||||||
|
All code on this website is licensed <b>GPLv3</b> unless otherwise indicated. <br>
|
||||||
|
Blog proudly built using <a href="/posts/elog-1-blog.html">org-mode</a>!
|
||||||
|
</div>
|
5
util/preamble.html
Normal file
5
util/preamble.html
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
<div id="header">
|
||||||
|
<a href="/">Home</a> |
|
||||||
|
<a href="/about.html">dare desu ka</a> |
|
||||||
|
<a href="/sitemap.html">Sitemap</a>
|
||||||
|
</div>
|
Reference in New Issue
Block a user