...
 
Commits (11)
......@@ -13,8 +13,5 @@ insert_final_newline = true
max_line_length = 79
trim_trailing_whitespace = true
[*.html]
max_line_length = off
[*.md]
[*.{adoc,html,md}]
max_line_length = off
image: ruby:2.4
cache:
paths:
- vendor/bundle
before_script:
- apt-get update && apt-get install -y default-jre-headless graphviz python3-{dev,pip}
- python3 -m pip install -U actdiag blockdiag nwdiag seqdiag
- bundle install
test:
......@@ -16,6 +15,11 @@ test:
- test
except:
- master
cache:
paths:
- vendor/bundle/
variables:
JEKYLL_ENV: production
pages:
stage: deploy
......@@ -26,3 +30,8 @@ pages:
- public
only:
- master
cache:
paths:
- vendor/bundle/
variables:
JEKYLL_ENV: production
source 'https://rubygems.org'
# Hello! This is where you manage which Jekyll version is used to run.
# When you want to use a different version, change it below, save the
# file and run `bundle install`. Run Jekyll with `bundle exec`, like so:
#
# bundle exec jekyll serve
#
# This will help ensure the proper Jekyll version is running.
# Happy Jekylling!
gem 'jekyll', '~>3.5.0'
# If you want to use GitHub Pages, remove the "gem "jekyll"" above and
# uncomment the line below. To upgrade, run `bundle update github-pages`.
# gem "github-pages", group: :jekyll_plugins
gem 'pygments.rb'
# If you have any plugins, put them here!
group :jekyll_plugins do
gem 'asciidoctor-diagram', '~> 1.5', '>= 1.5.5'
gem 'jekyll-archives', '~> 2.1'
gem 'jekyll-asciidoc', '~> 2.1'
gem 'jekyll-feed', '~> 0.6'
gem 'jekyll-gist', '~> 1.4', '>= 1.4.1'
gem 'jekyll-seo-tag', '~> 2.2', '>= 2.2.3'
......
......@@ -3,6 +3,9 @@ GEM
specs:
addressable (2.5.1)
public_suffix (~> 2.0, >= 2.0.2)
asciidoctor (1.5.6.1)
asciidoctor-diagram (1.5.5)
asciidoctor (~> 1.5.0)
colorator (1.1.0)
faraday (0.12.2)
multipart-post (>= 1.2, < 3)
......@@ -21,6 +24,9 @@ GEM
safe_yaml (~> 1.0)
jekyll-archives (2.1.1)
jekyll (>= 2.4)
jekyll-asciidoc (2.1.0)
asciidoctor (>= 1.5.0)
jekyll (>= 2.3.0)
jekyll-feed (0.9.2)
jekyll (~> 3.3)
jekyll-gist (1.4.1)
......@@ -38,12 +44,15 @@ GEM
rb-fsevent (~> 0.9, >= 0.9.4)
rb-inotify (~> 0.9, >= 0.9.7)
mercenary (0.3.6)
multi_json (1.12.1)
multipart-post (2.0.0)
octokit (4.7.0)
sawyer (~> 0.8.0, >= 0.5.3)
pathutil (0.14.0)
forwardable-extended (~> 2.6)
public_suffix (2.0.5)
pygments.rb (1.1.2)
multi_json (>= 1.0.0)
rb-fsevent (0.10.2)
rb-inotify (0.9.10)
ffi (>= 0.5.0, < 2)
......@@ -62,12 +71,15 @@ PLATFORMS
ruby
DEPENDENCIES
asciidoctor-diagram (~> 1.5, >= 1.5.5)
jekyll (~> 3.5.0)
jekyll-archives (~> 2.1)
jekyll-asciidoc (~> 2.1)
jekyll-feed (~> 0.6)
jekyll-gist (~> 1.4, >= 1.4.1)
jekyll-seo-tag (~> 2.2, >= 2.2.3)
jekyll-timeago (~> 0.9.2)
pygments.rb
rouge (~> 1.11)
tzinfo-data
......
......@@ -37,24 +37,36 @@ webmaster_verification:
google: google4ecd9ea6fc869a8a.html
encoding: utf-8
lang: en_US
lang: en-US
timezone: America/Chicago
# Build settings
markdown: kramdown
highlighter: rouge
plugins:
- jekyll-archives
- jekyll-feed
- jekyll-gist
- jekyll-seo-tag
- jekyll-timeago
- rouge
keep_files:
- images
asciidoc:
ext: asciidoc,adoc,ad
page_attribute_prefix: jekyll
require_front_matter_header: false
processor: asciidoctor
asciidoctor:
attributes:
icons: font
imagesdir: /images
source-highlighter: pygments
stem: latexmath
pygments-css: style # enable inline styles
base_dir: :docdir
safe: unsafe
# Exclude from processing.
# The following items will not be processed, by default. Create a custom list
# to override the default setting.
exclude:
- .gitlab-ci.yml
- Gemfile
- Gemfile.lock
- node_modules
......
{% capture title %}{% if page.title %}{{ page.title }} | {% endif %}{{ site.title }}{% endcapture %}
{% capture description %}{% if page.meta_description %}{{ page.meta_description }}{% else %}{{ site.description }}{% endif %}{% endcapture %}
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
{% feed_meta %}
<!-- preload body font -->
<link rel="preload" href="https://fonts.gstatic.com/s/librebaskerville/v4/pR0sBQVcY0JZc_ciXjFsK6Ucnt8gjcHpqyffjHeZWDA.woff2" type="font/woff2" as="font" crossorigin>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.4.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Libre+Baskerville:400,400i,700|Work+Sans:300,700">
<link rel="stylesheet" type="text/css" href="/vendor/syntax.css">
<link rel="stylesheet" type="text/css" href="/main.css">
<script async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.0/MathJax.js?config=TeX-MML-AM_CHTML"></script>
<script async src="/favicon.js"></script>
{% seo %}
</head>
Welcome to Jekyll!
==================
:page-layout: post
:revdate: 2017-07-15 15:59:18 -0500
You'll find this post in you `_posts` directory.
Go ahead and edit it and re-build to see your changes.
You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto regenerates your site when a file is updated.
To add new posts, simply add a file in the `_posts` directory that follow the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter.
Take a look at the source for this post to get an idea about how it works.
Jekyll also offers powerful support for code snippets:
[source,ruby]
----
def print_hi(name)
puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.
----
Checkout the https://jekyllrb.com/docs/home[Jekyll docs] for more info on how to get the most out of Jekyll.
File all bugs/feature requests at https://github.com/jekyll/jekyll[Jekyll's GitHub repo].
If you have questions, you can ask them on https://talk.jekyllrb.com[Jekyll Talk].
---
layout: post
title: "Welcome to Jekyll!"
date: 2017-07-15T15:59:18-0500
---
You’ll find this post in your `_posts` directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run `jekyll serve`, which launches a web server and auto-regenerates your site when a file is updated.
To add new posts, simply add a file in the `_posts` directory that follows the convention `YYYY-MM-DD-name-of-post.ext` and includes the necessary front matter. Take a look at the source for this post to get an idea about how it works.
Jekyll also offers powerful support for code snippets:
{% highlight ruby %}
def print_hi(name)
puts "Hi, #{name}"
end
print_hi('Tom')
#=> prints 'Hi, Tom' to STDOUT.
{% endhighlight %}
Check out the [Jekyll docs][jekyll-docs] for more info on how to get the most out of Jekyll. File all bugs/feature requests at [Jekyll’s GitHub repo][jekyll-gh]. If you have questions, you can ask them on [Jekyll Talk][jekyll-talk].
[jekyll-docs]: https://jekyllrb.com/docs/home
[jekyll-gh]: https://github.com/jekyll/jekyll
[jekyll-talk]: https://talk.jekyllrb.com/
Test post [Asciidoc]
====================
:page-layout: post
:revdate: 2017-08-02 00:04:42 -05:00
I've decided to write posts/etc in Asciidoc henceforth.
Why?
Because Markdown is lacking some schanzy features, but its most redeeming quality is being able to embed arbitrary HTML.
However, Asciidoc has more built-in features, _and_ can embed arbitrary HTML!
I shall now show off some these feature-full markups. First up is the note, tip,
important, warning, and critical messages:
NOTE: This is note message.
TIP: This is a tip.
IMPORTANT: This is important.
WARNING: This is warning you not to do a thing.
CAUTION: This is cautioning you a thing could happen.
Of course, there is also source code listing support using http://pygments.org/[Pygments]:
[source,python]
----
def fib(n):
if n <= 1:
return 1
else:
return fib(n-1) + fib(n-2)
print(fib(2)) #=> 2
----
There's also math support via MathJax: latexmath:[\int \frac{1}{x} dx]
[latexmath]
++++
u(x) =
\begin{cases}
\exp{x} & x \geq 0 \\
1 & x < 0
\end{cases}
++++
There is also nifty built-in support for sidebar notes; it's around here
somewhere...
.Optional Sidebar Title
****
This is a sidebar note with an optional title.
Sometimes titles are helpful, other times not so much.
****
You can also put a "literal" block in:
....
*Literal* block
Use: workaround when literal paragraph (indented) like
1. First
2. Second
incorrectly processed as list.
....
Blockquotes are objectively better, since there is support for citing the
author and source:
[quote, cite Author, cite source]
____
Pack my box with five dozen liquor jugs.
____
There's even Q&As!
[qanda]
Will I use this Q&A feature?::
Probably not.
Does it matter?::
Nope.
Using http://asciidoctor.org/docs/asciidoctor-diagram[Asciidoctor Diagram] I
can even embed http://www.graphviz.org/[Graphviz] drawings...
[graphviz,dot-example,svg]
....
digraph g {
a -> b
b -> c
c -> d
d -> a
}
....
...http://ditaa.sourceforge.net/[Ditaa] drawings...
[ditaa,memory,png]
....
+--------+
0 | | <- start
+--------+
1 | | <- q scans from start to end
+--------+
: ..... |
+--------+
| | <- end
+--------+ <-+
| | |
+--------+ | rest of the
: ..... | | allocated memory
+--------+ |
n | | |
+--------+ <-+
....
...and http://plantuml.sourceforge.net/[PlantUML] diagrams...
[plantuml, diagram-classes, svg]
....
class BlockProcessor
class DiagramBlock
class DitaaBlock
class PlantUmlBlock
BlockProcessor <|-- DiagramBlock
DiagramBlock <|-- DitaaBlock
DiagramBlock <|-- PlantUmlBlock
....
[plantuml, use-case, svg]
....
User -> (Start)
User --> (Use the application) : A small label
:Main Admin: ---> (Use the application) : This is\nyet another\nlabel
....
...and finally http://blockdiag.com/en/nwdiag/index.html[nwdiag] pictograms:
[nwdiag,simple,svg]
....
nwdiag {
network dmz {
address = "210.x.x.x/24"
web01 [address = "210.x.x.1"];
web02 [address = "210.x.x.2"];
}
network internal {
address = "172.x.x.x/24";
web01 [address = "172.x.x.1"];
web02 [address = "172.x.x.2"];
db01;
db02;
}
}
....
There are even more supported by Asciidoctor diagrams!
span.icon > .fa {
cursor: default;
}
.admonitionblock td.icon {
text-align: center;
width: 80px;
}
.admonitionblock td.icon [class^="fa icon-"] {
font-size: 2.5em;
text-shadow: 1px 1px 2px rgba(0, 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, 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;
}
......@@ -48,6 +48,8 @@ pre,
.tt {
font-family: "Operator Mono", "Iosevka Type", monospace;
hyphens: none;
line-height: 1.236;
overflow-x: auto;
}
h1, h2, h3, h4, h5, h6 {
......@@ -56,6 +58,10 @@ h1, h2, h3, h4, h5, h6 {
line-height: 1.1;
}
.imageblock img {
max-width: 100%;
}
p {
hyphens: auto;
margin: 1.12rem 0;
......@@ -65,9 +71,22 @@ p {
quotes: "\201c" "\201d" "\2018" "\2019"
}
{% if jekyll.environment == "production" %}
#MathJax_Message {
display: none;
}
{% endif %}
.highlight {
background: #f6f8fa;
margin: 0 1rem;
padding: 1rem;
}
.revoked {
color: #aaa;
}
@import 'navbar';
@import 'post';
@import "navbar";
@import "post";
@import "asciidoc";
/* from https://github.com/mojombo/tpw/blob/e60dfd4802f3155f62636dd467bc0599a91795b1/css/syntax.css
* with some changes by myself
*/
pre {
margin: 0;
}
.lineno {
margin: 0 0.5rem 0 0;
}
.highlight {
/* background: #ffffff; */
margin: 0 2rem;
}
.highlight .c { color: #999988; font-style: italic } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { font-weight: bold } /* Keyword */
.highlight .o { font-weight: bold } /* Operator */
.highlight .cm { color: #999988; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #999999; font-weight: bold } /* Comment.Preproc */
.highlight .c1 { color: #999988; font-style: italic } /* Comment.Single */
.highlight .cs { color: #999999; font-weight: bold; font-style: italic } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .gd .x { color: #000000; background-color: #ffaaaa } /* Generic.Deleted.Specific */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #999999 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .gi .x { color: #000000; background-color: #aaffaa } /* Generic.Inserted.Specific */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #aaaaaa } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { font-weight: bold } /* Keyword.Constant */
.highlight .kd { font-weight: bold } /* Keyword.Declaration */
.highlight .kp { font-weight: bold } /* Keyword.Pseudo */
.highlight .kr { font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #445588; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #009999 } /* Literal.Number */
.highlight .s { color: #d14 } /* Literal.String */
.highlight .na { color: #008080 } /* Name.Attribute */
.highlight .nb { color: #0086B3 } /* Name.Builtin */
.highlight .nc { color: #445588; font-weight: bold } /* Name.Class */
.highlight .no { color: #008080 } /* Name.Constant */
.highlight .ni { color: #800080 } /* Name.Entity */
.highlight .ne { color: #990000; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #990000; font-weight: bold } /* Name.Function */
.highlight .nn { color: #555555 } /* Name.Namespace */
.highlight .nt { color: #000080 } /* Name.Tag */
.highlight .nv { color: #008080 } /* Name.Variable */
.highlight .ow { font-weight: bold } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mf { color: #009999 } /* Literal.Number.Float */
.highlight .mh { color: #009999 } /* Literal.Number.Hex */
.highlight .mi { color: #009999 } /* Literal.Number.Integer */
.highlight .mo { color: #009999 } /* Literal.Number.Oct */
.highlight .sb { color: #d14 } /* Literal.String.Backtick */
.highlight .sc { color: #d14 } /* Literal.String.Char */
.highlight .sd { color: #d14 } /* Literal.String.Doc */
.highlight .s2 { color: #d14 } /* Literal.String.Double */
.highlight .se { color: #d14 } /* Literal.String.Escape */
.highlight .sh { color: #d14 } /* Literal.String.Heredoc */
.highlight .si { color: #d14 } /* Literal.String.Interpol */
.highlight .sx { color: #d14 } /* Literal.String.Other */
.highlight .sr { color: #009926 } /* Literal.String.Regex */
.highlight .s1 { color: #d14 } /* Literal.String.Single */
.highlight .ss { color: #990073 } /* Literal.String.Symbol */
.highlight .bp { color: #999999 } /* Name.Builtin.Pseudo */
.highlight .vc { color: #008080 } /* Name.Variable.Class */
.highlight .vg { color: #008080 } /* Name.Variable.Global */
.highlight .vi { color: #008080 } /* Name.Variable.Instance */
.highlight .il { color: #009999 } /* Literal.Number.Integer.Long */