{"action":"created","issue":{"url":"https://api.github.com/repos/perl6/doc/issues/94","labels_url":"https://api.github.com/repos/perl6/doc/issues/94/labels{/name}","comments_url":"https://api.github.com/repos/perl6/doc/issues/94/comments","events_url":"https://api.github.com/repos/perl6/doc/issues/94/events","html_url":"https://github.com/perl6/doc/issues/94","id":88176812,"number":94,"title":"p6doc-server","user":{"login":"ab5tract","id":2742,"avatar_url":"https://avatars.githubusercontent.com/u/2742?v=3","gravatar_id":"","url":"https://api.github.com/users/ab5tract","html_url":"https://github.com/ab5tract","followers_url":"https://api.github.com/users/ab5tract/followers","following_url":"https://api.github.com/users/ab5tract/following{/other_user}","gists_url":"https://api.github.com/users/ab5tract/gists{/gist_id}","starred_url":"https://api.github.com/users/ab5tract/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ab5tract/subscriptions","organizations_url":"https://api.github.com/users/ab5tract/orgs","repos_url":"https://api.github.com/users/ab5tract/repos","events_url":"https://api.github.com/users/ab5tract/events{/privacy}","received_events_url":"https://api.github.com/users/ab5tract/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/perl6/doc/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-14T12:23:12Z","updated_at":"2015-06-15T05:47:03Z","closed_at":null,"body":"As I see it, the advantages in writing a `p6doc-server` intended to be run as a background process are:\r\n\r\n* Significantly speed up command-line queries, which are currently slowed significantly by slurping in `%data` for every invocation. Instead `p6doc-server` exposes all the `%data` search functionality in the server and exposes it via an API.\r\n* By default it would simply serve the static output of `htmlify`. However, `p6doc-server` could provide the substrate for various other browser-oriented approaches.\r\n* Theming of `htmlify` could be easily modularized: `p6doc-server --theme Themes::P6Doc::HTML::Dark`\r\n\r\nIt also serves a personal goal of digging a bit further into `Promise`s and all the other async goodness.\r\n\r\nBefore I start hacking away madly, I wanted to check that everybody agrees that it makes sense and that there are not serious disadvantages to this approach. Enthusiasm can provide powerful blinders sometimes."},"comment":{"url":"https://api.github.com/repos/perl6/doc/issues/comments/111933940","html_url":"https://github.com/perl6/doc/issues/94#issuecomment-111933940","issue_url":"https://api.github.com/repos/perl6/doc/issues/94","id":111933940,"user":{"login":"azawawi","id":82854,"avatar_url":"https://avatars.githubusercontent.com/u/82854?v=3","gravatar_id":"","url":"https://api.github.com/users/azawawi","html_url":"https://github.com/azawawi","followers_url":"https://api.github.com/users/azawawi/followers","following_url":"https://api.github.com/users/azawawi/following{/other_user}","gists_url":"https://api.github.com/users/azawawi/gists{/gist_id}","starred_url":"https://api.github.com/users/azawawi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/azawawi/subscriptions","organizations_url":"https://api.github.com/users/azawawi/orgs","repos_url":"https://api.github.com/users/azawawi/repos","events_url":"https://api.github.com/users/azawawi/events{/privacy}","received_events_url":"https://api.github.com/users/azawawi/received_events","type":"User","site_admin":false},"created_at":"2015-06-15T05:47:03Z","updated_at":"2015-06-15T05:47:03Z","body":"@ab5tract From an tools developer point of view (i.e. Padre, Farabi6), I would like to see JSON::RPC support with ```p6doc-server```. The problem has always been we develop CLI apps which developer tools has to parse to get anything useful. And that approach is very error-prone when the CLI developer changes output.\r\n\r\nSo to summarize, exposing API is more than important to other consumer developer tools and enables faster search optimizations etc..."}}