mirror of
https://github.com/silverstripe/silverstripe-framework
synced 2024-10-22 14:05:37 +02:00
Added documentation writing style guide points
This commit is contained in:
parent
7e0276b8ad
commit
36f62b6d4f
@ -1,7 +1,7 @@
|
|||||||
title: Documentation
|
title: Documentation
|
||||||
summary: Developer and CMS User Help Documentation.
|
summary: Writing guide for contributing to SilverStripe developer and CMS user help documentation.
|
||||||
|
|
||||||
# Contributing Documentation
|
# Contributing documentation
|
||||||
|
|
||||||
Documentation for a software project is a continued and collaborative effort, we encourage everybody to contribute, from
|
Documentation for a software project is a continued and collaborative effort, we encourage everybody to contribute, from
|
||||||
simply fixing spelling mistakes, to writing recipes, reviewing existing documentation, and translating the whole thing.
|
simply fixing spelling mistakes, to writing recipes, reviewing existing documentation, and translating the whole thing.
|
||||||
@ -12,15 +12,15 @@ Modifying documentation requires basic [PHPDoc](http://en.wikipedia.org/wiki/PHP
|
|||||||
## Editing online
|
## Editing online
|
||||||
|
|
||||||
The easiest way of making a change to the documentation is by clicking the "Edit this page" link at the bottom of the
|
The easiest way of making a change to the documentation is by clicking the "Edit this page" link at the bottom of the
|
||||||
page you want to edit. Alternativly, you can find the appropriate .md file in the
|
page you want to edit. Alternatively, you can find the appropriate .md file in the
|
||||||
[github.com/silverstripe/silverstripe-framework](https://github.com/silverstripe/silverstripe-framework/tree/master/docs/)
|
[github.com/silverstripe/silverstripe-framework](https://github.com/silverstripe/silverstripe-framework/tree/master/docs/)
|
||||||
repository and press the "edit" button. **You will need a free GitHub account to do this**.
|
repository and press the "edit" button. **You will need a free GitHub account to do this**.
|
||||||
|
|
||||||
|
|
||||||
* After you have made your change, describe it in the "commit summary" and "extended description" fields below, and
|
* After you have made your change, describe it in the "commit summary" and "extended description" fields below, and
|
||||||
press "Commit Changes".
|
press "Commit Changes".
|
||||||
* After that you will see form to submit a Pull Request. You should just be able to submit the form, and your changes
|
* After that you will see form to submit a Pull Request. You should be able to adjust the version your document ion change is for and then submit the form. Your changes
|
||||||
will be sent to the core team for approval.
|
will be sent to the core committers for approval.
|
||||||
|
|
||||||
<div class="warning" markdown='1'>
|
<div class="warning" markdown='1'>
|
||||||
You should make the changes in the lowest branch they apply to. For instance, if you fix a spelling issue that you
|
You should make the changes in the lowest branch they apply to. For instance, if you fix a spelling issue that you
|
||||||
@ -46,11 +46,11 @@ documentation. This helps prevent our documentation from getting out of date.
|
|||||||
|
|
||||||
## Repositories
|
## Repositories
|
||||||
|
|
||||||
* End-user: [userhelp.silverstripe.org](http://userhelp.silverstripe.org).
|
* End-user: [userhelp.silverstripe.org](http://github.com/silverstripe/userhelp.silverstripe.org)
|
||||||
* Developer Guides: [doc.silverstripe.org](http://doc.silverstripe.org).
|
* Developer guides: [doc.silverstripe.org](http://github.com/silverstripe/doc.silverstripe.org)
|
||||||
* Developer API Docuumentation: [api.silverstripe.org](http://api.silverstripe.org).
|
* Developer API documentation: [api.silverstripe.org](http://github.com/silverstripe/api.silverstripe.org)
|
||||||
|
|
||||||
## Source Control
|
## Source control
|
||||||
|
|
||||||
In order to balance editorial control with effective collaboration, we keep documentation alongside the module source
|
In order to balance editorial control with effective collaboration, we keep documentation alongside the module source
|
||||||
code, e.g. in `framework/docs/`, or as code comments within PHP code. Contributing documentation is the same process as
|
code, e.g. in `framework/docs/`, or as code comments within PHP code. Contributing documentation is the same process as
|
||||||
@ -58,9 +58,9 @@ providing any other patch (see [Contributing code](code)).
|
|||||||
|
|
||||||
## What to write
|
## What to write
|
||||||
|
|
||||||
See [What to write (jacobian.org)](http://jacobian.org/writing/great-documentation/what-to-write/) for an excellent
|
See [what to write (jacobian.org)](http://jacobian.org/writing/great-documentation/what-to-write/) for an excellent
|
||||||
introduction to the different types of documentation, and
|
introduction to the different types of documentation, and
|
||||||
[Producing OSS: "Documentation"](http://producingoss.com/en/getting-started.html#documentation) for good rules of thumb
|
[producing OSS: "documentation"](http://producingoss.com/en/getting-started.html#documentation) for good rules of thumb
|
||||||
for documenting open source software.
|
for documenting open source software.
|
||||||
|
|
||||||
## Structure
|
## Structure
|
||||||
@ -68,21 +68,28 @@ for documenting open source software.
|
|||||||
* Keep documentation lines to 120 characters.
|
* Keep documentation lines to 120 characters.
|
||||||
* Don't duplicate: Search for existing places to put your documentation. Do you really require a new page, or just a new paragraph
|
* Don't duplicate: Search for existing places to put your documentation. Do you really require a new page, or just a new paragraph
|
||||||
of text somewhere?
|
of text somewhere?
|
||||||
* Use PHPDoc in source code: Leave lowlevel technical documentation to code comments within PHP, in [PHPDoc](http://en.wikipedia.org/wiki/PHPDoc) format.
|
* Use PHPDoc in source code: Leave low level technical documentation to code comments within PHP, in [PHPDoc](http://en.wikipedia.org/wiki/PHPDoc) format.
|
||||||
* API and Developer Guides complement each other: Both forms of documenting source code (API and Developer Guides) are valuable resources.
|
* API and developer guides complement each other: Both forms of documenting source code (API and Developer Guides) are valuable resources.
|
||||||
* Provide context: Give API documentation the "bigger picture" by referring to Developer Guides inside your PHPDoc.
|
* Provide context: Give API documentation the "bigger picture" by referring to developer guides inside your PHPDoc.
|
||||||
* Make your documentation findable: Documentation lives by interlinking content, so please make sure your contribution doesn't become an
|
* Make your documentation findable: Documentation lives by interlinking content, so please make sure your contribution doesn't become an
|
||||||
inaccessible island. Your page should at least be linked on the index page in the same folder. It can also appear
|
inaccessible island. Your page should at least be linked on the index page in the same folder. It can also appear
|
||||||
as "related content" on other resource (e.g. `/topics/search` might link to `howto/search-dataobjects`).
|
as "related content" on other resource (e.g. `/tutorials/site_search` might link to `/developer_guides/forms/introduction`).
|
||||||
|
|
||||||
## Writing Style
|
## Writing style
|
||||||
|
|
||||||
* Write in second plural form: Use "we" instead of "I". It gives the text an instructive and collaborative style.
|
* Write in second plural form: Use "we" instead of "I". It gives the text an instructive and collaborative style.
|
||||||
* It's okay to address the reader: For example "First you'll install a webserver" is good style.
|
* It's okay to address the reader: For example "First you'll install a webserver" is good style.
|
||||||
* Write in an active and direct voice.
|
* Write in an active and direct voice.
|
||||||
* Mark up correctly: Use preformatted text, emphasis and bold to make technical writing more "scannable".
|
* Mark up correctly: Use preformatted text, emphasis and bold to make technical writing more "scannable".
|
||||||
* Avoid FAQs: FAQs are not a replacement of a coherent, well explained documentation. If you've done a good job
|
* Avoid FAQs: FAQs are not a replacement of a coherent, well explained documentation. If you've done a good job
|
||||||
documenting, there shouldn't be any "frequently asked questions" left ;)
|
documenting, there shouldn't be any "frequently asked questions" left.
|
||||||
|
* "SilverStripe" should always appear without a space, use two capital S’.
|
||||||
|
* Use simple language and words. Avoid uncommon jargon and overly long words.
|
||||||
|
* Use UK English and not US English. SilverStripe is proudly a New Zealand open source project we use the UK spelling and forms of English. The most common of these differences are -ize vs -ise, or -or vs our (eg color vs colour).
|
||||||
|
* We use sentence case for titles so only capitalise the first letter of the first word of a title. Only exceptions to this are when using branded (e.g. SilverStripe), acronyms (e.g. PHP) and class names (e.g. ModelAdmin).
|
||||||
|
* Use gender neutral language throughout the document, unless referencing a specific person. Use them, they, their, instead of he and she, his or her.
|
||||||
|
* URLs: is the end of your sentence is a URL, you don't need to use a full stop.
|
||||||
|
* Bullet points: Sentence case your bullet points, if it is a full sentence then end with a full stop. If it is a short point or list full stops are not required.
|
||||||
|
|
||||||
## Highlighted blocks
|
## Highlighted blocks
|
||||||
|
|
||||||
@ -122,10 +129,10 @@ Code:
|
|||||||
...
|
...
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
See [Markdown Extra Documentation](http://michelf.com/projects/php-markdown/extra/#html) for more restriction
|
See [markdown extra documentation](http://michelf.com/projects/php-markdown/extra/#html) for more restriction
|
||||||
on placing HTML blocks inside Markdown.
|
on placing HTML blocks inside Markdown.
|
||||||
|
|
||||||
## Translating Documentation
|
## Translating documentation
|
||||||
|
|
||||||
Documentation is kept alongside the source code, typically in a module subdirectory like `framework/docs/en/`. Each
|
Documentation is kept alongside the source code, typically in a module subdirectory like `framework/docs/en/`. Each
|
||||||
language has its own subfolder, which can duplicate parts or the whole body of documentation. German documentation
|
language has its own subfolder, which can duplicate parts or the whole body of documentation. German documentation
|
||||||
@ -136,5 +143,5 @@ would for example live in `framework/docs/de/`. The
|
|||||||
## Further reading
|
## Further reading
|
||||||
|
|
||||||
* [Writing great documentation (jacobian.org)](http://jacobian.org/writing/great-documentation/)
|
* [Writing great documentation (jacobian.org)](http://jacobian.org/writing/great-documentation/)
|
||||||
* [How tech writing sucks: Five Sins](http://www.slash7.com/articles/2006/11/15/tech-writing-the-five-sins)
|
* [How tech writing sucks: Five sins](http://www.slash7.com/articles/2006/11/15/tech-writing-the-five-sins)
|
||||||
* [What is good documentation?](http://www.techscribe.co.uk/techw/whatis.htm)
|
* [What is good documentation?](http://www.techscribe.co.uk/techw/whatis.htm)
|
||||||
|
Loading…
Reference in New Issue
Block a user