Skip to content

Instantly share code, notes, and snippets.

@imliam
Created May 18, 2017 15:11
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save imliam/c4295e89eacba64d7d63745aec72b118 to your computer and use it in GitHub Desktop.
Save imliam/c4295e89eacba64d7d63745aec72b118 to your computer and use it in GitHub Desktop.
Package Project Template

Project Title

Project Logo

Introduction

A paragraph to introduce the project, describing it in a few short sentences to grab people's attention and let them know if it will be useful for them.

Contents

  • Introduction
    • Contents
    • Features
    • Usage
    • Installation
  • Function Contents
    • Function List 1
    • Function List 2
  • Function Listing
  • Additional
    • Useful Links
    • Credits

Features

  • A short list of points about the project
  • The list should apply to most use cases of the project

Usage

An explanation on how to use the project on a basic level, with one or two brief examples.

print('Code example.');
// 'Code example.'

This may go into more depth about the high-level usage of the project, such as if its data manipulation is mutable or immutable, describing any custom data formats, etc.

Installation

Instructions explaining how to install the project, so that the user can start working with it themselves. The section should consider covering the following points:

  • Installation through a dependency manager
  • Installing without a dependency manager
  • The environment required to work (any prerequesite libraries or binaries)
  • Any changes that need to be made between development and production deployment
  • Using sub-headings to differentiate between multiple installation methods
  • Step-by-step guide to explain how to install
  • Using the most basic feature of the project to ensure it works

Function Contents

This section lists all of the available functions.

An alphabetical, or otherwise logically sorted list (from top-left to bottom-right, reading left-to-right) of functions available in the project. No more than 4 per line, so the list is still all viewable on smaller screens.

If there are not multiple distinct types of functions, the subheadings can be left out.

Function List 1

- - - -
functionOne functionTwo functionThree functionFour
functionFive

Function List 2

- - - -
functionSix functionSeven

Function Listing

Function List 1


functionOne(arg1, arg2, [argOptional], [argWithDefault = true])

Description: Description of the function.

Returns: type - The data type(s) the function returns.

Arguments:

# Required Type Name Description Default
1 [x] type arg1 Description of the argument.
2 [x] type arg2 Description of the argument.
3 [ ] type argOptional Description of the argument.

Basic HTML can be used for formatting such as line breaks.
4 [ ] type argWithDefault Description of the argument. true

Example:

functionOne(arg1, arg2)
// Function's return value displayed here

functionTwo(arg1, arg2, [argOptional], [argWithDefault = true])

Description: Description of the function.

Returns: type - The data type(s) the function returns.

Arguments:

# Required Type Name Description Default
1 [x] `type` arg1 Description of the argument.
2 [x] `type` arg2 Description of the argument.
3 [ ] `type` argOptional Description of the argument with additional detail.
  • For example,
  • a list can be
  • displayed in the description.
1 [x] `type` argWithDefault Description of the argument. `true`
# Required Type Name Description Default
1 [x] type arg1 Description of the argument.
2 [x] type arg2 Description of the argument.
3 [ ] type argOptional Description of the argument.
4 [ ] type argWithDefault Description of the argument. true

Example:

functionTwo(arg1, arg2)
// Function's return value displayed here

Function List 2

Additional

Any additional content, notes, and sections after the main bulk of the documentation's content.

Useful Links

Credits

The following people have helped with this project, and should be thanked:

  • @you (project lead)
  • @me (documentation)
  • @randomGuy (frequent PRs to add additional features)
  • @huehue (Translating documentation to Portuguese)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment