Giter Club home page Giter Club logo

devdocs.el's Introduction

devdocs.el — Emacs viewer for DevDocs

GNU ELPA MELPA

devdocs.el is a documentation viewer for Emacs similar to the built-in Info browser, but geared towards documentation distributed by the DevDocs website. Currently, this covers over 500 versions of 188 different software components.

The stable version of the package is available from GNU ELPA and a development version is available from MELPA; to install, type M-x package-install RET devdocs.

Reading and looking up documentation entries

Basic usage

To get started, download some documentation with M-x devdocs-install. This will query https://devdocs.io for the available documents and save the selected one to disk. To read the installed documentation, there are two options:

  • devdocs-peruse: Select a document and display its first page.
  • devdocs-lookup: Select an index entry and display it.

It’s handy to have a keybinding for the latter command. One possibility, in analogy to C-h S (info-lookup-symbol), is

(global-set-key (kbd "C-h D") 'devdocs-lookup)

In any given buffer, the first call to devdocs-lookup will query for a list of documents to search (you can select more than one option by entering a comma-separated list). This selection will be remembered in subsequent calls to devdocs-lookup, unless a prefix argument is given; in this case you can select a new list of documents.

In the *devdocs* buffer, navigation keys similar to Info and *Help* buffers are available; press C-h m for details. Internal hyperlinks are opened in the same viewing buffer, and external links are opened as browse-url normally would.

Managing documents

To manage the collection of installed documents, use the following commands:

  • devdocs-install: Download and install (or reinstall) a document distributed by https://devdocs.io.
  • devdocs-delete: Remove an installed document.
  • devdocs-update-all: Download and reinstall all installed documents for which a newer version is available.

In some cases, variants of a document are available for each (major) version. It is possible to install several versions in parallel.

Documents are installed under devdocs-data-dir, which defaults to ~/.emacs.d/devdocs. To completely uninstall the package, remove this directory.

Setting the default documents for a collection of buffers

You may wish to select a predefined list of documents in all buffers of a certain major mode or project. To achieve this, set the devdocs-current-docs variable directly, say via dir-local variables or a mode hook:

(add-hook 'python-mode-hook
          (lambda () (setq-local devdocs-current-docs '("python~3.9"))))

As usual, calling devdocs-lookup with a prefix argument redefines the selected documents for that specific buffer.

Contributing

Discussions, suggestions and code contributions are welcome! Since this package is part of GNU ELPA, nontrivial contributions (above 15 lines of code) require a copyright assignment to the FSF.

devdocs.el's People

Contributors

astoff avatar nagy avatar kljohann avatar juergenhoetzel avatar 0x28 avatar niontrix avatar milouse avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.