diff --git a/LICENSE.md b/LICENSE.md
index bc5674fe..6a920d60 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,17 +1,17 @@
-Copyright © 2008 by Yii Software (https://www.yiiframework.com/)
+Copyright © 2008 by Yii Software ()
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:
- * Redistributions of source code must retain the above copyright
+* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
+* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in
the documentation and/or other materials provided with the
distribution.
- * Neither the name of Yii Software nor the names of its
+* Neither the name of Yii Software nor the names of its
contributors may be used to endorse or promote products derived
from this software without specific prior written permission.
diff --git a/README.md b/README.md
index 22ed7ef3..6ff0d00d 100644
--- a/README.md
+++ b/README.md
@@ -19,7 +19,7 @@
The package provides various tools to help with dynamic server-side generation of HTML:
- Tag classes `A`, `Address`, `Article`, `Aside`, `Audio`, `B`, `Body`, `Br`, `Button`, `Caption`, `Col`, `Colgroup`,
- `Datalist`, `Div`, `Em`, `Fieldset`, `Footer`, `Form`, `H1`, `H2`, `H3`, `H4`, `H5`, `H6`, `Header`, `Hr`, `Hgroup`,
+ `Datalist`, `Div`, `Em`, `Fieldset`, `Footer`, `Form`, `H1`, `H2`, `H3`, `H4`, `H5`, `H6`, `Header`, `Hr`, `Hgroup`,
`Html`, `I`, `Img`, `Input` (and specialized `Checkbox`, `Radio`, `Range`, `File`), `Label`, `Legend`, `Li`, `Link`,
`Meta`, `Nav`, `Noscript`, `Ol`, `Optgroup`, `Option`, `P`, `Picture`, `Script`, `Section`, `Select`, `Small`,
`Source`, `Span`, `Strong`, `Style`, `Table`, `Tbody`, `Td`, `Textarea`, `Tfoot`, `Th`, `Thead`, `Title`, `Tr`,
@@ -104,7 +104,7 @@ echo \Yiisoft\Html\Tag\Div::tag()
```
-### Generating custom tags
+### Generating custom tags
To generate custom tags, use the `CustomTag` class. For example, the following code:
@@ -126,10 +126,11 @@ By default, stringable objects that implement `\Yiisoft\Html\NoEncodeStringableI
everything else is encoded.
To change this behavior use `encode()` method passing one of the following values:
+
- `null`: default behavior;
- `true`: any content is encoded;
- `false`: nothing is encoded.
-
+
> Note: all bundled tags and widgets implement `\Yiisoft\Html\NoEncodeStringableInterface` interface and are not encoded
> by default when passed as content. Their own content is encoded.
@@ -167,12 +168,12 @@ Represents a group of buttons.
```php
echo \Yiisoft\Html\Widget\ButtonGroup::create()
- ->buttons(
- \Yiisoft\Html\Html::resetButton('Reset Data'),
- \Yiisoft\Html\Html::resetButton('Send'),
- )
- ->containerAttributes(['class' => 'actions'])
- ->buttonAttributes(['form' => 'CreatePost']);
+ ->buttons(
+ \Yiisoft\Html\Html::resetButton('Reset Data'),
+ \Yiisoft\Html\Html::resetButton('Send'),
+ )
+ ->containerAttributes(['class' => 'actions'])
+ ->buttonAttributes(['form' => 'CreatePost']);
```
Result will be:
@@ -190,10 +191,10 @@ Represents a list of checkboxes.
```php
echo \Yiisoft\Html\Widget\CheckboxList\CheckboxList::create('count')
- ->items([1 => 'One', 2 => 'Two', 5 => 'Five'])
- ->uncheckValue(0)
- ->value(2, 5)
- ->containerAttributes(['id' => 'main']);
+ ->items([1 => 'One', 2 => 'Two', 5 => 'Five'])
+ ->uncheckValue(0)
+ ->value(2, 5)
+ ->containerAttributes(['id' => 'main']);
```
Result will be:
@@ -388,38 +389,14 @@ Overall the helper has the following method groups.
- cssStyleFromArray
- cssStyleToArray
-## Testing
-
-### Unit testing
-
-The package is tested with [PHPUnit](https://phpunit.de/). To run tests:
-
-```shell
-./vendor/bin/phpunit
-```
-
-### Mutation testing
-
-The package tests are checked with [Infection](https://infection.github.io/) mutation framework with
-[Infection Static Analysis Plugin](https://github.com/Roave/infection-static-analysis-plugin). To run it:
-
-```shell
-./vendor/bin/roave-infection-static-analysis-plugin
-```
-
-### Static analysis
+## Documentation
-The code is statically analyzed with [Psalm](https://psalm.dev/). To run static analysis:
+- [Internals](docs/internals.md)
-```shell
-./vendor/bin/psalm
-```
+## Support
-## License
-
-The Yii HTML is free software. It is released under the terms of the BSD License. Please see [`LICENSE`](./LICENSE.md) for more information.
-
-Maintained by [Yii Software](https://www.yiiframework.com/).
+If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a good place for that.
+You may also check out other [Yii Community Resources](https://www.yiiframework.com/community).
## Support the project
@@ -432,3 +409,10 @@ Maintained by [Yii Software](https://www.yiiframework.com/).
[![Telegram](https://img.shields.io/badge/telegram-join-1DA1F2?style=flat&logo=telegram)](https://t.me/yii3en)
[![Facebook](https://img.shields.io/badge/facebook-join-1DA1F2?style=flat&logo=facebook&logoColor=ffffff)](https://www.facebook.com/groups/yiitalk)
[![Slack](https://img.shields.io/badge/slack-join-1DA1F2?style=flat&logo=slack)](https://yiiframework.com/go/slack)
+
+## License
+
+The Yii HTML is free software. It is released under the terms of the BSD License.
+Please see [`LICENSE`](./LICENSE.md) for more information.
+
+Maintained by [Yii Software](https://www.yiiframework.com/).
diff --git a/docs/internals.md b/docs/internals.md
new file mode 100644
index 00000000..f2b7b5ef
--- /dev/null
+++ b/docs/internals.md
@@ -0,0 +1,45 @@
+# Internals
+
+## Unit testing
+
+The package is tested with [PHPUnit](https://phpunit.de/). To run tests:
+
+```shell
+./vendor/bin/phpunit
+```
+
+## Mutation testing
+
+The package tests are checked with [Infection](https://infection.github.io/) mutation framework with
+[Infection Static Analysis Plugin](https://github.com/Roave/infection-static-analysis-plugin). To run it:
+
+```shell
+./vendor/bin/roave-infection-static-analysis-plugin
+```
+
+## Static analysis
+
+The code is statically analyzed with [Psalm](https://psalm.dev/). To run static analysis:
+
+```shell
+./vendor/bin/psalm
+```
+
+## Code style
+
+Use [Rector](https://github.com/rectorphp/rector) to make codebase follow some specific rules or
+use either newest or any specific version of PHP:
+
+```shell
+./vendor/bin/rector
+```
+
+## Dependencies
+
+This package uses [composer-require-checker](https://github.com/maglnet/ComposerRequireChecker) to check if all dependencies are correctly defined in `composer.json`.
+
+To run the checker, execute the following command:
+
+```shell
+./vendor/bin/composer-require-checker
+```