Skip to content

Latest commit

 

History

History
264 lines (181 loc) · 7.53 KB

CONTRIBUTING.md

File metadata and controls

264 lines (181 loc) · 7.53 KB

Contributing

To contribute to the Quiqr documentation, please read the following. Pull requests that do not meet the criteria described below will not be merged. Before submitting a PR:

This will improve the chances of your contribution being accepted quickly.

Contents

Suitable content

The Handbook is not intended to be a general guide to using the Hugo static site generator. system, as noted in the "About" section:

This handbook is not an extensive guide on how to use and configure hugo websites The purpose of this document is to explain how to install, configure, and maintain Quiqr websites ...

Thus, we are unlikely to accept contributions which add information that is not particularly Quiqr-specific.

Style Guide

This style guide outlines the standards for contributing to the Handbook. The manual on https://book.quiqr.org/ is generated from an hugo-book site stored in the quiqr-book repository.

General

Although there will always be cases where command listings are appropriate, the contents of the Handbook should be written in American English.

Formatting

For markdown formatting, this project uses the default Hugo markdown format. Most valid markdown is accepted by the formatter. Read more about [Hugo markdown formatting)[https://www.markdownguide.org/tools/hugo/].

Placeholders

Placeholders indicate where the user should substitute the appropriate information. They should use square brackets ([ and ]) and contain only lower-case text, with words separated by underscores. For example:

$ cat ~/Quiqr Data/config.<site_name>.json

and not:

$ cat ~/Quiqr Data/config.[site_name].json

Links

Link text should not include sentence-level punctuation. For example:

[Visit this site](https://example.org).

and not:

[Visit this site.](https://example.org)

Internal links

Links to other sections of the Handbook use the Hugo ref shortcode.

For example:

[example]({{< ref "document#anchor" >}})

and not:

[example](./example.md#heading-text)

When referring literally to a Handbook section, the section title should be placed in double-quotes. Otherwise, double-quotes are not required. For example:

For more information, please read the "[Site workspace configuration]({{< ref "../1-workspace-conf/" >}})" section.

and

Quiqr automatically creates a [Site workspace configuration]({{< ref "../1-workspace-conf/" >}}).

Auto Links

Auto links (links with the same title as URL) should use the following notation:

this is an autolink https://www.example.com/ and you should not do anything else.

They should not be formatted like this:

[https://www.example.com/](https://www.example.com/)

Redirects

When changing a section name, or moving a section to a different part of the Handbook, a Hugo alias must be added to the frontmatter section in the moved document., e.g.

---
title: page with new name
aliases:
  - "/docs/page-with-old-name/"
---

Case

Proper nouns outside of code blocks should use the casing of official information sources: e.g. 'Hugo' not 'hugo', 'GDPR' not 'gdpr', 'twitter' not 'Twitter', etc. In general, abbreviations should be upper-cased: 'CPU' for central processing unit, 'SSD' for solid state drive, 'UI' for user interface, etc.

Handbook filenames and directories should use kebab case when splitting words. For example the filename should be post-install.md not postinstall.md.

Voice

Prefer the active imperative voice when writing documentation. Consider the following examples:

Now we need to install the Electron and and test it.

This version is conversational and friendlier, but contains unnecessary language that may not be as clear to an ESL reader.

Install the Electron, then test if it works correctly.

This version contains a clear command to act, and a follow up that shows what will be done next. It is clear both to native English speakers, ESL readers, and to translators.

Warnings

Warnings should begin with **Warning**:, and should not be block-quoted with >. For example, the Markdown should look like:

**Warning**: Selecting the wrong option will detroy your old WordPress website.

and not:

> WARNING: Selecting the wrong option will destroy your old WordPress website.

Notes

Notes should only be used sparingly, and for non-critical information. They should begin with a phrase such as "Note that ..." or "It should be noted that ... ", and not be block-quoted with >. For example, the Markdown should look like:

Note that you can also use Quiqr utility X for this purpose.

and not:

> You can also use Quiqr utility X for this purpose.

Block quotes

Block quotes (i.e. >) should only be used to quote text from an external source.

Submitting Changes

Proposed changes should be submitted as pull requests to the Quiqr Book repository on GitHub. Please note that, unlike a wiki, submissions will be reviewed before they are merged. If any changes are required they will need to be made before the pull request is accepted. This process is in place to ensure the quality and standards of the Quiqr Book are sustained.

Requirements

You can use the edit this page link at the bottom of each page to use the online GitHub editing tools to create a fork, create a modification and send a pull request.

To clone the repository locally and push changes, git is required. It can be installed via the git package.

Building the Quiqr Book locally requires a recent version of Hugo extended.

Forking

To fork the repository a GitHub account is needed. Once you have an account, follow GitHub's guide on setting up a fork.

Clone the repository onto your computer, enter it, and create a new branch:

$ git clone https://github.com/<your_username>/quiqr-book.git
$ cd quiqr-book
$ git checkout -b <branch_name>

You can then edit the repository files as appropriate.

Making changes

To serve the docs locally and view your changes, run hugo server --minify from the root of the repository.

If hugo server runs without errors, push your changes to your forked repository:

$ git add <edited_file(s)>
$ git commit -m "<commit_message>"
$ git push --set-upstream origin <branch_name>

The commit message should be in the form <filename>: <description_of_changes>.

Pull requests should only contain a single commit. If a change is made after the initial commit, git add the changed files and then run git commit --amend. The updated commit will need to be force-pushed: git push --force.

If multiple commits are made they will need to be squashed into a single commit with git rebase -i HEAD~X, where X is the number of commits that need to be squashed. An editor will appear to choose which commits to squash. A second editor will appear to choose the commit message. See git-rebase for more information. The updated commit will need to be force-pushed: git push --force.