SST Simulator Website

Introduction

sst-simulator.org is the main website for the SST Simulator project. It is hosted on GitHub Pages which is a hosting server for static web sites.

Where is it located

sst-simulator.org source files exist on GitHub in the sstsimulator/sstsimulator.github.io repository. Anyone wanting to modify the files must have a GitHub account and the appropriate permisions. If you encounter difficulties, go to the SST Support page.

Markdown

The primary engine behind GitHub Pages is Jekyll. Jekyll allows the user to develop web content in either raw HTML or Markdown (a text to html authoring language) and automatically converts into a usable static html website.

Examples of Markdown syntax

Examples for Markdown syntax and supported features is located here.

Liquid and Kramdown

In addition to Markdown, Jekyll uses:

GitHub Pages Information

GitHub Pages References:

GitHub Pages Notes:

How GitHub, Jekyll, Liquid and Kramdown all work.

  1. User pushes changes to master branch of sstsimulator.github.io repository.
  2. GitHub pages will automatically run the Jekyll processor on the committed files.
    1. Run source files through Liquid and perform appropriate operations on tags, filters and templates. Store results into working file.
    2. Run working files through Kramdown processor and store all results into the _site subdirectory on the GitHub Pages web server.
    3. The GitHub pages url sstsimulator.github.io is linked to the _site subdirectory

Major Areas of Design

Directory structure of sstsimulator.github.io

Content Pages

The /SSTPages directory contains the majority of the content used for the website.

All of the pages should have a defined prefix as part of its filename:

The page SSTPages/SSTPMSSTWikiPages provides a full list of pages with these prefixes. The page SSTPages/SSTPMSSTAtticPages provides a full list of moved to the /SSTAtticPages directory.

In the /SSTPages directory, there is a TemplatePage.md file that can be used as a starting file for future pages.

Include files

There are two types of files in the /_includes directory. Support files and SST Document includes.

Support Includes

These files have Inc_Support as a prefix in their file names. These provide a number of support functions used in other pages.

SST Document Includes

These files have Inc_SSTDoc as a prefix in their file names. These files provide content related to SST that can be duplicated in multiple pages.

Announcements

The files included in the /_posts directory are treated by Jekyll as blog entries. SST is using them as an announcments page (blogging is a possible future feature).

The main index page for the website has some scripts to scan the /_posts directory and display the latest posts. Additionally, there is a page to see all announcments by month/year.

Downloads

All downloads for SST are stored in the sstsimulator/sst-downloads repository. There are two tags for the releases (SSTReleases and SupportFiles). The tags should be edited and any additional files should be added as necessary to the tag.

The Downloads page should contain links to files in the above repository.

Doxygen

Doxygen for SST Releases and Nightly builds will be commited to the appropriate directories in /SSTDoxygen.

JavaScript

All Javascript code will be stored in the /js directory.

The following scripts are available:

Publications

Using the bibtex_js.js JavaScript, the sstpublications.bib file (located in the root of the repository) is converted into an html publications page. This conversion is done on the fly after the page loads.

Layout and Stylesheet

A modified version of the Sinorcaish stylesheet (in /stylesheets directory) is used to provide look and feel structure to the web site.

All markdown and html pages in the website will be rendered with the default.html (in /_layouts directory) page as the baseline template for all pages. This default.html works with the Sinorcaish stylesheet to implement the top bar, side bar and footers of the webpages.

Changes to either the Sinorcaish stylesheet or the default.html file will have global effects on the entire web site.

How to Develop and Test

As stated above, any commit to the master branch of the sstsimulator/sstsimulator.github.io repository will cause the site to rebuild with the new content. There are 2 main ways to make changes to the web site.

Quick and Dirty change

Significant content Development