Skip to content

Latest commit

 

History

History
103 lines (86 loc) · 6.36 KB

CONTRIBUTING.md

File metadata and controls

103 lines (86 loc) · 6.36 KB
tags aside sidebar author excerpt_separator key
introduction contribution
toc
true
nav
aboutnav
deuterium
<!--more-->
contribution00001

This is an open-sourced website hosted on github pages!
If you wish to contribute or have a cool idea to share or even a cool challenge which can be put up as an assignment, this is the correct page you are looking at.

Contributing as a collaborator

This repository uses jekyll theme TeXt, check out the documentation for features and syntax.
All the posts are stored in _posts directory, creating a file YYYY-MM-DD-name.md creates a url /YYYY/MM/DD/name.html in the github pages.
To create a new post, just create a new file of the specified format.

Not a collaborator?

Create a fork and issue a pull request with the repository. Make sure the branch you are working on is updated with the master branch. If you feel you would be a regular contributor, just feel free to let us know so that we can add you as collaborator!

Not sure if you want to publish directly?

Create the same file with specified format in _drafts (create if directory not available)

Showcase your work

You can showcase your work by having an author badge at the bottom which can be configured to display your profile (name, bio, github, twitter, linkedin etc). Just navigate to _data/authors.yml and append your details (take hints from pre existing author details).

Note: Undesired files (not to be shown on the website) or paths should be added in the exclude variable in _config.yml

Each post page has a beginning element called frontmatter which is enclosed in ---
This yaml is configuration of the current page.
Example

---
sha256hash: 
  - ac4ee365e333646bbe4b73dae90dc8e86963938aefdae2b66939d3df00e4ea64
  - 4c5db009cef8181649d705e96a3f2c2bbad000b08547a9302b929f9ee700cf05
  - 5b3d987184abbe3f84f5a47407f23d30658bb5e4a6bdc665d3c616bff68f5eb5
tags: introduction assignment
aside:
  toc: true
sidebar:
  nav: aboutnav
excerpt_separator: <!--more-->
author: deuterium
key: assignment000001
---

Some of the tags have been explained below,

|------------------------+---------------------------------------------------------------------------------------------|

Tag Description
author The name of the article author as defined in _data/authors.yml
------------------------+---------------------------------------------------------------------------------------------
tags Space separated list of tags to categorize the page
------------------------+---------------------------------------------------------------------------------------------
aside For providing table of contents on right side of screen, autogenerated from page contents
------------------------+---------------------------------------------------------------------------------------------
sidebar For providing sidebar navigation to across articles, can be defined in _data/navigation.yml (needs to be defined beforehand)
------------------------+---------------------------------------------------------------------------------------------
key A unique key to the page (required for loading comments)
------------------------+---------------------------------------------------------------------------------------------
excerpt_separator An html tag <!--more--> to specify till where the text of artcle needs to be taken as the excerpt of the article
------------------------+---------------------------------------------------------------------------------------------
sha256hash To be used in assignment tasks. Just specify the sha256 of the flag.
------------------------+---------------------------------------------------------------------------------------------
mathjax true enables mathjax syntax
------------------------+---------------------------------------------------------------------------------------------
mathjax_autoNumber Autonumbers the equations
------------------------+---------------------------------------------------------------------------------------------
mermaid true enables mermaid js (very handy for quick diagrams)
------------------------+---------------------------------------------------------------------------------------------
chart true enables char.js on the page
------------------------+---------------------------------------------------------------------------------------------

Check out other features in documentation

Creating an assignment

Assignment will be just another article page, with tasks in it.
The files required for the task need to be put into assignments directory in a directory which is name of the article.
For each task, calculate the sha256 of the flag and put it in the sha256hash array in frontmatter.
Put the tags

{{ "{% assign index = 0 " }}%}
{{ "{% include checkflag.html " }}%}

To specify index of the task and include a flag input box!
Check out what are assignments.md for an example.

Well thats all it takes to contribute and publish your article 😄
Expecting cool contributions! Who knows it may be your shot to learn writing and enhance your communication 😉

Let me know if something is missing or unclear