diff --git a/README b/README.md rename from README rename to README.md --- a/README +++ b/README.md @@ -1,14 +1,12 @@ -= WHAT IS LIBPHUTIL? = - `libphutil` is a collection of utility classes and functions for PHP. Some features of the library include: -== libphutil Library System == +**libphutil Library System** A system for organizing, loading and introspecting PHP classes and functions. Uses static analysis to generate, validate and update library contents and includes. Based on Facebook's similar `flib` system. -== Futures == +**Futures** Futures (also known as "promises") are objects which act as placeholders for some future result of computation. They let you express parallel and asynchronous execution with a natural syntax. There are three provided @@ -16,12 +14,12 @@ `HTTPFuture` for making HTTP requests, and `QueryFuture` for executing database queries. -== Filesystem == +**Filesystem** The builtin PHP filesystem functions return error codes and emit warnings. It is tedious to check these consistently. The `Filesystem` class provides a simple API for common filesystem operations that throws exceptions on failure. -== xsprintf == +**xsprintf** This module allows you to build `sprintf()`-style functions that have arbitrary conversions. This is particularly useful for escaping data correctly. Three concrete implementations are provided: @@ -30,23 +28,38 @@ - `jsprintf()`: safely escape data for Javascript - `qsprintf()`: safely escape data for MySQL -== AAST/PHPAST == +**AAST/PHPAST** An abstract, abstract syntax tree which can make it easier to perform simple static analysis, and a concrete AST for PHP. -== Remarkup == +**Remarkup** A Markdown-like lightweight markup language. Remarkup's syntax is defined by parser plugins and fairly easy to extend and configure. -== Daemons == +**Daemons** Enables running PHP scripts as stable, long-lived daemons. -== Utilities == +**Utilities** A handful of solid utility functions. `libphutil` is used by -[[https://secure.phabricator.com/diffusion/P/ | Phabricator]], -[[https://secure.phabricator.com/diffusion/ARC/ | Arcanist]] and Diviner. + - [Phabricator](https://secure.phabricator.com/diffusion/P/) + - [Arcnaist](https://secure.phabricator.com/diffusion/ARC/) + - [Diviner](https://secure.phabricator.com/book/phabricator/article/diviner/) + + +---------- + + +**BUG REPORTS** + +Please update `libphutil` to **HEAD** before filing bug reports. Follow our [bug reporting guide](https://secure.phabricator.com/book/phabcontrib/article/bug_reports/) for complete instructions. + + +**PULL REQUESTS** + +We do not accept pull requests through GitHub. If you would like to contribute code, please read our [Contributor's Guide](https://secure.phabricator.com/book/phabcontrib/article/contributing_code/) for more information. + +**LICENSE** -= LICENSE = `libphutil` is released under the Apache 2.0 license except as otherwise noted.