From 8a13f529410baef6b06d734a9493ae95cea0d3cc Mon Sep 17 00:00:00 2001 From: Ben Harris Date: Sat, 16 May 2020 00:35:40 -0400 Subject: [PATCH] add drone --- .drone.yml | 28 ++ .gitignore | 1 + Makefile | 32 +++ index.adoc | 30 +++ public/fonts/notosans.ttf | Bin 0 -> 30376 bytes public/stylesheets/asciidoctor.css | 420 +++++++++++++++++++++++++++++ public/stylesheets/dark.css | 109 ++++++++ public/stylesheets/notosans.css | 6 + 8 files changed, 626 insertions(+) create mode 100644 .drone.yml create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 index.adoc create mode 100644 public/fonts/notosans.ttf create mode 100644 public/stylesheets/asciidoctor.css create mode 100644 public/stylesheets/dark.css create mode 100644 public/stylesheets/notosans.css diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..e8f61df --- /dev/null +++ b/.drone.yml @@ -0,0 +1,28 @@ +--- +kind: pipeline +type: ssh +name: deploy + +server: + host: + from_secret: host + user: + from_secret: username + ssh_key: + from_secret: ssh_key + +clone: + disable: true + +trigger: + branch: + - master + +steps: + - name: deploy + commands: + - cd /var/www/benharr.is + - sudo -Hu www-data git fetch + - sudo -Hu www-data git reset --hard origin/master + - sudo -Hu www-data make + diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..2f6273e --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +/public/*.html diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..af80925 --- /dev/null +++ b/Makefile @@ -0,0 +1,32 @@ +DEST := public + +SRC_FILES != find . -type f -name '*.adoc' ! -name 'README.adoc' +DST_FILES := $(SRC_FILES:%.adoc=$(DEST)/%.html) + +ASCIIDOCTOR != command -v asciidoctor 2> /dev/null + +all: dep-asciidoctor $(DST_FILES) + +$(DEST)/%.html: %.adoc + $(info building $@) + @$(ASCIIDOCTOR) \ + --destination-dir=$(DEST) \ + --attribute stylesheet=./$(DEST)/stylesheets/dark.css \ + --attribute toc=on \ + $< + +clean: + $(info removing generated html files) + -rm $(DEST)/*.html + +watch: + $(info watching files for rebuild) + find . -type f -name '*.adoc' ! -name 'README.adoc' | entr make + +dep-asciidoctor:: +ifndef ASCIIDOCTOR + $(error missing dependency 'asciidoctor'. please install and try again.) +endif + +.PHONY: clean watch + diff --git a/index.adoc b/index.adoc new file mode 100644 index 0000000..69260d6 --- /dev/null +++ b/index.adoc @@ -0,0 +1,30 @@ += irctokens + +hello there + +this is the project page for a collection of irc libraries. + +the canonical source is the python version: + +== python + +irctokens:: +* https://github.com/jesopo/irctokens[source] +* https://pypi.org/project/irctokens/[pip] + +ircstates:: +* https://github.com/jesopo/ircstates[source] +* https://pypi.org/project/ircstates/[pip] + +ircrobots:: +* https://github.com/jesopo/ircrobots[source] +* https://pypi.org/project/ircrobots/[pip] + +== c# port + +ircsharp:: +(currently only handles tokens and states) +* https://tildegit.org/ben/ircsharp[source] +* https://www.nuget.org/packages/IRCTokens/[IRCTokens package] +* https://www.nuget.org/packages/IRCStates/[IRCStates package] + diff --git a/public/fonts/notosans.ttf b/public/fonts/notosans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0ce9e1caae38bcbbbde322cf37b9940333d0bebc GIT binary patch literal 30376 zcmbrn349bq_BdWu-97hxPp+BCFgXY?kRb;Uk|87^2ZRt3$V3tXgphEB5D*YCU_>B* z$c>;F5fK$(z!)RC2y%I`cr2o;2(IgTp|Y;JE@V2tS3NTj(B1Fn^ZzGwrl-5Q>eYL% z-dzpC2q7)}VUcE3PHrCiJ+~R5xu@Xj%uyv{$KUnLMjoNYfe49nMvX7e)+|X}iO}5( z;C}Mh@$Te%r~M}ip_+8~UNddZlzH{0Dd*sH2SRw$w7VDBt%o8`BQ&cU?(=o?X3R;I zn-mC5?FapJ%$U+V51Eh?#_NFlni;c~)ctek6KCLA=+kGfpFX9QNqsvBp-F?`eri2j zP?cf^`ZvJ$KJ{}JEWSK^YG1fN8zE-@?8a$R$~BoUB2+mE`uK3pl*RLy`?+E8Jpde+#`oZ~pXobsf)qg;2v4gh&J;=ma1}#&seF ziBXJK!7_wnIEj>H#0a^Q-5#wD4;iBMXgz}l>K$4~8XPB>g6@~<$&$b-uJd|fJ^K&n z3aw=Jkz=8LY+fZ|STQ4(NJT`vaf;Rki)@gnE~!TDphpfz9O?rDN^3;;}|5u zaz>OCWsbVrXEb=t*lqsNOw7n#Rps#{X_3d`o?IO|)#_kcFfV}1OebiDFJ|~IOcfhM zVxu!9E-pUBWHM{x;!*~urloj{CbKv$UK>NigW)3;8{nQu#A@DtwRQe`IYl2&JNN8c z&$k|XE`8Uw_Qwi4tDD~oT%9npdMZA#ro;UAPl(gD-{~Rvz=%U@9(Y#YafBPSez=^k zOs!d3n_r&5ud$OrL1i3XsHp@j%;~wxUF6OoIWiy*s`jSnj3~;*#EO#Q`X$B

C3| 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.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{line-height:1.45;color:#7a2518;font-weight:400;margin-top:0;margin-bottom:.25em} +div,dl,dt,dd,ul,ol,li,h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6,pre,form,p,blockquote,th,td{margin:0;padding:0;direction:ltr} +a{color:#2156a5;text-decoration:underline;line-height:inherit} +a:hover,a:focus{color:#1d4b8f} +a img{border:none} +p{font-family:inherit;font-weight:400;font-size:1em;line-height:1.6;margin-bottom:1.25em;text-rendering:optimizeLegibility} +p aside{font-size:.875em;line-height:1.35;font-style:italic} +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{font-family:"Open Sans","DejaVu Sans",sans-serif;font-weight:300;font-style:normal;color:#ba3925;text-rendering:optimizeLegibility;margin-top:1em;margin-bottom:.5em;line-height:1.0125em} +h1 small,h2 small,h3 small,#toctitle small,.sidebarblock>.content>.title small,h4 small,h5 small,h6 small{font-size:60%;color:#e99b8f;line-height:0} +h1{font-size:2.125em} +h2{font-size:1.6875em} +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.375em} +h4,h5{font-size:1.125em} +h6{font-size:1em} +hr{border:solid #ddddd8;border-width:1px 0 0;clear:both;margin:1.25em 0 1.1875em;height:0} +em,i{font-style:italic;line-height:inherit} +strong,b{font-weight:bold;line-height:inherit} +small{font-size:60%;line-height:inherit} +code{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;color:rgba(0,0,0,.9)} +ul,ol,dl{font-size:1em;line-height:1.6;margin-bottom:1.25em;list-style-position:outside;font-family:inherit} +ul,ol{margin-left:1.5em} +ul li ul,ul li ol{margin-left:1.25em;margin-bottom:0;font-size:1em} +ul.square li ul,ul.circle li ul,ul.disc li ul{list-style:inherit} +ul.square{list-style-type:square} +ul.circle{list-style-type:circle} +ul.disc{list-style-type:disc} +ol li ul,ol li ol{margin-left:1.25em;margin-bottom:0} +dl dt{margin-bottom:.3125em;font-weight:bold} +dl dd{margin-bottom:1.25em} +abbr,acronym{text-transform:uppercase;font-size:90%;color:rgba(0,0,0,.8);border-bottom:1px dotted #ddd;cursor:help} +abbr{text-transform:none} +blockquote{margin:0 0 1.25em;padding:.5625em 1.25em 0 1.1875em;border-left:1px solid #ddd} +blockquote cite{display:block;font-size:.9375em;color:rgba(0,0,0,.6)} +blockquote cite::before{content:"\2014 \0020"} +blockquote cite a,blockquote cite a:visited{color:rgba(0,0,0,.6)} +blockquote,blockquote p{line-height:1.6;color:rgba(0,0,0,.85)} +@media screen and (min-width:768px){h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2} +h1{font-size:2.75em} +h2{font-size:2.3125em} +h3,#toctitle,.sidebarblock>.content>.title{font-size:1.6875em} +h4{font-size:1.4375em}} +table{background:#fff;margin-bottom:1.25em;border:solid 1px #dedede} +table thead,table tfoot{background:#f7f8f7} +table thead tr th,table thead tr td,table tfoot tr th,table tfoot tr td{padding:.5em .625em .625em;font-size:inherit;color:rgba(0,0,0,.8);text-align:left} +table tr th,table tr td{padding:.5625em .625em;font-size:inherit;color:rgba(0,0,0,.8)} +table tr.even,table tr.alt,table tr:nth-of-type(even){background:#f8f8f7} +table thead tr th,table tfoot tr th,table tbody tr td,table tr td,table tfoot tr td{display:table-cell;line-height:1.6} +h1,h2,h3,#toctitle,.sidebarblock>.content>.title,h4,h5,h6{line-height:1.2;word-spacing:-.05em} +h1 strong,h2 strong,h3 strong,#toctitle strong,.sidebarblock>.content>.title strong,h4 strong,h5 strong,h6 strong{font-weight:400} +.clearfix::before,.clearfix::after,.float-group::before,.float-group::after{content:" ";display:table} +.clearfix::after,.float-group::after{clear:both} +*:not(pre)>code{font-size:.9375em;font-style:normal!important;letter-spacing:0;padding:.1em .5ex;word-spacing:-.15em;background-color:#f7f7f8;-webkit-border-radius:4px;border-radius:4px;line-height:1.45;text-rendering:optimizeSpeed;word-wrap:break-word} +*:not(pre)>code.nobreak{word-wrap:normal} +*:not(pre)>code.nowrap{white-space:nowrap} +pre,pre>code{line-height:1.45;color:rgba(0,0,0,.9);font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;font-weight:400;text-rendering:optimizeSpeed} +em em{font-style:normal} +strong strong{font-weight:400} +.keyseq{color:rgba(51,51,51,.8)} +kbd{font-family:"Droid Sans Mono","DejaVu Sans Mono",monospace;display:inline-block;color:rgba(0,0,0,.8);font-size:.65em;line-height:1.45;background-color:#f7f7f7;border:1px solid #ccc;-webkit-border-radius:3px;border-radius:3px;-webkit-box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em white inset;box-shadow:0 1px 0 rgba(0,0,0,.2),0 0 0 .1em #fff inset;margin:0 .15em;padding:.2em .5em;vertical-align:middle;position:relative;top:-.1em;white-space:nowrap} +.keyseq kbd:first-child{margin-left:0} +.keyseq kbd:last-child{margin-right:0} +.menuseq,.menuref{color:#000} +.menuseq b:not(.caret),.menuref{font-weight:inherit} +.menuseq{word-spacing:-.02em} +.menuseq b.caret{font-size:1.25em;line-height:.8} +.menuseq i.caret{font-weight:bold;text-align:center;width:.45em} +b.button::before,b.button::after{position:relative;top:-1px;font-weight:400} +b.button::before{content:"[";padding:0 3px 0 2px} +b.button::after{content:"]";padding:0 2px 0 3px} +p a>code:hover{color:rgba(0,0,0,.9)} +#header,#content,#footnotes,#footer{width:100%;margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;max-width:62.5em;*zoom:1;position:relative;padding-left:.9375em;padding-right:.9375em} +#header::before,#header::after,#content::before,#content::after,#footnotes::before,#footnotes::after,#footer::before,#footer::after{content:" ";display:table} +#header::after,#content::after,#footnotes::after,#footer::after{clear:both} +#content{margin-top:1.25em} +#content::before{content:none} +#header>h1:first-child{color:rgba(0,0,0,.85);margin-top:2.25rem;margin-bottom:0} +#header>h1:first-child+#toc{margin-top:8px;border-top:1px solid #ddddd8} +#header>h1:only-child,body.toc2 #header>h1:nth-last-child(2){border-bottom:1px solid #ddddd8;padding-bottom:8px} +#header .details{border-bottom:1px solid #ddddd8;line-height:1.45;padding-top:.25em;padding-bottom:.25em;padding-left:.25em;color:rgba(0,0,0,.6);display:-ms-flexbox;display:-webkit-flex;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap} +#header .details span:first-child{margin-left:-.125em} +#header .details span.email a{color:rgba(0,0,0,.85)} +#header .details br{display:none} +#header .details br+span::before{content:"\00a0\2013\00a0"} +#header .details br+span.author::before{content:"\00a0\22c5\00a0";color:rgba(0,0,0,.85)} +#header .details br+span#revremark::before{content:"\00a0|\00a0"} +#header #revnumber{text-transform:capitalize} +#header #revnumber::after{content:"\00a0"} +#content>h1:first-child:not([class]){color:rgba(0,0,0,.85);border-bottom:1px solid #ddddd8;padding-bottom:8px;margin-top:0;padding-top:1rem;margin-bottom:1.25rem} +#toc{border-bottom:1px solid #efefed;padding-bottom:.5em} +#toc>ul{margin-left:.125em} +#toc ul.sectlevel0>li>a{font-style:italic} +#toc ul.sectlevel0 ul.sectlevel1{margin:.5em 0} +#toc ul{font-family:"Open Sans","DejaVu Sans",sans-serif;list-style-type:none} +#toc li{line-height:1.3334;margin-top:.3334em} +#toc a{text-decoration:none} +#toc a:active{text-decoration:underline} +#toctitle{color:#7a2518;font-size:1.2em} +@media screen and (min-width:768px){#toctitle{font-size:1.375em} +body.toc2{padding-left:15em;padding-right:0} +#toc.toc2{margin-top:0!important;background-color:#f8f8f7;position:fixed;width:15em;left:0;top:0;border-right:1px solid #efefed;border-top-width:0!important;border-bottom-width:0!important;z-index:1000;padding:1.25em 1em;height:100%;overflow:auto} +#toc.toc2 #toctitle{margin-top:0;margin-bottom:.8rem;font-size:1.2em} +#toc.toc2>ul{font-size:.9em;margin-bottom:0} +#toc.toc2 ul ul{margin-left:0;padding-left:1em} +#toc.toc2 ul.sectlevel0 ul.sectlevel1{padding-left:0;margin-top:.5em;margin-bottom:.5em} +body.toc2.toc-right{padding-left:0;padding-right:15em} +body.toc2.toc-right #toc.toc2{border-right-width:0;border-left:1px solid #efefed;left:auto;right:0}} +@media screen and (min-width:1280px){body.toc2{padding-left:20em;padding-right:0} +#toc.toc2{width:20em} +#toc.toc2 #toctitle{font-size:1.375em} +#toc.toc2>ul{font-size:.95em} +#toc.toc2 ul ul{padding-left:1.25em} +body.toc2.toc-right{padding-left:0;padding-right:20em}} +#content #toc{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} +#content #toc>:first-child{margin-top:0} +#content #toc>:last-child{margin-bottom:0} +#footer{max-width:100%;background-color:rgba(0,0,0,.8);padding:1.25em} +#footer-text{color:rgba(255,255,255,.8);line-height:1.44} +#content{margin-bottom:.625em} +.sect1{padding-bottom:.625em} +@media screen and (min-width:768px){#content{margin-bottom:1.25em} +.sect1{padding-bottom:1.25em}} +.sect1:last-child{padding-bottom:0} +.sect1+.sect1{border-top:1px solid #efefed} +#content h1>a.anchor,h2>a.anchor,h3>a.anchor,#toctitle>a.anchor,.sidebarblock>.content>.title>a.anchor,h4>a.anchor,h5>a.anchor,h6>a.anchor{position:absolute;z-index:1001;width:1.5ex;margin-left:-1.5ex;display:block;text-decoration:none!important;visibility:hidden;text-align:center;font-weight:400} +#content h1>a.anchor::before,h2>a.anchor::before,h3>a.anchor::before,#toctitle>a.anchor::before,.sidebarblock>.content>.title>a.anchor::before,h4>a.anchor::before,h5>a.anchor::before,h6>a.anchor::before{content:"\00A7";font-size:.85em;display:block;padding-top:.1em} +#content h1:hover>a.anchor,#content h1>a.anchor:hover,h2:hover>a.anchor,h2>a.anchor:hover,h3:hover>a.anchor,#toctitle:hover>a.anchor,.sidebarblock>.content>.title:hover>a.anchor,h3>a.anchor:hover,#toctitle>a.anchor:hover,.sidebarblock>.content>.title>a.anchor:hover,h4:hover>a.anchor,h4>a.anchor:hover,h5:hover>a.anchor,h5>a.anchor:hover,h6:hover>a.anchor,h6>a.anchor:hover{visibility:visible} +#content h1>a.link,h2>a.link,h3>a.link,#toctitle>a.link,.sidebarblock>.content>.title>a.link,h4>a.link,h5>a.link,h6>a.link{color:#ba3925;text-decoration:none} +#content h1>a.link:hover,h2>a.link:hover,h3>a.link:hover,#toctitle>a.link:hover,.sidebarblock>.content>.title>a.link:hover,h4>a.link:hover,h5>a.link:hover,h6>a.link:hover{color:#a53221} +.audioblock,.imageblock,.literalblock,.listingblock,.stemblock,.videoblock{margin-bottom:1.25em} +.admonitionblock td.content>.title,.audioblock>.title,.exampleblock>.title,.imageblock>.title,.listingblock>.title,.literalblock>.title,.stemblock>.title,.openblock>.title,.paragraph>.title,.quoteblock>.title,table.tableblock>.title,.verseblock>.title,.videoblock>.title,.dlist>.title,.olist>.title,.ulist>.title,.qlist>.title,.hdlist>.title{text-rendering:optimizeLegibility;text-align:left;font-family:"Noto Serif","DejaVu Serif",serif;font-size:1rem;font-style:italic} +table.tableblock.fit-content>caption.title{white-space:nowrap;width:0} +.paragraph.lead>p,#preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:1.21875em;line-height:1.6;color:rgba(0,0,0,.85)} +table.tableblock #preamble>.sectionbody>[class="paragraph"]:first-of-type p{font-size:inherit} +.admonitionblock>table{border-collapse:separate;border:0;background:none;width:100%} +.admonitionblock>table td.icon{text-align:center;width:80px} +.admonitionblock>table td.icon img{max-width:none} +.admonitionblock>table td.icon .title{font-weight:bold;font-family:"Open Sans","DejaVu Sans",sans-serif;text-transform:uppercase} +.admonitionblock>table td.content{padding-left:1.125em;padding-right:1.25em;border-left:1px solid #ddddd8;color:rgba(0,0,0,.6)} +.admonitionblock>table td.content>:last-child>:last-child{margin-bottom:0} +.exampleblock>.content{border-style:solid;border-width:1px;border-color:#e6e6e6;margin-bottom:1.25em;padding:1.25em;background:#fff;-webkit-border-radius:4px;border-radius:4px} +.exampleblock>.content>:first-child{margin-top:0} +.exampleblock>.content>:last-child{margin-bottom:0} +.sidebarblock{border-style:solid;border-width:1px;border-color:#e0e0dc;margin-bottom:1.25em;padding:1.25em;background:#f8f8f7;-webkit-border-radius:4px;border-radius:4px} +.sidebarblock>:first-child{margin-top:0} +.sidebarblock>:last-child{margin-bottom:0} +.sidebarblock>.content>.title{color:#7a2518;margin-top:0;text-align:center} +.exampleblock>.content>:last-child>:last-child,.exampleblock>.content .olist>ol>li:last-child>:last-child,.exampleblock>.content .ulist>ul>li:last-child>:last-child,.exampleblock>.content .qlist>ol>li:last-child>:last-child,.sidebarblock>.content>:last-child>:last-child,.sidebarblock>.content .olist>ol>li:last-child>:last-child,.sidebarblock>.content .ulist>ul>li:last-child>:last-child,.sidebarblock>.content .qlist>ol>li:last-child>:last-child{margin-bottom:0} +.literalblock pre,.listingblock pre:not(.highlight),.listingblock pre[class="highlight"],.listingblock pre[class^="highlight "],.listingblock pre.CodeRay,.listingblock pre.prettyprint{background:#f7f7f8} +.sidebarblock .literalblock pre,.sidebarblock .listingblock pre:not(.highlight),.sidebarblock .listingblock pre[class="highlight"],.sidebarblock .listingblock pre[class^="highlight "],.sidebarblock .listingblock pre.CodeRay,.sidebarblock .listingblock pre.prettyprint{background:#f2f1f1} +.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{-webkit-border-radius:4px;border-radius:4px;word-wrap:break-word;padding:1em;font-size:.8125em} +.literalblock pre.nowrap,.literalblock pre[class].nowrap,.listingblock pre.nowrap,.listingblock pre[class].nowrap{overflow-x:auto;white-space:pre;word-wrap:normal} +@media screen and (min-width:768px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:.90625em}} +@media screen and (min-width:1280px){.literalblock pre,.literalblock pre[class],.listingblock pre,.listingblock pre[class]{font-size:1em}} +.literalblock.output pre{color:#f7f7f8;background-color:rgba(0,0,0,.9)} +.listingblock pre.highlightjs{padding:0} +.listingblock pre.highlightjs>code{padding:1em;-webkit-border-radius:4px;border-radius:4px} +.listingblock pre.prettyprint{border-width:0} +.listingblock>.content{position:relative} +.listingblock code[data-lang]::before{display:none;content:attr(data-lang);position:absolute;font-size:.75em;top:.425rem;right:.5rem;line-height:1;text-transform:uppercase;color:#999} +.listingblock:hover code[data-lang]::before{display:block} +.listingblock.terminal pre .command::before{content:attr(data-prompt);padding-right:.5em;color:#999} +.listingblock.terminal pre .command:not([data-prompt])::before{content:"$"} +table.pyhltable{border-collapse:separate;border:0;margin-bottom:0;background:none} +table.pyhltable td{vertical-align:top;padding-top:0;padding-bottom:0;line-height:1.45} +table.pyhltable td.code{padding-left:.75em;padding-right:0} +pre.pygments .lineno,table.pyhltable td:not(.code){color:#999;padding-left:0;padding-right:.5em;border-right:1px solid #ddddd8} +pre.pygments .lineno{display:inline-block;margin-right:.25em} +table.pyhltable .linenodiv{background:none!important;padding-right:0!important} +.quoteblock{margin:0 1em 1.25em 1.5em;display:table} +.quoteblock>.title{margin-left:-1.5em;margin-bottom:.75em} +.quoteblock blockquote,.quoteblock blockquote p{color:rgba(0,0,0,.85);font-size:1.15rem;line-height:1.75;word-spacing:.1em;letter-spacing:0;font-style:italic;text-align:justify} +.quoteblock blockquote{margin:0;padding:0;border:0} +.quoteblock blockquote::before{content:"\201c";float:left;font-size:2.75em;font-weight:bold;line-height:.6em;margin-left:-.6em;color:#7a2518;text-shadow:0 1px 2px rgba(0,0,0,.1)} +.quoteblock blockquote>.paragraph:last-child p{margin-bottom:0} +.quoteblock .attribution{margin-top:.5em;margin-right:.5ex;text-align:right} +.quoteblock .quoteblock{margin-left:0;margin-right:0;padding:.5em 0;border-left:3px solid rgba(0,0,0,.6)} +.quoteblock .quoteblock blockquote{padding:0 0 0 .75em} +.quoteblock .quoteblock blockquote::before{display:none} +.verseblock{margin:0 1em 1.25em} +.verseblock pre{font-family:"Open Sans","DejaVu Sans",sans;font-size:1.15rem;color:rgba(0,0,0,.85);font-weight:300;text-rendering:optimizeLegibility} +.verseblock pre strong{font-weight:400} +.verseblock .attribution{margin-top:1.25rem;margin-left:.5ex} +.quoteblock .attribution,.verseblock .attribution{font-size:.9375em;line-height:1.45;font-style:italic} +.quoteblock .attribution br,.verseblock .attribution br{display:none} +.quoteblock .attribution cite,.verseblock .attribution cite{display:block;letter-spacing:-.025em;color:rgba(0,0,0,.6)} +.quoteblock.abstract{margin:0 1em 1.25em;display:block} +.quoteblock.abstract>.title{margin:0 0 .375em;font-size:1.15em;text-align:center} +.quoteblock.abstract blockquote,.quoteblock.abstract blockquote p{word-spacing:0;line-height:1.6} +.quoteblock.abstract blockquote::before,.quoteblock.abstract p::before{display:none} +table.tableblock{max-width:100%;border-collapse:separate} +p.tableblock:last-child{margin-bottom:0} +td.tableblock>.content{margin-bottom:-1.25em} +table.tableblock,th.tableblock,td.tableblock{border:0 solid #dedede} +table.grid-all>thead>tr>.tableblock,table.grid-all>tbody>tr>.tableblock{border-width:0 1px 1px 0} +table.grid-all>tfoot>tr>.tableblock{border-width:1px 1px 0 0} +table.grid-cols>*>tr>.tableblock{border-width:0 1px 0 0} +table.grid-rows>thead>tr>.tableblock,table.grid-rows>tbody>tr>.tableblock{border-width:0 0 1px} +table.grid-rows>tfoot>tr>.tableblock{border-width:1px 0 0} +table.grid-all>*>tr>.tableblock:last-child,table.grid-cols>*>tr>.tableblock:last-child{border-right-width:0} +table.grid-all>tbody>tr:last-child>.tableblock,table.grid-all>thead:last-child>tr>.tableblock,table.grid-rows>tbody>tr:last-child>.tableblock,table.grid-rows>thead:last-child>tr>.tableblock{border-bottom-width:0} +table.frame-all{border-width:1px} +table.frame-sides{border-width:0 1px} +table.frame-topbot,table.frame-ends{border-width:1px 0} +table.stripes-all tr,table.stripes-odd tr:nth-of-type(odd){background:#f8f8f7} +table.stripes-none tr,table.stripes-odd tr:nth-of-type(even){background:none} +th.halign-left,td.halign-left{text-align:left} +th.halign-right,td.halign-right{text-align:right} +th.halign-center,td.halign-center{text-align:center} +th.valign-top,td.valign-top{vertical-align:top} +th.valign-bottom,td.valign-bottom{vertical-align:bottom} +th.valign-middle,td.valign-middle{vertical-align:middle} +table thead th,table tfoot th{font-weight:bold} +tbody tr th{display:table-cell;line-height:1.6;background:#f7f8f7} +tbody tr th,tbody tr th p,tfoot tr th,tfoot tr th p{color:rgba(0,0,0,.8);font-weight:bold} +p.tableblock>code:only-child{background:none;padding:0} +p.tableblock{font-size:1em} +td>div.verse{white-space:pre} +ol{margin-left:1.75em} +ul li ol{margin-left:1.5em} +dl dd{margin-left:1.125em} +dl dd:last-child,dl dd:last-child>:last-child{margin-bottom:0} +ol>li p,ul>li p,ul dd,ol dd,.olist .olist,.ulist .ulist,.ulist .olist,.olist .ulist{margin-bottom:.625em} +ul.checklist,ul.none,ol.none,ul.no-bullet,ol.no-bullet,ol.unnumbered,ul.unstyled,ol.unstyled{list-style-type:none} +ul.no-bullet,ol.no-bullet,ol.unnumbered{margin-left:.625em} +ul.unstyled,ol.unstyled{margin-left:0} +ul.checklist{margin-left:.625em} +ul.checklist li>p:first-child>.fa-square-o:first-child,ul.checklist li>p:first-child>.fa-check-square-o:first-child{width:1.25em;font-size:.8em;position:relative;bottom:.125em} +ul.checklist li>p:first-child>input[type="checkbox"]:first-child{margin-right:.25em} +ul.inline{display:-ms-flexbox;display:-webkit-box;display:flex;-ms-flex-flow:row wrap;-webkit-flex-flow:row wrap;flex-flow:row wrap;list-style:none;margin:0 0 .625em -1.25em} +ul.inline>li{margin-left:1.25em} +.unstyled dl dt{font-weight:400;font-style:normal} +ol.arabic{list-style-type:decimal} +ol.decimal{list-style-type:decimal-leading-zero} +ol.loweralpha{list-style-type:lower-alpha} +ol.upperalpha{list-style-type:upper-alpha} +ol.lowerroman{list-style-type:lower-roman} +ol.upperroman{list-style-type:upper-roman} +ol.lowergreek{list-style-type:lower-greek} +.hdlist>table,.colist>table{border:0;background:none} +.hdlist>table>tbody>tr,.colist>table>tbody>tr{background:none} +td.hdlist1,td.hdlist2{vertical-align:top;padding:0 .625em} +td.hdlist1{font-weight:bold;padding-bottom:1.25em} +.literalblock+.colist,.listingblock+.colist{margin-top:-.5em} +.colist td:not([class]):first-child{padding:.4em .75em 0;line-height:1;vertical-align:top} +.colist td:not([class]):first-child img{max-width:none} +.colist td:not([class]):last-child{padding:.25em 0} +.thumb,.th{line-height:0;display:inline-block;border:solid 4px #fff;-webkit-box-shadow:0 0 0 1px #ddd;box-shadow:0 0 0 1px #ddd} +.imageblock.left,.imageblock[style*="float: left"]{margin:.25em .625em 1.25em 0} +.imageblock.right,.imageblock[style*="float: right"]{margin:.25em 0 1.25em .625em} +.imageblock>.title{margin-bottom:0} +.imageblock.thumb,.imageblock.th{border-width:6px} +.imageblock.thumb>.title,.imageblock.th>.title{padding:0 .125em} +.image.left,.image.right{margin-top:.25em;margin-bottom:.25em;display:inline-block;line-height:0} +.image.left{margin-right:.625em} +.image.right{margin-left:.625em} +a.image{text-decoration:none;display:inline-block} +a.image object{pointer-events:none} +sup.footnote,sup.footnoteref{font-size:.875em;position:static;vertical-align:super} +sup.footnote a,sup.footnoteref a{text-decoration:none} +sup.footnote a:active,sup.footnoteref a:active{text-decoration:underline} +#footnotes{padding-top:.75em;padding-bottom:.75em;margin-bottom:.625em} +#footnotes hr{width:20%;min-width:6.25em;margin:-.25em 0 .75em;border-width:1px 0 0} +#footnotes .footnote{padding:0 .375em 0 .225em;line-height:1.3334;font-size:.875em;margin-left:1.2em;margin-bottom:.2em} +#footnotes .footnote a:first-of-type{font-weight:bold;text-decoration:none;margin-left:-1.05em} +#footnotes .footnote:last-of-type{margin-bottom:0} +#content #footnotes{margin-top:-.625em;margin-bottom:0;padding:.75em 0} +.gist .file-data>table{border:0;background:#fff;width:100%;margin-bottom:0} +.gist .file-data>table td.line-data{width:99%} +div.unbreakable{page-break-inside:avoid} +.big{font-size:larger} +.small{font-size:smaller} +.underline{text-decoration:underline} +.overline{text-decoration:overline} +.line-through{text-decoration:line-through} +.aqua{color:#00bfbf} +.aqua-background{background-color:#00fafa} +.black{color:#000} +.black-background{background-color:#000} +.blue{color:#0000bf} +.blue-background{background-color:#0000fa} +.fuchsia{color:#bf00bf} +.fuchsia-background{background-color:#fa00fa} +.gray{color:#606060} +.gray-background{background-color:#7d7d7d} +.green{color:#006000} +.green-background{background-color:#007d00} +.lime{color:#00bf00} +.lime-background{background-color:#00fa00} +.maroon{color:#600000} +.maroon-background{background-color:#7d0000} +.navy{color:#000060} +.navy-background{background-color:#00007d} +.olive{color:#606000} +.olive-background{background-color:#7d7d00} +.purple{color:#600060} +.purple-background{background-color:#7d007d} +.red{color:#bf0000} +.red-background{background-color:#fa0000} +.silver{color:#909090} +.silver-background{background-color:#bcbcbc} +.teal{color:#006060} +.teal-background{background-color:#007d7d} +.white{color:#bfbfbf} +.white-background{background-color:#fafafa} +.yellow{color:#bfbf00} +.yellow-background{background-color:#fafa00} +span.icon>.fa{cursor:default} +a span.icon>.fa{cursor:inherit} +.admonitionblock td.icon [class^="fa icon-"]{font-size:2.5em;text-shadow:1px 1px 2px rgba(0,0,0,.5);cursor:default} +.admonitionblock td.icon .icon-note::before{content:"\f05a";color:#19407c} +.admonitionblock td.icon .icon-tip::before{content:"\f0eb";text-shadow:1px 1px 2px rgba(155,155,0,.8);color:#111} +.admonitionblock td.icon .icon-warning::before{content:"\f071";color:#bf6900} +.admonitionblock td.icon .icon-caution::before{content:"\f06d";color:#bf3400} +.admonitionblock td.icon .icon-important::before{content:"\f06a";color:#bf0000} +.conum[data-value]{display:inline-block;color:#fff!important;background-color:rgba(0,0,0,.8);-webkit-border-radius:100px;border-radius:100px;text-align:center;font-size:.75em;width:1.67em;height:1.67em;line-height:1.67em;font-family:"Open Sans","DejaVu Sans",sans-serif;font-style:normal;font-weight:bold} +.conum[data-value] *{color:#fff!important} +.conum[data-value]+b{display:none} +.conum[data-value]::after{content:attr(data-value)} +pre .conum[data-value]{position:relative;top:-.125em} +b.conum *{color:inherit!important} +.conum:not([data-value]):empty{display:none} +dt,th.tableblock,td.content,div.footnote{text-rendering:optimizeLegibility} +h1,h2,p,td.content,span.alt{letter-spacing:-.01em} +p strong,td.content strong,div.footnote strong{letter-spacing:-.005em} +p,blockquote,dt,td.content,span.alt{font-size:1.0625rem} +p{margin-bottom:1.25rem} +.sidebarblock p,.sidebarblock dt,.sidebarblock td.content,p.tableblock{font-size:1em} +.exampleblock>.content{background-color:#fffef7;border-color:#e0e0dc;-webkit-box-shadow:0 1px 4px #e0e0dc;box-shadow:0 1px 4px #e0e0dc} +.print-only{display:none!important} +@page{margin:1.25cm .75cm} +@media print{*{-webkit-box-shadow:none!important;box-shadow:none!important;text-shadow:none!important} +html{font-size:80%} +a{color:inherit!important;text-decoration:underline!important} +a.bare,a[href^="#"],a[href^="mailto:"]{text-decoration:none!important} +a[href^="http:"]:not(.bare)::after,a[href^="https:"]:not(.bare)::after{content:"(" attr(href) ")";display:inline-block;font-size:.875em;padding-left:.25em} +abbr[title]::after{content:" (" attr(title) ")"} +pre,blockquote,tr,img,object,svg{page-break-inside:avoid} +thead{display:table-header-group} +svg{max-width:100%} +p,blockquote,dt,td.content{font-size:1em;orphans:3;widows:3} +h2,h3,#toctitle,.sidebarblock>.content>.title{page-break-after:avoid} +#toc,.sidebarblock,.exampleblock>.content{background:none!important} +#toc{border-bottom:1px solid #ddddd8!important;padding-bottom:0!important} +body.book #header{text-align:center} +body.book #header>h1:first-child{border:0!important;margin:2.5em 0 1em} +body.book #header .details{border:0!important;display:block;padding:0!important} +body.book #header .details span:first-child{margin-left:0!important} +body.book #header .details br{display:block} +body.book #header .details br+span::before{content:none!important} +body.book #toc{border:0!important;text-align:left!important;padding:0!important;margin:0!important} +body.book #toc,body.book #preamble,body.book h1.sect0,body.book .sect1>h2{page-break-before:always} +.listingblock code[data-lang]::before{display:block} +#footer{padding:0 .9375em} +.hide-on-print{display:none!important} +.print-only{display:block!important} +.hide-for-print{display:none!important} +.show-for-print{display:inherit!important}} +@media print,amzn-kf8{#header>h1:first-child{margin-top:1.25rem} +.sect1{padding:0!important} +.sect1+.sect1{border:0} +#footer{background:none} +#footer-text{color:rgba(0,0,0,.6);font-size:.9em}} +@media amzn-kf8{#header,#content,#footnotes,#footer{padding:0}} \ No newline at end of file diff --git a/public/stylesheets/dark.css b/public/stylesheets/dark.css new file mode 100644 index 0000000..0d3b6b4 --- /dev/null +++ b/public/stylesheets/dark.css @@ -0,0 +1,109 @@ +/* Asciidoctor default stylesheet | MIT License | https://asciidoctor.org */ + +@import url(/stylesheets/notosans.css); +@import url(/stylesheets/asciidoctor.css); /* Default asciidoc style framework - important */ + +/* CUSTOMISATIONS */ +/* Change the values in root for quick customisation. If you want even more fine grain... venture further. */ +:root{ +--maincolor:#282c34; +--primarycolor:#f39c12; +--secondarycolor:#03a9f4; +--tertiarycolor:#4db6ac; +--sidebarbackground:#21252b; +--linkcolor:#f44336; +--linkcoloralternate:#ff9800; +--white:#FFFFFF; +} + +/* Text styles */ + +body{font-family: "Noto Sans",sans-serif;background-color: var(--maincolor);color:var(--white);} + +h1{color:var(--primarycolor) !important;font-family:"Noto Sans",sans-serif;} +h2,h3,h4,h5,h6{color:var(--secondarycolor) !important;font-family:"Noto Sans",sans-serif;} +.title{color:var(--white) !important;font-family:"Noto Sans",sans-serif;font-style: normal; font-weight: normal;} +p{font-family: "Noto Sans",sans-serif ! important} +#toc.toc2 a:link{color:var(--linkcolor);} +blockquote{color:var(--tertiarycolor) !important} +.quoteblock{color:var(--white)} +code{color:var(--linkcoloralternate);background-color: var(--sidebarbackground) !important} + + +/* Table styles */ +th{background-color: var(--maincolor);color:var(--white) !important;} +td{background-color: var(--maincolor);color: var(--linkcoloralternate) !important} + + +#toc.toc2{background-color:var(--sidebarbackground);} +#toctitle{color:var(--white);} + +/* Responsiveness fixes */ +video { + max-width: 100%; +} + +@media all and (max-width: 600px) { + table { + width: 55vw!important; + font-size: 3vw; + } +} + +.exampleblock > .content { + background-color: var(--maincolor); +} + +a { + color: var(--secondarycolor); +} + +.admonitionblock td.icon .icon-tip::before { + text-shadow: none; + color: var(--white); +} +.admonitionblock td.icon .icon-note::before { + color: var(--tertiarycolor); +} +.admonitionblock td.icon .icon-important::before { + color: var(--linkcolor); +} +/*.admonitionblock td.icon .icon-caution::before { + color: var(--linkcoloralternate); +}*/ +.admonitionblock td.icon .icon-warning::before { + color: var(--primarycolor); +} + +#preamble > .sectionbody > .paragraph:first-of-type p { + color: var(--white); +} + +.quoteblock blockquote::before { + color: var(--primarycolor); +} +.quoteblock .attribution cite, .verseblock .attribution cite { + color: var(--white); +} +.verseblock pre { + color: var(--white); +} +.quoteblock blockquote, .quoteblock blockquote p { + color: var(--white); +} + +.sidebarblock { + background: var(--sidebarbackground); +} +.literalblock pre, .listingblock pre:not(.highlight), .listingblock pre[class="highlight"], .listingblock pre[class^="highlight "], .listingblock pre.CodeRay, .listingblock pre.prettyprint { + background: var(--sidebarbackground); + color: var(--white); +} + +#header .details { + color: var(--white); +} +#header .details span.email a { + color: var(--linkcoloralternate); +} + diff --git a/public/stylesheets/notosans.css b/public/stylesheets/notosans.css new file mode 100644 index 0000000..14c0e68 --- /dev/null +++ b/public/stylesheets/notosans.css @@ -0,0 +1,6 @@ +@font-face { + font-family: 'Noto Sans'; + font-style: normal; + font-weight: 400; + src: local('Noto Sans'), local('NotoSans'), url(/fonts/notosans.ttf) format('truetype'); +}