Skip to content
Daniel Ruprecht edited this page Jul 1, 2015 · 49 revisions

Contributing to parallel-in-time.github.io

Providing your own content: General workflow

If you don't have one yet, create a GitHub account.

  1. If this is the first time you are contributing to the website: Fork the repository . If you already forked the repository before, you may want to sync your fork now (be sure to sync both your master and source branches).
  2. Clone your fork.
    You can copy the link from your fork's GitHub page: The entry looks like 'Clone this wiki locally' on the right.
  3. Checkout the source branch: Go into the cloned directory and type git checkout sourceNote: You never directly modify the master branch. It is created automatically from the source branch.
  4. Create a feature branch my-awesome-new-content or fix-annoying-typo. Assume you want to add a new method named AWESOME for example, so you write git checkout -B add_method_awesome.
  5. Add new content, fix existing or add missing publications.
    1. Read Creating New Pages or News.
      If you are not familiar with markdown, just look at existing entries: It is easy.
    2. Read Adding Publications.
      Adding a new or missing publication to the list is easy as adding a BibTeX entry to the BibTeX file. To add a new entry describing a new method, you might just copy one of the existing files in the _methods directory, i.e. by cp parareal.markdown awesome.markdown and then modify its header and text.
  6. Read Testing Locally to see how you can view the website locally on your computer.
  7. Add and commit your changes, then push them to your forked repository on GitHub.
  8. Create a pull request (PR) against the source branch
  9. Wait for one of the admins to merge your PR and see your content online

Where to Add Content

With the exception of a few files, all content is written with Markdown syntax and a couple of Liquid Tags. For a list of supported tags see Supported Liquid Tags.

The site is ordered into a few general topics: Events, Groups, Projects, Codes and News.

Each of these topics has an own directory where to put new content and certain templates:

Topic Directory Template
Codes _codes code_page
Events _events_past event_past_page
_events_upcoming event_upcoming_page
Groups _groups group_page
Methods _methods method_page
News _posts news_post
Projects _projects project_page

Read about the short and few details on Creating New Pages or News.

Required Naming Conventions

There are some expected conventions for file names enforced by the conversion and build system (in our case Jekyll and Octopress).

Events (past and upcoming) and News

They must start with a date of the form YYYY-MM-DD followed by the title in lowercase and simple dashes as word separation.
The follow are valid file names:

2013-02-21-awesome-news.markdown
2014-05-26-3rd-pnt-workshop.markdown

And these are invalid file names:

07-2-1_tried-but failed.markdown
2014-05-26_3rd-pint-workshopt.markdown

Structure of Content Files

All content files (those, which are of type text/plain and have the .markdown ending) have a YAML-formatted header enclosed in two lines of three dashes.
This header provides all the basic meta information for the specific content, such as Title, Author, Creation Date, Date of Last Update, Template, Categories, etc.

The actual Markdown-formatted content follows after the header.

Testing the Site Locally

See Testing Locally.

Dear Future Maintainer

In case our Jenkins Server building and deploying the site currently, has reached the digital nirvana, look at Deploying The Site for instructions to deploy updates manually.

Clone this wiki locally