diff --git a/.vuepress/config-project.js b/.vuepress/config-project.js index 9d431c1..cc222b9 100644 --- a/.vuepress/config-project.js +++ b/.vuepress/config-project.js @@ -33,8 +33,17 @@ module.exports = { repo: 'chevere/xrdebug', docsRepo: 'chevere/xrdebug-docs', docsBranch: 'main', - smoothScroll: true, + smoothScroll: false, editLinks: true, - lastUpdated: true + lastUpdated: true, + nav_after: [ + { + text: 'Library', + ariaLabel: 'Library Menu', + items: [ + { text: 'PHP', link: 'https://github.com/chevere/xr' }, + ] + } + ] }, }; diff --git a/README.md b/README.md index b2aae03..be79ce3 100644 --- a/README.md +++ b/README.md @@ -2,19 +2,15 @@ home: true heroImage: /logo.svg heroText: xrDebug -tagline: Lightweight debug utility -actionText: Introduction → -actionLink: /introduction/ -features: -- title: Easy to use - details: Full-featured with a gorgeous user interface. -- title: Portable & HTML based - details: One-click disposable server run. -- title: Beautiful - details: Yet another debugger, but it looks danky! -footer: Made by Rodolfo Berrios +tagline: Lightweight portable debug utility +actionText: Install → +actionLink: /install/ --- +::: slot footer +Apache 2.0 Licensed | Copyright © 2023-present [Rodolfo Berrios](https://rodolfoberrios.com) +::: + @@ -23,10 +19,12 @@ footer: Made by Rodolfo Berrios * [Install](introduction/installation.md) server software * [Run](run/README.md) `xrdebug` on your terminal -* Install a client library for your language. +* Install a client library for your language + +## Client libraries | Language | Package | | -------- | ------------------------------------------------------- | | PHP | [chevere/xr](https://packagist.org/packages/chevere/xr) | -To contribute a client library check the [developer guide](developer/) and our [API](/api). +👍 To contribute a client library check the [developer guide](/developer) and the [API](/api). diff --git a/bin/linux/aarch64/xrdebug b/bin/linux/aarch64/xrdebug new file mode 100755 index 0000000..195fd4d Binary files /dev/null and b/bin/linux/aarch64/xrdebug differ diff --git a/install/README.md b/install/README.md new file mode 100644 index 0000000..16c94a5 --- /dev/null +++ b/install/README.md @@ -0,0 +1,121 @@ +# Installation + +## Self-contained binary + +Download latest `xrdebug` binary for your operating system and CPU architecture. + +### macOS + +| CPU | Download | +| ------- | ---------------------------------------------------------------------------------------------------------------- | +| Silicon | [xrdebug-macos-arm64.pkg](https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-macos-arm64.pkg) | +| Intel | [xrdebug-macos-x86_64.pkg](https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-macos-x86_64.pkg) | + +::: details CLI instructions +Run the following to install from your terminal: + + + +```sh +curl -LO https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-macos-arm64.pkg +open xrdebug-macos-arm64.pkg +``` + + + +```sh +curl -LO https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-macos-x86_64.pkg +open xrdebug-macos-x86_64.pkg +``` + + +::: + +### Linux + +| CPU | Download | +| ------- | ------------------------------------------------------------------------------------------------------------------------ | +| aarch64 | [xrdebug-linux-aarch64.tar.gz](https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-linux-aarch64.tar.gz) | +| x86_64 | [xrdebug-linux-x86_64.tar.gz](https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-linux-x86_64.tar.gz) | + +::: details CLI instructions +Run the following to install from your terminal: + + + +```sh +curl -LO https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-linux-aarch64.tar.gz +tar -xvf xrdebug-linux-aarch64.tar.gz +``` + + + +```sh +curl -LO https://github.com/chevere/xrdebug/releases/latest/download/xrdebug-linux-x86_64.tar.gz +tar -xvf xrdebug-linux-x86_64.tar.gz +``` + + +::: + +## PHAR + +Download latest [xrdebug.phar](https://github.com/chevere/xrdebug/releases/latest/download/xrdebug.phar) file. + +::: details CLI instructions +To download and verify from terminal: + +```sh +# download +curl -LO https://github.com/chevere/xrdebug/releases/latest/download/xrdebug.phar +curl -LO https://github.com/chevere/xrdebug/releases/latest/download/xrdebug.phar.asc +# verify +gpg --recv-keys 75BD018B5EB1DAC838C358414B997D0D617BB354 +gpg --with-fingerprint --verify xrdebug.phar.asc xrdebug.phar +``` + +::: + +## Source + +To install from source clone the [repository](https://github.com/chevere/xrdebug): + +```sh +git clone https://github.com/chevere/xrdebug.git +``` + +Install dependencies using Composer: + +```sh +composer install +``` + +The command will be available at: + +```sh +./xrdebug +``` + +## Packagist + +Use package [chevere/xrdebug](https://packagist.org/packages/chevere/xrdebug) to install as a dependency for your project using Composer: + +```sh +composer require --dev chevere/xrdebug +``` + +The dependency server will be available at: + +```sh +vendor/bin/xrdebug +``` + +## Docker + +Container images are available at [ghcr.io/chevere/xrdebug](https://github.com/chevere/xrdebug/pkgs/container/xrdebug). + +Run the following command to start the server at port `27420`: + +```sh +docker run -t --init --rm -p 27420:27420 ghcr.io/chevere/xrdebug +``` diff --git a/introduction/README.md b/introduction/README.md deleted file mode 100644 index 1f0df5c..0000000 --- a/introduction/README.md +++ /dev/null @@ -1,64 +0,0 @@ -# Get started - -## What is xrDebug? - -xrDebug is a dump debug utility providing an application server where you can send debug payloads, and stream these messages to multiple peers in any web browser. - -Here's, this is what you write in your code (from the [PHP client](https://github.com/chevere/xr)): - -```php -xr('Hello, world!'); - -xr(theArray: ['a' => 0, 'b' => 1], t: 'my-topic', e: '📌'); - -xr(🤭: 'wow', 👽: 'many', 😎: 'args'); -``` - -Here's how it looks in xrDebug: - -![intro](../src/app/intro.png) - -## How it works? - -* xrDebug listens to messages emitted from your code. -* Calls to xrDebug helpers in your code emit a message to server. - -## Why xrDebug? - -Not only it is a small package, is all about less is more. xrDebug setup and running takes no time and the user interface is dead simple. Perfect for remote debugging with support for simultaneous peers and advanced security features. - -### Lightweight - -*Small package, minimal dependencies.* - -xrDebug is *really* lightweight. It doesn't need anything extra besides its self-executable binary and a web browser to use it. No distro-based package, no extra installs, compile extensions or even tweak your `php.ini`. - -### Ephemeral - -*And its gone!* - -One-click command run xrDebug server and dispose it when done. It doesn't require a database or any other persistence requirement. - -### Web app - -*Want to toy with dump messages?* - -Interact with the debugger to pause, resume, clear, copy and even export messages. xrDebug has been built to enable users to handle dump messages with ease and to share these messages with other peers. - -### Secure - -*Debugging with security features.* - -Both ends of the server-side system are secure for your remote joy. xrDebug supports end-to-end encryption using AES-GCM authenticated encryption and signed requests using Ed25519. - -### Beautiful looking dumps™️ - -*You'll never see better looking dumps!* - -It uses [varDump](https://chevere.org/packages/var-dump.html) and it looks fantastic. Forget the ubiquitous `var_dump` & `dd` style without *any style*, your sight will be pleased as you will enjoy a more colorful *chevere* experience. - -### Context - -*Organize dumps with topics and emotes.* - -xrDebug uses topics and emotes to provide extra context to your dump information, enabling you to filter among multiple messages. diff --git a/introduction/contributing.md b/introduction/contributing.md deleted file mode 100644 index 9342018..0000000 --- a/introduction/contributing.md +++ /dev/null @@ -1,11 +0,0 @@ -# Contributing - -Contribution is welcome. - -* Application [chevere/xrdebug](https://github.com/chevere/xrdebug) -* Documentation [chevere/xr-docs](https://github.com/chevere/xr-docs) -* [API](../developer/api.md) client libraries - -## Contact - -You can contact the main developer at `rodolfo@chevere.org`. diff --git a/introduction/installation.md b/introduction/installation.md deleted file mode 100644 index 021987a..0000000 --- a/introduction/installation.md +++ /dev/null @@ -1,75 +0,0 @@ -# Installation - -## Self-contained binary - -Download latest `xrdebug` binary from [releases](https://github.com/chevere/xrdebug/releases). - -The binary will be available at: - -```sh -xrdebug -``` - -## PHAR - -Download latest `xrdebug.phar` file from [releases](https://github.com/chevere/xrdebug/releases). - -Make the file executable: - -```sh -chmod +x xrdebug.phar -``` - -Move it to bin: - -```sh -mv xrdebug.phar /usr/local/bin/xrdebug -``` - -The PHAR will be available at: - -```sh -xrdebug -``` - -## Source server - -To install from source clone the repository: - -```sh -git clone https://github.com/chevere/xrdebug.git -``` - -Then install dependencies using Composer: - -```sh -composer install -``` - -The source will be available at: - -```sh -./xrdebug -``` - -## Dependency server - -Install the server repository as a dependency for your project using Composer: - -```sh -composer require --dev chevere/xrdebug -``` - -The dependency server will be available at: - -```sh -vendor/bin/xrdebug -``` - -## Docker server - -Run the following command to start the server at port `27420`: - -```sh -docker run -t --init --rm -p 27420:27420 ghcr.io/chevere/xrdebug -``` diff --git a/introduction/naming.php b/introduction/naming.php deleted file mode 100644 index b39cb73..0000000 --- a/introduction/naming.php +++ /dev/null @@ -1,7 +0,0 @@ - 'Get started', - 'installation.md' => 'Installation', - 'contributing.md' => 'Contributing', -]; diff --git a/introduction/sorting.php b/introduction/sorting.php deleted file mode 100644 index cfd6aed..0000000 --- a/introduction/sorting.php +++ /dev/null @@ -1,7 +0,0 @@ - 'Intro', + 'install/' => 'Install', 'run/' => 'Run', 'api/' => 'API', 'dev/' => 'Developer', diff --git a/sorting.php b/sorting.php index a9f0fa0..1bfd1cc 100644 --- a/sorting.php +++ b/sorting.php @@ -2,8 +2,8 @@ return [ 'README.md', - 'introduction/', - 'configuration/', + 'install/', 'run/', + 'Library', 'developer/', ];