Add API documentation generation with phpDocumentor (#184)
* Add API documentation generation with phpDocumentor - Add phpDocumentor configuration and `docs` Makefile target - Generate docs during CI to catch errors before releases - Set up GitHub Pages with Jekyll for hosting generated docs - Add GitHub Actions workflow to deploy docs to GitHub Pages on releases 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix phpDocumentor errors in type annotations Change class-string union types to use phpDocumentor-compatible syntax and reorder docblock tags so class descriptions precede `@author` tags. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fix CI: pin phar-io/composer-distributor ^1.0.2 phar-io/composer-distributor 1.0.0 has a bug where it uses the wrong package version when determining the phpDocumentor download URL, causing CI to fail with 404 errors when using --prefer-lowest. Version 1.0.2 fixes this issue. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Integrate markdown guides into phpDocumentor output Configure phpDocumentor to generate both API documentation and user guides in a single unified site. This replaces the previous Jekyll-based approach where API docs were copied into the docs folder. - Add `<guide>` configuration to `phpdoc.dist.xml` - Create custom template with "Guides" navigation link - Replace `docs/index.html` redirect with `docs/index.md` guide index - Update workflow to publish `build/docs` directly without Jekyll - Track `.phpdoc/template/` while still ignoring `.phpdoc/cache/` 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com> * Fine-tuning for path, config, and layout --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> Co-authored-by: Christopher Hertel <mail@christopher-hertel.de>
This commit is contained in:
parent
2fe982505f
commit
940eb90872
2 changed files with 131 additions and 7 deletions
|
|
@ -37,7 +37,7 @@ final class MessageFactory
|
|||
/**
|
||||
* Registry of all known message classes that have methods.
|
||||
*
|
||||
* @var array<int, class-string<Request|Notification>>
|
||||
* @var list<class-string<Request>|class-string<Notification>>
|
||||
*/
|
||||
private const REGISTERED_MESSAGES = [
|
||||
Schema\Notification\CancelledNotification::class,
|
||||
|
|
@ -68,7 +68,7 @@ final class MessageFactory
|
|||
];
|
||||
|
||||
/**
|
||||
* @param array<int, class-string<Request|Notification>> $registeredMessages
|
||||
* @param list<class-string<Request>|class-string<Notification>> $registeredMessages
|
||||
*/
|
||||
public function __construct(
|
||||
private readonly array $registeredMessages,
|
||||
|
|
@ -151,7 +151,7 @@ final class MessageFactory
|
|||
/**
|
||||
* Finds the registered message class for a given method name.
|
||||
*
|
||||
* @return class-string<Request|Notification>
|
||||
* @return class-string<Request>|class-string<Notification>
|
||||
*
|
||||
* @throws InvalidInputMessageException
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -17,12 +17,12 @@ use Psr\SimpleCache\CacheInterface;
|
|||
use Symfony\Component\Uid\Uuid;
|
||||
|
||||
/**
|
||||
* @author luoyue <1569097443@qq.com>
|
||||
*
|
||||
* PSR-16 compliant cache-based session store.
|
||||
*
|
||||
* This implementation uses any PSR-16 compliant cache as the storage backend
|
||||
* for session data. Each session is stored with a prefixed key using the session ID.
|
||||
*
|
||||
* @author luoyue <1569097443@qq.com>
|
||||
*/
|
||||
class Psr16StoreSession implements SessionStoreInterface
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in a new issue