Master | Develop |
---|---|
Sonic is a stupidly simple, blazing fast, flat-file CMS based on Pico.
Sonic is a microCMS - this means there is no administration backend and database to deal with. You simply create .md
files in the "content" folder and that becomes a page.
Its interface is supposed to be simple and is in process of documentation. Thank you for choosing Sonic for your next project.
- Uses Markdown Extra for content parsing
- Uses a powerful(ish) Slim/Silex-style router
- Standard HTTP methods
- Route parameters with wildcards and conditions
- Dependency injection container using Pimple
- Template rendering using Twig
- Filesystem handling using Flysystem
- Atom feed and tagged posts support
- HTTP caching
- Error handling and debugging
- Application hooks and extensible components for extending functionality
- Simple configuration
- Hilarious, snarky source code comments
Refer to Sonic Skeleton for instructions on creating a new project with Sonic.
You can check out more in-depth documentation here.
- Fork the Sonic repository
- Create a new branch for each feature or improvement
- Write tests so my precious code coverage doesn't decrease (too much)
- Send a pull request from each feature branch to the develop branch
It's pretty important to separate new features or improvements into separate feature branches, and to send a pull request for each branch. This allows me to review and pull in new features or improvements individually.
- No extraneous whitespace. I hate it with a fucking vengeance
- Tabs should be set to four spaces
- Method names should be written in
snake_case()
, rather thancamelCase()
- All source files should start with
<?php
but should not have an closing tag - End files with a Unix-style newline
All pull requests should ideally be accompanied by passing unit tests and complete code coverage. Sonic uses PHPUnit for testing.
Don't make me laugh
Coming soon
Coming soon
Sonic is created and maintained by Hassan Khan.
Clearly a lot of help (especially) from Slim, as is apparent from the source code. This also would not have been possible without Pico, Symfony, or more specifically, the Symfony HttpFoundation component, PHP-Markdown and many others. The open-source PHP community in general does a fantastic job of polishing turds.
Sonic is released under the MIT public license.