summaryrefslogtreecommitdiff
path: root/gnu/packages/emacs.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/emacs.scm')
-rw-r--r--gnu/packages/emacs.scm72
1 files changed, 72 insertions, 0 deletions
diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm
index f2117fb8b9..af1158b214 100644
--- a/gnu/packages/emacs.scm
+++ b/gnu/packages/emacs.scm
@@ -7098,6 +7098,78 @@ scratch buffer, and, by virtue of this extension, do so using the Emacs
formatting rules for that language.")
(license license:bsd-2))))
+(define-public emacs-esxml
+ (package
+ (name "emacs-esxml")
+ (version "0.3.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/tali713/esxml.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "00vv8a75wdklygdyr4km9mc2ismxak69c45jmcny41xl44rp9x8m"))))
+ (build-system emacs-build-system)
+ (home-page "https://github.com/tali713/esxml/")
+ (synopsis "SXML for EmacsLisp")
+ (description "This is XML/XHTML done with S-Expressions in EmacsLisp.
+Simply, this is the easiest way to write HTML or XML in Lisp. This library
+uses the native form of XML representation as used by many libraries already
+included within Emacs. See @code{esxml-to-xml} for a concise description of
+the format.")
+ (license license:gpl3+)))
+
+(define-public emacs-nov-el
+ (package
+ (name "emacs-nov-el")
+ (version "0.2.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/wasamasa/nov.el.git")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "03s0qjvwk1f7y3i4wh2p5y3z4hdv00adgz8za3vphzc0q8i1kjzb"))))
+ (build-system emacs-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'embed-path-to-unzip
+ (lambda _
+ (substitute* "nov.el"
+ (("\\(executable-find \"unzip\"\\)")
+ (string-append "\"" (which "unzip") "\"")))
+ #t)))))
+ (propagated-inputs
+ `(("emacs-dash" ,emacs-dash)
+ ("emacs-esxml" ,emacs-esxml)))
+ (inputs
+ `(("unzip" ,unzip)))
+ (home-page "https://github.com/wasamasa/nov.el/")
+ (synopsis "Major mode for reading EPUBs in Emacs")
+ (description "@code{nov.el} provides a major mode for reading EPUB
+documents.
+
+Features:
+
+@itemize
+@item Basic navigation (jump to TOC, previous/next chapter)
+@item Remembering and restoring the last read position
+@item Jump to next chapter when scrolling beyond end
+@item Renders EPUB2 (@code{.ncx}) and EPUB3 (@code{<nav>}) TOCs
+@item Hyperlinks to internal and external targets
+@item Supports textual and image documents
+@item View source of document files
+@item Metadata display
+@item Image rescaling
+@end itemize
+")
+ (license license:gpl3+)))
+
(define-public epipe
(package
(name "epipe")