Noolingo uses Markdown as the base note format. Markdown is a lightweight markup language with simple, intuitive syntax that lets you focus on content rather than formatting. At the same time, Noolingo adds some extension syntax designed specifically for learning scenarios on top of standard Markdown, making notes and learning more naturally integrated.
If you're not familiar with Markdown yet, don't worry - its syntax is very simple. Here are the most commonly used features:
Headings
Use # to create headings. The number of # indicates the heading level (from level 1 to 6):
# Level 1 Heading
## Level 2 Heading
### Level 3 Heading
Headings not only make your note structure clearer but also help Noolingo identify content importance and generate more appropriate flashcards.
Text Formatting
Basic text formatting:
**important content***emphasized content*~~deleted~~In Noolingo, bold text has a special purpose: it's automatically recognized as concealable content for generating flashcards.
Lists
There are two types of lists:
Unordered lists, using - or * at the start:
- First item
- Second item
- Third item
Ordered lists, using numbers with dots:
1. First step
2. Second step
3. Third step
Links and Images
Link format: [link text](URL), e.g., [Visit website](https://example.com)
Image format: , e.g., 
Tables
Tables use vertical bars | to separate columns. The first row is the header, and the second row defines alignment:
| Column 1 | Column 2 | Column 3 |
| --- | --- | --- |
| Content 1 | Content 2 | Content 3 |
Code
Inline code is wrapped with a single backtick, e.g., `print("Hello")`
Code blocks are wrapped with three backticks. You can specify the language type after the backticks:
def hello():
print("Hello World")
Noolingo automatically recognizes code languages and performs syntax highlighting.
In addition to standard Markdown syntax, Noolingo provides some extension syntax designed specifically for learning, making notes and learning more naturally integrated.
Cloze Syntax: Creating Flashcards
Noolingo provides several ways to mark content that needs to be memorized:
The simplest way is to use bold text. When you mark content with **bold**, Noolingo automatically recognizes this content and can conceal it during review.
If you're familiar with Anki or other memory tools, Noolingo also supports {{}} syntax to create cloze deletions. For example: {{This is content to memorize}}
For the convenience of Chinese users, Noolingo also supports Chinese brackets {{}}, which work exactly the same as {{}}.
The advantage of this design is that you can directly copy content with bold formatting from web pages or documents, paste it into Noolingo, and the bold parts automatically become concealable content without additional processing.
Highlight Syntax: Emphasizing Key Points
Use == to wrap content and create highlight effects, e.g., ==This is highlighted content==
Highlight syntax applies to single-line content and can be used to mark important knowledge points, key concepts, or content that needs special attention.
Voice Reading: Assisting Language Learning
If you're learning a language, you can use the voice reading feature. Wrap content that needs to be read with ^^, and Noolingo will use TTS (text-to-speech) technology to convert the content to speech.
Single-line voice syntax: ^^This is content to be read^^
If you need to read multiple lines, you can use ^^^ to wrap:
^^^
This is the first line
This is the second line
^^^
This feature is particularly helpful for language learning. You can hear correct pronunciation, helping improve listening and speaking skills.
Wiki Links: Connecting Knowledge Points
Wiki links are a quick way to associate content. Use [[link text]] to create wiki links. Clicking will jump to the corresponding note or heading.
In Noolingo, wiki links are implemented through title matching. You can create wiki links first, then create content with the corresponding title, or link to existing headings. This makes building knowledge networks simple and natural.
For example, if you write [[Spaced Repetition]], Noolingo will try to find notes or sections titled "Spaced Repetition" and create connections.
Noolingo has made some usability optimizations to Markdown to make writing smoother:
You don't need to add extra line breaks for paragraphs, lists, etc. Noolingo automatically recognizes paragraph structures. Even with simple text input, it displays correctly.
This means you can focus more on thinking and recording content rather than worrying about formatting details. Write your notes, and the formatting will be correct naturally.
When starting to use Markdown, you don't need to master all syntax. Starting with the most basic headings, bold, and lists, you can write clearly structured notes.
As you get used to it, you can gradually try other syntax. Noolingo's extension syntax is also optional - you can choose to use it as needed. The most important thing is to let syntax serve content, not use it just for the sake of using it.
Remember, Noolingo's core is to help you learn and memorize. Even if you only use the most basic text input, it works normally. Syntax is just a tool to make notes clearer and learning more efficient.