For offline documentation, I use these in order of preference:
• Info¹ documentation, which I read directly in Emacs. (If you have ever used the terminal-based standalone “info” program, please try to forget all about it. Use Emacs to read Info documentation, and preferably use a graphical Emacs instead of a terminal-based one; Info documentation occasionally has images.)
• Gnome Devhelp².
• Zeal³, using up-to-date documentation dumps provided by Dash⁴.
• RFC archive⁵ dumps provided by the Debian “doc-rfc“ package⁶.
• Info¹ documentation, which I read directly in Emacs. (If you have ever used the terminal-based standalone “info” program, please try to forget all about it. Use Emacs to read Info documentation, and preferably use a graphical Emacs instead of a terminal-based one; Info documentation occasionally has images.)
• Gnome Devhelp².
• Zeal³, using up-to-date documentation dumps provided by Dash⁴.
• RFC archive⁵ dumps provided by the Debian “doc-rfc“ package⁶.
1. https://www.gnu.org/software/emacs/manual/html_node/info/
2. https://wiki.gnome.org/Apps/Devhelp
3. https://zealdocs.org/
4. https://kapeli.com/dash
5. https://www.rfc-editor.org/
6. https://tracker.debian.org/pkg/doc-rfc