Publish API documentation via Travis and Sami

Fixes #491
Fixes #497
This commit is contained in:
Adrien Crivelli 2018-06-04 13:17:59 +09:00
parent df6443feaf
commit 1afba78f85
No known key found for this signature in database
GPG Key ID: B182FD79DC6DE92E
4 changed files with 45 additions and 6 deletions

24
.sami.php Normal file
View File

@ -0,0 +1,24 @@
<?php
use Sami\RemoteRepository\GitHubRemoteRepository;
use Sami\Sami;
use Sami\Version\GitVersionCollection;
use Symfony\Component\Finder\Finder;
$iterator = Finder::create()
->files()
->name('*.php')
->in($dir = __DIR__ . '/src');
$versions = GitVersionCollection::create($dir)
->addFromTags(function ($version) {
return preg_match('~^\d+\.\d+\.\d+$~', $version);
})
->add('master');
return new Sami($iterator, [
'title' => 'PhpSpreadsheet',
'versions' => $versions,
'build_dir' => __DIR__ . '/build/%version%',
'cache_dir' => __DIR__ . '/cache/%version%',
'remote_repository' => new GitHubRemoteRepository('PHPOffice/PhpSpreadsheet', dirname($dir)),
]);

View File

@ -38,3 +38,20 @@ jobs:
after_script: after_script:
- wget https://scrutinizer-ci.com/ocular.phar - wget https://scrutinizer-ci.com/ocular.phar
- php ocular.phar code-coverage:upload --format=php-clover tests/coverage-clover.xml - php ocular.phar code-coverage:upload --format=php-clover tests/coverage-clover.xml
- stage: API documentation
before_script:
- curl -O http://get.sensiolabs.org/sami.phar
script:
- git fetch origin master:master
- git fetch origin --tags
- php sami.phar update .sami.php
- echo '<html><head><meta http-equiv="Refresh" content="0; url=master/"></head><body><p>If you are not automatically redirected, please go to <a href="master/">the latest stable API documentation</a>.</p></body></html>' > build/index.html
deploy:
provider: pages
skip-cleanup: true
local-dir: docs
github-token: $GITHUB_TOKEN
on:
all_branches: true
condition: $TRAVIS_BRANCH =~ ^master|develop$

View File

@ -18,9 +18,7 @@ PhpSpreadsheet is a library written in pure PHP and providing a set of classes t
## Documentation ## Documentation
Read more about it, including install instructions, in the official documentation: Read more about it, including install instructions, in the [official documentation](https://phpspreadsheet.readthedocs.io). Or check out the [API documentation](https://phpoffice.github.io/PhpSpreadsheet/master).
https://phpspreadsheet.readthedocs.io
Please ask your support questions on [StackOverflow](http://stackoverflow.com/questions/tagged/phpspreadsheet), or have a quick chat on [Gitter](https://gitter.im/PHPOffice/PhpSpreadsheet). Please ask your support questions on [StackOverflow](http://stackoverflow.com/questions/tagged/phpspreadsheet), or have a quick chat on [Gitter](https://gitter.im/PHPOffice/PhpSpreadsheet).

View File

@ -3,12 +3,12 @@
The following pages offer you some widely-used PhpSpreadsheet recipes. The following pages offer you some widely-used PhpSpreadsheet recipes.
Please note that these do NOT offer complete documentation on specific Please note that these do NOT offer complete documentation on specific
PhpSpreadsheet API functions, but just a bump to get you started. If you PhpSpreadsheet API functions, but just a bump to get you started. If you
need specific API functions, please refer to the API documentation. need specific API functions, please refer to the [API documentation](https://phpoffice.github.io/PhpSpreadsheet/master).
For example, [setting a worksheet's page orientation and size For example, [setting a worksheet's page orientation and size
](#setting-a-worksheets-page-orientation-and-size) covers setting a page ](#setting-a-worksheets-page-orientation-and-size) covers setting a page
orientation to A4. Other paper formats, like US Letter, are not covered orientation to A4. Other paper formats, like US Letter, are not covered
in this document, but in the PhpSpreadsheet API documentation. in this document, but in the PhpSpreadsheet [API documentation](https://phpoffice.github.io/PhpSpreadsheet/master).
## Setting a spreadsheet's metadata ## Setting a spreadsheet's metadata
@ -301,7 +301,7 @@ $spreadsheet->getActiveSheet()->getPageSetup()
``` ```
Note that there are additional page settings available. Please refer to Note that there are additional page settings available. Please refer to
the API documentation for all possible options. the [API documentation](https://phpoffice.github.io/PhpSpreadsheet/master) for all possible options.
### Page Setup: Scaling options ### Page Setup: Scaling options