DevDocs
devdocs.io
devdocs.io
Updating docs to a new release is easy unless the documentation system (such as react.dev redesign) or design is rewritten. Some projects seem to do this on a regular basis.
Some documentation generators generate random class names (such as .gtWOdv, .ezMiXD, .gOhcvK on docs.npmjs.com by Gatsby) which makes cleaning the docs from superfluous content (such as on-page navigation) very cumbersome and flaky.
Monthly, we auto-generate a list of outdated docs, here is the latest: https://github.com/freeCodeCamp/devdocs/issues/2105
Help is always welcome. :-)
I don't have an issue with dropping cookies or local storage elsewhere. I'm on an updated linux chrome. Any ideas?
If you can afford to run in the cloud, you can often afford 2-3 times your max capacity in a data center. People ended up in the cloud because it was less expensive. Now that the demand for data center space has decreased, running bare metal is less expensive by a large margin.
Combine that with Kubernetes and Harvester, you can basically have your own cloud at a fraction of the cost. Now you just need actual sys-admins instead of AWS experts ... and they cost about the same.
Why's there so much demand for cloud and, despite empty DC spaces you pointed, there's no demand to fill it?
The styling and layout changed somewhat, but the content is pretty much the same, comments and all.
Today: https://www.php.net/manual/en/function.fgetcsv.php
15 years ago: https://web.archive.org/web/20081218125142/https://www.php.n...
Being able to read docs offline while commuting for some software I was pressed to work ended up being very important.
I just really wish you to know that albeit you may have not made a single $ by helping devdocs you are helping real human beings.
Well done!
I'd like to know how Sphinx, Docsy, MkDocs, Docbook, etc. compare in terms of being easy to semantically extract.
In general the more native HTML elements and the more descriptive CSS classes are used the easier it gets. Disadvantageous is when great parts of a doc page are built using JavaScript, e.g. when the whole nav is generated dynamically as the nav is typically the source for categorization/grouping on devdocs.
I said, “well, I’m not exactly sure, but I’d look up their API interface on devdocs.io to try and understand more…”
The interviewer had no idea what I meant, so we pulled it up on their laptop and they were blown away.
Granted… I didn’t get the job. But it was still pretty cool to spread some knowledge to the other side of the interview table for once!
Or open an issue and wait for somebody else to implement the scraper.
Is there any kind of technology similar to RSS that lets you announce that your docs are offline-consumption-friendly? I don't mean service workers or anything like that. I mean some kind of standardized format for enabling users to read your docs offline. All I've ever seen are PDFs and self-contained HTML sites packaged as a ZIP. Anything else? Half-baked idea, but just asking in case something already exists and is not on my radar...
I think the challenge with zip files is.. do you want all the images? do you want all versions of the docs, or just a specific version of the docs? It's hard to tailor the zip to the user's desire. But zip still seems to be the best.
The closest thing I know of for a service like RSS to download documents is [Dash for macOS - API Documentation Browser, Snippet Manager - Kapeli](https://kapeli.com/dash).
Secondly, kudos on tarpon; very cool!!!
As a bonus, this means the documentation will always be up to date with the version you are using. I guess if you want to look at older or newer versions the downside is you’ll have to download the app.
a locally runnable version of the online site can be started locally.
I imagine this is useful for a lot of people around the globe. I don’t use the broader internet a whole lot when I work, but I do use the official documentation pages when I forget how basic things, partly because my memory isn’t great but also because I work on multiple languages and don’t always remember how they each do specific things like splitting strings, reducing arrays or whatever. If I couldn’t just go to the official language documentation’s I’d need offline versions.
Online docs gets in the way if I'm working on something and just want quick info. Being able to always read it even without a connection is useful as well.
[0] https://en.wikipedia.org/wiki/Microsoft_Compiled_HTML_Help
Converting DevDocs.io to (a) Info and then (b) ElDoc would be absolutely fantastic.
(To make it clear: I love DevDocs.io, too, but it's still a browser and not Emacs.)
EDIT: oh I just looked it up and actually that's been deprecated. https://caniuse.com/offline-apps
mirror the site and route to it via your hosts file?
epub
An epub is a zip containing HTML files (more precisely, XHTML) and a few text files for metadata (mainly OPF for the global structure and NCX for a table of contents).
Apart from e-readers, there are many applications to read epub files on desktops or smartphones. Either stand-alone like koreader, or browser extensions.
I also enjoy having documentation consolidated. If man, mdn, and devdocs were combined into a single standard interface it would be a great boost to my productivity.
For instance devdocs does not have a bunch of libraries that I use regularly (selenium bindings in python, etc). I also tried Dash but wasn’t able to just ‘get’ for eg the openai docs and had to go to their website. Meaning I was robbed of the cool features of dash, being able to quickly search structured content.
Just seems ironic.
It’s so good even if you just want to unplug.
What's the modern equivalent of a Linux netbook? I want a little machine that's too underpowered to browse the web so I have no choice but to concentrate. Maybe Chromebooks have taken that spot but I don't want more Google in my life.
There's a whole subculture of thinkpad-modders out there. If you're looking for a small formfactor, excellent keyboard, plenty of ports, not too pricy (inc mods), that might be your best option. YMMV.
https://github.com/toiletbril/dedoc
It's statically compiled in rust so you can download and install the binary
But you can build it on mac (https://github.com/zealdocs/zeal/wiki/Build-Instructions-for...)
Currently focused on launching another project and I will have to get back to it, my productivity has tanked now that I constantly need to have a browser tab or three open on hexdocs.pm and MDN
* Conceptual docs: https://github.com/dotnet/docs
* BCL: https://github.com/dotnet/dotnet-api-docs
* ASP.NET Core: https://github.com/dotnet/AspNetCore.Docs
* WinForms/WPF: https://github.com/dotnet/docs-desktop
The C# language specification is unfortunately a bit fuzzier, but the conceptual docs above include what most people want: https://github.com/dotnet/csharplang/discussions/4855
The updated unified C# language specification is CC, but it's still catching up to modern C#: https://github.com/dotnet/csharpstandard
Yeah, I saw that devdocs and the like don't include what was previously not cross platform and not popular for linux guys: C#, msbuild.
My expectations were really low, but I was surprised at how productive I was with just DevDocs and an LLM. I might have even been more productive than normal because there wasn't any internet distractions.
Now as a FOSS maintainer I don't owe anyone any particular set of features or bug fixes. BUT I ABSOLUTELY DO OWE THEM ACTUAL OPENNESS AND THE ABILITY TO STUDY THE SYSTEM PROPERLY.
Many FOSS projects frankly kneecap Freedom 1 with a sledgehammer for anyone who isn't a well off person with reliable Internet access. And I've been up to here with it for a very long time now.
For all my FOSS projects big or small my pledge is to give users complete and trivial access to the full Open Knowledge Set associated with them.
Not just the main program sources and executables, but built and source forms of any official documentation that exists.
Withholding any official documentation that exists from trivial and easy offline access in a useful form is fundamentally no better than withholding any part of the source code. Period. End of story.
My pledge for all my FOSS projects is as follows:
At the home page people within 30 seconds of having read the Elevator Pitch and decided they want to study the system properly will be able to trivially enumerate and initiate downloads for all educational information related to it whether that's source code or built forms of the documentation usable for study straight away.
How the Open Source Definition and Free Software Definition don't mandate something as common sense as this I don't know. Open Source and Open Knowledge should be for everyone, not just well off people with reliable Internet access.
Anyway that's what caused me to start the Freedom Respecting Technology movement. Thus if anything I said here resonates with anyone they should read https://makesourcenotcode.github.io/freedom_respecting_techn... to learn more.
Just ship your software with documentation. This was a good practice even before open source or the internet took off. Old school closed source software used to ship with physical manuals, and good quality software often had good documentation as well. Some OSS CLI tools do have extensive manpages, yet users often don't read them in their entirety. So it's not just a matter of shipping good documentation, it's also about making it discoverable and easy to use. This is where projects like DevDocs step in.
To begin with even now in the 2020s billions of people alive today have never once been on the Internet. Source: https://www.un.org/en/delegate/itu-29-billion-people-still-o...
Also billions more may have some kind of Internet but it's flaky. Sometimes very very flaky. They are systematically excluded from large swathes of the FOSS ecosystem.
So make no mistake, the scale of the problem is VAST. We're talking billions of people here that can be helped by FRT. Again, billions, with a B.
If all existing FOSS were transformed into FRTs overnight the world would be unrecognizably better by several orders of magnitude.
And yes we need a new manifesto/definition. FOSS standards have completely dropped the ball on this issue among several others. Do a ctrl+f for the word "offline" in either the Free Software Definition or the Open Source Definition.
Many FOSS implementations also drop the ball here. Happily some do the right thing. Sometimes deliberately which is beautiful to see. Often though it turns out it's accidental and one redesign of the site later I can't get docs for the latest version of the tool.
Oftentimes it's the small (sometimes subtle) details that make the difference between freedom and lack thereof and the FRTD exists to make sure they are covered.
Even seemingly simple things often aren't. Consider pointers, they're just a thing that stores a memory address, no big deal right, easy peasy, yet using them safely is the subject of at least several chapters in a book, and even calls for research into and implementations of safer approaches like those used by Rust.
And yes one of the details the FRTD addresses is the discoverability issue you mention with the man pages.
Say I'm a newbie that just learned there's a thing called the command line and I open my terminal. I see a Bash prompt, but I don't know what to do with it, or even that it's a Bash prompt. I don't know about the man command. I don't know about apropos. I don't know about GNU info. I don't know to try looking for info manuals if I can't find man pages. I just vaguely know from like the movies or something I have to type stuff, press enter, and then stuff happens.
I don't know anything yet. The fact that the man pages are on my system and will be available offline does all of bupkis for me at this point.
On Linux there's a man page called "intro" (and even though there's room for improving it) after which someone reads it they actually have a fighting chance of using the command line and knowing where to learn more. On OpenBSD there's a similar man page called "help" that does a similar job and starts the whole conceptual bootstrap chain. Yet nothing tells me to start my studies by running "man intro".
On Linux a one sentence message saying to run "man intro" to begin your studies of the command line would go a long way for example.
The difference between information and knowledge is often a few small bits of commonsensically placed metadata forming a conceptual bootstrap chain as well as one pointing to the chain's start. Not labor intensive on the part of implementers yet transforms the system from zero to superhero.
Or perhaps since William Shotts wrote an excellent book called The Linux Command Line, and it's licensed under Creative Commons such that it can be reproduced and included in Linux distributions, maybe there can be a pointer telling people to read that at wherever it's stored on the system instead because it's far superior to "man intro".
Again a one or two sentence message can make all the difference.
- The internet has become the primary distribution channel of software itself, not just documentation. How would a user be in the position to access software via the internet, but not its documentation? They can't purchase software offline in a brick and mortar store anymore, and physical media is pretty much dead. They would need to keep the software updated on a regular basis, and downloading a few kilobytes of documentation pales in comparison to downloading hundreds of megabytes of software. So the internet really is a requirement for most software, even for those that can function entirely offline, and most developers make this assumption.
- What fraction of those 2.9B people who are not yet online would a) use traditional computers instead of tablets and smartphones, b) be interested in OSS, c) actually have a need for and the patience to read documentation? I reckon that this is a very small percentage, constituting orders of magnitude less people than the billions you claim it is. Instead, most people would be better served by using intuitive devices and software that doesn't require documentation to begin with. Smartphones and smartphone apps have made computing more accessible to more users than personal computers, desktop operating systems and mountains of documentation ever did. The next generation of computing devices will be even more intuitive, and written documentation wouldn't even make sense to new users.
- The quality of the documentation is more important than how it's accessible. It doesn't matter if I can read documentation offline, if it's incomplete, incorrect or confusing. There are no manifestos that will make developers write good documentation. This is either something they care about and put effort in, or they don't.
- The advent of LLMs is making traditional documentation obsolete. Why would any user prefer going through a bunch of documentation of varying quality to find the information they need, when an LLM could give them the right answer tailored to their query, much more quickly and in a consistent language? LLMs make knowledge more discoverable than traditional documentation. Even projects like DevDocs will not remain useful for too long. Proprietary LLMs like ChatGPT can already do a decent job at this, and other products can be trained on specific documentation. Accessibility is still a hurdle, but this too will improve with local, offline and open source LLMs, lower hardware requirements, etc. Soon there won't be a need to write documentation at all, as AI will be able to answer any functional question about software directly, which it can already do to an extent. Once it becomes better at writing software itself better than humans, documentation as we think of it today will be even less of a necessity.
So I really don't think your initiative has as much importance, or will have as much of an impact, that you think it does and will. At best, offline documentation removes a minor inconvenience for a small subset of computer users _today_. And these users already have solutions like DevDocs and, increasingly, LLMs at their disposal.
I daydream about a DevDocs to use as an index for our company Google Drive.
The goal being to create something like Notion or Almanac but without having to have a new place to write (google docs functionality is really great and hard to escape).
We currently use Google Sites but it's so clunky and the search will not search inside Google Docs.
Google Drive as is doesn't work as it is too full of too many things. Even well structured, it doesn't function as an Intranet, for us.
I think the answer is that one just waits for Google to make their response to Notion/Loop, but post this in case someone knows of something like that or sees this a different way?
Love it and use it very often.
Is there any way I can turn that off, preferably on a per-site setting?
Works great, and don't ever have to leave my editor to read something
If they were to get more mobile/platform-specific stuff like Apple docs, Android, Windows especially (all of the supported SDKS lol) it would be a magical place.
Now add the ability to comment on docs like the PHP docs and we're _really_ setting off
I would love to see C# in this list!