This tutorial covers Markdown lists - Ordered, unordered, syntax with examples. I'm Jason, a web applications developer in the Denver, Colorado area. Markdown doesn't natively support underlined text. If necessary you can hardcode it with the HTML tag ins (underlined text), however, it is inadvisable to do so. There are a few different ways to display links with markdown markup, but to keep some.
A collection of Markdown code and tricks that were tested to work in Gist.
This and all public gists in https://gist.github.com/ww9 are Public Domain. Do whatever you want with it including , no need to credit me.
Todo
- Reformat this whole document and assimilate these:
- https://gist.github.com/t-nissie/9580883 (Add images, secret gists, anti-spam protection)
- https://gist.github.com/cyhsutw/d5983d166fb70ff651f027b2aa56ee4e#file-mathjax-ipynb (Python notebook, Math syntax)
Table of Contents
Task lists
Result:
- Task 1
- Task 2
- Task 3
Collapsible content (spoilers)
Content between <details> and </details> is hidden. You need to escape HTML tags them.
Headers
H2
Github Markdown Code
H3
H4
H5
H6
Alternatively, for H1 and H2, an underline-ish style:
Alt-H2
Emphasis
Emphasis, aka italics, with asterisks or underscores.
Strong emphasis, aka bold, with asterisks or underscores.
Combined emphasis with asterisks and underscores.
Strikethrough uses two tildes. Scratch this.
Lists
- First ordered list item
- Another item
- Unordered sub-list.
Actual numbers don't matter, just that it's a number
Ordered sub-list
And another item.
Some text that should be aligned with the above item.
- Unordered list can use asterisks
- Or minuses
- Or pluses
Links
There are two ways to create links.
Or leave it empty and use the link text itself
URLs and URLs in angle brackets will automatically get turned into links.http://www.example.com or http://www.example.com and sometimesexample.com (but not on Github, for example).
Some text to show that the reference links can follow later.
Images
Github Markdown Language Listen
Here's our logo (hover to see the title text):
Inline-style:
Reference-style:
Code and Syntax Highlighting
Code blocks are part of the Markdown spec, but syntax highlighting isn't. However, many renderers -- like Github's and Markdown Here -- support syntax highlighting. Markdown Here supports highlighting for dozens of languages (and not-really-languages, like diffs and HTTP headers); to see the complete list, and how to write the language names, see the highlight.js demo page.
Inline code
has back-ticks around
it.
Blocks of code are either fenced by lines with three back-ticks ```
, or are indented with four spaces. I recommend only using the fenced code blocks -- they're easier and only they support syntax highlighting.
Again, to see what languages are available for highlighting, and how to write those language names, see the highlight.js demo page.
Tables
Tables aren't part of the core Markdown spec, but they are part of GFM and Markdown Here supports them. They are an easy way of adding tables to your email -- a task that would otherwise require copy-pasting from another application.
Colons can be used to align columns.
Tables | Are | Cool |
---|---|---|
col 3 is | right-aligned | $1600 |
col 2 is | centered | $12 |
zebra stripes | are neat | $1 |
The outer pipes (|) are optional, and you don't need to make the raw Markdown line up prettily. You can also use inline Markdown.
Markdown | Less | Pretty |
---|---|---|
Still | renders | nicely |
1 | 2 | 3 |
Blockquotes
Blockquotes are very handy in email to emulate reply text.This line is part of the same quote.
Quote break.
This is a very long line that will still be quoted properly when it wraps. Oh boy let's keep writing to make sure this is long enough to actually wrap for everyone. Oh, you can putMarkdown into a blockquote.
Inline HTML
You can also use raw HTML in your Markdown, and it'll mostly work pretty well.
- Definition list
- Is something people use sometimes.
- Markdown in HTML
- Does *not* work **very** well. Use HTML tags.
Horizontal Rule
Three or more...
Hyphens
Asterisks
Underscores
Line Breaks
My basic recommendation for learning how line breaks work is to experiment and discover -- hit <Enter> once (i.e., insert one newline), then hit it twice (i.e., insert two newlines), see what happens. You'll soon learn to get what you want. 'Markdown Toggle' is your friend.
Here are some things to try out:
Here's a line for us to start with.
This line is separated from the one above by two newlines, so it will be a separate paragraph.
This line is also begins a separate paragraph, but...
This line is only separated by a single newline, so it's a separate line in the same paragraph.
(Technical note: Markdown Here uses GFM line breaks, so there's no need to use MD's two-space line breaks.)
YouTube Videos
They can't be added directly but you can add an image with a link to the video like this:
Or, in pure Markdown, but losing the image sizing and border:
TeX Mathematical Formulae
A full description of TeX math symbols is beyond the scope of this cheatsheet. Here's a good reference, and you can try stuff out on CodeCogs. You can also play with formulae in the Markdown Here options page.
Here are some examples to try out:
The beginning and ending dollar signs ($
) are the delimiters for the TeX markup.
If you are missing a server please create a pull request in GitHub against this markdown document
Language | Maintainer | Repository | Implementation Language |
---|---|---|---|
1C Enterprise | Contributors | BSL Language Server | Java |
ActionScript 2.0 | Adam Vernon | AS2 Language Support | TypeScript |
Ada/SPARK | AdaCore | ada_language_server | Ada |
Antlr | Ken Domino | Antlrvsix | C# |
API Elements | Vincenzo Chianese(@XVincentX) | vscode-apielements | TypeScript |
Apache Camel | Contributors | Apache Camel Language Server | Java |
Apex | Salesforce | VS Code Apex extension | TypeScript |
Ballerina | Ballerina.io | Ballerina Language Server | Java |
Bash | Mads Hartmann | Bash Language Server | TypeScript |
BrightScript/BrighterScript | RokuCommunity | brighterscript | TypeScript |
C# | OmniSharp | csharp-language-server-protocol | C# |
C++ | MS | VS Code C++ extension | C++ |
C++/clang | LLVM Project | clangd | C++ |
C/C++/Objective-C | Jacob Dufault, MaskRay, topisani | cquery | C++ |
C/C++/Objective-C | MaskRay | ccls | C++ |
CSS/LESS/SASS | MS | vscode-css-languageserver | TypeScript |
Ceylon | John Vasileff | vscode-ceylon | Ceylon |
Clojure | Case Nelson | clojure-lsp | Clojure |
IBM Enterprise COBOL for z/OS | Broadcom | COBOL Language Support | Java |
IBM High Level Assembler | Broadcom | HLASM Language Support | C++ |
IBM High Level Assembler | IBM | IBM Z Open Editor VS Code extension | Java |
IBM Enterprise COBOL for z/OS | IBM | IBM Z Open Editor VS Code extension | Java |
CodeQL | GitHub | codeql | Java |
CWL | Rabix | Benten | Python |
Crane PHP | HvyIndustries | VS Code Extension | TypeScript |
Crystal | Elbaz Julien | Crystalline | Crystal |
Crystal | Ryan L. Bell | Scry | Crystal |
D | Jan Jurzitza | serve-d | D |
D | Laurent Tréguier | D Language Server | D |
Dart | Dart Team | Dart SDK | Dart |
Data Pack | SPGoding | Data-pack Language Server | TypeScript |
Delphi | Embarcadero | Proprietary (DelphiLSP) | Delphi and C |
Dockerfiles | Remy Suen | dockerfile-language-server | TypeScript |
DreamMaker | SpaceManiac | DreamMaker Language Server | Rust |
Erlang | OTP, Vlad Dumitrescu | sourcer | Erlang |
Erlang | Roberto Aloi and Contributors | erlang_ls | Erlang |
Elixir | Elixir LSP | elixir-ls | Elixir |
Elm | Kolja Lampe | elmLS | Typescript |
Ember | Ember community | ember language server | TypeScript |
F# | @georgewfraser | F# Language Server | F# |
F# | @Krzysztof-Cieslak & Contributors | FsAutoComplete | F# |
Fortran | Chris Hansen | fortran-language-server | Python |
GLSL | Sven-Hendrik Haase (@svenstaro) | glsl-language-server | C++ |
Gauge | Gauge | Gauge Language Server | Go |
GDScript | GodotEngine | Godot | C++ |
Gluon | Gluon | Gluon Language Server | Rust |
Go | Go Team | gopls | Go |
Go | Sourcegraph | sourcegraph-go | Go |
GraphQL | GraphQL Foundation | Official GraphQL Language Server | TypeScript |
GraphQL | Mayank Agarwal (@Mayank1791989) | GQL Language Server | JavaScript |
Groovy | Palantir | groovy-language-server | Java |
Groovy | Prominic.NET | Groovy Language Server | Java |
Groovy | VsCode Groovy Lint | VsCode Groovy Lint Language Server | TypeScript |
HTML | MS | vscode-html-languageserver | TypeScript |
Haskell | Alan Zimmerman | Haskell Language Server (HLS) | Haskell |
Haxe | Haxe Foundation | Haxe Language Server | Haxe |
HLSL | Tim Jones | HLSL Tools | C# |
Isabelle | Makarius Wenzel | sources | Scala |
JSON | MS | vscode-json-languageserver | TypeScript |
Java (Eclipse) | Eclipse, RedHat | Eclipse JDT LS | Java |
Java | @georgewfraser | Java Compiler (javac) API-based Java support | Java |
Javascript Flow | Facebook, Inc. | flow | OCaml, JavaScript |
Javascript Flow | flowtype | flow-language-server(deprecated) | JavaScript, Flow |
Javascript-Typescript | Sourcegraph | javascript-typescript | TypeScript |
Julia | Contributors | Julia language server | Julia |
Kerboscript (kOS) | John Chabot | kos-language-server | Typescript |
Kotlin | @fwcd | kotlin-language-server | Kotlin |
Language Server Robot | TypeCobolTeam | TypeCobol Language Server Robot | C# |
Language Tool | Adam Voss | languagetool | Java |
LaTeX | Eric Förster | texlab | |
Lua | Kyle McLamb | lua-lsp | Lua |
Lua | 最萌小汐 | lua-language-server | Lua |
MSBuild | Adam Friedman | msbuild-project-tools-vscode | TypeScript |
Nim | Peter Munch-Ellingsen | nimlsp | Nim |
OCaml/Reason | freebroccolo | ocaml-language-server | TypeScript |
OCaml/Reason | OCaml Labs | ocamllsp | OCaml |
openVALIDATION | openVALIDATION | ov-language-server | TypeScript |
Papyrus | Joel Day | papyrus-lang | C# |
Perl | GRICHTER | Perl::LanguageServer | Perl |
PHP | Ben Mewburn | inteliphense | TypeScript |
PHP | Felix Becker | php-language-server | PHP |
PHP | Tom Gerrits | Serenata | PHP |
PHP | Tyson Andre | Phan | PHP |
PHPUnit | Recca0120 | phpunit-language-server | TypeScript |
IBM Enterprise PL/I for z/OS | IBM | IBM Z Open Editor VS Code extension | Java |
Polymer | Polymer Team | polymer-editor-service | TypeScript |
PowerPC Assembly | Noah Fields | PowerPC Support | TypeScript |
PowerShell | MS | PowerShell Editor Services | C# |
PromQL | Tobias Guggenmos | promql-langserver | Go |
PureScript | Nicholas Wolverson | purescript-language-server | PureScript |
Puppet | Lingua Pupuli | puppet language server | Ruby |
Python | Fabio Zadrozny | PyDev on VSCode | Java, Python |
Python | Palantir Technologies | python-language-server | Python |
Python | MS | python-language-server | C# |
Q# | MS | Q# Language Server | C# |
R | REditorSupport | R language server | R |
Racket | Jay McCarthy | racket-langserver | Racket |
RAML | RAML Workgroup | raml-language-server Work in Progress | |
ReasonML | Jared Forsyth | reason-language-server | OCaml |
Red | bitbegin | redlangserver | Red |
REL | Stefan Schlichthärle | rel-ls | C++ |
ReScript | rescript-lang | rescript-vscode | TypeScript |
Robot Framework | Tomi Turtiainen | VSCode RF language server | TypeScript |
Robot Framework | Robocorp | robotframework-lsp | Python |
Ruby | Fred Snyder | solargraph | Ruby |
Ruby | Fumiaki MATSUSHIMA | language_server-ruby | Ruby |
Ruby | Dmitry Petrashko | sorbet | Ruby |
Ruby | Rafał Łasocha | orbacle | Ruby |
Ruby | Kurt Werle | ruby_language_server | Ruby |
Rust | Jonathan Turner | Rust Language Server | Rust |
Rust | Aleksey Kladov | Rust Analyzer | Rust |
T-SQL | MS | VS Code SQL extension | TypeScript, Binary |
Scala | Iulian Dragos | dragos-vscode-scala | Scala |
Scala | Scalameta | Metals | Scala |
Smalltalk/Pharo | Benoît Verhaeghe | Pharo Language Server | Pharo |
SPARQL | Stardog Union | SPARQL Language Server | TypeScript |
Stylable | Wix.com | stylable/language-service | TypeScript |
Svelte | UnwrittenFun | svelte-language-server | TypeScript |
Swift | Apple | SourceKit-LSP | Swift |
Sysl | ANZ Bank | Sysl LSP | Go |
SystemVerilog | dalance | svls | Rust |
Terraform | Julio Tain Sueiras | terraform-lsp | Go |
Terraform | HashiCorp | terraform-ls | Go |
Tibbo Basic | Tibbo | tibbo-basic | Tibbo Basic |
TTCN-3 | Nokia | ntt | Go |
Turtle | Stardog Union | Turtle Language Server | TypeScript |
TypeCobol | TypeCobol | TypeCobol language server | C# |
TypeScript | TypeFox | typescript-language-server | TypeScript |
Vala | Ben Iofel, Princeton Ferro | vala-language-server | Vala |
VDM-SL, VDM++, VDM-RT | Nick Battle | VDMJ-LSP | Java |
VHDL | Olof Kraigher | vhdl_ls | Rust |
Viml | iamcco | vim-language-server | Typescript |
Visualforce | Salesforce | VS Code Visualforce extension | |
Vue | Pine Wu & @HerringtonDarkholme | vuejs/vetur | TypeScript |
WebAssembly | Darin Morrison | wasm-language-server | Rust |
Wolfram Language (Mathematica) | kenkangxgwe | lsp-wl | Wolfram Language |
WXML | Qiming Zhao | wxml-languageserver | TypeScript |
XML | IBM | XML Language Server | Java |
XML | Red Hat Developers and Angelo ZERR | XML Language Server (LemMinX) | Java |
Xtext language framework | Eclipse | Eclipse Xtext | Java |
YAML (with JSON schemas) | Adam Voss | vscode-yaml-languageservice | TypeScript |
YAML | Red Hat Developers | yaml-language-server | TypeScript |
YANG | Yang tools | yang-lsp | XTend |
* | mattn | efm-langserver | Go |