Go to file
Cam Findlay 7a33b97493 Merge pull request #128 from SpiritLevel/master
change toolbar dev hostname to www.silverstripe.org so toolbar works …
2016-03-27 11:07:16 +13:00
app change toolbar dev hostname to www.silverstripe.org so toolbar works locally 2016-03-21 22:26:55 -06:00
themes/docs added feedback form styles to site 2016-02-16 16:11:27 +13:00
.editorconfig Added EditorConfig for coding convention consistency. 2015-01-20 10:06:14 +13:00
.gitignore Adding quickfeedback form 2016-02-16 11:00:18 +13:00
.htaccess FIX Redirect older legacy links to the canonical docs.silverstripe.org 2016-02-25 11:43:48 +13:00
composer.json Update to feedback module + core update 2016-02-29 16:18:25 +13:00
composer.lock Update core 3.3.1 and docsviewer 1.4 2016-03-02 15:56:55 +13:00
favicon.ico organised favicons 2015-11-26 10:35:23 +13:00
google9d5116bbb46f4c16.html Added Google Webmaster Tools verification 2013-09-06 20:53:22 +02:00
phpunit.xml.dist Updated PHPUnit default file 2013-05-29 18:08:35 +02:00
README.md Renamed methods and variables for clarity; tidied code 2016-02-14 15:17:56 -07:00
robots.txt added crontask and updatetask buildtask as per userhelp, repositories yml, updated robots file, removed update shell script 2016-02-11 14:16:18 +13:00

doc.silverstripe.org

This is the source code powering http://docs.silverstripe.org. It primarily consists of the SilverStripe framework and the docsviewer module with minimal configuration.

For adding functionality or editing the style of the documentation see the docsviewer module.

Development

To set up a test instance:

  • Clone this repository to a LAMP server.
  • Install Composer
  • Install sake.
  • After installing composer run composer install --prefer-source to grab the modules.
  • Run the docs crontask in the browser dev/tasks/UpdateDocsCronTask to download all fresh markdown documentation files and reindex them. Note: this will take some time to run. Alternatively, you can use sake to perform these tasks by firstly running the command sake dev/tasks/RefreshMarkdownTask flush=1 and secondly sake dev/tasks/RebuildLuceneDocsIndex flush=1.
  • Make sure to flush the cache for markdown content to show up.

Source Documentation Files

Documentation for each module is stored on the filesystem via a full git clone of the module to the src/ subdirectory in this project. These checkouts are ignored from this repository to allow for easier updating and to keep this project small.

To update or download the source documentation at any time run the following BuildTask command with sake:

cd /Sites/doc.silverstripe.org/
sake dev/tasks/RefreshMarkdownTask flush=1

This build task will download / update each module as listed in the app/_config/docs-repositories.yml file. Running sake dev/tasks/RebuildLuceneDocsIndex flush=1 will then create a search index and reindex the documentation to facilitate searching.

Once the build task has executed and downloaded the latest files, those files are registered along with the module version the folder relates to through the app/_config/docsviewer.yml file.

DocumentationManifest:
  register_entities:
    -
      Path: "src/framework_3.2/docs/"
      Title: "Developer Documentation"
      Version: "3.2"
      Stable: true
      DefaultEntity: true

Set Stable: true on the set of documentation relating the current stable version of SilverStripe.

Contribution

To contribute an improvement to the docs.silverstripe.org functionality or theme, submit a pull request on GitHub. Any approved pull requests will make their way onto the docs.silverstripe.org site in the next release.

The content for docs.silverstripe.org is stored in the modules repository inside a "docs" folder (for example, the framework documentation is stored at https://github.com/silverstripe/silverstripe-framework/tree/master/docs.

If you wish to edit the documentation content, submit a pull request on that Github project. Updates to the content are synced regularly with docs.silverstripe.org via a cron job.

Cron job

The cron job UpdateDocsCronTask includes tasks that fetch the latest documentation for each module from git and rebuilds the search indexes.

public function getSchedule() {
    return "0 20 * * *"; // runs process() function every day at 8PM
}

Deployment

Deployment is via the SilverStripe Platform deployment tool and uses StackShare.