Skip to content
Dima Korobskiy edited this page Jan 11, 2024 · 2 revisions

Table of Contents

About this Wiki

  • This Wiki runs on GitHub Wiki engine that supports 9 types of Wiki markup. The convention is to use MediaWiki markup which is the one that should be most familiar to team members.
  • Advanced help (e.g. how do I make a pre-formatted block inside a numbered list?) could be obtained at MediaWiki Editing FAQ
  • If you prefer, you can use Markdown markup. See GitHub help or the latest CommonMark spec for more details on GitHub-Flavored Markdown (GFM). You can use Pandoc if you need to convert a particular page between MediaWiki and GFM markups.

Extensions to MediaWiki markup

On top of MediaWiki markup, GitHub Wiki performs post-processing extending out-of-the-box MediaWiki capabilities. The following are the differences:

  1. Triple-backquote syntax for code blocks. Syntax highlighting could be done for a wide variety of programming languages. Some of the languages actually used in the code snippets on this Wiki are:
    • JSON
    • XML
    • HTML
    • PLSQL
    • PLpgSQL
    • SQL (Transact-SQL is currently not supported)
    • Cypher (currently not supported)
    • TypeScript
    • C#
    • Java
    • Bash
  2. [[Link Text|Full URL]] syntax for external links.
    • [] TODO report. This is the only acceptable syntax for external links in headings.
  3. Embedding of images: [[{full image URL}]]. The URL must end in an image extension, e.g. .png.
    • Alternatively you can embed by using a raw<img> tag.
    • If you're embedding an image from a GitHub repo, drill down to the image, then copy/paste a Download link.
    • Images are resized to the current content body width. You can tweak it by including custom width and/or height. Note that, unlike in Markdown, embedded images are not hyperlinked to the full image URL and you need to hyperlink separately.
  4. Emoji: e.g. :bowtie: = :bowtie:
  5. Limited use of raw HTML. HTML is sanitized, removing things such as script tags, inline styles, and class or id attributes. See the sanitization filter for the full whitelist.
    • When you include content in raw HTML, (most of) regular Wiki markup is automatically ignored inside these tags.
  6. Custom sidebar and footer which are rendered on every page.

Differences from MediaWiki and Defects

  1. You can use either page titles (e.g. [[Database Tools]]) or URL/file names (e.g. [[Database-Tools]]) in internal Wiki links.
  2. Pure anchor links e.g. [[#SQL Workbench/J]] are not supported. Anchor links must include page: e.g. [[Database Tools#SQL_WorkbenchJ]].
  3. Spaces in anchor names have to be replaced by underscores.
  4. Slashes, dashes, single quotes and parentheses in anchor names have to be omitted.
  5. The double-quote character destroys tables
  6. MediaWiki Categories are not supported

Conventions

  • Obsolete pages, information on completed projects and technologies no longer in active use by NETE should be moved to the Archive directory using Git. They still would show up in the list of all pages, but will be rendered with a custom Archive footer to highlight them as archived.
  • Important (as in mandatory) items are highlighted in bold
  • Variable parts are denoted in single braces. For example: {project directory} should be substituted by the actual project directory that is applicable to you.
  • Command line execution is denoted like this: >command parameters
    • If you include command inline and continue the sentence, you can denote it like this: >command parameters< in order to separate better from the rest of the sentence.
  • SQL execution is denoted like this: SQL> SQL query or SQL> @script.sql
  • User home (or user profile) directory is denoted like this: ~. This usually means: /Users/{My account name} or C:\Users\{My account name}.
  • Reasons and explanations are written as sub-bullets in italics:
    • This helps to separate them from the main content.
  • Tasks, TBD items, etc. are tagged in the beginning of the sentence with the following tags:
    • [ ] FIXME To do something: a high priority task to complete e.g. before the next release.
    • [ ] TODO To do something: a medium priority task.
    • [ ] TBD To do something: a low priority task.
    • If you use Markdown, these would render as read-only (non-clickable) task squares.
    • Completed tasks are removed from Wiki.

User customizations

Do you think that GitHub Wiki content bodies are too narrow and you have to scroll code samples horizontally?

  • GitHub toggle wiki sidebar browser user script allows users to toggle hiding of Wiki sidebars and expanding content to the right.
  • GitHub Dark Script browser user script allows users to toggle word-wrapping of triple-backquoted code blocks.

Team

  • Dima Korobskiy