About This Wiki

This is a git-based wiki where anyone with a NETHZ can edit any page, even this page itself.

How It Works

This wiki consists of several ‘sites’ each with several pages. Generally each distinct subject has its own site.
For the implementation, each site/subject has its own Gitlab repo for the content and issue tracking. This keeps unrelated things independent. A repo generally consists of:

  1. Markdown files, one file per page
  2. assets directory for images used in the page
  3. downloads directory
  4. A .siteconf file which stores properties about how to generate the site

Getting Started

  1. Request access to the ‘CSE Wiki’ Gitlab Group, this will give you access to all the content repos

    1. We will try to grant this access as quickly as possible

      Request Access

  2. On the page you want to edit, follow the ‘Edit Page’ button to the git repository.
  3. Clone, Edit, Commit, Push. Changes on the master will be automatically applied

    1. If there are several people already working on the repo, it may make sense to create your own branch
    2. You can also use tags to show different versions on the wiki

Writing Markdown

Markdown is a simple plain-text formatting language used for writing the page content. It can be thought of as shorthand html.

Recommended Markdown Editors: Typora, VSCode/Atom with packages, MacDown
But there are many others available, you can even edit in Gitlab in your browser

Quick Reference:

  • Table of Contents: [TOC]

  • Add Image (either works)
    ![name](/assets/image.png)
    <img src="/assets/image.png" style="zoom:100%"/>
    
  • Set text color
    <span style="color:gray">
       Text Here</span>
    
  • Write Math in Latex, surround with $ tags. The exact syntax is from MathJax (Cheatsheet)

    For inline $Latex$
    $$
    For an equation
    $$
    
  • Add page break for pdf export

    <div style="page-break-after: always;" />
    
  • Add a divider line: <hr>

Adding links to other content in the site:

  • [Title](/assets/myfile) - to reference an asset, e.g. image
  • [Title](/downloads/myfile)
  • [Title](otherpage) - to link to another page within the same site, a relative link
  • [Title](/othersite/page) - to link relative to root of whole website
    • e.g. go to index with [](/index.html)
  • [Title](otherpage){:target="_blank"} to open in a new tab
    • External links starting with http will open in a new tab by default

Configuring A Site .siteconf

The .siteconf stores properties for how to create your site and which files to include.
Only files stated and assets/downloads will be on the website, everything else is ignored.

title="My Title"
pages="page-1.md page-2.md"
login_required="yes"

assets="myAssetsFolder"
downloads="myDownloadsFolder"

Note: Do not add spaces around the equals =

  1. pages - the order will match the order in the navigation, the first is the index page
    • Include the .md file extension
  2. login_required - any ETH user can access the site after logging in
    • Note: If the master is set to require a login, all tags will also require a login
  3. assets and downloads indicate in which folders the assets and downloads are
    • assets are meant for images and other content required in your page
    • It is recommended to just keep these names the same
    • Currently allowed file types:
      • Assets: png,jpg,jpeg
      • Downloads: png,jpg,jpeg,pdf,tex,txt,md,docx,pptx,cpp,hpp,h,py

Adding A New Site/Repo

Create an issue here to request for a new site/subject/repo to added to the wiki.