Marktop
$$ \DeclareMathOperator*{\special}{special} $$
Table of Contents
Introduction

For basic and information, please visit the Github page.

Demo

This entire site was generated using Marktop! You can view the source here.

General Syntax Rules

A section starts with the syntax

#keyword [Description]
and ends with the syntax
#end keyword

Indentation is currently not supported; do not begin any line with whitespace.

All article paragraphs must be on the same line. All empty lines are ignored. Any HTML code is treated as such.

Since #, <, and > are special characters, they must be written as &#35; &lt; and &gt; respectively.

Syntax
#site-title [Title]

Set the <title> tag to [Title].


#title [Title]

Set the article title to [Title].


#warning

Generate a warning alerting visitors that the article is incomplete or unfinished.


#toc

Automatically generate a table of contents based on the sections (see below).


#latex-preamble
[preamble]
#end latex-preamble

A place to write LaTeX code that will be hidden on the website. Useful for defining functions such as using

\DeclareMathOperator*{\special}{special}

so that it can be used similar to a summation:

$$ \special_{i = 0}^{N} f(i) $$


#main
#end main

The declaration marks the start and end of the actual article content, which is divided into sections (see below).


#section [Title]
#end section

[Title] is the title of the section. These mark a section, which is how one topic of the article.

Sections may only be defined within the main tags.


#block
#end block

A block is meant to highlight a definition or bring focus to an idea.

Below is an example:

Newton's Second Law of Motion
$$ F_{net} = ma $$

#code [Highlight]
#end code

This displays the text between the tags to be displayed as code, using Prism.js.

[Highlight] described the lines to be highlighted. The syntax is as follows:

start1-end1,start2-end2,...

The range of lines is described using start-end (inclusive), and ranges are separated by commas.

The current default is C++ highlighting, and more support will be added at a later time.

Below is an example:

// Here is some C++ code
#include <iostream>

int main(){
	int a, b;
	std::cin >> a >> b;
	std::cout << a + b;
}

// This line
// and this line should be highlighted

Again, #, <, and > are special characters, and they must be escaped.

LaTeX support

The special characters for LaTeX are \$ for inline and \$\$ for display mode. LaTeX display is powered by MathJax.

Here is an example of inline LaTeX: Newton's Second Law of Motion is written as $F_{net} = ma$, which describes the relationship between the net force, mass, and acceleration of an object.

Here is an example of display-mode LaTeX:

$$ F_{net} = ma $$