Skip to content

09.05 Links

mgledhill edited this page Mar 14, 2025 · 5 revisions

PAL Logo showing Wiki Documentation heading

9.5SpacerLinking to a named element

It is possible to link to any heading on a page (see section 9.3 and section 9.4). It is also possible to link to any other point on a page by including an anchor point.

Typically (and particularly with the Practical Series Wikis), this can be to link to a figure or table, or to link to the top and bottom of the page.

It is not possible to set these anchor points entirely within Markdown. HTML is required to establish the anchor point, once this is done, either Markdown or HTML can be used to navigate to it.

Anchor points are established by specifying a ${\large \color{#00B050}\text{name}}$ attribute for an HTML tag. Most HTML tags can have a ${\large \color{#00B050}\text{name}}$: <table> being the most common for Practical Series Wiki pages, but any tag will do (with the exception of the <img> tag for some reason).

This is done by simply adding the ${\large \color{#00B050}\text{name}}$ attribute to the opening tag:

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

<table name="idName">...</table>


<figure name="idName">...</figure>

It works for paragraph elements too:

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

<p name="idName">Any paragraph text</p>

To create an anchor point at some position on a Wiki page that does not have any existing HTML (say the top or bottom of the page), an empty <a> anchor tag is the best to use.

An empty anchor tag is simply a container to hold the ${\large \color{#00B050}\text{name}}$ tag. It looks like this:

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

<a name="idName"></a>

In all these examples, ${\large \color{#1F883D}\text{idName}}$ is a unique alphanumeric string (${\large \color{#1F883D}\text{idName}}$ must be unique within a page, there cannot be two ${\large \color{#00B050}\text{name}}$ attributes with the same name).

The Practical Series Wikis use ${\large \color{#1F883D}\text{idtop}}$ and ${\large \color{#1F883D}\text{idend}}$ to specify the top and bottom of the page respectively.

Note

There is no significance to the above identifiers starting with id, the idName can be any alphanumeric string at all; id is just used in the Practical Series Wikis to make it identifiable as a name code.

The empty anchor tag above does absolutely nothing on the Wiki page (it does not render as text or a link or manifest itself in any discernible way). It simply defines a point that can be navigated to.

To link to the anchor point, use the same Markdown or HTML links covered earlier in this section:

     ${\LARGE \color{#0050C0}\text{[}\color{#C00000}\text{Substitute\ Text}\color{#0050C0}\text{](}}$Hash${\LARGE \color{#1F883D}\text{idName}\color{#0050C0}\text{)}}$

The substitute text can be anything you like (top of page, for example), the ${\large \color{#1F883D}\text{idName}}$ is the same name used in the anchor point and must be preceded by a single hash #.

The following example shows a link to the anchor point at the top of a page:

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

<a name="idtest"></a>

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur tortor a tortor ornare,<br>
non pretium diam faucibus. Morbi ut mollis dolor, nec pretium tellus. Suspendisse ornare neque<br> 
placerat orci aliquam, eu sodales dui blandit. Maecenas nec risus vel magna blandit euismod.<br> 
Suspendisse id finibus purus. Nam ultricies non sapien ac rutrum

[Link to top of text](#idtest)

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

<a name="idtest"></a>

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur tortor a tortor ornare,<br>
non pretium diam faucibus. Morbi ut mollis dolor, nec pretium tellus. Suspendisse ornare neque <br>
placerat orci aliquam, eu sodales dui blandit. Maecenas nec risus vel magna blandit euismod.<br>
Suspendisse id finibus purus. Nam ultricies non sapien ac rutrum</p>

<a href="#idtest">Link to top of text</a>

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

Lorem ipsum dolor sit amet, consectetur adipiscing elit. In consectetur tortor a tortor ornare,
non pretium diam faucibus. Morbi ut mollis dolor, nec pretium tellus. Suspendisse ornare neque
placerat orci aliquam, eu sodales dui blandit. Maecenas nec risus vel magna blandit euismod.
Suspendisse id finibus purus. Nam ultricies non sapien ac rutrum

Link to top of text

Table 9.11 — Link to a named element (anchor point)

⬆️ Top



A note by the Author     

If you’re wondering about the links to the top and bottom on the PracticalSeries Wiki pages, they look like this (highlighted in orange):

Links to top and end of page
Figure 9.4 — PracticalSeries links to top and end of page

These use emojis (up and down arrows) to create the link.

The Markdown for the top and end of page links is:

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

**[:arrow_up: Top](#idtop)**


**[:arrow_down: End of page](#idend)**

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

<a href="#idtop"><strong>⬆ Top</strong></a>


<a href="#idend"><strong>⬇ End of page</strong></a>

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

⬆️ Top

⬇ End of page

Table 9.12 — Link to top and end of page

In both these cases, the link is surrounded by double asterisks ** (<strong> in HTML), this is to put the link in bold.

The substitute text starts with either :arrow_up: or :arrow_down:, these are the emoji characters (⬆) and (⬇) respectively. The text that follows (Top or End of page) is simply the text that is displayed on the page following the arrow.

Note

The links here use the GitHub short names for the emoji characters, it would also be possible to cut and paste the emoji characters directly into the substitute text area (as is done with the HTML). Section 7.3 give full details of how to use emojis and Appendix B has a full list of all emoji characters. Section 16.5 give more details about how these are used in the PracticalSeries Wikis.

⬆️ Top



9.5.1SpacerLink to a named point on another page

To link to an anchor point on another Wiki page, simply put the name of the page (with all spaces replaced by dashes before the ${\large \color{#4B0082}\text{pageName}}$Hash${\large \color{#1F883D}\text{idName}}$):

     ${\LARGE \color{#0050C0}\text{[}\color{#C00000}\text{Substitute\ Text}\color{#0050C0}\text{](}\color{#4B0082}\text{pageName}}$Hash${\LARGE \color{#1F883D}\text{idName}\color{#0050C0}\text{)}}$

The ${\large \color{#C00000}\text{Substitute\ Text}}$ can be anything you like, this is displayed as the link text.

The rules for the ${\large \color{#4B0082}\text{pageName}}$ is given in section 9.2.1.

⬆️ Top



9.6SpacerDownloading a file

A link to download a file (rather than navigating to a web page) is possible (sort of) in both Markdown and HTML.

Note

I say “sort of” because it depends on the browser used, some files may open in a new browser tab instead of being directly downloaded. This depends on the browser being used, most browsers will open pdf files in a new window. Edge (by Microsoft) also opens Word and Excel files in new tabs (it generally gives the op-tion to then download these files).

Generally, to download a file stored within a Wiki folder, all that is required is the full path to the file and the inclusion of the file extension.

For example, this Wiki has a zipx file that contains the HTML escape code list. It is stored in the Wiki folder /A-0000/04-data/html_escape_codes.zipx.

The full path to this file (as a URL is): https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/A-0000/04-data/html_escape_codes.zipx

Entering this link in the address bar of a browser will cause it to download the file.

To download the file using Markdown, just use the standard Markdown link syntax:

     ${\LARGE \color{#0050C0}\text{[}\color{#C00000}\text{Substitute\ Text}\color{#0050C0}\text{](}\color{#1F883D}\text{URL}\color{#0050C0}\text{)}}$

In this case

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

[Click here to download the escape characters list](https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/A-0000/04-data/html_escape_codes.zipx).

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

<a href="https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/A-0000/04-data/html_escape_codes.zipx">Click here to download the escape characters list</a>

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

Click here to download the escape characters list.

Table 9.13 — Download a file

⬆️ Top



9.6.1SpacerThe download attribute

You may be wondering why the HTML link above didn’t use the ${\large \color{#00B050}\text{download}}$ attribute to force the file to download.

The normal HTML for downloading a file would be in the form

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

<a href="urlOfFile" download>Click here to download the file</a>

Table 9.14 — HTML download attribute

The download attribute forces the browser to download the file and not treat it as a link.

Unfortunately, the ${\large \color{#00B050}\text{download}}$ attribute is one of the attributes that is not permitted by GitHub, it is not whitelisted (see section 5.5.1).

This means that downloading a file depends to some extent on the browser being used. Some browsers are able to display certain files, and if they can, they will open a new tab and display the file. (for example linking to an image .png, .jpg &c. will almost certainly result in a new tab opening with the image being displayed).

If the browser does not recognise the file type or is unable to display it (compressed, ZIP, files almost always fall into this category), it will download it instead.

⬆️ Top



9.6.2SpacerSpaces in filenames

Spaces in filename are a bastard. It leads to endless confusion: sometimes it works if you leave the spaces in, sometime they have to be replaced with dashes -, sometimes with a plus + and sometimes with the URL code %20.

It’s a bugger.

Normal URLs, the ones you type into a web browser, do not have spaces in them.

Once you get past the top level domain .com, .co.uk &c. and into subdirectories, then file names can have spaces in them.

In terms of Wiki pages, we need the filenames for the page to have spaces in them. It is this filename that is used to display the main title for the page on the GitHub site.

This is the page ${\large \color{#446FBD}\text{01\ Introducing\ the\ GitHub\ Wiki}}$:

Wiki page title
Figure 9.5 — Wiki page title

The title (at the top) is derived from the filename of the page, in this case it is:

   ${\large \color{#446FBD}\text{01\ Introducing\ the\ GitHub\ Wiki}}$

It has spaces in it.

We also want to be able to link to this page using Markdown and HTML from other pages within the Wiki, we may also want to link to it from external websites.

In all the previous examples in this section, where we have linked to other Wiki pages, the rules have been as follows:

The Wiki ${\large \color{#446FBD}\text{pageName}}$ used in the both the Markdown link and the HTML link is the same as the name of the .md file with the following changes:

Do not add the .md extension to the ${\LARGE \color{#1F883D}\text{PageName}}$
Any spaces within the ${\LARGE \color{#1F883D}\text{PageName}}$ are replaced with a dash `-`
All uppercase letters are made lowercase (optional)
List 9.5 — Rules for converting a page name to a link

The main point being: spaces are replaced with a dash -.

This works for GitHub Wikis (and other Markdown pages) because GitHub is creating the webpage itself from the Markdown that is supplied to it. In doing so, it is automatically replacing the spaces with dashes in the web address. GitHub also has control of any redirections that may occur when different formats are used for the space character.

In short, replacing spaces with dashes when accessing a Wiki page always works, but only for the page itself (the thing with the .md extension).

If an image were to be displayed and had the filename ${\large \color{#446FBD}\text{fig\ 99-01.png}}$ (i.e. a space between fig and the 99), and if the space were replaced with a dash (i.e. ${\large \color{#446FBD}\text{fig}\color{#C00000}\text{-}\color{#446FBD}\text{99-01.png}}$), then GitHub would not display it (it would not be able to find it).

To display or download any file (other than a Wiki page .md file) that has spaces in the name, the spaces must be replaced with %${\large \color{#C00000}\text{20}}$💠3.

In fact the image above does exist, it is in the folder 99-0000/02-images of this Wiki.

This is the full link to it (it works if you paste it into a browser):

   https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/99-0000/02-images/fig%2099-01.png

Note

The %20 is present in the figure name

It’s a picture of my dog Henry:

Wiki page title
Figure 9.6 — Henry

I’m pretty sure he’s smiling.

Interestingly, the %${\large \color{#C00000}\text{20}}$ thing also works for the Wiki pages (where we normally replace spaces with dashes). This is a link to the introductory page of this Wiki:

   https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/01-Introducing-the-GitHub-Wiki

It also works if I replace the dashes in the page name with %${\large \color{#C00000}\text{20}}$:

   https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/01%20Introducing%20the%20GitHub%20Wiki

Note

The Wiki name itself GitHub-Wiki-Design-and-Implementation always has dashes, this is the name of the repository in GitHub containing the Wiki and it was created with those dashes.

⬆️ Top



9.6.3SpacerDownloading a .md file

This is a slightly esoteric point and I include it only for completeness (and to satisfy my own internal OCD-ness).

In all the above sections, when linking to another page in the Wiki, the .md extension has been removed from the Wiki page name in the URL. To access the ${\large \color{#446FBD}\text{01\ Introducing\ the\ GitHub\ Wiki.md}}$ page, the link is simply ${\large \color{#00B050}\text{01-Introducing-the-GitHub-Wiki}}$, no .md at the end (and spaces replace by dashes).

Now let’s say that instead of navigating to the page, you want to download it (or display the source Markdown, sometime referred to as the raw file, in a browser), then this is possible.

To do this, the full path to the file must be included (subdirectories &c.), the spaces in the filename replaced with %${\large \color{#C00000}\text{20}}$ and the .md extension must be included.

This is the link to the page above, it will open in a browser with the raw Markdown being displayed:

   https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/01-0000/01%20Introducing%20the%20GitHub%20Wiki.md

It opens the raw Markdown for the file, the first part looks like this:

Raw Markdown
Figure 9.7 — The raw Markdown displayed in a browser

⬆️ Top



9.7SpacerReference style links

Reference style links are a bit of a peculiarity within Markdown (there is no HTML equivalent). I’m not sure many people use them; they are a bit confusing and the standard Markdown link format:

     ${\LARGE \color{#0050C0}\text{[}\color{#C00000}\text{Substitute\ Text}\color{#0050C0}\text{](}\color{#1F883D}\text{URL}\color{#0050C0}\text{)}}$

or

     ${\LARGE \color{#0050C0}\text{[}\color{#C00000}\text{Substitute\ Text}\color{#0050C0}\text{](}\color{#1F883D}\text{URL}\color{#0050C0}\text{\ "}\color{#ED7D31}\text{Tooltip\ Text}\color{#0050C0}\text{")}}$

Are the most common types of links.

Reference style links (I’m just going to call them reference links) are intended as a way to make the text in a Markdown file clearer. Reference links have two parts, the first part, the reference, appears in-line with the text in the Markdown (in a paragraph for example), the second part, the URL, is somewhere else in the file (usually at the end) and contains the URL, this second part does not get displayed.

The first part, the reference, has the form:

     ${\LARGE \color{#0050C0}\text{[}\color{#C00000}\text{Substitute\ Text}\color{#0050C0}\text{](}\color{#1F883D}\text{Label}\color{#0050C0}\text{)}}$

Here, ${\large \color{#C00000}\text{Substitute\ Text}}$ can be anything you like, this is the text that is displayed on the page.

The ${\large \color{#1F883D}\text{Label}}$ is a unique alphanumeric identifier that links the reference to the URL in the second part below.

The second part, the URL, has the form:

     ${\LARGE \color{#0050C0}\text{[}\color{#1F883D}\text{Label}\color{#0050C0}\text{]:}\color{#4B0082}\text{URL}}$

The ${\large \color{#1F883D}\text{Label}}$ must match that in the first part, the ${\large \color{#4B0082}\text{URL}}$ is the URL of the link

Putting all this together in an example:

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

Developing the pumps was still not as hard as solving the second basic problem of rocket engines: 
making the propellants burn smoothly once they had reached the combustion chamber. 
The pumps brought the kerosene and the [LOX][lab01] to a circular metal slab three feet in 
diameter and about four inches thick, weighing 1,000 pounds, called the injector plate.

[lab01]:https://en.wikipedia.org/wiki/Liquid_oxygen

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

Developing the pumps was still not as hard as solving the second basic problem of rocket engines: making the propellants burn smoothly once they had reached the combustion chamber. The pumps brought the kerosene and the LOX to a circular metal slab three feet in diameter and about four inches thick, weighing 1,000 pounds, called the injector plate.

Table 9.16 — Reference link

To add a tooltip, the second part becomes (there is a space between the end of the URL and the first quotaion mark):

     ${\LARGE \color{#0050C0}\text{[}\color{#1F883D}\text{Label}\color{#0050C0}\text{]:}\color{#4B0082}\text{URL}\color{#0050C0}\text{\ "}\color{#ED7D31}\text{toolTip}\color{#0050C0}\text{"}}$

Or in the above example:

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

Developing the pumps was still not as hard as solving the second basic problem of rocket engines: 
making the propellants burn smoothly once they had reached the combustion chamber. 
The pumps brought the kerosene and the [LOX][lab02] to a circular metal slab three feet in 
diameter and about four inches thick, weighing 1,000 pounds, called the injector plate.

[lab02]:https://en.wikipedia.org/wiki/Liquid_oxygen "Liquid Oxygen"

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

Developing the pumps was still not as hard as solving the second basic problem of rocket engines: making the propellants burn smoothly once they had reached the combustion chamber. The pumps brought the kerosene and the LOX to a circular metal slab three feet in diameter and about four inches thick, weighing 1,000 pounds, called the injector plate.

Table 9.17 — Reference link with tooltip

Some forms of Markdown put angle brackets around the URL, GitHub is tolerant of this too — this also works:

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

Developing the pumps was still not as hard as solving the second basic problem of rocket engines: 
making the propellants burn smoothly once they had reached the combustion chamber. 
The pumps brought the kerosene and the [LOX][lab03] to a circular metal slab three feet in 
diameter and about four inches thick, weighing 1,000 pounds, called the injector plate.

[lab03]:<https://en.wikipedia.org/wiki/Liquid_oxygen> "Liquid Oxygen"

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

Developing the pumps was still not as hard as solving the second basic problem of rocket engines: making the propellants burn smoothly once they had reached the combustion chamber. The pumps brought the kerosene and the LOX to a circular metal slab three feet in diameter and about four inches thick, weighing 1,000 pounds, called the injector plate.

Table 9.18 — Reference link with tooltip and angle brackets

⬆️ Top



9.8SpacerRelative links

This was discussed briefly in section 9.2, but is covered in more detail here.

When creating links to different elements in the same Wiki, it is possible to use relative links. This means that it is not necessary to enter the whole URL to link to a given element.

For example, consider the link to the picture of Henry in section 9.6.2, the full URL for this image was:

   https://github.com/practicalseries/GitHub-Wiki-Design-and-Implementation/wiki/99-0000/02-images/fig%2099-01.png

To access this image from any other page in the same Wiki, it is not necessary to use the full URL, all the pages in the given Wiki are in the subdirectory /wiki/ or in a subdirectory of a subdirectory.

This means that it is only necessary to include that part of the path from the current page to the image. If the image was to be displayed on the ${\large \color{#446FBD}\text{Home}}$ page for example, the link becomes:

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

[fig 99.01](./99-0000/02-images/fig%2099-01.png)

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

<a href="./99-0000/02-images/fig%2099-01.png"> fig 99.01</a>

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

fig 99.01

Table 9.19 — Link to an image using a relative address

The ./ at the start of the link is old school command line path terminology that means “the current directory”.

The other similar path commands are:

Path Command Meaning Notes
/ Move to the root directory In terms of the Wiki, this is github.com
./ The current directory
../ The parent directory Moves the directory level up one
Table 9.20 — Path commands

Strictly speaking, the ./ is not necessary and the link would work without it:

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

[fig 99.01](99-0000/02-images/fig%2099-01.png)

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

<a href="99-0000/02-images/fig%2099-01.png"> fig 99.01</a>

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

fig 99.01

Table 9.21 — Alternative relative address

Note

Whilst this works, it is bad form to miss the ./ at the start where a subdirectory is involved. The ./ makes it clear that the path is looking for a subdirectory. The convention is to always use ./ where the file in question is in a subdirectory. If the file is in the current directory then the ./ can be omitted.

⬆️ Top



9.8.1SpacerRelative links from any Wiki page

In the previous example, the link to ${\large \color{#446FBD}\text{fig\ 99-01.png}}$ from the ${\large \color{#446FBD}\text{Home}}$ was:

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

[fig 99.01](./99-0000/02-images/fig%2099-01.png)

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

<a href="./99-0000/02-images/fig%2099-01.png"> fig 99.01</a>

This makes perfect sense; the ${\large \color{#446FBD}\text{Home}}$ page is at the top level of the Wiki folder structure so all other elements are in some subdirectory relative to the ${\large \color{#446FBD}\text{Home}}$ page

Surprisingly, to link to the same image from a Wiki page that is stored in its own subdirectory, say ${\large \color{#446FBD}\text{01\ Introducing\ the\ GitHub\ Wiki.md}}$ which is in the subdirectory: /01-0000/, the link stays exactly the same:

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

[fig 99.01](./99-0000/02-images/fig%2099-01.png)

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

<a href="./99-0000/02-images/fig%2099-01.png"> fig 99.01</a>

It is surprising because the image is not in a subdirectory of the 01-0000 folder; to get to the 99-0000 folder from the 01-0000 folder we need to go up a level, i.e. the link should be:

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

[fig 99.01](../99-0000/02-images/fig%2099-01.png)

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

<a href="../99-0000/02-images/fig%2099-01.png"> fig 99.01</a>

With ../ at the start to go up a level.

So what is happening?

Well, GitHub has a flexible attitude when it comes to .md files (the Wiki pages).

With all Wiki pages (that end .md) GitHub ignores all subdirectories, it considers everything to be at the same top-level as the Home.md page.

The upshot of this is that when linking from a Wiki page to an element in the same Wiki, that page can be considered (for all practical purposes) to be in the top-level folder of the Wiki (i.e. at the /wiki/ folder level). All subfolders can thus be accessed using the ./ current directory path terminology.


Footnotes:     


Note

💠3 The % sign in a URL is used to insert a character that is not normally supported, it is in the format: %nn where nn is a two-digit hexadecimal number that represents the hexadecimal Unicode value of the character. The space character is Unicode decimal character 32, or in hexadecimal this is character 20. Entering %20 in a URL effectively inserts a space character into the URL string.


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