{"action":"opened","issue":{"url":"https://api.github.com/repos/tldr-pages/tldr/issues/336","labels_url":"https://api.github.com/repos/tldr-pages/tldr/issues/336/labels{/name}","comments_url":"https://api.github.com/repos/tldr-pages/tldr/issues/336/comments","events_url":"https://api.github.com/repos/tldr-pages/tldr/issues/336/events","html_url":"https://github.com/tldr-pages/tldr/issues/336","id":118635403,"number":336,"title":"Does it really need index.json?","user":{"login":"igorshubovych","id":93907,"avatar_url":"https://avatars.githubusercontent.com/u/93907?v=3","gravatar_id":"","url":"https://api.github.com/users/igorshubovych","html_url":"https://github.com/igorshubovych","followers_url":"https://api.github.com/users/igorshubovych/followers","following_url":"https://api.github.com/users/igorshubovych/following{/other_user}","gists_url":"https://api.github.com/users/igorshubovych/gists{/gist_id}","starred_url":"https://api.github.com/users/igorshubovych/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/igorshubovych/subscriptions","organizations_url":"https://api.github.com/users/igorshubovych/orgs","repos_url":"https://api.github.com/users/igorshubovych/repos","events_url":"https://api.github.com/users/igorshubovych/events{/privacy}","received_events_url":"https://api.github.com/users/igorshubovych/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-24T15:34:41Z","updated_at":"2015-11-24T15:34:41Z","closed_at":null,"body":"pages/index.json is a binary file which contains index of pages.\r\n\r\nThere are several issues with it:\r\n\r\n* It makes contribution process more complicated. Everybody needs to install more software and rebuild index on every commit. Even though it is done automatically, the committed binary file from time to time cause [conflicts](http://take.ms/1Qcot).\r\n* It forces the way clients has to implement the index. Currently it is not a problem. But imagine one day there will be a web client which stores all the information in the database and reuse database index. In such case index.json is not needed. Or imagine, some clients may need a more sophisticated index, e.g. full-text search index.\r\n* Not all clients use it anyway, e.g. [Python client](https://github.com/tldr-pages/tldr-python-client), [Go client](https://github.com/pranavraja/tldr), [C++ client](https://github.com/tldr-pages/tldr-cpp-client), [Elixir client](https://github.com/tldr-pages/tldr_elixir_client), [Ruby client](https://github.com/YellowApple/tldrb).\r\n\r\nThere are several solutions to that:\r\n\r\n* Leave it as is\r\n* We can have some service, which function as CI: it fetches the updated pages, built index, package into zip and put the file somewhere, clients will fetch the zip file from this service to instead of Github API. Technically we can use Github pages and Travis for it.\r\n* Remove index.json from github. Modify those several clients which are using it to build index after updating the pages. It should be pretty simple based on [this code](https://github.com/tldr-pages/tldr/blob/master/scripts/build_index.rb).\r\n\r\nWhat do you think?"}}