Skip to content

13 Code fragments

mgledhill edited this page Mar 7, 2025 · 54 revisions

PAL Logo showing Wiki Documentation heading

13SpacerCode fragments

GitHub, being a software development platform, needs some mechanism for allowing code to be displayed. Since code languages often include formatting characters within the various syntax arrangements, it is necessary that GitHub displays any code fragments exactly as they are entered without interpreting the various dashes, dots and backslashes as text formatting commands.

I.e. it displays code fragments in the literal sense: exactly as they are entered.

GitHub supports such code fragments, these can be displayed at a basic level (simply as code fragments without any coloration), they can also be displayed with syntax highlighting💠1 (for known languages).

It also allows framed or fenced code highlights (these are large blocks of code that can cover several lines), again these can contain syntax highlighting.

⬆️ Top



13.1SpacerInline code

Inline code fragments can be inserted by surrounding the code with a single backtick character (`). On a UK keyboard, the backtick is usually the key to the right of the number 1 key (immediately below the esc key).

The Markdown and HTML is as follows:

Markdown, HTML equivalence and GitHub output
${\large \color{#0050C0}\text{M\ A\ R\ K\ D\ O\ W\ N}}$ 🔽

The print command is `printf` in C.

${\large \color{#00C050}\text{H\ T\ M\ L}}$ 🔽

The print command is <code>printf</code> in C

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽

The print command is printf in C.

Table 13.1 — An inline code fragment

The code is displayed in a monospaced font (in this case Consolas) in a grey rounded rectangle rgb: (240,241,242) #F0F1F2. The font colour is the same as body text: rgb: (31,35,40) #1F2328.

With the HTML, the <code> tag carries out the same function as the backtick character in Markdown.

The <code> tag is always used for HTML inline code fragments (it does not need the <pre> tag discussed in the following section).

⬆️ Top



13.2SpacerCode blocks

There are several ways to display code blocks in Markdown, some are more precise than others.

The simplest mechanism to display a block of code is to indent each line be at least four spaces (depending on the text editor, this is sometimes done with the tab key):

Markdown, HTML equivalence and GitHub output
${\large \color{#0050C0}\text{M\ A\ R\ K\ D\ O\ W\ N}}$ 🔽

    #include <stdio.h>

    int main() {
        printf("Hello World");
        return 0;
    }

${\large \color{#00C050}\text{H\ T\ M\ L}}$ 🔽

<pre><code>#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
</code></pre>

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
Table 13.2 — A simple code fragment

The code is again displayed in a monospaced font (in this case Consolas) in a grey rounded rectangle (see the previous section for colour details).

The clipboard icon (highlighted) allows the code to be copied verbatim for pasting into some other editor.

With the HTML, the <pre><code> at the start informs the browser that what follows is to be rendered in a monospaced font and that spaces must be displayed (the <pre> tag does this) and that the content is a fragment of computer code (the <code> tag).

Technically, the <code> tag is for information only, the <pre> tag does everything we need; but syntactically <pre><code> is the correct format.

The <pre><code> is on the same line as the first line of the code, this stops additional line-breaks being inserted before the code fragment.

Important

GitHub will add a scrollbar to a code fragment if a line is too long to be displayed, there is nothing you can do about this (no way to force it to wrap long lines), it is the way GitHub does it.

⬆️ Top



13.2.1SpacerPreferred mechanism for code blocks

Although indenting code by four spaces forces GitHub to interpret the text as code, it is not the preferred mechanism for doing so. Using tabs and spaces can be a bit hit and miss.

The preferred mechanism for Markdown code fragments is to surround the block with three backtick characters (```). This is unambiguous and clearly marks the text as a code fragment. This is the preferred format for the previous example:

Markdown and GitHub output
${\large \color{#0050C0}\text{M\ A\ R\ K\ D\ O\ W\ N}}$ 🔽

```
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
```

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
Table 13.3 — Preferred Markdown for a code fragment

With this mechanism leading spaces are not required.

Each set of backticks must be on its own blank line.

Note

Using three backtick characters (```) works just like the single backtick (`) when used with inline code fragments.

To escape the triple backticks discussed in the previous section, wrap then in quadruple backticks:

Markdown and GitHub output
${\large \color{#0050C0}\text{M\ A\ R\ K\ D\ O\ W\ N}}$ 🔽

````
```
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
```
````

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽
```
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
```
Table 13.4 — Escaping three backticks

How to escape four backticks? You guessed it, use five — now it just gets silly.

⬆️ Top



13.3SpacerSyntax highlighting

Syntax highlighting is used to colour certain aspects of the programming language to make the text more readable and easier to understand.

Syntax highlighting is only possible with GitHub Markdown (there is no HTML equivalent that works with GitHub).

The above code fragment looks like this with GitHub syntax highlighting (it is written in the C programming language):

Markdown and GitHub output
${\large \color{#0050C0}\text{M\ A\ R\ K\ D\ O\ W\ N}}$ 🔽

```c
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
```

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽
#include <stdio.h>

int main() {
    printf("Hello World");
    return 0;
}
Table 13.5 — Syntax highlighting in Markdown

To activate syntax highlighting, simply follow the first three backticks with the lowercase code for the language being used, the c in this case:

If the code were JavaScript, the three backticks would be followed by java for example (```java).

There is no space between the backticks and the language code.

⬆️ Top



13.3.1SpacerSupported languages

GitHub supports syntax highlighting for many programming languages, the following lists them all and the language code that must follow the three backticks:

Language Code Language Code Language Code
1C 1c Grammatical Framework gf PowerShell powershell, ps, ps1
4D 4d Golo golo, gololang Processing processing
ABAP sap-abap, abap Gradle gradle Prolog prolog
ABNF abnf GraphQL graphql, gql Properties properties
Access logs accesslog Groovy groovy Protocol Buffers proto, protobuf
Ada ada GSQL gsql Puppet puppet, pp
Apex apex HTML, XML xml, html, xhtml, rss, a Python python, py, gyp
Arduino arduino, ino HTTP http, https Python profiler results profile
ARM assembler armasm, arm Haml haml Python REPL python-repl, pycon
AVR assembler avrasm Handlebars handlebars, hbs, html.hb Q# qsharp
ActionScript actionscript, as Haskell haskell, hs Q k, kdb
Alan IF alan, i Haxe haxe, hx QML qml
Alan ln High-level shader language hlsl R r
AngelScript angelscript, asc Hy hy, hylang Raku raku, perl6, p6, pm6, ra
Apache apache, apacheconf Ini, TOML ini, toml RakuDoc pod6, rakudoc
AppleScript applescript, osascript Inform7 inform7, i7 RakuQuoting rakuquoting
Arcade arcade IRPF90 irpf90 RakuRegexe rakuregexe
AsciiDoc asciidoc, adoc Iptables iptables Razor CSHTML cshtml, razor, razor-csh
AspectJ aspectj JSON json, jsonc ReasonML reasonml, re
AutoHotkey autohotkey JSONata jsonata Rebol & Red redbol, rebol, red, red-
AutoIt autoit Java java, jsp RenderMan RIB rib
Awk awk, mawk, nawk, gawk JavaScript javascript, js, jsx RenderMan RSL rsl
Ballerina ballerina, bal Jolie jolie, iol, ol ReScript rescript, res
Bash bash, sh, zsh Julia julia, jl RiScript risc, riscript
Basic basic Julia REPL julia-repl RISC-V Assembly riscv, riscvasm
BBCode bbcode Kotlin kotlin, kt Roboconf graph, instances
Blade (Laravel) blade Lang lang Robot Framework robot, rf
BNF bnf LaTeX tex RPM spec files rpm-specfile, rpm, spec,
BQN bqn Leaf leaf Ruby ruby, rb, gemspec, podsp
Brainfuck brainfuck, bf Lean lean Rust rust, rs
C# csharp, cs Lasso lasso, ls, lassoscript RVT Script rvt, rvt-script
C c, h Less less SAS SAS, sas
C++ cpp, hpp, cc, hh, c++, h LDIF ldif SCSS scss
C/AL cal Liquid liquid SQL sql
C3 c3 Lisp lisp STEP Part 21 p21, step, stp
Cache Object Script cos, cls LiveCode Server livecodeserver Scala scala
Candid candid, did LiveScript livescript, ls Scheme scheme
CMake cmake, cmake.in LookML lookml Scilab scilab, sci
COBOL cobol, standard-cobol Lua lua, pluto SFZ sfz
CODEOWNERS codeowners Luau luau Shape Expressions shexc
Coq coq Macaulay2 macaulay2 Shell shell, console
CSP csp Makefile makefile, mk, mak, make Smali smali
CSS css Markdown markdown, md, mkdown, mk Smalltalk smalltalk, st
Cap’n Proto capnproto, capnp Mathematica mathematica, mma, wl SML sml, ml
Chaos chaos, kaos Matl+C86:D134ab matlab Solidity solidity, sol
Chapel chapel, chpl Maxima maxima Splunk SPL spl
Cisco CLI cisco Maya Embedded Language mel Stan stan, stanfuncs
Clojure clojure, clj Mercury mercury Stata stata
CoffeeScript coffeescript, coffee, cs MetaPost metapost Structured Text iecst, scl, stl, structu
CpcdosC+ cpc MIPS Assembler mips, mipsasm Stylus stylus, styl
Crmsh crmsh, crm, pcmk Mint mint SubUnit subunit
Crystal crystal, cr Mirth mirth Supercollider supercollider, sc
cURL curl mIRC Scripting Language mirc, mrc Svelte svelte
Cypher (Neo4j) cypher Mizar mizar Swift swift
D d MKB mkb Tcl tcl, tk
Dafny dafny MLIR mlir Terraform (HCL) terraform, tf, hcl
Dart dart Mojolicious mojolicious Test Anything Protocol tap
Delphi dpr, dfm, pas, pascal Monkey monkey Thrift thrift
Diff diff, patch Moonscript moonscript, moon Toit toit
Django django, jinja Motoko motoko, mo TP tp
DNS Zone file dns, zone, bind N1QL n1ql Transact-SQL tsql
Dockerfile dockerfile, docker NSIS nsis TTCN-3 ttcn, ttcnpp, ttcn3
DOS dos, bat, cmd Never never Twig twig, craftcms
dsconfig dsconfig Nginx nginx, nginxconf TypeScript typescript, ts, tsx, mts
DTS (Device Tree) dts Nim nim, nimrod Unicorn Rails log unicorn-rails-log
Dust dust, dst Nix nix Unison unison, u
Dylan dylan Oak oak VB.Net vbnet, vb
EBNF ebnf Object Constraint Language ocl VBA vba
Elixir elixir OCaml ocaml, ml VBScript vbscript, vbs
Elm elm Objective C objectivec, objc, ob VHDL vhdl
Erlang erlang, erl Odin odin Vala vala
Excel excel, xls, xlsx OpenGL Shading Language glsl Verilog verilog, v
Extempore extempore, xtlang, xtm OpenSCAD openscad, scad Vim Script vim
F# fsharp, fs, fsx, fsi, fs Oracle Rules Language ruleslanguage WGSL wgsl
FIX fix Oxygene oxygene X# xsharp, xs, prg
Flix flix PF pf, pf.conf X++ axapta, x++
Fortran fortran, f90, f95 PHP php x86 Assembly x86asm
FunC func Papyrus papyrus, psc x86 Assembly (AT&T) x86asmatt
G-Code gcode, nc Parser3 parser3 XL xl, tao
Gams gams, gms Perl perl, pl, pm XQuery xquery, xpath, xq, xqm
GAUSS gauss, gss Phix phix YAML yml, yaml
GDScript godot, gdscript Pine Script pine, pinescript ZenScript zenscript, zs
Gherkin gherkin Plaintext plaintext, txt, text Zephir zephir, zep
Glimmer and EmberJS hbs, glimmer, html.hbs, Pony pony Zig zig
GN for Ninja gn, gni PostgreSQL & PL/pgSQL pgsql, postgre
Go go, golang PowerOn poweron, po

Yeah, I’ve no idea what most of them are either. Especially Brainfuck.

⬆️ Top



13.4SpacerHTML code fragments

Things can get a bit confusing when using HTML to display an HTML code fragment.

Let’s say for example that you wanted to use HTML to display the following as a code fragment:

<table align="center">
<tr><td align="center"><img src="./01-0000/02-images/figm-01-01.png"></td></tr>
</table>

You would think we would simply wrap it in the <pre><code> tags as follows:

<pre><code><table align="center">
<tr><td align="center"><img src="./01-0000/02-images/figm-01-01.png"></td></tr>
</table></code></pre>

What this give however is this:

It has got the grey background of a code fragment, but the HTML starting with <table> has simply rendered as HTML, we don’t see the code, but the code has been executed and displays the image.

Important

This doesn’t happen if we use Markdown with three backticks.

The solution to this problem is that we must replace all the greater than and less than symbols with their HTML escape codes (these were first discussed in section 7.1.2), the table of which is reproduced below:

Less than

<

Replacement code:

&lt;

Greater than

>

Replacement code:

&gt;

Ampersand

&

Replacement code:

&amp;

Double quotation mark

"

Replacement code:

&quot;

Single quotation mark

'

Replacement code:

&apos;

Table 13.7 — HTML reserved characters and escape sequences

To make the HTML code fragment work, it must be re-written as:

HTML and GitHub output
${\large \color{#00C050}\text{H\ T\ M\ L}}$ 🔽

<pre><code>&lt;table align="center"&gt;
&lt;tr&gt;&lt;td align="center"&gt;&lt;img src="./01-0000/02-images/figm-01-01.png"&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</code></pre>

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽
<table align="center">
<tr><td align="center"><img src="./01-0000/02-images/figm-01-01.png"></td></tr>
</table>
Table 13.8 — Corrected HTML code fragment using HTML

⬆️ Top



13.4.1SpacerConverting HTML to code fragments

Converting all the reserved characters in a HTML code fragment into escape codes, is, to put it bluntly, a pain in the arse.

It’s something I’ve had to do a lot when producing the PracticalSeries website. In the end I used a Word document with embedded macros to do the conversion, it is available here for you to use:

   ps-html-converter.docm

To use this document: download the document, open it and enable the macros💠2 (Word will try to stop you, especially since you downloaded it from the internet).

Copy the HTML you want to convert onto a blank page in the document (the one starting paste your stuff here will do), in this example I’m copying the HTML table example from the previous section, it looks like this in the document

HTML conversion
Figure 13.1 — HTML code copied into the conversion document

Now select the code to be converted:

HTML conversion
Figure 13.2 — Select the code fragment

Now press ctrl+alt+R to run the macro to convert the code. It does this:

HTML conversion
Figure 13.3 — Converted the code fragment

Cut and paste the converted code into the HTML code fragment:

HTML and GitHub output
${\large \color{#00C050}\text{H\ T\ M\ L}}$ 🔽

<pre><code>&lt;table align=&quot;center&quot;&gt;
&lt;tr&gt;&lt;td align=&quot;center&quot;&gt;&lt;img src=&quot;https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/01-0000/02-images/fig-01-01.png&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</code></pre>

${\large \color{#B00000}\text{G\ I\ T\ H\ U\ B}\space\ \space\text{O\ U\ T\ P\ U\ T}}$ 🔽
<table align="center">
<tr><td align="center"><img src="https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/01-0000/02-images/fig-01-01.png"></td></tr>
</table>
Table 13.9 — Converted code fragment

Hope this helps.

⬆️ Top


Footnotes:     


Note

💠1 Syntax highlighting is the colouring of various commands, attributes, variables &c. within a code fragment to highlight different components of the code. It is done to make the code more readable.

Note

💠2 To enable macros in Word, select the File tab, options, trust centre, trust centre settings (button on the right), this opens a new window. Select macro settings and click the enable all macros button and click ok to exit.

That’s the first part, now set the trusted locations, this is still in the trust centre settings, select Trusted locations and select add new location, navigate to wher-ever you have saved the document and select the folder containing it, select include subfolders if required.

Now save, close and re-open the document.




Wiki contentsSpacer

Previous page Previous chapter Home Next chapter Next page
   Home

       The GitHub Wiki
       What does this guide cover?
       A note by the Author

     CaseNotes

   Licence

       The licences and other details
       The Licence
       Why did I choose the MIT Licence?
       Permissive licences
       Copyleft licence
       Limiting liabilities
       Which licence to use?
       A note on spelling: licence or license

1    Introducing the GitHub Wiki

   1.1      What are GitHub Wiki pages?
   1.2      Understanding the Wiki pages
   1.3      Creating a Wiki for a repository
   1.3.1     Creating the first Wiki page
   1.3.2     Creating additional pages
   1.3.3     Editing a Wiki page
   1.4      The Wiki is its own repository
   1.4.1     Viewing a Wiki page history
   1.4.2     How GitHub handles Wiki branche
   1.4.3     The Wiki link to the main repository
   1.5      Basic components of a Wiki page
   1.5.1     Title bar and revision
   1.5.2     Contents (pages) area
       Listing pages in the order you want
   1.5.3     Sidebars
   1.5.4     Footers
   1.6      Sidebars and footers
   1.6.1     Creating a sidebar and footer

2    Cloning a Wiki

   2.1      Why clone a Wiki?
   2.2      How to clone a Wiki
   2.3      Pushing local changes to GitHub
   2.3.1     Configuring username and email
   2.3.2     Modifying the local repository
   2.3.3     Committing and synchronising

3    A Wiki folder structure

   3.1      The default arrangement
   3.2      Create a sidebar or footer locally
   3.3      Page naming and Wiki limits
   3.3.1     Supported file types
   3.3.2     Page names and numbering
   3.3.3     Rules for page numbering
   3.3.4     Limits for Wiki pages
   3.4      A Practical Wiki folder structure
   3.4.1     Subfolder names for Wiki pages
   3.4.2     Storing images and other data

4    Different sidebars and footers

   4.1      How sidebars work
   4.1.1     The PracticalSeries sidebar
   4.2      How footers work
   4.2.1     The PracticalSeries footer

5    Markdown, GitHub Markdown and HTML

   5.1      Some useful Markdown sites
   5.2      An overview of Markdown
   5.3      How Markdown works
   5.4      Markdown flavours
   5.4.1     GitHub Flavoured Markdown (GFM)
   5.5      HTML and Markdown
   5.5.1     HTML with GFM
       GFM blacklisted HTML tags
       GFM whitelisted HTML tags
       GFM HTML tags - the grey area
       GFM whitelisted HTML attributes
   5.5.2     PracticalSeries and Markdown
   5.6      Markdown difference between files

6    Basic Markdown and text formatting

   6.1      Body text and fonts
   6.1.1     Body text responsive design
   6.1.2     Body text in sidebars and footers
   6.1.3     Rules for body text
   6.1.4     Body text examples
   6.1.5     Alignment of Body text
       Left aligned text (default)
       Right aligned text
       Centred text
       Justified text
   6.1.6     Body text propertie
   6.2      Paragraphs and line breaks
   6.2.1     Forced line break
   6.2.2     Blank line and a line break
   6.2.3     Trailing space line break
   6.2.4     Paragraph and line break rules
   6.2.5     Paragraph and line break examples
   6.3      Horizontal line
   6.3.1     Rules for horizontal lines
   6.4      Emphasis with bold
   6.4.1     Rules for bold
   6.4.2     Bold text examples
   6.5      Emphasis with italics
   6.5.1     Rules for italics
   6.5.2     Italic text examples
   6.6      Emphasis with bold and italics
   6.6.1     Rules for bold and italics
   6.6.2     Bold and italic text examples
   6.7      Emphasis with underlining
   6.7.1     Rules for underlining
   6.7.2     Underlining text examples
   6.8      Emphasis with strikethrough
   6.8.1     Rules for strikethrough
   6.8.2     Strikethrough text examples
   6.9      Superscript and subscript
   6.9.1     Rules for superscript and subscript
   6.9.2     Superscript and subscript examples
   6.10    Headings
       Alternatives for heading 1 and 2
   6.10.1   Headings Markdown rules
   6.10.2   Heading properties

7    Special characters and escaping characters

   7.1      Escape characters and codes
   7.1.1     Markdown escape sequences
   7.1.2     HTML escape sequences
   7.1.3     Decimal and hexadecimal codes
       Hexadecimal escape codes
   7.2      Special space characters
   7.2.1     Escape sequence restrictions
   7.3      Emojis and emoticons
       A note by the Author about emojis
   7.4      Comments

8    Block quotes, lists and alerts

   8.1      Block quotes
   8.1.1     Nested block quotes
   8.1.2     Adding other elements
   8.1.3     Rules for block quotes
   8.2      Unordered (unnumbered) lists
   8.2.1     Nested unordered lists
   8.2.2     Type of bullet point
   8.2.3     Indents and spacing
   8.2.4     Numbers in an unordered list
   8.2.5     Adding paragraphs
   8.2.6     Adding other elements
   8.2.7     Rules for unordered lists
   8.3      Ordered (numbered) lists
   8.3.1     Starting at a different number
   8.3.2     Nested ordered lists
   8.3.3     Type of numbering
   8.3.4     Indents and spacing
   8.3.5     Adding paragraphs
   8.3.6     Adding other elements
   8.3.7     Rules for ordered lists
   8.4      Mixing ordered and unordered lists
   8.5      Task lists (check boxes)
   8.5.1     Nested task lists
   8.6      Alerts
   8.6.1     Rules for alerts

9    Links

   9.1      Link to an external web page
   9.1.1     A direct link to a URL
   9.1.2     A link using substitute text
   9.1.3     A link using tooltips
   9.2      Link to another page in the Wiki
   9.2.1     Rules for linking to a Wiki page
   9.3      Link to headings on current page
   9.3.1     Converting a heading to a link
   9.3.2     An example of a heading link
   9.3.3     Heading link with tooltips
   9.4      Link to headings on a different page
   9.4.1     An example of a heading link
   9.5      Link to a named element
       A note by the Author
   9.5.1     Link to a point on another page
   9.6      Downloading a file
   9.6.1     The download attribute
   9.6.2     Spaces in filenames
   9.6.3     Downloading a .md file
   9.7      Reference style links
   9.8      Relative links
   9.8.1     Relative links from any Wiki page

10  Tables

   10.1    Markdown tables
   10.1.1   Horizontal alignment
   10.1.2   Table construction
   10.1.3   Vertical line breaks and alignment
   10.1.4   Making columns wider
   10.1.5   Other elements in a table
   10.1.6   Markdown table restrictions
   10.2    HTML tables
   10.2.1   A basic HTML table
   10.2.2   Aligning a table on a page
   10.2.3   Text wrap and side-by-side tables
       What this means in practice
       The problem with the align attribute
       How to stop text wrapping
   10.2.4   Setting the width of a table column
   10.2.5   Setting the height of a table row
   10.2.6   Horizontal alignment
   10.2.7   Vertical alignment
   10.2.8   Spanning columns and rows
   10.2.9   Table border
   10.2.10   Giving a table a navigable name
   10.2.11   Additional HTML tags

11  Images

   11.1    Markdown images
   11.1.1   Image size in Markdown
   11.1.2   Making the image a link
   11.1.3   Drag and drop image link
       A note by the Author
   11.2    HTML images
   11.2.1   A basic HTML image
   11.2.2   Image size in HTML
   11.2.3   Horizontal alignment
   11.2.4   Making the image a link
   11.2.5   Using a table to contain an image
   11.3    Forcing an image refresh
   11.4    Using a spacer image
   11.5    Mermaid diagrams
   11.5.1   Inserting a Mermaid diagram
   11.5.2   The rendered Mermaid diagram
   11.5.3   Supported version of Mermaid
   11.6    Interactive maps
   11.7    3D models

12  Contents (collapsible) and footnotes

   12.1    A basic table of contents
   12.2    Understanding the space characters
   12.3    Collapsible content
   12.3.1   Defaulting to open
   12.3.2   Markdown restrictions
   12.4    Collapsible TOC
   12.5    TOCs in tables
   12.6    Footnotes

13  Code fragments

   13.1    Inline code
   13.2    Code blocks
   13.2.1   Preferred mechanism
   13.3    Syntax highlighting
   13.3.1   Supported languages
   13.4    HTML code fragments
   13.4.1   Converting HTML to code

14  Mathematical formulae

   14.1    An overview of LaTex
   14.2    Inserting an inline formula
   14.2.1   Alternative delimiter
   14.3    A formula block
   14.4    Some example formulae
   14.5    LaTeX syntax
   14.5.1   Greek lowercase
   14.5.2   Greek uppercase and Hebrew
   14.5.3   Mathematical constructions
   14.5.4   Variable sized delimiters
   14.5.5   Variable sized symbols
   14.5.6   Variable sized symbols with limits
   14.5.7   Standard functions
   14.5.8   Operators and relational symbols
   14.5.9   Arrows
   14.5.10   Other symbols
   14.5.11   Accents
   14.5.12   Matrices
   14.5.13   Cases
       Aligning multiple equations
   14.5.14   Text formatting
       Font size
       Font colour
       The text command
       Font restrictions
   14.6    Abusing LaTeX
   14.6.1   Changing font colour with LaTeX

15  Navigation bars, badges and buttons

   15.1    Navigation bars
   15.1.1   Navigation bar practicalities
   15.2    Badges
   15.2.1   Creating a badge
   15.2.2   Static badge options
   15.2.3   Dynamic badges
   15.3    Buttons

16  PracticalSeries Wiki conventions

   16.1    The PracticalSeries Wiki page
   16.2    The PracticalSeries folder structure
   16.2.1   The root folder and home page
   16.2.2   Leading pages
   16.2.3   .gitkeep files
   16.2.4   Folder and Markdown file names
       Wiki pages that start at a section
   16.3    The page title area
   16.4    The page heading area
   16.4.1   Top of page marker
   16.4.2   Logo image
   16.4.3   Web ID badge
   16.5    Main body area
   16.5.1   Common page elements
       End of page marker
       End of section elements
   16.5.2   Headings
       Compensating for number widths
       Appendices headings
   16.5.3   Tables
       Links to a table
       A note on Markdown tables
   16.5.4   Images
       Images that open in a new tab
       Double images
       Links to a figure
   16.5.5   Lists
       Common points for all lists
       Basic unordered list
       Basic ordered list
       Mixed ordered and unordered lists
       Enhanced mixed lists
       Index list
       Reverse index list
       Index list with text wrap
       Reverse index list with text wrap
       Indexed, mixed list
       Reverse indexed, mixed list
       Task list
       Enhanced task list with observations
   16.5.6   Code fragments
   16.5.7   Formulae
       Standard formulae
       Alternate formulae
   16.6    Sidebar
   16.6.1   sidebar files and locations
   16.6.2   Sidebar title and location badge
   16.6.3   Navigation bar
   16.6.4   Table of contents
       Unnumbered, non-collapsible TOC
       Unnumbered, collapsible TOC
       Single digit, collapsible TOC
       Double digit, collapsible TOC
       TOCs for appendices
   16.6.5   End of page link
   16.7    Footer
   16.7.1   Footer files and locations
   16.7.2   Location badge
   16.7.3   Navigation bar
   16.7.4   Colophon
   16.7.5   Links and contacts

17  Managing a Wiki

   17.1    Revision control
   17.1.1   Managing commits
   17.2    Finding the first Wiki commit
   17.3    Rebasing the Wiki
   17.3.1   Summarising the rebase process
   17.3.2   Executing the rebase process
   17.4    Wikis and search engine visibility


Appendices
A    Unicode and HTML escape

   A.1     HTML Escape codes, full list
   A.2     Non-functional escape sequences

B    Full list of all emoji characters

   B.1      Emojis, a brief explanation
   B.1.1     Emoji short names
   B.1.2     Emoji escape codes
   B.1.3     Emoji variations
   B.1.4     Emoji numbers
   B.2      Emojis characters by category
       Smileys and emotion
       People and body
       Component
       Animals and nature
       Food and drink
       Travel and places
       Activities
       Objects
       Symbols
       Flags
   B.3      Emoji characters by Unicode

C    Segoe UI full character set

       A note by the Author
   C.1     Inserting Unicode characters
   C.2     Characters U+00000 to U+00FFF
   C.3     Characters U+01000 to U+01FFF
   C.4     Characters U+02000 to U+02FFF
   C.5     Characters U+03000 to U+09FFF
   C.6     Characters U+0A000 to U+0AFFF
   C.7     Characters U+0B000 to U+0FFFF
   C.8     Characters U+10000 to U+10FFF
   C.9     Characters U+11000 to U+11FFF
   C.10   Characters U+12000 to U+12FFF
   C.11   Characters U+13000 to U+15FFF
   C.12   Characters U+16000 to U+1CFFF
   C.13   Characters U+1D000 to U+1EFFF
   C.14   Characters U+1F000 to U+3FFFF

D   3D Model of a Sierpinski cube

       3D Sierpinski cube

E    Template

       COMMENT FIELDS
       HEADINGS
       TABLES
       FIGURES
       LISTS
       TASK LISTS
       CODE FRAGMENT
       FORMULAE
       LINKS
       BUTTONS
       ALERTS
       COLOURED TEXT
       INDEX NUMBERS
       END OF SECTION
       FOOTNOTE
       END OF PAGE

⬇️ End of page
Clone this wiki locally