Language/Multiple-languages/Culture/How-to-Study-with-a-Markup-Language

From Polyglot Club WIKI
Jump to navigation Jump to search
This lesson can still be improved. EDIT IT NOW! & become VIP
Rate this lesson:
5.00
(one vote)

Markup Tools Comparison

As we navigate through the often winding path of education and personal study, we quickly realize the importance of efficiency—doing less, yet achieving more. This concept underpins our approach to learning, and one aspect that it significantly impacts is note-taking. In this article, we delve into an innovative approach to enhance your note-taking efficiency by using a markup language.

In progress

What is a markup language?[edit | edit source]

Essentially, it is a system that uses specific characters or combinations of characters, which, when read by a word processor or similar tool, are displayed in a particular visual format. If you've ever right-clicked on a webpage and selected "View Page Source", you've seen HTML—a markup language—in action. This language, along with others, powers the display of content on websites. Similarly, MediaWiki, a software written in PHP, uses its proprietary markup syntax to shape the presentation of information.

Here is a list of some open-format markup languages:

field language
2D graphics
documents
mathematical expressions
music engraving
to-do-list

There can be multiple available processors for a language. Different processors are used differently.

Which one is the best for language learning?[edit | edit source]

Leveraging markup languages to facilitate language learning can be a game-changer.

How? It starts with the simplicity and the structured formatting that markup languages provide.

For example, you can use these tools to format vocabulary lists, conjugation tables, grammar rules, and practice exercises in an intuitive and organized manner. Moreover, creating flashcards and other learning aids can be achieved seamlessly with markup languages, facilitating interactive learning.

As for the best one for language learning, it depends on your specific needs and preferences. If you value simplicity and directness, Markdown might be your choice. If, however, you require more advanced features, AsciiDoc could be the one for you, despite its lesser popularity.

It's important to remember that wiki languages (like the wiki code used on this page), which are more powerful and feature-rich, also demand more set-up effort, such as configuring a server and client for content access, as they were primarily designed for web use.

The "best" markup language for language learning will ultimately depend on your individual needs, technical comfort level, and the extent of features you want from the language.

Among lightweight markup languages, Markdown was created early and has several dialects:

format link
CommonMark https://commonmark.org/
Conway-Markdown https://conway-markdown.github.io/
GitHub Flavored Markdown https://github.github.com/gfm/
LiaScript https://github.com/liaScript/docs
Markdeep https://casual-effects.com/markdeep/
Markdown Extra https://michelf.ca/projects/php-markdown/extra/
MultiMarkdown https://fletcherpenney.net/multimarkdown/
Pandoc Markdown https://garrettgman.github.io/rmarkdown/authoring_pandoc_markdown.html
R Markdown https://rmarkdown.rstudio.com/
ScholarlyMarkdown http://scholarlymarkdown.com/
Stack Overflow Markdown https://stackoverflow.com/editing-help

AsciiDoc has more features with less popularity. Those wiki languages are more powerful and require more efforts like setting up a server and then open a client to access the content, as those languages were created for web use.

Other markup languages include Textile, reStructuredText, Setext.

In the ideal case, you can customise all the syntax in a program.

How to make use of Markdown or AsciiDoc?[edit | edit source]

There is a redpen for proofreading.

To convert to and from other formats, there is a pytablewriter to use.

Markdown[edit | edit source]

Some open-source programs for learning are

program link feature
Foam https://foambubble.github.io/ graph
Flashdown https://github.com/SteveRidout/flashdown flashcard
Flutter Markdown Editor https://github.com/adityar224/FlutterMarkdownEditor editor
glow https://github.com/charmbracelet/glow renderer in command line
hascard https://github.com/Yvee1/hascard flashcard
Joplin https://joplinapp.org/ notebook
Lazycard https://github.com/hikikones/Lazycard flashcard
markdown-anki-decks https://github.com/lukesmurray/markdown-anki-decks exporter to Anki
markmap https://markmap.js.org/ mind map
Markor https://github.com/gsantner/markor text editor
MDAnki https://github.com/ashlinchak/mdanki exporter to Anki
mdSilo https://mdsilo.com/ notebook
Mindolph https://github.com/mindolph/Mindolph knowledge manager
nb https://github.com/xwmx/nb notebooks
NoteKit https://github.com/blackhole89/notekit notebook
Recall https://github.com/frenya/vscode-recall flashcard
StudyMD https://github.com/jotron/StudyMD flashcard
Slides https://github.com/maaslalani/slides presentation

Some of are VSCodium / VS Code extensions. You will need to install VSCodium to make use of it.

You can write down your text like this

# inflection

## conjugation

  1. third person singular
    1. -s
    2. -es
    3. -'s
  2. past
    1. -ed / -d
    2. irregular
  3. past particle
    1. -en / -n
    2. irregular

## declension

  1. plural
    1. -s
    2. -es
    3. -i

markmap will treat it as a mind map, hascard will treat it as a flashcard.

markmap can detect the tab key and double spaces as well. To use other symbols than “#” to construct the hierarchy, you may use “<TAB> *”, “<TAB><TAB> *”, and so on.

AsciiDoc[edit | edit source]

There is one open-source program to do the work: Asciidoctor. It supports Ruby, Java and JavaScript, extensions are available. Others are

program link feature
HonKit https://github.com/honkit/honkit building books
AsciidocFX https://github.com/asciidocfx/AsciidocFX building books
nb https://github.com/xwmx/nb notebooks

Mermaid[edit | edit source]

Mermaid is a JavaScript library to generate charts from its own markup language.

Kroki! supports Mermaid together with many other formats.

Comparison of Markup Syntax[edit | edit source]

symbol usage languages
# text heading Markdown
= text heading AsciiDoc
text

===

heading Markdown
## text sub-heading Markdown
== text sub-heading AsciiDoc
text

---

sub-heading Markdown
_text_ italic AsciiDoc, Markdown
**text** bold Markdown
*text* bold AsciiDoc
`text` monospace AsciiDoc, Markdown
> text blockquote Markdown
____

text

____

blockquote AsciiDoc
␣␣␣␣text literal block Markdown
text literal block AsciiDoc
....

text

....

literal block AsciiDoc
```language_name

text

```

code block Markdown
[source,language_name]

----

text

----

code block AsciiDoc
--- horizontal rule Markdown
''' horizontal rule AsciiDoc
* text unordered list AsciiDoc, Markdown
- text unordered list Markdown
+ text unordered list Markdown
* text

** text

nested unordered list AsciiDoc
* text

␣␣* text

nested unordered list Markdown
. text

. text

ordered list AsciiDoc
1. text

2. text

ordered list Markdown
1. text

1. text

ordered list Markdown
3. text

1. text

ordered list Markdown
[text](URL) link with label Markdown
![text](path_to_image) inline image Markdown
![text](path_to_image "text") inline image with title Markdown
image:text.webp[text] inline image with title AsciiDoc
image::text.webp[text] block image with title AsciiDoc
[#text]

== text

anchor AsciiDoc
[text](#_text) reference Markdown
<<_text>> reference AsciiDoc

Other Lessons[edit | edit source]

Contributors

GrimPixel, Vincent and Maintenance script


Create a new Lesson