
DevDocs API Documentation - nieksa
https://devdocs.io/
======
Klathmon
I can't recommend devdocs.io enough! It's such a fantastic resource.

* It links to the real documentation

* world class search

* lets you pick and choose versions and languages/frameworks you want to have searchable

* provides a consistent UI across all docs which is fantastic when you are switching between several while developing.

* Is updated with terrifying frequency (I don't think I've ever opened it and NOT had some kind of docs update notification!)

* There are editor plugins available that let you press a key and open the highlighted word as search in devdocs.io

If you use devdocs.io and feel like it has saved you time or money, donate to
them on Gratipay [0].

[0] [https://gratipay.com/devdocs/](https://gratipay.com/devdocs/)

~~~
ethanwillis
Only receiving $16/week when all these Hacker News are pulling in 6 figures.

~~~
erlend_sh
They would immediately be making more on OpenCollective

------
ssijak
Something similar which I really love for terminal is tldr :
[https://tldr.sh/](https://tldr.sh/)

Behaves like a substitute for man pages with most useful examples. Saved me
hours of googling and searching.

~~~
herrvogel-
[http://cheat.sh](http://cheat.sh) is a similar tool which I use a lot

~~~
spondyl
Well dang, there's a new favourite

------
marceldegraaf
Reminds me of Dash[1] which is especially useful when configured in your
editor: press a key to open documentation for the word under the cursor.

1: [https://kapeli.com/dash](https://kapeli.com/dash)

~~~
rgrau
If you live inside emacs, [https://github.com/areina/helm-
dash/](https://github.com/areina/helm-dash/) will use dash documentation and
use emacs for the search and display of the docs.

Also, works on GNU/Linux and Windows. Also, free software. Also, I'm the co-
author.

~~~
blaenk
I saw this a while back and it seemed amazing but I was wondering if there's
any way to open the actual live documentation page. So for example if you
choose the documentation for `Array.prototype.map` then it'll pull up that
page on MDN, rather than the locally cached Dash page.

I know the whole point of Dash is to have locally cached, offline
documentation copies, but I was thinking it would be amazing to use that to
feed Helm candidates, but actually open the real, live documentation page.

~~~
rgrau
you definitely can do it because the only thing that is in the docsets is a
uri starting with https?:// or file:/// .

It seems there are some docsets already doing that[1]. Creating your own
docsets is dead easy. just a simple sqlite3 file with a single table.

You can find an example I hacked myself here[2] (very hackish).

It's basically creating a table:

    
    
        create table searchIndex(id INTEGER PRIMARY KEY, name TEXT, type TEXT, path TEXT); 
        CREATE UNIQUE INDEX anchr  ON searchIndex (name, type, path);
    

And filling it with data:

    
    
        insert into searchIndex(name,type,path) VALUES ('foo','function','https://example.com')
    
    
    

[1]. [https://github.com/areina/helm-
dash/issues/65](https://github.com/areina/helm-dash/issues/65) .

[2].
[https://github.com/kidd/AllegroLisp.docset](https://github.com/kidd/AllegroLisp.docset)

------
malnourish
I've used this off and on for a while, but the hardest thing for me is
breaking the google habbit (or ddg as often as not in my case) and actually
performing the search on that site.

I can !dd with duckduckgo to get to devdocs, but I wish there was some natural
language processing that knew I wanted to look up a cpp/rust what have you
term and send me there.

Additionally, C# doesn't seem to be included, which is a big bummer.

~~~
lpghatguy
I don't think there's any reason to use this for Rust, honestly. You'll want
to unify your dependencies using `cargo doc` and then just browse std
documentation on [https://doc.rust-lang.org/std/](https://doc.rust-
lang.org/std/) (and other stuff on docs.rs)

~~~
zanny
Rust has spoiled me so bad with cargo doc. Even Python feels like a fossil
when I can generate a linked doctree in my target directory and use it offline
/ on demand and generate them immediately and effortlessly if I ever need to
fork / patch / use git / etc anything.

------
viraptor
I really like this service and really wanted to add some more docs I often use
to it. Unfortunately I discovered why some interesting ones can be missing.
For example AWS can't be included, because Amazon forbids third party
distribution of their documentation pages. It's really disappointing when
companies limit the usability of what they produce that way.

~~~
samstave
Where's Jeff Barr when you need him?

How summon

------
laurent123456
For PHP it's missing the comments at the bottom, which are often essential to
understand certain strange behaviours.

~~~
neilsimp1
I almost always end up scrolling straight to that section in the PHP docs when
looking for help. Such is PHP.

~~~
krick
Ditto, and I don't even mean it in a bad sense. After you get used to it, this
really isn't that bad, this format seems to work for PHP. I'd even say, that
because of that PHP docs turn out to be quite better than "clean and nicely
written" ones for other platforms.

------
mosselman
Due to some very annoying behaviour of gratipay (the donation service devdocs
uses) I have donated over $100 to them last year of the course of a few
months. Not what I wanted to donate, but then again there aren't many websites
that I use more often in my day to day work. So I am not too bummed about it.

Great work guys!

~~~
Thibaut
Thanks! Your donation is very much appreciated.

Don't feel like you have to donate, though. The app is cheap to host (one of
the benefits of an offline-enabled, no-accounts-required, optimized-to-the-max
web app is that the backend doesn't do much :P), and I'm lucky that MaxCDN &
others are providing free service to the app.

What keeps me going is seeing the impact that DevDocs is having (people using
and liking it). So the best way to "give back" is to spread the word, send a
thank you note, and contribute (one thing in particular that would be great to
see is more/better extensions & integrations with code editors).

(I'm the creator/maintainer of DevDocs)

~~~
sidthegeek
Can you elaborate a bit about your implementation? I'd love to learn more
about the techniques you have used.

~~~
avtar
[https://github.com/Thibaut/devdocs](https://github.com/Thibaut/devdocs)

------
raresp
This was first posted 1500 days ago -
[https://news.ycombinator.com/from?site=devdocs.io](https://news.ycombinator.com/from?site=devdocs.io)

It seems that this time it got more traction. Good luck with your project!

~~~
guessmyname
DevDocs is old, roughly 4 years or so; I know it from the beginning.

That being said, not every HackerNews reader is aware of every single project
in the wild, so re-posting the link from time to time is a good idea, not only
to let more people know about it but also to increase the contributions and
donations which may be forgotten after the popularity fades away. I can see
this re-posted many more times in the future.

Remember that every year new Computer Science students graduate and and they
are going to be the ones saying "First time I see this project" next year. So
let the re-posts flow no matter what.

------
styfle
For some reason, the theme/colors were a bit of a shock to my eyes. I can't
explain why...maybe because it was my first time seeing it.

Compare these two pages:

[https://devdocs.io/javascript/global_objects/array/entries](https://devdocs.io/javascript/global_objects/array/entries)

[https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Refe...](https://developer.mozilla.org/en-
US/docs/Web/JavaScript/Reference/Global_Objects/Array/entries)

I think the blue "sections" on devdocs are really <h3> so they are not
sections at all and it throws me off.

~~~
dccoolgai
Devdocs has an option for dark thene I use

~~~
komali2
Oh my god lol, I can't believe I never saw this. Thank you.

------
NavekM
There's an extension for VSCode
[https://marketplace.visualstudio.com/items?itemName=akfish.v...](https://marketplace.visualstudio.com/items?itemName=akfish.vscode-
devdocs)

------
baldfat
Surprised that R isn't on there since it is a top 10 language. The ecosystem
though is pretty huge and R Base without Hadley Wickham's tidyverse isn't very
useful for me.

Also would love to see Racket notes.

~~~
ianhowson
Not as pretty as DevDocs, but [https://rdrr.io](https://rdrr.io) covers the R
ecosystem.

(I'm the author.)

------
have_faith
Been using DevDocs as my documentation reference for a couple years now, has
everything I need with no extra fluff, would recommend.

------
semanticfact
This was my first time seeing DevDocs, it's awesome! I've used other all in
one doc solutions but I always end up going back to google because they slow
down once I add all the languages and packages I use.

------
Numberwang
I love everything about the design of this page. Settings, search, etc. You
have great taste.

------
react4
I have frequently used devdocs.io on long flights, love the offline mode.

------
didibus
I've used Zeal for Linux and Windows:
[https://zealdocs.org](https://zealdocs.org)

For offline docs. I prefer a native UX. I've found it doesn't always work well
to access an offline capable page from my browser without internet.

------
outside1234
This looks awesome - is there a way to get an offline version of this?

~~~
guessmyname
DevDocs works offline — [http://devdocs.io/offline](http://devdocs.io/offline)
— on mobile, and can be installed on Chrome.

There is an Electron app here — [https://github.com/egoist/devdocs-
desktop](https://github.com/egoist/devdocs-desktop)

~~~
mendelk
There's also
[https://github.com/ragingwind/devdogs](https://github.com/ragingwind/devdogs).
Same idea.

------
latkin
Looks nice, but seems to be mostly focused on web dev. No Scala, Java,
.NET/C#/F#/Powershell, Win32, Azure... Would be great to have JVM and/or Msft
ecosystem in there.

~~~
guessmyname
The webapp includes a copy of the documentation for Rust, Go, Nim, Lua, Julia,
Haxe, Tensorflow, Numpy, among many other technologies. If you consider these
"web dev" then label me crazy because I see these as system programming
languages and/or data science libraries more than anything else. The lack of
Scala, C#, etc is due to the complexity of the documentation which cannot be
downloaded so easily as the others, or the license of the documentation
itself. Feel free to contribute through their repository [1]

Java is under the JDK section by the way.

[1] [https://github.com/Thibaut/devdocs](https://github.com/Thibaut/devdocs)

------
emilioolivares
I was curious to see how it was able to run so snappy. It actually feels like
the help section for a native app. I found the source code:
[https://github.com/Thibaut/devdocs](https://github.com/Thibaut/devdocs) It's
not really using a client side framework and runs Sinatra on the back end. I
will definitely dig more into how it all works.

Thanks for sharing!!

------
vaveh
Finally, they added java (seems like the openjdk has all the same stuff as the
oracle's Java). That was the only thing stopping me from using it.

------
cphoover
Awesome just wish it supported offline mode using something like:

[https://developer.mozilla.org/en-
US/docs/Web/API/Service_Wor...](https://developer.mozilla.org/en-
US/docs/Web/API/Service_Worker_API/Using_Service_Workers)

EDIT: NM it already supports offline mode. Nice work.

------
ngrilly
I very much like DevDocs. But it looks like Python and Go documentation are
incomplete. In Dash, the full documentation is available: the library
reference of course, but also the language reference and other things. In
DevDocs, I only see the library reference. Am I missing something?

~~~
Chloro
Did you Enable it?

~~~
ngrilly
Yes, I enabled Python and Go (and other things I use), but only the standard
library is covered. The language reference is not available. According to the
README on GitHub, it looks like it's a design choice to focus on APIs...

------
mads
Nice.. I didn't know about this.

Some people here seem to recommend it and they have been using it a lot
apparently. Where did you learn about it? Is there a community our there I am
missing out on?

~~~
guessmyname
DevDocs is old, roughly 4 years or so; I know it from the beginning.

That being said, not every HackerNews reader is aware of every single project
in the wild, so re-posting the link from time to time is a good idea, not only
to let more people know about it but also to increase the contributions and
donations which may be forgotten after the popularity fades away. I can see
this re-posted many more times in the future.

Remember that every year new Computer Science students graduate and and they
are going to be the ones saying "First time I see this project" next year. So
let the re-posts flow no matter what.

To answer your question, there is no extracurricular community, it's just
people like you and me who one day know the project, and next year decide to
post it again so the new university graduates can learn about it, that's it.

------
antouank
DevDocs is great. I use it all the time.

If only it had the Elm docs as well :)

------
GioM
It also packs well as a fluid app if you'd prefer a standalone (and fluid
doesn't seem to purge the cache and lose offline mode like your browser might)

------
davidlartey
Kudo to devdoc.io I've been using this app since I first learnt of it sometime
ago, and have seen most of the features impleted. <3

------
methochris
what is the technology stack used to make this site?

~~~
stblack
Nginx 1.10.3 via Cloudflare.

Source: the WhatRuns browser addin:
[https://www.whatruns.com/?source=plugin](https://www.whatruns.com/?source=plugin)

------
ams6110
Site doesn't load in Firefox Focus on Android.

 _DevDocs is running inside an Android WebView. Some features may not work
properly._

------
koolba
Having played around with it for a few minutes, this is really cool! The live
search is particularly great. Kudos!

------
ababab
I'd use this if they ever add testing-related docs like JMeter, gatling,
taurus, cucumber, selenium, etc.

------
j7ake
It would be nice to have R on here !

~~~
sprremix
Isn't some R documentation only accessible via pdf files? I couldn't provide a
clear example, but months ago when I used R intensively I stumbled upon very
extensible documentation via PDF only

------
a_c
Mind to share the stack behind?

And is it indexing all popular tools into one place and providing a search
box?

~~~
okanesen
It appears [0] to be Ruby.

[0]: [https://github.com/Thibaut/devdocs](https://github.com/Thibaut/devdocs)

------
nimdasys
This looks great, I may be able to remove a number of bookmarked doc sites.

------
kingkool68
I really wish I could integrate this into macOS' spotlight

~~~
kingkool68
Spoke too soon. There is a way via Flashlight -->
[https://github.com/w0lfschild/Flashlight](https://github.com/w0lfschild/Flashlight)
But there is a problem with the dependency mySIMBL and High Sierra -->
[https://github.com/w0lfschild/mySIMBL/issues/62](https://github.com/w0lfschild/mySIMBL/issues/62)

------
alafazam
They also have a chrome extension. Devdocs.io is awesome.

------
schwad
Tried this against some Rails and Ruby stuff..... Wow.

------
sleepybrett
I'd use this if you added the kubernetes docs

~~~
Klathmon
It's open source and very welcoming to new documentation additions!

Take a look at [0] and see if it would be worth the trouble of adding it
yourself or at least starting the process.

[0]
[https://github.com/Thibaut/devdocs/blob/master/CONTRIBUTING....](https://github.com/Thibaut/devdocs/blob/master/CONTRIBUTING.md#contributing-
new-documentations)

------
curioussavage
Thank you everyone who helps out on this project!

------
kuon
Add elm docs and I'll come along.

~~~
Thibaut
The Elm docs unfortunately don't work without JavaScript enabled, which makes
them difficult to scrape / add to DevDocs.

~~~
fiatjaf
Elm package documentation is just JSON. Very easy to scrape.

Here's a list of all published Elm modules pointing to their respective
packages: [https://github.com/fiatjaf/module-
linker/tree/backends/data/...](https://github.com/fiatjaf/module-
linker/tree/backends/data/elm-modules)

Scraped with this simple fish script: [https://github.com/fiatjaf/module-
linker/blob/backends/data/...](https://github.com/fiatjaf/module-
linker/blob/backends/data/elm-update.fish)

------
sprt
Too bad they don't do syscalls.

------
52-6F-62
This is fantastic!

------
swendoog
No Scala docs?

------
jaboutboul
good form. this is excellent.

------
colago
Thank you!

------
vladletter
Deja vu.

------
vladletter
deja vu

------
esMazer
no java?

~~~
Thibaut
[http://devdocs.io/openjdk~8/](http://devdocs.io/openjdk~8/) (Java SE is
proprietary; OpenJDK is open-source)

