Everkm builds on standard Markdown and GitHub Markdown by adding several commonly used features to expand the range of Markdown use cases.
Standard Markdown Syntax
Reference: https://daringfireball.net/projects/markdown/syntax
Headings
During preview and publishing, if the first h1 in the body matches the page title (Front Matter title or equivalent field) textually, the h1 is automatically hidden to avoid the title appearing twice on the page.
# Heading 1
## Heading 2
### Heading 3
#### Heading 4
##### Heading 5
###### Heading 6
Paragraphs
Paragraphs are separated by pressing Enter twice. A single line break only separates text and has no visual effect on the front end. Two consecutive line breaks form a paragraph. Entering two spaces before a single line break results in a line break within the paragraph, also known as a soft break. See this line for the actual effect.
Lists
Lists are divided into unordered and ordered lists. Unordered lists use * or - , both followed by a space.
Ordered lists use numerical indices or 1. , also followed by a space. The front end will automatically renumber them sequentially.
Multi-level list indentation is achieved by adding two or four extra spaces before each level.
* Unordered item 1
* Unordered item 2
* Unordered item 3
- Unordered item style 2
- Unordered item style 2
- Unordered item style 2
1. Ordered item 1
1. Ordered item 2
1. Ordered item 3
1. Sequential numbering or all 1s
Final rendering will auto-correct the numbering.
If indented above, it will be grouped under the previous list item.
- 1 Multi-level list
- 1.1 Multi-level list
- 1.2 Multi-level list
- 2 Multi-level list
- 3 Multi-level list
Emphasis
Emphasis, also called italic, uses *asterisks* or _underscores_.
Strong emphasis, also called bold, uses **double asterisks** or __double underscores__.
Combined emphasis, also called bold italic, uses **asterisks and _underscores_** or ***combined emphasis***
- and * produce the same effect.
Links
[Inline link](https://note.everkm.cn)
[Inline link with title](https://note.everkm.cn "Everkm Notes")
[Reference link][arbitrary case-insensitive reference text]
Or leave it empty [link text itself]
Reference link addresses can be placed afterward.
[link text itself]: https://note.everkm.cn
[arbitrary case-insensitive reference text]: https://note.everkm.cn
Images
1. Inline

2. Reference
![alt text][picture]
Reference content goes after
[picture]: https://example.com/logo.png "Picture Title"
Code
Inline code wrapped with a single backtick
`inline code`
Code blocks wrapped with triple backticks ```
```javascript
console.log('code block + syntax highlighting')
```
```
Language not specified, so no syntax highlighting.
Let's try a random tag tag
```
Horizontal Rule
Three or more -
---
Blockquotes
> Quoted content
> You can use other Markdown formats within blockquotes
> > Nested quoted content
GitHub Markdown Extensions
From: https://github.github.com/gfm/
Strikethrough
~~strikethrough~~
Task Lists
- [x] Write the press release
- [ ] Update the website
- [ ] Contact the media
Automatic Link Conversion
<https://www.everkm.cn>
Footnotes
Sometimes it's useful to include a visible, non-hyperlink footnote for the reader.
Use [^number|letter-underscore-hyphen combination] syntax. After the character, you can use a number or a combination of letters, underscores, and hyphens. The system will automatically renumber them sequentially during rendering.
Text prior to footnote reference.[^2]
[^2]: Comment to include in footnote.
Tables
Colons can be used to align columns (optional).
| Tables | Are | Cool |
| ------------- |:-------------:| -----:|
| col 3 is | right-aligned | $1600 |
| col 2 is | centered | $12 |
| zebra stripes | are neat | $1 |
The outer pipe (|) is optional and doesn't need to be aligned. You can also embed other Markdown within tables.
Markdown | Less | Pretty
--- | --- | ---
*Still* | `renders` | **nicely**
1 | 2 | 3
Definition Lists
Apple
: Pomaceous fruit of plants of the genus Malus in
the family Rosaceae.
Orange
: The fruit of an evergreen tree of the genus Citrus.
Everkm Markdown Extensions
Macros
v0.17.0 change: The legacy brace macro syntax
{{everkm::toc(...)}}and{{everkm::include(...)}}is deprecated. Please use the fenced block syntax below.
TOC (Table of Content)
Automatically generates a table of contents (TOC) for the current page. See the effect at the top of this page.
[TOC]
```macro/toc```
```macro/toc
level: 1
```
Parameters:
levelOptional. The heading level to search, defaultlevel=3
Include External Files
Includes the content of the specified file during rendering. Only common plain text files are allowed, with common extensions such as md, txt, csv, js, and other program source files.
Parameters:
sourceAbsolute path (relative to project root) or relative path of the file.asOptional. Output format. When omitted, inferred from the file extension. Valid values:plain, outputs as-is during renderingtable, attempts to parse as a tablecode, code blockmdormarkdown, parsed as Markdown format
code_langOptional. Programming language, only effective whenas=code.table_headerOptional. Whether the first row is a header, only effective whenas=table.table_mergeOptional. Whether to automatically merge cells. Cells with the same content are merged, merging column-first then row. Only effective whenas=table.csv_delimiterOptional. Specifies the CSV delimiter, default,.
Embedding external Markdown files:
```macro/include
source: _include_test.inc.md
as: md
```
Including external tables:
Cells whose content is * are automatically merged and receive extended attributes.
```macro/include
source: demo.csv
as: table
table_header: true
table_merge: "*"
```
Including external code:
```macro/include
source: _xx.js
as: code
code_lang: js
```
Internal Project Links
For complete documentation on intra-site page navigation, see Links and Inner Links. Below is a quick syntax reference. Non-Markdown media (such as PDFs) can also be referenced via inner links and are automatically copied to the static assets directory during export.
[[filename]]
[[directory/filename]]
[[./faq/]] # Explicit directory path, avoids ambiguity
[[/section/doc]] # Match from site root directory
Matching Rules
- Matching by title or slug is case-insensitive (e.g.,
[[faq]]can match the title "FAQ"). - If a slug or title corresponds to multiple documents, preview and export will immediately report an error and list candidates, instead of silently using the first match.
- If a title may be duplicated across different directories, it's recommended to use an explicit path, such as
[[./faq/]]or[[/section/doc/file]]. - Paths ending with
/are resolved as directory default pages (e.g.,index.md,slug=index, etc.).
When the topic (the text within double brackets is a title) has only one title, the system searches the entire content directory. If a filename matches (ignoring the .md extension), the match succeeds. Directory recognition follows these rules:
- Starting with
/means strict matching from the project root directory. - Starting with
./(current file directory) or../(parent directory of the current file) means relative positioning based on the current file. - Anything else is matched as a filename suffix against all files in the project.
Pre-publish Inner Link Check
everkm-publish lint ./my-site
Lists unresolvable or ambiguous [[...]] links by line number, suitable for CI and pre-publish self-checks. You can add --auto-fix to fix Front Matter and other auto-fixable items.
Navigation functions nav_indicator, nav_path, and nav_tree use the same resolution rules as body inner links when their from_file parameter is wrapped in [[...]].
In-page Anchors
Used for jumping between different headings within a page.
Headings automatically generate anchors. You can define an ID via id=identity. By default, the heading content is slugified1 as the anchor name. You can use #id in links for in-page anchor navigation.
Block Extended Attributes
Placed on a separate line immediately before a block, wrapped in curly braces. For example:
{color=red tc}
# Red Heading
Attribute sets support the following attributes:
#tagAdds a tag label, supports Chinese.classAdds a CSS class name attributetl,tc,trLeft-aligned, center-aligned, right-aligned respectivelyulorunderlineAdds underlinecolor=redAdds text colorbgcolor=redAdds background colorfont=ArialFontpa=1em,px=1em,py=1emAll-side padding, horizontal padding, vertical padding respectivelycorner=0.5emAll-side border radius,emis the current font sizekey=valueSets other custom attributes
Note: If the value contains spaces or commas, it must be wrapped in double quotes.
Heading Extended Attributes
{id=main-header}
# Main Heading
Paragraph Extended Attributes
{bgcolor="rgba(0,0,0,0.1)" color=blue underline pa=1em corner=0.5em}
This is a sample block with extended attributes.
This is a sample block with extended attributes.
Table Extended Attributes
{align=center .my-table}
| Default | Left | Center | Right |
| --- | :--- | :---: | ---: |
| Content | Content | Content | Content |
| Content | Content | Content | Content |
| Default | Left | Center | Right |
|---|---|---|---|
| Content | Content | Content | Content |
| Content | Content | Content | Content |
Inline Extended Attributes
Wrapped Region Extended Attributes
Add attributes to #-wrapped regions, with the attribute set first. Format:
I am {color=red}#quite a long# paragraph.
I am quite a long paragraph.
Links
hello <https://www.everkm.cn>{target=_blank color=red} world
A link with extended attributes to [Everkm](https://www.everkm.cn){color=orangered}.
hello https://www.everkm.cn world
A link with extended attributes to Everkm.
Images
{corner=1em}
Preview:
Underline
{ul}#underline#
underline
Superscript
E=MC^2^
E=MC^2^
Subscript
H~2~O
H~2~O
Highlight
I need to highlight these ==very important words==.
I need to highlight these very important words.
HTML Output
I need to highlight these <mark>very important words</mark>.
Special Character Replacement
| => |
> => >
< => <
(C) copyright
(TM) trademark
(R) registered trademark
-- em dash
... ellipsis
-> right arrow
<- left arrow
=> right double arrow
<= left double arrow
Common Symbols
Emoji symbols
:+1:
π π Find emoji here π πͺ.
Definitions
- Attribute Set
-
A collection of attributes wrapped in curly braces, with multiple attributes separated by spaces or commas.
Converts text into valid link characters. Alphanumeric characters remain unchanged, spaces are replaced with -, and each Chinese character is converted to pinyin and joined with -. Noteβ: there is no hyphen - at the junction between letters and Chinese characters; if needed, add a space in between.