# Components


# D3 Graphviz

# Pug

from pug

Hello, Pug

  • a
  • b
  • c

# Vue Live

# Live editor

as in assembly script

/** Calculates the n-th Fibonacci number. */
export function fib(n: i32): i32 {
  var a = 0, b = 1
  if (n > 0) {
    while (--n) {
      let t = a + b
      a = b
      b = t
    return b
  return a

<textarea id="output" style="height: 100%; width: 100%" readonly></textarea>
loader.instantiate(module_wasm, { /* imports */ })
  .then(({ exports }) => {
    const output = document.getElementById('output')
    for (let i = 0; i <= 10; ++i) {
      output.value += `fib(${i}) = ${exports.fib(i)}\n`

# PDF Download



Content-Type: image/gif
Contenet-Disposition: attachment; filename=

# Badge

warning tip danger default theme

# Bars

Skill - 1
Skill - 2
Skill - 3
Skill - 4

Hihlighted text

# Pros and Cons


Mention some pro

  • one pro
  • two pro
  • three pro

Here are some cons

  • one con
  • two con
  • three con

# MermaidJs

# Google Charts

What else can I say


Look it for yourself, can even have multi-line span quotes


First Solve the problem, then write the code


@startuml strict digraph meme { exists [color=blue] authenticate [color=blue] require create UserCreated destroy UserDestroyed get [color=blue] authenticate -> require create -> UserCreated destroy -> require destroy -> UserDestroyed get -> require } @enduml

Euler's identity is a beautiful formula in .

Supposing that and that represents the integer part of , let:

Obviously, when , there is . For all , is a non-decreasing function.

When and , thus:

# Markdown Style

# Definition lists

Term 1

Definition 1 with lazy continuation.

Term 2 with inline markup

Definition 2

  { some code, part of Definition 2 }

Third paragraph of definition 2.

Compact style:

Term 1
Definition 1
Term 2
Definition 2a
Definition 2b

something :: define that

# Abbreviations

This is HTML abbreviation example.

It converts "HTML", but keep intact partial entries like "xxxHTMLyyy" and so on.

# Footnotes

Footnote 1 link[1].

Footnote 2 link[2].

Inline footnote[3] definition.

Duplicated footnote reference[2:1].

# Custom containers

🎉 đŸ’¯


This is a tip


This is a warning here be dragons


This is a dangerous warning


This is a details block, which does not work in IE / Edge

Some funny quote


{{ This will be displayed as-is }}

# Heading

# Test

# h2 Heading

# h3 Heading

# h4 Heading

# h5 Heading
# h6 Heading

# Horizontal Rules

# Typographic replacements

Enable typographer option to see result.

(c) (C) (r) (R) (tm) (TM) (p) (P) +-

test.. test... test..... test?..... test!....

!!!!!! ???? ,, -- ---

"Smartypants, double quotes" and 'single quotes'

# Emphasis

This is bold text

This is bold text

This is italic text

This is italic text


# Blockquotes

Blockquotes can also be nested...

...by using additional greater-than signs right next to each other...

...or with spaces between arrows.

# Lists


  • Create a list by starting a line with +, -, or *
  • Sub-lists are made by indenting 2 spaces:
    • Marker character change forces new list start:
      • Ac tristique libero volutpat at
      • Facilisis in pretium nisl aliquet
      • Nulla volutpat aliquam velit
  • Very easy!


  1. Lorem ipsum dolor sit amet

  2. Consectetur adipiscing elit

  3. Integer molestie lorem at massa

  4. You can use sequential numbers...

  5. ...or keep all the numbers as 1.

Start numbering with offset:

  1. foo
  2. bar

# Code

Inline code

Indented code

// Some comments
line 1 of code
line 2 of code
line 3 of code

Block code "fences"

Sample text here...

Syntax highlighting

var foo = function (bar) {
  return bar++;


# Tables

Option Description
data path to data files to supply the data that will be passed into templates.
engine engine to be used for processing templates. Handlebars is the default.
ext extension to be used for dest files.

Right aligned columns

Option Description
data path to data files to supply the data that will be passed into templates.
engine engine to be used for processing templates. Handlebars is the default.
ext extension to be used for dest files.

link text

link with title

Autoconverted link https://github.com/nodeca/pica (enable linkify to see)

# Images

Like links, Images also have a footnote style syntax

Alt text

With a reference later in the document defining the URL location:

# Plugins

The killer feature of markdown-it is very effective support of syntax plugins.

# Emojies

Classic markup: 😉 :crush: đŸ˜ĸ :tear: 😆 😋

Shortcuts (emoticons): 😃 đŸ˜Ļ 😎 😉

see how to change output with twemoji.

# Subscript / Superscript

  • 19th
  • H2O

# <ins>

Inserted text

# <mark>

Marked text

# New nodejs env setup

sudo apt install nodejs
sudo apt install npm

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update && sudo apt install yarn

yarn global add vuepress


docker run --name blog --rm -d -p 8080:8080 -v (pwd):/blog avi/vuepress

docker stop blog; && docker container ls

docker stop blog; docker container ls; docker run --name blog --rm -d -p 8080:8080 -v (pwd):/blog avi/vuepress

neato -Tsvg graph1.dot > ../.vuepress/public/graph1-1.svg
How to run a graphviz service on web for anyone to use

NEATO is a program that makes layouts of undirected graphs following the filter model of DOT. Its layout heuristic creates virtual physical models and runs an iterative solver to find low energy configurations. The intended applications are in telecommunication networks, computer programming and software engineering. Here is an example layout depicting an entity-relationship database schema. It took 0.01 seconds of user time to generate on a garden variety PC running Linux.

# DOTFILES magic




# References

  1. Footnote can have markup

    and multiple paragraphs. ↩ī¸Ž

  2. Footnote text. ↩ī¸Ž ↩ī¸Ž

  3. Text of inline footnote ↩ī¸Ž