emacs-ipython-notebook/doc/eldomain
2020-01-02 20:09:42 -05:00
..
example Merge commit 'f1e7656ed364431346bd49fc172f20e971026345' as 'doc/eldomain' 2016-09-09 10:07:58 -05:00
.gitignore Merge commit 'f1e7656ed364431346bd49fc172f20e971026345' as 'doc/eldomain' 2016-09-09 10:07:58 -05:00
eldomain.el makes test 2020-01-02 20:09:42 -05:00
eldomain.py Update eldomain to recent sphinx, change copyright date. 2018-04-11 11:59:58 -05:00
README.rst Merge commit 'f1e7656ed364431346bd49fc172f20e971026345' as 'doc/eldomain' 2016-09-09 10:07:58 -05:00

======================================================
 Emacs Lisp domain -- Sphinx extension for Emacs Lisp
======================================================

Example usage (Emacs IPython Notebook documentation):
http://tkf.github.com/emacs-ipython-notebook/

Setup
=====

You need to have something like this in ``conf.py``::

   # Dictionary maps package name to package prefix.
   elisp_packages = {
       'YOUR-PACKAGE': 'YOUR-PACKAGE-PREFIX-',
       'ANOTHER-PACKAGE': 'ANOTHER-PACKAGE-PREFIX:',
   }

   # These are optional:
   emacs_executable = 'emacs'
   elisp_pre_load = 'conf.el'


You need to load functions and variables you want to load in ``conf.el``::

   (add-to-list 'load-path "PATH/TO/YOUR/PACKAGE/")
   (require 'YOUR-PACKAGE)


See the setup for Emacs IPython Notebook:
https://github.com/tkf/emacs-ipython-notebook/tree/master/doc/source


Directives and roles
====================

First of all, you need to specify package to use before using any
other directives.::

   .. el:package:: PACKAGE-NAME


Then, you can automatically document function/macro/variables.::

   .. el:function:: FUNCTION-NAME
   .. el:macro:: MACRO-NAME
   .. el:variable:: VARIABLE-NAME

.. TODO: document options for these directives.


You can get well-formatted keybind list using::

   .. el:keymap:: KEYMAP-NAME


Finally, you can use ``el:symbol`` role to refer symbols.
For exmaple::

   :el:symbol:`FUNCTION-NAME`